/haiku-buildtools/gcc/libgcc/config/libbid/ |
H A D | bid64_scalb.c | 45 UINT64 sign_x, coefficient_x, res; local 58 if (!unpack_BID64 (&sign_x, &exponent_x, &coefficient_x, x)) { 64 if (coefficient_x) 65 res = coefficient_x & QUIET_MASK64; 71 res = very_fast_get_BID64 (sign_x, exponent_x, coefficient_x); // 0 80 res = very_fast_get_BID64 (sign_x, exponent_x, coefficient_x); 86 while ((coefficient_x < 1000000000000000ull) 88 // coefficient_x < 10^15, scale by 10 89 coefficient_x = (coefficient_x << [all...] |
H A D | bid64_logb.c | 40 UINT64 sign_x, coefficient_x; local 48 if (!unpack_BID64 (&sign_x, &exponent_x, &coefficient_x, x)) { 56 if (coefficient_x >= 1000000000000000ull) { 59 dx.d = (double)coefficient_x; // exact conversion; 62 if (coefficient_x >= power10_table_128[digits].w[0])
|
H A D | bid32_to_bid64.c | 34 UINT32 coefficient_x; 36 if (!unpack_BID32 (&sign_x, &exponent_x, &coefficient_x, x)) { 44 res = (coefficient_x & 0x000fffff); 46 res |= ((((UINT64) coefficient_x) << 32) & 0xfc00000000000000ull); 57 (UINT64) coefficient_x); 80 UINT64 sign_x, coefficient_x, remainder_h, carry, Stemp; 94 if (!unpack_BID64 (&sign_x, &exponent_x, &coefficient_x, x)) { 96 res = (coefficient_x & 0x0003ffffffffffffull); 98 res |= ((coefficient_x >> 32) & 0xfc000000); 119 if (coefficient_x > [all...] |
H A D | bid64_rem.c | 34 * than coefficient_x) 36 * use a loop to scale coefficient_x to 18_digits, divide by 65 UINT64 sign_x, sign_y, coefficient_x, coefficient_y, res; local 77 valid_x = unpack_BID64 (&sign_x, &exponent_x, &coefficient_x, x); 93 res = coefficient_x & QUIET_MASK64;; 141 res = very_fast_get_BID64 (sign_x, exponent_x, coefficient_x); 168 if (CY.w[1] || CY.w[0] > (coefficient_x << 1)) { 173 Q = coefficient_x / CY.w[0]; 174 R = coefficient_x - Q * CY.w[0]; 189 tempx.d = (float) coefficient_x; [all...] |
H A D | bid64_quantize.c | 46 UINT64 sign_x, sign_y, coefficient_x, coefficient_y, remainder_h, C64, local 62 valid_x = unpack_BID64 (&sign_x, &exponent_x, &coefficient_x, x); 72 if (((coefficient_x << 1) == 0xf000000000000000ull) 74 res = coefficient_x; 107 coefficient_x = 0; 108 res = 0x7c00000000000000ull | (coefficient_x & QUIET_MASK64); 115 // get number of decimal digits in coefficient_x 116 tempx.d = (float) coefficient_x; 119 if (coefficient_x >= power10_table_128[digits_x].w[0]) 128 coefficient_x * [all...] |
H A D | bid64_string.c | 46 UINT64 sign_x, coefficient_x, D, ER10; local 61 if (!unpack_BID64 (&sign_x, &exponent_x, &coefficient_x, x)) { 100 // get decimal digits in coefficient_x 141 if ((coefficient_x > 9999999999999999ull) || // non-canonical 142 ((coefficient_x == 0)) // significand is zero 171 Tmp = coefficient_x >> 59; 172 LO_18Dig = (coefficient_x << 5) >> 5; 208 // get decimal digits in coefficient_x 252 UINT64 sign_x, coefficient_x = 0, rounded = 0, res; local 405 coefficient_x [all...] |
H A D | bid64_mul.c | 30 * if(number_digits(coefficient_x)+number_digits(coefficient_y) guaranteed 33 * coefficient_x*coefficient_y) 35 * get long product: coefficient_x*coefficient_y 61 UINT64 sign_x, sign_y, coefficient_x, coefficient_y; local 78 valid_x = unpack_BID64 (&sign_x, &exponent_x, &coefficient_x, x); 96 BID_RETURN (coefficient_x & QUIET_MASK64); 146 if (!coefficient_x) { 164 tempx.d = (double) coefficient_x; 169 // magnitude estimate for coefficient_x*coefficient_y is 173 // check if coefficient_x*coefficient_ [all...] |
H A D | bid_inline_add.h | 29 * UINT64 sign_x, int exponent_x, UINT64 coefficient_x, 34 * UINT64 sign_x, int exponent_x, UINT64 coefficient_x, 75 get_add64 (UINT64 sign_x, int exponent_x, UINT64 coefficient_x, argument 95 coefficient_b = coefficient_x; 99 coefficient_a = coefficient_x; 805 get_add128 (UINT64 sign_x, int exponent_x, UINT64 coefficient_x, argument 829 tempx.d = (double) coefficient_x; 833 if (coefficient_x >= power10_table_128[digits_x].w[0]) 837 coefficient_x *= power10_table_128[extra_dx].w[0]; 838 if ((sign_x ^ sign_y) && (coefficient_x [all...] |
H A D | bid32_to_bid128.c | 35 UINT32 coefficient_x; 37 if (!unpack_BID32 (&sign_x, &exponent_x, &coefficient_x, x)) { 43 res.w[0] = (coefficient_x & 0x000fffff); 46 ((((UINT64) coefficient_x) << 32) & 0xfc00000000000000ull); 52 new_coeff.w[0] = coefficient_x;
|
H A D | bid64_to_bid128.c | 35 UINT64 coefficient_x; 37 if (!unpack_BID64 (&sign_x, &exponent_x, &coefficient_x, x)) { 43 res.w[0] = (coefficient_x & 0x0003ffffffffffffull); 45 res.w[1] |= ((coefficient_x) & 0xfc00000000000000ull); 50 new_coeff.w[0] = coefficient_x;
|
H A D | bid64_add.c | 123 UINT64 sign_x, sign_y, coefficient_x, coefficient_y, C64_new; local 142 valid_x = unpack_BID64 (&sign_x, &exponent_x, &coefficient_x, x); 156 res = coefficient_x & QUIET_MASK64; 164 res = coefficient_x; 187 res = coefficient_x; 213 if (!coefficient_x) { // x==0 239 coefficient_b = coefficient_x; 243 coefficient_a = coefficient_x;
|
H A D | bid64_fma.c | 33 * get full coefficient_x*coefficient_y product 70 UINT64 sign_x, sign_y, coefficient_x, coefficient_y, sign_z, local 89 valid_x = unpack_BID64 (&sign_x, &exponent_x, &coefficient_x, x); 211 if (!coefficient_x) { 257 if ((!coefficient_x) || (!coefficient_y)) { 285 tempx.d = (double) coefficient_x; 291 // magnitude estimate for coefficient_x*coefficient_y is 295 // check if coefficient_x*coefficient_y<2^(10*k+3) 299 C64 = coefficient_x * coefficient_y; 325 // get 128-bit product: coefficient_x*coefficient_ [all...] |
H A D | bid64_sqrt.c | 31 * scale coefficient_x by 10, adjust exponent 32 * - get lower estimate for number of digits in coefficient_x 67 UINT64 sign_x, coefficient_x; local 88 if (!unpack_BID64 (&sign_x, &exponent_x, &coefficient_x, x)) { 91 res = coefficient_x; 92 if ((coefficient_x & SSNAN_MASK64) == SINFINITY_MASK64) // -Infinity 111 if (sign_x && coefficient_x) { 122 tempx.d = (float) coefficient_x; 126 if (coefficient_x >= power10_index_binexp[bin_expon_cx]) 129 A10 = coefficient_x; [all...] |
H A D | bid64_div.c | 30 * if(coefficient_x<coefficient_y) 31 * p = number_digits(coefficient_y) - number_digits(coefficient_x) 32 * A = coefficient_x*10^p 37 * get Q=(int)(coefficient_x/coefficient_y) 40 * Let R = coefficient_x - Q*coefficient_y 85 UINT64 sign_x, sign_y, coefficient_x, coefficient_y, A, B, QX, PD; local 109 valid_x = unpack_BID64 (&sign_x, &exponent_x, &coefficient_x, x); 126 BID_RETURN (coefficient_x & QUIET_MASK64); 197 if (coefficient_x < coefficient_y) { 201 tempx.d = (float) coefficient_x; [all...] |
H A D | bid_internal.h | 2582 // this macro will find coefficient_x to be in [2^A, 2^(A+1) ) 2584 #define NUMBITS(A, coefficient_x, tempx){\ 2585 temp_x.d=(float)coefficient_x;\
|
/haiku-buildtools/gcc/libdecnumber/bid/ |
H A D | bid2dpd_dpd2bid.c | 91 unsigned int sign, coefficient_x, exp, dcoeff; local 103 coefficient_x = (x & 0x001ffffful) | 0x00800000ul; 104 if (coefficient_x >= 10000000) coefficient_x = 0; 109 coefficient_x = (x & 0x007ffffful); 111 b01 = coefficient_x / 1000; 112 b2 = coefficient_x - 1000 * b01;
|