Lines Matching defs:mem
157 Each element in the array is further indexed by the (mem, rem) doublet,
158 where mem is the amount of inflate table space used so far, and rem is the
161 not. Since the ranges for mem and rem are not known a priori, each bit
163 states. mem and rem are used to calculate a single index in a triangular
164 array. Since the range of mem is expected in the default case to be about
166 memory usage, with eight times the range for mem than for rem. See the
306 // variable size bit vector indexed by (mem,rem). The bit vector is lengthened
307 // as needed to allow setting the (mem,rem) bit.
308 local int been_here(int syms, int left, int len, int mem, int rem) {
309 // point to vector for (syms,left,len), bit in vector for (mem,rem)
311 mem -= 1 << g.root; // mem always includes the root table
312 mem >>= 1; // mem and rem are always even
314 size_t offset = (mem >> 3) + rem;
316 int bit = 1 << (mem & 7);
359 // number of code structures used so far is mem, and the number remaining in
361 local void examine(int syms, int left, int len, int mem, int rem) {
371 mem += rem;
376 if (mem >= g.large) {
379 if (mem > g.large) {
380 g.large = mem;
409 if (been_here(syms, left, len, mem, rem))
429 mem += rem;
437 mem + (rem ? 1 << (len - g.root) : 0), rem << 1);
440 mem += rem;