Lines Matching refs:nb
372 /* The below bit I/O macro functions use (bt,nb) for bit accumulation. These
377 ** usable as (bt,nb). In this way, applications that perform bits ops in function
380 #define vciosetb(io, bt, nb, tp) /* (tp) is only for symmetry with vcioendb */ \
381 do { (bt) = 0; (nb) = 0; \
384 #define vciofilb(io, bt, nb, mb) /* getting bits from stream into (bt) */ \
385 do { if((nb) < (mb)) while((nb) <= (VC_BITSIZE-8) && (io)->next < (io)->endb) \
386 { (nb) += 8; (bt) |= (*(io)->next++ << (VC_BITSIZE - (nb))); } \
389 #define vciodelb(io, bt, nb, nd) /* consume bits already read */ \
390 do { (bt) <<= (nd); (nb) -= (nd); \
393 #define vcioflsb(io, bt, nb) /* putting accumulated bits out to stream */ \
394 do { for(; (nb) >= 8 && (io)->next < (io)->endb; (nb) -= 8) \
398 #define vcioaddb(io, bt, nb, ad, na) /* add new bits to accumulator */ \
399 do { if(((nb)+(na)) > VC_BITSIZE ) \
400 vcioflsb((io), (bt), (nb)); \
401 (bt) |= (ad) >> (nb); (nb) += (na); \
404 #define vcioendb(io, bt, nb, tp) /* finishing bit operations */ \
406 { vcioflsb(io, bt, nb); \
407 if((nb) > 0) /* finish up the partial last byte */ \
410 { while(((nb) -= 8) >= 0) \
412 (bt) = 0; (nb) = 0; \