Lines Matching refs:numBits
664 DE_INLINE deUint32 deBitMask32 (int leastSignificantBitNdx, int numBits)
667 DE_ASSERT(deInRange32(numBits, 0, 32));
668 DE_ASSERT(deInRange32(leastSignificantBitNdx+numBits, 0, 32));
670 if (numBits < 32 && leastSignificantBitNdx < 32)
671 return ((1u<<numBits)-1u) << (deUint32)leastSignificantBitNdx;
672 else if (numBits == 0 && leastSignificantBitNdx == 32)
676 DE_ASSERT(numBits == 32 && leastSignificantBitNdx == 0);
681 DE_INLINE deUint32 deUintMaxValue32 (int numBits)
683 DE_ASSERT(deInRange32(numBits, 1, 32));
684 if (numBits < 32)
685 return ((1u<<numBits)-1u);
690 DE_INLINE deInt32 deIntMaxValue32 (int numBits)
692 DE_ASSERT(deInRange32(numBits, 1, 32));
693 if (numBits < 32)
694 return ((deInt32)1 << (numBits - 1)) - 1;
702 DE_INLINE deInt32 deIntMinValue32 (int numBits)
704 DE_ASSERT(deInRange32(numBits, 1, 32));
705 if (numBits < 32)
706 return -((deInt32)1 << (numBits - 1));
714 DE_INLINE deInt32 deSignExtendTo32 (deInt32 value, int numBits)
716 DE_ASSERT(deInRange32(numBits, 1, 32));
718 if (numBits < 32)
720 deBool signSet = ((deUint32)value & (1u<<(numBits-1))) != 0;
721 deUint32 signMask = deBitMask32(numBits, 32-numBits);