Lines Matching refs:b

1029 static float32 addFloat32Sigs( struct roundingData *roundData, float32 a, float32 b, flag zSign )  in addFloat32Sigs()  argument
1037 bSig = extractFloat32Frac( b ); in addFloat32Sigs()
1038 bExp = extractFloat32Exp( b ); in addFloat32Sigs()
1044 if ( aSig ) return propagateFloat32NaN( a, b ); in addFloat32Sigs()
1058 if ( bSig ) return propagateFloat32NaN( a, b ); in addFloat32Sigs()
1072 if ( aSig | bSig ) return propagateFloat32NaN( a, b ); in addFloat32Sigs()
1101 static float32 subFloat32Sigs( struct roundingData *roundData, float32 a, float32 b, flag zSign ) in subFloat32Sigs() argument
1109 bSig = extractFloat32Frac( b ); in subFloat32Sigs()
1110 bExp = extractFloat32Exp( b ); in subFloat32Sigs()
1117 if ( aSig | bSig ) return propagateFloat32NaN( a, b ); in subFloat32Sigs()
1130 if ( bSig ) return propagateFloat32NaN( a, b ); in subFloat32Sigs()
1148 if ( aSig ) return propagateFloat32NaN( a, b ); in subFloat32Sigs()
1175 float32 float32_add( struct roundingData *roundData, float32 a, float32 b ) in float32_add() argument
1180 bSign = extractFloat32Sign( b ); in float32_add()
1182 return addFloat32Sigs( roundData, a, b, aSign ); in float32_add()
1185 return subFloat32Sigs( roundData, a, b, aSign ); in float32_add()
1197 float32 float32_sub( struct roundingData *roundData, float32 a, float32 b ) in float32_sub() argument
1202 bSign = extractFloat32Sign( b ); in float32_sub()
1204 return subFloat32Sigs( roundData, a, b, aSign ); in float32_sub()
1207 return addFloat32Sigs( roundData, a, b, aSign ); in float32_sub()
1219 float32 float32_mul( struct roundingData *roundData, float32 a, float32 b ) in float32_mul() argument
1230 bSig = extractFloat32Frac( b ); in float32_mul()
1231 bExp = extractFloat32Exp( b ); in float32_mul()
1232 bSign = extractFloat32Sign( b ); in float32_mul()
1236 return propagateFloat32NaN( a, b ); in float32_mul()
1245 if ( bSig ) return propagateFloat32NaN( a, b ); in float32_mul()
1280 float32 float32_div( struct roundingData *roundData, float32 a, float32 b ) in float32_div() argument
1289 bSig = extractFloat32Frac( b ); in float32_div()
1290 bExp = extractFloat32Exp( b ); in float32_div()
1291 bSign = extractFloat32Sign( b ); in float32_div()
1294 if ( aSig ) return propagateFloat32NaN( a, b ); in float32_div()
1296 if ( bSig ) return propagateFloat32NaN( a, b ); in float32_div()
1303 if ( bSig ) return propagateFloat32NaN( a, b ); in float32_div()
1347 float32 float32_rem( struct roundingData *roundData, float32 a, float32 b ) in float32_rem() argument
1360 bSig = extractFloat32Frac( b ); in float32_rem()
1361 bExp = extractFloat32Exp( b ); in float32_rem()
1362 bSign = extractFloat32Sign( b ); in float32_rem()
1365 return propagateFloat32NaN( a, b ); in float32_rem()
1371 if ( bSig ) return propagateFloat32NaN( a, b ); in float32_rem()
1505 flag float32_eq( float32 a, float32 b ) in float32_eq() argument
1509 || ( ( extractFloat32Exp( b ) == 0xFF ) && extractFloat32Frac( b ) ) in float32_eq()
1511 if ( float32_is_signaling_nan( a ) || float32_is_signaling_nan( b ) ) { in float32_eq()
1516 return ( a == b ) || ( (bits32) ( ( a | b )<<1 ) == 0 ); in float32_eq()
1528 flag float32_le( float32 a, float32 b ) in float32_le() argument
1533 || ( ( extractFloat32Exp( b ) == 0xFF ) && extractFloat32Frac( b ) ) in float32_le()
1539 bSign = extractFloat32Sign( b ); in float32_le()
1540 if ( aSign != bSign ) return aSign || ( (bits32) ( ( a | b )<<1 ) == 0 ); in float32_le()
1541 return ( a == b ) || ( aSign ^ ( a < b ) ); in float32_le()
1552 flag float32_lt( float32 a, float32 b ) in float32_lt() argument
1557 || ( ( extractFloat32Exp( b ) == 0xFF ) && extractFloat32Frac( b ) ) in float32_lt()
1563 bSign = extractFloat32Sign( b ); in float32_lt()
1564 if ( aSign != bSign ) return aSign && ( (bits32) ( ( a | b )<<1 ) != 0 ); in float32_lt()
1565 return ( a != b ) && ( aSign ^ ( a < b ) ); in float32_lt()
1577 flag float32_eq_signaling( float32 a, float32 b ) in float32_eq_signaling() argument
1581 || ( ( extractFloat32Exp( b ) == 0xFF ) && extractFloat32Frac( b ) ) in float32_eq_signaling()
1586 return ( a == b ) || ( (bits32) ( ( a | b )<<1 ) == 0 ); in float32_eq_signaling()
1598 flag float32_le_quiet( float32 a, float32 b ) in float32_le_quiet() argument
1604 || ( ( extractFloat32Exp( b ) == 0xFF ) && extractFloat32Frac( b ) ) in float32_le_quiet()
1610 bSign = extractFloat32Sign( b ); in float32_le_quiet()
1611 if ( aSign != bSign ) return aSign || ( (bits32) ( ( a | b )<<1 ) == 0 ); in float32_le_quiet()
1612 return ( a == b ) || ( aSign ^ ( a < b ) ); in float32_le_quiet()
1624 flag float32_lt_quiet( float32 a, float32 b ) in float32_lt_quiet() argument
1629 || ( ( extractFloat32Exp( b ) == 0xFF ) && extractFloat32Frac( b ) ) in float32_lt_quiet()
1635 bSign = extractFloat32Sign( b ); in float32_lt_quiet()
1636 if ( aSign != bSign ) return aSign && ( (bits32) ( ( a | b )<<1 ) != 0 ); in float32_lt_quiet()
1637 return ( a != b ) && ( aSign ^ ( a < b ) ); in float32_lt_quiet()
1925 static float64 addFloat64Sigs( struct roundingData *roundData, float64 a, float64 b, flag zSign ) in addFloat64Sigs() argument
1933 bSig = extractFloat64Frac( b ); in addFloat64Sigs()
1934 bExp = extractFloat64Exp( b ); in addFloat64Sigs()
1940 if ( aSig ) return propagateFloat64NaN( a, b ); in addFloat64Sigs()
1954 if ( bSig ) return propagateFloat64NaN( a, b ); in addFloat64Sigs()
1968 if ( aSig | bSig ) return propagateFloat64NaN( a, b ); in addFloat64Sigs()
1997 static float64 subFloat64Sigs( struct roundingData *roundData, float64 a, float64 b, flag zSign ) in subFloat64Sigs() argument
2005 bSig = extractFloat64Frac( b ); in subFloat64Sigs()
2006 bExp = extractFloat64Exp( b ); in subFloat64Sigs()
2013 if ( aSig | bSig ) return propagateFloat64NaN( a, b ); in subFloat64Sigs()
2026 if ( bSig ) return propagateFloat64NaN( a, b ); in subFloat64Sigs()
2044 if ( aSig ) return propagateFloat64NaN( a, b ); in subFloat64Sigs()
2071 float64 float64_add( struct roundingData *roundData, float64 a, float64 b ) in float64_add() argument
2076 bSign = extractFloat64Sign( b ); in float64_add()
2078 return addFloat64Sigs( roundData, a, b, aSign ); in float64_add()
2081 return subFloat64Sigs( roundData, a, b, aSign ); in float64_add()
2093 float64 float64_sub( struct roundingData *roundData, float64 a, float64 b ) in float64_sub() argument
2098 bSign = extractFloat64Sign( b ); in float64_sub()
2100 return subFloat64Sigs( roundData, a, b, aSign ); in float64_sub()
2103 return addFloat64Sigs( roundData, a, b, aSign ); in float64_sub()
2115 float64 float64_mul( struct roundingData *roundData, float64 a, float64 b ) in float64_mul() argument
2124 bSig = extractFloat64Frac( b ); in float64_mul()
2125 bExp = extractFloat64Exp( b ); in float64_mul()
2126 bSign = extractFloat64Sign( b ); in float64_mul()
2130 return propagateFloat64NaN( a, b ); in float64_mul()
2139 if ( bSig ) return propagateFloat64NaN( a, b ); in float64_mul()
2174 float64 float64_div( struct roundingData *roundData, float64 a, float64 b ) in float64_div() argument
2185 bSig = extractFloat64Frac( b ); in float64_div()
2186 bExp = extractFloat64Exp( b ); in float64_div()
2187 bSign = extractFloat64Sign( b ); in float64_div()
2190 if ( aSig ) return propagateFloat64NaN( a, b ); in float64_div()
2192 if ( bSig ) return propagateFloat64NaN( a, b ); in float64_div()
2199 if ( bSig ) return propagateFloat64NaN( a, b ); in float64_div()
2245 float64 float64_rem( struct roundingData *roundData, float64 a, float64 b ) in float64_rem() argument
2256 bSig = extractFloat64Frac( b ); in float64_rem()
2257 bExp = extractFloat64Exp( b ); in float64_rem()
2258 bSign = extractFloat64Sign( b ); in float64_rem()
2261 return propagateFloat64NaN( a, b ); in float64_rem()
2267 if ( bSig ) return propagateFloat64NaN( a, b ); in float64_rem()
2392 flag float64_eq( float64 a, float64 b ) in float64_eq() argument
2396 || ( ( extractFloat64Exp( b ) == 0x7FF ) && extractFloat64Frac( b ) ) in float64_eq()
2398 if ( float64_is_signaling_nan( a ) || float64_is_signaling_nan( b ) ) { in float64_eq()
2403 return ( a == b ) || ( (bits64) ( ( a | b )<<1 ) == 0 ); in float64_eq()
2415 flag float64_le( float64 a, float64 b ) in float64_le() argument
2420 || ( ( extractFloat64Exp( b ) == 0x7FF ) && extractFloat64Frac( b ) ) in float64_le()
2426 bSign = extractFloat64Sign( b ); in float64_le()
2427 if ( aSign != bSign ) return aSign || ( (bits64) ( ( a | b )<<1 ) == 0 ); in float64_le()
2428 return ( a == b ) || ( aSign ^ ( a < b ) ); in float64_le()
2439 flag float64_lt( float64 a, float64 b ) in float64_lt() argument
2444 || ( ( extractFloat64Exp( b ) == 0x7FF ) && extractFloat64Frac( b ) ) in float64_lt()
2450 bSign = extractFloat64Sign( b ); in float64_lt()
2451 if ( aSign != bSign ) return aSign && ( (bits64) ( ( a | b )<<1 ) != 0 ); in float64_lt()
2452 return ( a != b ) && ( aSign ^ ( a < b ) ); in float64_lt()
2464 flag float64_eq_signaling( float64 a, float64 b ) in float64_eq_signaling() argument
2468 || ( ( extractFloat64Exp( b ) == 0x7FF ) && extractFloat64Frac( b ) ) in float64_eq_signaling()
2473 return ( a == b ) || ( (bits64) ( ( a | b )<<1 ) == 0 ); in float64_eq_signaling()
2485 flag float64_le_quiet( float64 a, float64 b ) in float64_le_quiet() argument
2491 || ( ( extractFloat64Exp( b ) == 0x7FF ) && extractFloat64Frac( b ) ) in float64_le_quiet()
2497 bSign = extractFloat64Sign( b ); in float64_le_quiet()
2498 if ( aSign != bSign ) return aSign || ( (bits64) ( ( a | b )<<1 ) == 0 ); in float64_le_quiet()
2499 return ( a == b ) || ( aSign ^ ( a < b ) ); in float64_le_quiet()
2511 flag float64_lt_quiet( float64 a, float64 b ) in float64_lt_quiet() argument
2516 || ( ( extractFloat64Exp( b ) == 0x7FF ) && extractFloat64Frac( b ) ) in float64_lt_quiet()
2522 bSign = extractFloat64Sign( b ); in float64_lt_quiet()
2523 if ( aSign != bSign ) return aSign && ( (bits64) ( ( a | b )<<1 ) != 0 ); in float64_lt_quiet()
2524 return ( a != b ) && ( aSign ^ ( a < b ) ); in float64_lt_quiet()
2745 static floatx80 addFloatx80Sigs( struct roundingData *roundData, floatx80 a, floatx80 b, flag zSign… in addFloatx80Sigs() argument
2753 bSig = extractFloatx80Frac( b ); in addFloatx80Sigs()
2754 bExp = extractFloatx80Exp( b ); in addFloatx80Sigs()
2758 if ( (bits64) ( aSig<<1 ) ) return propagateFloatx80NaN( a, b ); in addFloatx80Sigs()
2767 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b ); in addFloatx80Sigs()
2777 return propagateFloatx80NaN( a, b ); in addFloatx80Sigs()
2814 static floatx80 subFloatx80Sigs( struct roundingData *roundData, floatx80 a, floatx80 b, flag zSign… in subFloatx80Sigs() argument
2823 bSig = extractFloatx80Frac( b ); in subFloatx80Sigs()
2824 bExp = extractFloatx80Exp( b ); in subFloatx80Sigs()
2830 return propagateFloatx80NaN( a, b ); in subFloatx80Sigs()
2848 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b ); in subFloatx80Sigs()
2860 if ( (bits64) ( aSig<<1 ) ) return propagateFloatx80NaN( a, b ); in subFloatx80Sigs()
2882 floatx80 floatx80_add( struct roundingData *roundData, floatx80 a, floatx80 b ) in floatx80_add() argument
2887 bSign = extractFloatx80Sign( b ); in floatx80_add()
2889 return addFloatx80Sigs( roundData, a, b, aSign ); in floatx80_add()
2892 return subFloatx80Sigs( roundData, a, b, aSign ); in floatx80_add()
2904 floatx80 floatx80_sub( struct roundingData *roundData, floatx80 a, floatx80 b ) in floatx80_sub() argument
2909 bSign = extractFloatx80Sign( b ); in floatx80_sub()
2911 return subFloatx80Sigs( roundData, a, b, aSign ); in floatx80_sub()
2914 return addFloatx80Sigs( roundData, a, b, aSign ); in floatx80_sub()
2926 floatx80 floatx80_mul( struct roundingData *roundData, floatx80 a, floatx80 b ) in floatx80_mul() argument
2936 bSig = extractFloatx80Frac( b ); in floatx80_mul()
2937 bExp = extractFloatx80Exp( b ); in floatx80_mul()
2938 bSign = extractFloatx80Sign( b ); in floatx80_mul()
2943 return propagateFloatx80NaN( a, b ); in floatx80_mul()
2949 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b ); in floatx80_mul()
2987 floatx80 floatx80_div( struct roundingData *roundData, floatx80 a, floatx80 b ) in floatx80_div() argument
2998 bSig = extractFloatx80Frac( b ); in floatx80_div()
2999 bExp = extractFloatx80Exp( b ); in floatx80_div()
3000 bSign = extractFloatx80Sign( b ); in floatx80_div()
3003 if ( (bits64) ( aSig<<1 ) ) return propagateFloatx80NaN( a, b ); in floatx80_div()
3005 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b ); in floatx80_div()
3011 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b ); in floatx80_div()
3069 floatx80 floatx80_rem( struct roundingData *roundData, floatx80 a, floatx80 b ) in floatx80_rem() argument
3080 bSig = extractFloatx80Frac( b ); in floatx80_rem()
3081 bExp = extractFloatx80Exp( b ); in floatx80_rem()
3082 bSign = extractFloatx80Sign( b ); in floatx80_rem()
3086 return propagateFloatx80NaN( a, b ); in floatx80_rem()
3091 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b ); in floatx80_rem()
3247 flag floatx80_eq( floatx80 a, floatx80 b ) in floatx80_eq() argument
3252 || ( ( extractFloatx80Exp( b ) == 0x7FFF ) in floatx80_eq()
3253 && (bits64) ( extractFloatx80Frac( b )<<1 ) ) in floatx80_eq()
3256 || floatx80_is_signaling_nan( b ) ) { in floatx80_eq()
3262 ( a.low == b.low ) in floatx80_eq()
3263 && ( ( a.high == b.high ) in floatx80_eq()
3265 && ( (bits16) ( ( a.high | b.high )<<1 ) == 0 ) ) in floatx80_eq()
3278 flag floatx80_le( floatx80 a, floatx80 b ) in floatx80_le() argument
3284 || ( ( extractFloatx80Exp( b ) == 0x7FFF ) in floatx80_le()
3285 && (bits64) ( extractFloatx80Frac( b )<<1 ) ) in floatx80_le()
3291 bSign = extractFloatx80Sign( b ); in floatx80_le()
3295 || ( ( ( (bits16) ( ( a.high | b.high )<<1 ) ) | a.low | b.low ) in floatx80_le()
3299 aSign ? le128( b.high, b.low, a.high, a.low ) in floatx80_le()
3300 : le128( a.high, a.low, b.high, b.low ); in floatx80_le()
3312 flag floatx80_lt( floatx80 a, floatx80 b ) in floatx80_lt() argument
3318 || ( ( extractFloatx80Exp( b ) == 0x7FFF ) in floatx80_lt()
3319 && (bits64) ( extractFloatx80Frac( b )<<1 ) ) in floatx80_lt()
3325 bSign = extractFloatx80Sign( b ); in floatx80_lt()
3329 && ( ( ( (bits16) ( ( a.high | b.high )<<1 ) ) | a.low | b.low ) in floatx80_lt()
3333 aSign ? lt128( b.high, b.low, a.high, a.low ) in floatx80_lt()
3334 : lt128( a.high, a.low, b.high, b.low ); in floatx80_lt()
3346 flag floatx80_eq_signaling( floatx80 a, floatx80 b ) in floatx80_eq_signaling() argument
3351 || ( ( extractFloatx80Exp( b ) == 0x7FFF ) in floatx80_eq_signaling()
3352 && (bits64) ( extractFloatx80Frac( b )<<1 ) ) in floatx80_eq_signaling()
3358 ( a.low == b.low ) in floatx80_eq_signaling()
3359 && ( ( a.high == b.high ) in floatx80_eq_signaling()
3361 && ( (bits16) ( ( a.high | b.high )<<1 ) == 0 ) ) in floatx80_eq_signaling()
3374 flag floatx80_le_quiet( floatx80 a, floatx80 b ) in floatx80_le_quiet() argument
3380 || ( ( extractFloatx80Exp( b ) == 0x7FFF ) in floatx80_le_quiet()
3381 && (bits64) ( extractFloatx80Frac( b )<<1 ) ) in floatx80_le_quiet()
3387 bSign = extractFloatx80Sign( b ); in floatx80_le_quiet()
3391 || ( ( ( (bits16) ( ( a.high | b.high )<<1 ) ) | a.low | b.low ) in floatx80_le_quiet()
3395 aSign ? le128( b.high, b.low, a.high, a.low ) in floatx80_le_quiet()
3396 : le128( a.high, a.low, b.high, b.low ); in floatx80_le_quiet()
3408 flag floatx80_lt_quiet( floatx80 a, floatx80 b ) in floatx80_lt_quiet() argument
3414 || ( ( extractFloatx80Exp( b ) == 0x7FFF ) in floatx80_lt_quiet()
3415 && (bits64) ( extractFloatx80Frac( b )<<1 ) ) in floatx80_lt_quiet()
3421 bSign = extractFloatx80Sign( b ); in floatx80_lt_quiet()
3425 && ( ( ( (bits16) ( ( a.high | b.high )<<1 ) ) | a.low | b.low ) in floatx80_lt_quiet()
3429 aSign ? lt128( b.high, b.low, a.high, a.low ) in floatx80_lt_quiet()
3430 : lt128( a.high, a.low, b.high, b.low ); in floatx80_lt_quiet()