Lines Matching +full:1 +full:a0

26 (1) they include prominent notice that the work is derivative, and (2) they
37 the result by setting the least significant bit to 1. The value of `count'
39 result will be either 0 or 1, depending on whether `a' is zero or nonzero.
64 the result by setting the least significant bit to 1. The value of `count'
66 result will be either 0 or 1, depending on whether `a' is zero or nonzero.
89 Shifts the 128-bit value formed by concatenating `a0' and `a1' right by 64
97 (This routine makes more sense if `a0' and `a1' are considered to form a
98 fixed-point value with binary point between `a0' and `a1'. This fixed-point
107 bits64 a0, bits64 a1, int16 count, bits64 *z0Ptr, bits64 *z1Ptr )
114 z0 = a0;
117 z1 = ( a0<<negCount ) | ( a1 != 0 );
118 z0 = a0>>count;
122 z1 = a0 | ( a1 != 0 );
125 z1 = ( ( a0 | a1 ) != 0 );
136 Shifts the 128-bit value formed by concatenating `a0' and `a1' right by the
145 bits64 a0, bits64 a1, int16 count, bits64 *z0Ptr, bits64 *z1Ptr )
152 z0 = a0;
155 z1 = ( a0<<negCount ) | ( a1>>count );
156 z0 = a0>>count;
159 z1 = ( count < 128 ) ? ( a0>>( count & 63 ) ) : 0;
169 Shifts the 128-bit value formed by concatenating `a0' and `a1' right by the
172 least significant bit to 1. The value of `count' can be arbitrarily large;
174 0 or 1, depending on whether the concatenation of `a0' and `a1' is zero or
181 bits64 a0, bits64 a1, int16 count, bits64 *z0Ptr, bits64 *z1Ptr )
188 z0 = a0;
191 z1 = ( a0<<negCount ) | ( a1>>count ) | ( ( a1<<negCount ) != 0 );
192 z0 = a0>>count;
196 z1 = a0 | ( a1 != 0 );
199 z1 = ( a0>>( count & 63 ) ) | ( ( ( a0<<negCount ) | a1 ) != 0 );
202 z1 = ( ( a0 | a1 ) != 0 );
213 Shifts the 192-bit value formed by concatenating `a0', `a1', and `a2' right
222 (This routine makes more sense if `a0', `a1', and `a2' are considered
233 bits64 a0,
248 z0 = a0;
253 z1 = ( a0<<negCount ) | ( a1>>count );
254 z0 = a0>>count;
259 z1 = a0;
264 z2 = a0<<negCount;
265 z1 = a0>>( count & 63 );
268 z2 = ( count == 128 ) ? a0 : ( a0 != 0 );
284 Shifts the 128-bit value formed by concatenating `a0' and `a1' left by the
292 bits64 a0, bits64 a1, int16 count, bits64 *z0Ptr, bits64 *z1Ptr )
297 ( count == 0 ) ? a0 : ( a0<<count ) | ( a1>>( ( - count ) & 63 ) );
303 Shifts the 192-bit value formed by concatenating `a0', `a1', and `a2' left
312 bits64 a0,
326 z0 = a0<<count;
340 Adds the 128-bit value formed by concatenating `a0' and `a1' to the 128-bit
348 bits64 a0, bits64 a1, bits64 b0, bits64 b1, bits64 *z0Ptr, bits64 *z1Ptr )
354 *z0Ptr = a0 + b0 + ( z1 < a1 );
360 Adds the 192-bit value formed by concatenating `a0', `a1', and `a2' to the
369 bits64 a0,
387 z0 = a0 + b0;
400 128-bit value formed by concatenating `a0' and `a1'. Subtraction is modulo
408 bits64 a0, bits64 a1, bits64 b0, bits64 b1, bits64 *z0Ptr, bits64 *z1Ptr )
412 *z0Ptr = a0 - b0 - ( a1 < b1 );
419 from the 192-bit value formed by concatenating `a0', `a1', and `a2'.
427 bits64 a0,
445 z0 = a0 - b0;
487 Multiplies the 128-bit value formed by concatenating `a0' and `a1' by
495 bits64 a0,
506 mul64To128( a0, b, &z0, &more1 );
516 Multiplies the 128-bit value formed by concatenating `a0' and `a1' to the
524 bits64 a0,
540 mul64To128( a0, b0, &z0, &more1 );
542 mul64To128( a0, b1, &more1, &more2 );
555 `b' into the 128-bit value formed by concatenating `a0' and `a1'. The
562 static bits64 estimateDiv128To64( bits64 a0, bits64 a1, bits64 b )
568 if ( b <= a0 ) return LIT64( 0xFFFFFFFFFFFFFFFF );
570 z = ( b0<<32 <= a0 ) ? LIT64( 0xFFFFFFFF00000000 ) : ( a0 / b0 )<<32;
572 sub128( a0, a1, term0, term1, &rem0, &rem1 );
589 `aExp' (the least significant bit) is 1, the integer returned approximates
610 if ( aExp & 1 ) {
613 a >>= 1;
619 if ( z <= a ) return (bits32) ( ( (sbits32) a )>>1 );
621 return ( (bits32) ( ( ( (bits64) a )<<31 ) / z ) ) + ( z>>1 );
628 Returns the number of leading 0 bits before the most-significant 1 bit of
639 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
640 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
641 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
642 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
670 Returns the number of leading 0 bits before the most-significant 1 bit of
679 if ( a < ( (bits64) 1 )<<32 ) {
692 Returns 1 if the 128-bit value formed by concatenating `a0' and `a1'
697 INLINE flag eq128( bits64 a0, bits64 a1, bits64 b0, bits64 b1 )
700 return ( a0 == b0 ) && ( a1 == b1 );
706 Returns 1 if the 128-bit value formed by concatenating `a0' and `a1' is less
711 INLINE flag le128( bits64 a0, bits64 a1, bits64 b0, bits64 b1 )
714 return ( a0 < b0 ) || ( ( a0 == b0 ) && ( a1 <= b1 ) );
720 Returns 1 if the 128-bit value formed by concatenating `a0' and `a1' is less
725 INLINE flag lt128( bits64 a0, bits64 a1, bits64 b0, bits64 b1 )
728 return ( a0 < b0 ) || ( ( a0 == b0 ) && ( a1 < b1 ) );
734 Returns 1 if the 128-bit value formed by concatenating `a0' and `a1' is
739 INLINE flag ne128( bits64 a0, bits64 a1, bits64 b0, bits64 b1 )
742 return ( a0 != b0 ) || ( a1 != b1 );