Lines Matching refs:zSign

123 static int32 roundAndPackInt32( flag zSign, bits64 absZ )  in roundAndPackInt32()  argument
139 if ( zSign ) { in roundAndPackInt32()
151 if ( zSign ) z = - z; in roundAndPackInt32()
152 if ( ( absZ>>32 ) || ( z && ( ( z < 0 ) ^ zSign ) ) ) { in roundAndPackInt32()
154 return zSign ? (sbits32) 0x80000000 : 0x7FFFFFFF; in roundAndPackInt32()
174 static int64 roundAndPackInt64( flag zSign, bits64 absZ0, bits64 absZ1 ) in roundAndPackInt64() argument
188 if ( zSign ) { in roundAndPackInt64()
202 if ( zSign ) z = - z; in roundAndPackInt64()
203 if ( z && ( ( z < 0 ) ^ zSign ) ) { in roundAndPackInt64()
207 zSign ? (sbits64) LIT64( 0x8000000000000000 ) in roundAndPackInt64()
227 static int64 roundAndPackInt64NoOverflow( flag zSign, bits64 absZ0, in roundAndPackInt64NoOverflow() argument
242 if ( zSign ) { in roundAndPackInt64NoOverflow()
255 if ( zSign ) z = - z; in roundAndPackInt64NoOverflow()
330 INLINE float32 packFloat32( flag zSign, int16 zExp, bits32 zSig ) in packFloat32() argument
333 return ( ( (bits32) zSign )<<31 ) + ( ( (bits32) zExp )<<23 ) + zSig; in packFloat32()
360 static float32 roundAndPackFloat32( flag zSign, int16 zExp, bits32 zSig ) in roundAndPackFloat32() argument
376 if ( zSign ) { in roundAndPackFloat32()
391 return packFloat32( zSign, 0xFF, 0 ) - ( roundIncrement == 0 ); in roundAndPackFloat32()
408 return packFloat32( zSign, zExp, zSig ); in roundAndPackFloat32()
423 normalizeRoundAndPackFloat32( flag zSign, int16 zExp, bits32 zSig ) in normalizeRoundAndPackFloat32() argument
428 return roundAndPackFloat32( zSign, zExp - shiftCount, zSig<<shiftCount ); in normalizeRoundAndPackFloat32()
499 INLINE float64 packFloat64( flag zSign, int16 zExp, bits64 zSig ) in packFloat64() argument
502 return FLOAT64_MANGLE( ( ( (bits64) zSign )<<63 ) + in packFloat64()
530 static float64 roundAndPackFloat64( flag zSign, int16 zExp, bits64 zSig ) in roundAndPackFloat64() argument
546 if ( zSign ) { in roundAndPackFloat64()
562 FLOAT64_DEMANGLE(packFloat64( zSign, 0x7FF, 0 )) - in roundAndPackFloat64()
580 return packFloat64( zSign, zExp, zSig ); in roundAndPackFloat64()
595 normalizeRoundAndPackFloat64( flag zSign, int16 zExp, bits64 zSig ) in normalizeRoundAndPackFloat64() argument
600 return roundAndPackFloat64( zSign, zExp - shiftCount, zSig<<shiftCount ); in normalizeRoundAndPackFloat64()
670 INLINE floatx80 packFloatx80( flag zSign, int32 zExp, bits64 zSig ) in packFloatx80() argument
675 z.high = ( ( (bits16) zSign )<<15 ) + zExp; in packFloatx80()
707 int8 roundingPrecision, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 in roundAndPackFloatx80() argument
735 if ( zSign ) { in roundAndPackFloatx80()
767 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
782 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
790 if ( zSign ) { in roundAndPackFloatx80()
809 || ( zSign && ( roundingMode == float_round_up ) ) in roundAndPackFloatx80()
810 || ( ! zSign && ( roundingMode == float_round_down ) ) in roundAndPackFloatx80()
812 return packFloatx80( zSign, 0x7FFE, ~ roundMask ); in roundAndPackFloatx80()
814 return packFloatx80( zSign, 0x7FFF, LIT64( 0x8000000000000000 ) ); in roundAndPackFloatx80()
830 if ( zSign ) { in roundAndPackFloatx80()
843 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
860 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
876 int8 roundingPrecision, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 in normalizeRoundAndPackFloatx80() argument
890 roundAndPackFloatx80( roundingPrecision, zSign, zExp, zSig0, zSig1 ); in normalizeRoundAndPackFloatx80()
1006 packFloat128( flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 ) in packFloat128() argument
1011 z.high = ( ( (bits64) zSign )<<63 ) + ( ( (bits64) zExp )<<48 ) + zSig0; in packFloat128()
1040 flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1, bits64 zSig2 ) in roundAndPackFloat128() argument
1053 if ( zSign ) { in roundAndPackFloat128()
1075 || ( zSign && ( roundingMode == float_round_up ) ) in roundAndPackFloat128()
1076 || ( ! zSign && ( roundingMode == float_round_down ) ) in roundAndPackFloat128()
1080 zSign, in roundAndPackFloat128()
1086 return packFloat128( zSign, 0x7FFF, 0, 0 ); in roundAndPackFloat128()
1107 if ( zSign ) { in roundAndPackFloat128()
1124 return packFloat128( zSign, zExp, zSig0, zSig1 ); in roundAndPackFloat128()
1141 flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 ) in normalizeRoundAndPackFloat128() argument
1161 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 ); in normalizeRoundAndPackFloat128()
1176 flag zSign; in int32_to_float32() local
1180 zSign = ( a < 0 ); in int32_to_float32()
1181 return normalizeRoundAndPackFloat32( zSign, 0x9C, zSign ? - a : a ); in int32_to_float32()
1194 flag zSign; in int32_to_float64() local
1200 zSign = ( a < 0 ); in int32_to_float64()
1201 absA = zSign ? - a : a; in int32_to_float64()
1204 return packFloat64( zSign, 0x432 - shiftCount, zSig<<shiftCount ); in int32_to_float64()
1220 flag zSign; in int32_to_floatx80() local
1226 zSign = ( a < 0 ); in int32_to_floatx80()
1227 absA = zSign ? - a : a; in int32_to_floatx80()
1230 return packFloatx80( zSign, 0x403E - shiftCount, zSig<<shiftCount ); in int32_to_floatx80()
1247 flag zSign; in int32_to_float128() local
1253 zSign = ( a < 0 ); in int32_to_float128()
1254 absA = zSign ? - a : a; in int32_to_float128()
1257 return packFloat128( zSign, 0x402E - shiftCount, zSig0<<shiftCount, 0 ); in int32_to_float128()
1273 flag zSign; in int64_to_float32() local
1278 zSign = ( a < 0 ); in int64_to_float32()
1279 absA = zSign ? - a : a; in int64_to_float32()
1282 return packFloat32( zSign, 0x95 - shiftCount, absA<<shiftCount ); in int64_to_float32()
1292 return roundAndPackFloat32( zSign, 0x9C - shiftCount, absA ); in int64_to_float32()
1306 flag zSign; in int64_to_float64() local
1312 zSign = ( a < 0 ); in int64_to_float64()
1313 return normalizeRoundAndPackFloat64( zSign, 0x43C, zSign ? - a : a ); in int64_to_float64()
1329 flag zSign; in int64_to_floatx80() local
1334 zSign = ( a < 0 ); in int64_to_floatx80()
1335 absA = zSign ? - a : a; in int64_to_floatx80()
1337 return packFloatx80( zSign, 0x403E - shiftCount, absA<<shiftCount ); in int64_to_floatx80()
1354 flag zSign; in int64_to_float128() local
1361 zSign = ( a < 0 ); in int64_to_float128()
1362 absA = zSign ? - a : a; in int64_to_float128()
1375 return packFloat128( zSign, zExp, zSig0, zSig1 ); in int64_to_float128()
1713 static float32 addFloat32Sigs( float32 a, float32 b, flag zSign ) in addFloat32Sigs() argument
1743 return packFloat32( zSign, 0xFF, 0 ); in addFloat32Sigs()
1759 if ( aExp == 0 ) return packFloat32( zSign, 0, ( aSig + bSig )>>6 ); in addFloat32Sigs()
1772 return roundAndPackFloat32( zSign, zExp, zSig ); in addFloat32Sigs()
1785 static float32 subFloat32Sigs( float32 a, float32 b, flag zSign ) in subFloat32Sigs() argument
1815 return packFloat32( zSign ^ 1, 0xFF, 0 ); in subFloat32Sigs()
1828 zSign ^= 1; in subFloat32Sigs()
1848 return normalizeRoundAndPackFloat32( zSign, zExp, zSig ); in subFloat32Sigs()
1905 flag aSign, bSign, zSign; in float32_mul() local
1917 zSign = aSign ^ bSign; in float32_mul()
1926 return packFloat32( zSign, 0xFF, 0 ); in float32_mul()
1934 return packFloat32( zSign, 0xFF, 0 ); in float32_mul()
1937 if ( aSig == 0 ) return packFloat32( zSign, 0, 0 ); in float32_mul()
1941 if ( bSig == 0 ) return packFloat32( zSign, 0, 0 ); in float32_mul()
1953 return roundAndPackFloat32( zSign, zExp, zSig ); in float32_mul()
1966 flag aSign, bSign, zSign; in float32_div() local
1976 zSign = aSign ^ bSign; in float32_div()
1984 return packFloat32( zSign, 0xFF, 0 ); in float32_div()
1988 return packFloat32( zSign, 0, 0 ); in float32_div()
1997 return packFloat32( zSign, 0xFF, 0 ); in float32_div()
2002 if ( aSig == 0 ) return packFloat32( zSign, 0, 0 ); in float32_div()
2016 return roundAndPackFloat32( zSign, zExp, zSig ); in float32_div()
2030 flag aSign, bSign, zSign; in float32_rem() local
2116 zSign = ( (sbits32) aSig < 0 ); in float32_rem()
2117 if ( zSign ) aSig = - aSig; in float32_rem()
2118 return normalizeRoundAndPackFloat32( aSign ^ zSign, bExp, aSig ); in float32_rem()
2715 static float64 addFloat64Sigs( float64 a, float64 b, flag zSign ) in addFloat64Sigs() argument
2745 return packFloat64( zSign, 0x7FF, 0 ); in addFloat64Sigs()
2761 if ( aExp == 0 ) return packFloat64( zSign, 0, ( aSig + bSig )>>9 ); in addFloat64Sigs()
2774 return roundAndPackFloat64( zSign, zExp, zSig ); in addFloat64Sigs()
2787 static float64 subFloat64Sigs( float64 a, float64 b, flag zSign ) in subFloat64Sigs() argument
2817 return packFloat64( zSign ^ 1, 0x7FF, 0 ); in subFloat64Sigs()
2830 zSign ^= 1; in subFloat64Sigs()
2850 return normalizeRoundAndPackFloat64( zSign, zExp, zSig ); in subFloat64Sigs()
2907 flag aSign, bSign, zSign; in float64_mul() local
2917 zSign = aSign ^ bSign; in float64_mul()
2926 return packFloat64( zSign, 0x7FF, 0 ); in float64_mul()
2934 return packFloat64( zSign, 0x7FF, 0 ); in float64_mul()
2937 if ( aSig == 0 ) return packFloat64( zSign, 0, 0 ); in float64_mul()
2941 if ( bSig == 0 ) return packFloat64( zSign, 0, 0 ); in float64_mul()
2953 return roundAndPackFloat64( zSign, zExp, zSig0 ); in float64_mul()
2966 flag aSign, bSign, zSign; in float64_div() local
2978 zSign = aSign ^ bSign; in float64_div()
2986 return packFloat64( zSign, 0x7FF, 0 ); in float64_div()
2990 return packFloat64( zSign, 0, 0 ); in float64_div()
2999 return packFloat64( zSign, 0x7FF, 0 ); in float64_div()
3004 if ( aSig == 0 ) return packFloat64( zSign, 0, 0 ); in float64_div()
3024 return roundAndPackFloat64( zSign, zExp, zSig ); in float64_div()
3038 flag aSign, bSign, zSign; in float64_rem() local
3109 zSign = ( (sbits64) aSig < 0 ); in float64_rem()
3110 if ( zSign ) aSig = - aSig; in float64_rem()
3111 return normalizeRoundAndPackFloat64( aSign ^ zSign, bExp, aSig ); in float64_rem()
3657 static floatx80 addFloatx80Sigs( floatx80 a, floatx80 b, flag zSign ) in addFloatx80Sigs() argument
3680 return packFloatx80( zSign, 0x7FFF, LIT64( 0x8000000000000000 ) ); in addFloatx80Sigs()
3711 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 ); in addFloatx80Sigs()
3724 static floatx80 subFloatx80Sigs( floatx80 a, floatx80 b, flag zSign ) in subFloatx80Sigs() argument
3758 return packFloatx80( zSign ^ 1, 0x7FFF, LIT64( 0x8000000000000000 ) ); in subFloatx80Sigs()
3765 zSign ^= 1; in subFloatx80Sigs()
3780 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 ); in subFloatx80Sigs()
3837 flag aSign, bSign, zSign; in floatx80_mul() local
3848 zSign = aSign ^ bSign; in floatx80_mul()
3855 return packFloatx80( zSign, 0x7FFF, LIT64( 0x8000000000000000 ) ); in floatx80_mul()
3866 return packFloatx80( zSign, 0x7FFF, LIT64( 0x8000000000000000 ) ); in floatx80_mul()
3869 if ( aSig == 0 ) return packFloatx80( zSign, 0, 0 ); in floatx80_mul()
3873 if ( bSig == 0 ) return packFloatx80( zSign, 0, 0 ); in floatx80_mul()
3884 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 ); in floatx80_mul()
3897 flag aSign, bSign, zSign; in floatx80_div() local
3909 zSign = aSign ^ bSign; in floatx80_div()
3916 return packFloatx80( zSign, 0x7FFF, LIT64( 0x8000000000000000 ) ); in floatx80_div()
3920 return packFloatx80( zSign, 0, 0 ); in floatx80_div()
3932 return packFloatx80( zSign, 0x7FFF, LIT64( 0x8000000000000000 ) ); in floatx80_div()
3937 if ( aSig == 0 ) return packFloatx80( zSign, 0, 0 ); in floatx80_div()
3965 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 ); in floatx80_div()
3978 flag aSign, bSign, zSign; in floatx80_rem() local
4016 zSign = aSign; in floatx80_rem()
4059 zSign = ! zSign; in floatx80_rem()
4063 80, zSign, bExp + expDiff, aSig0, aSig1 ); in floatx80_rem()
4751 static float128 addFloat128Sigs( float128 a, float128 b, flag zSign ) in addFloat128Sigs() argument
4782 return packFloat128( zSign, 0x7FFF, 0, 0 ); in addFloat128Sigs()
4802 if ( aExp == 0 ) return packFloat128( zSign, 0, zSig0, zSig1 ); in addFloat128Sigs()
4817 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 ); in addFloat128Sigs()
4830 static float128 subFloat128Sigs( float128 a, float128 b, flag zSign ) in subFloat128Sigs() argument
4869 return packFloat128( zSign ^ 1, 0x7FFF, 0, 0 ); in subFloat128Sigs()
4882 zSign ^= 1; in subFloat128Sigs()
4902 return normalizeRoundAndPackFloat128( zSign, zExp - 14, zSig0, zSig1 ); in subFloat128Sigs()
4959 flag aSign, bSign, zSign; in float128_mul() local
4972 zSign = aSign ^ bSign; in float128_mul()
4979 return packFloat128( zSign, 0x7FFF, 0, 0 ); in float128_mul()
4990 return packFloat128( zSign, 0x7FFF, 0, 0 ); in float128_mul()
4993 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 ); in float128_mul()
4997 if ( ( bSig0 | bSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 ); in float128_mul()
5011 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 ); in float128_mul()
5024 flag aSign, bSign, zSign; in float128_div() local
5038 zSign = aSign ^ bSign; in float128_div()
5045 return packFloat128( zSign, 0x7FFF, 0, 0 ); in float128_div()
5049 return packFloat128( zSign, 0, 0, 0 ); in float128_div()
5061 return packFloat128( zSign, 0x7FFF, 0, 0 ); in float128_div()
5066 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 ); in float128_div()
5096 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 ); in float128_div()
5109 flag aSign, bSign, zSign; in float128_rem() local
5204 zSign = ( (sbits64) aSig0 < 0 ); in float128_rem()
5205 if ( zSign ) sub128( 0, 0, aSig0, aSig1, &aSig0, &aSig1 ); in float128_rem()
5207 normalizeRoundAndPackFloat128( aSign ^ zSign, bExp - 4, aSig0, aSig1 ); in float128_rem()