Lines Matching +full:1 +full:a0

25 (1) they include prominent notice that the work is derivative, and (2) they
36 the result by setting the least significant bit to 1. The value of `count'
38 result will be either 0 or 1, depending on whether `a' is zero or nonzero.
61 Shifts the 64-bit value formed by concatenating `a0' and `a1' right by the
70 bits32 a0, bits32 a1, int16 count, bits32 *z0Ptr, bits32 *z1Ptr )
77 z0 = a0;
80 z1 = ( a0<<negCount ) | ( a1>>count );
81 z0 = a0>>count;
84 z1 = ( count < 64 ) ? ( a0>>( count & 31 ) ) : 0;
94 Shifts the 64-bit value formed by concatenating `a0' and `a1' right by the
97 least significant bit to 1. The value of `count' can be arbitrarily large;
99 or 1, depending on whether the concatenation of `a0' and `a1' is zero or
106 bits32 a0, bits32 a1, int16 count, bits32 *z0Ptr, bits32 *z1Ptr )
113 z0 = a0;
116 z1 = ( a0<<negCount ) | ( a1>>count ) | ( ( a1<<negCount ) != 0 );
117 z0 = a0>>count;
121 z1 = a0 | ( a1 != 0 );
124 z1 = ( a0>>( count & 31 ) ) | ( ( ( a0<<negCount ) | a1 ) != 0 );
127 z1 = ( ( a0 | a1 ) != 0 );
138 Shifts the 96-bit value formed by concatenating `a0', `a1', and `a2' right
147 (This routine makes more sense if `a0', `a1', and `a2' are considered
158 bits32 a0,
173 z0 = a0;
178 z1 = ( a0<<negCount ) | ( a1>>count );
179 z0 = a0>>count;
184 z1 = a0;
189 z2 = a0<<negCount;
190 z1 = a0>>( count & 31 );
193 z2 = ( count == 64 ) ? a0 : ( a0 != 0 );
209 Shifts the 64-bit value formed by concatenating `a0' and `a1' left by the
217 bits32 a0, bits32 a1, int16 count, bits32 *z0Ptr, bits32 *z1Ptr )
222 ( count == 0 ) ? a0 : ( a0<<count ) | ( a1>>( ( - count ) & 31 ) );
228 Shifts the 96-bit value formed by concatenating `a0', `a1', and `a2' left
237 bits32 a0,
251 z0 = a0<<count;
265 Adds the 64-bit value formed by concatenating `a0' and `a1' to the 64-bit
273 bits32 a0, bits32 a1, bits32 b0, bits32 b1, bits32 *z0Ptr, bits32 *z1Ptr )
279 *z0Ptr = a0 + b0 + ( z1 < a1 );
285 Adds the 96-bit value formed by concatenating `a0', `a1', and `a2' to the
294 bits32 a0,
312 z0 = a0 + b0;
325 64-bit value formed by concatenating `a0' and `a1'. Subtraction is modulo
333 bits32 a0, bits32 a1, bits32 b0, bits32 b1, bits32 *z0Ptr, bits32 *z1Ptr )
337 *z0Ptr = a0 - b0 - ( a1 < b1 );
344 the 96-bit value formed by concatenating `a0', `a1', and `a2'. Subtraction
352 bits32 a0,
370 z0 = a0 - b0;
412 Multiplies the 64-bit value formed by concatenating `a0' and `a1' by `b'
420 bits32 a0,
431 mul32To64( a0, b, &z0, &more1 );
441 Multiplies the 64-bit value formed by concatenating `a0' and `a1' to the
449 bits32 a0,
465 mul32To64( a0, b0, &z0, &more1 );
467 mul32To64( a0, b1, &more1, &more2 );
480 `b' into the 64-bit value formed by concatenating `a0' and `a1'. The
487 static bits32 estimateDiv64To32( bits32 a0, bits32 a1, bits32 b )
493 if ( b <= a0 ) return 0xFFFFFFFF;
495 z = ( b0<<16 <= a0 ) ? 0xFFFF0000 : ( a0 / b0 )<<16;
497 sub64( a0, a1, term0, term1, &rem0, &rem1 );
514 `aExp' (the least significant bit) is 1, the integer returned approximates
535 if ( aExp & 1 ) {
538 a >>= 1;
544 if ( z <= a ) return (bits32) ( ( (sbits32) a )>>1 );
546 return ( ( estimateDiv64To32( a, 0, z ) )>>1 ) + ( z>>1 );
553 Returns the number of leading 0 bits before the most-significant 1 bit of
564 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
565 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
566 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
567 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
595 Returns 1 if the 64-bit value formed by concatenating `a0' and `a1' is
600 INLINE flag eq64( bits32 a0, bits32 a1, bits32 b0, bits32 b1 )
603 return ( a0 == b0 ) && ( a1 == b1 );
609 Returns 1 if the 64-bit value formed by concatenating `a0' and `a1' is less
614 INLINE flag le64( bits32 a0, bits32 a1, bits32 b0, bits32 b1 )
617 return ( a0 < b0 ) || ( ( a0 == b0 ) && ( a1 <= b1 ) );
623 Returns 1 if the 64-bit value formed by concatenating `a0' and `a1' is less
628 INLINE flag lt64( bits32 a0, bits32 a1, bits32 b0, bits32 b1 )
631 return ( a0 < b0 ) || ( ( a0 == b0 ) && ( a1 < b1 ) );
637 Returns 1 if the 64-bit value formed by concatenating `a0' and `a1' is not
642 INLINE flag ne64( bits32 a0, bits32 a1, bits32 b0, bits32 b1 )
645 return ( a0 != b0 ) || ( a1 != b1 );