Lines Matching refs:numBits

57 	const int numBits = (high-low) + 1;
59 DE_ASSERT(de::inRange(numBits, 1, 32));
61 if (numBits < 32)
62 return (deUint32)((src >> low) & ((1u<<numBits)-1));
72 inline deUint32 reverseBits (deUint32 src, int numBits)
74 DE_ASSERT(de::inRange(numBits, 0, 32));
76 for (int i = 0; i < numBits; i++)
77 result |= ((src >> i) & 1) << (numBits-1-i);
115 int numBits;
117 ISEParams (ISEMode mode_, int numBits_) : mode(mode_), numBits(numBits_) {}
124 case ISEMODE_TRIT: return deDivRoundUp32(numValues*8, 5) + numValues*iseParams.numBits;
125 case ISEMODE_QUINT: return deDivRoundUp32(numValues*7, 3) + numValues*iseParams.numBits;
126 case ISEMODE_PLAIN_BIT: return numValues*iseParams.numBits;
419 int& b = blockMode.weightISEParams.numBits;
579 void decodeISETritBlock (ISEDecodedResult* dst, int numValues, BitAccessStream& data, int numBits)
585 m[0] = data.getNext(numBits);
587 m[1] = data.getNext(numBits);
589 m[2] = data.getNext(numBits);
591 m[3] = data.getNext(numBits);
593 m[4] = data.getNext(numBits);
644 dst[i].v = (trits[i] << numBits) + m[i];
648 void decodeISEQuintBlock (ISEDecodedResult* dst, int numValues, BitAccessStream& data, int numBits)
654 m[0] = data.getNext(numBits);
656 m[1] = data.getNext(numBits);
658 m[2] = data.getNext(numBits);
695 dst[i].v = (quints[i] << numBits) + m[i];
699 inline void decodeISEBitBlock (ISEDecodedResult* dst, BitAccessStream& data, int numBits)
701 dst[0].m = data.getNext(numBits);
713 decodeISETritBlock(&dst[5*blockNdx], numValuesInBlock, data, params.numBits);
722 decodeISEQuintBlock(&dst[3*blockNdx], numValuesInBlock, data, params.numBits);
729 decodeISEBitBlock(&dst[i], data, params.numBits);
737 const int rangeCase = iseParams.numBits*2 - (iseParams.mode == ISEMODE_TRIT ? 2 : 1);
774 dst[endpointNdx] = bitReplicationScale(iseResults[endpointNdx].v, iseParams.numBits, 8);
1216 const int rangeCase = iseParams.numBits*2 + (iseParams.mode == ISEMODE_QUINT ? 1 : 0);
1258 dst[weightNdx] = bitReplicationScale(weightGrid[weightNdx].v, iseParams.numBits, 6);
1804 case ISEMODE_TRIT: return (1u << iseParams.numBits) * 3 - 1;
1805 case ISEMODE_QUINT: return (1u << iseParams.numBits) * 5 - 1;
1806 case ISEMODE_PLAIN_BIT: return (1u << iseParams.numBits) - 1;
2060 static void encodeISETritBlock (BitAssignAccessStream& dst, int numBits, bool fromExplicitInputBlock, const ISEInput::Block& blockInput, const deUint32* nonBlockInput, int numValues)
2098 // \todo [2016-01-20 pyry] numBits = 0 doesn't make sense
2099 bitParts[i] = numBits > 0 ? getBits(nonBlockInput[i], 0, numBits-1) : 0;
2100 tritParts[i] = nonBlockInput[i] >> numBits;
2116 dst.setNext(numBits, bitParts[0]);
2118 dst.setNext(numBits, bitParts[1]);
2120 dst.setNext(numBits, bitParts[2]);
2122 dst.setNext(numBits, bitParts[3]);
2124 dst.setNext(numBits, bitParts[4]);
2128 static void encodeISEQuintBlock (BitAssignAccessStream& dst, int numBits, bool fromExplicitInputBlock, const ISEInput::Block& blockInput, const deUint32* nonBlockInput, int numValues)
2156 // \todo [2016-01-20 pyry] numBits = 0 doesn't make sense
2157 bitParts[i] = numBits > 0 ? getBits(nonBlockInput[i], 0, numBits-1) : 0;
2158 quintParts[i] = nonBlockInput[i] >> numBits;
2172 dst.setNext(numBits, bitParts[0]);
2174 dst.setNext(numBits, bitParts[1]);
2176 dst.setNext(numBits, bitParts[2]);
2180 static void encodeISEBitBlock (BitAssignAccessStream& dst, int numBits, deUint32 value)
2182 DE_ASSERT(de::inRange(value, 0u, (1u<<numBits)-1));
2183 dst.setNext(numBits, value);
2194 encodeISETritBlock(dst, params.numBits, input.isGivenInBlockForm,
2206 encodeISEQuintBlock(dst, params.numBits, input.isGivenInBlockForm,
2216 encodeISEBitBlock(dst, params.numBits, input.isGivenInBlockForm ? input.value.block[i].bitValues[0] : input.value.plain[i]);
2398 const int iseBitMax = (1 << iseParams.numBits) - 1;