Lines Matching +full:double +full:- +full:precision

1 /*-
41 static const double
42 ln2_hi = 6.9314718055829871e-1; /* 0x162e42fefa0000.0p-53 */
46 static const double
47 ln2l_lo = 1.6465949582897082e-12; /* 0x1cf79abc9e3b3a.0p-92 */
50 static const long double
51 ln2l_lo = 1.64659495828970812809844307550013433e-12L; /* 0x1cf79abc9e3b39803f2f6af40f343.0p-152L */
53 #error "Unsupported long double format"
56 long double complex
57 clogl(long double complex z) in clogl()
59 long double ax, ax2h, ax2l, axh, axl, ay, ay2h, ay2l, ayh, ayl; in clogl()
60 long double sh, sl, t; in clogl()
61 long double x, y, v; in clogl()
65 ENTERIT(long double complex); in clogl()
80 kx = hax - 16383; in clogl()
82 ky = hay - 16383; in clogl()
90 if (ky < (MIN_EXP - 1) / 2) in clogl()
96 if (kx - ky > MANT_DIG || ay == 0) in clogl()
100 if (kx >= MAX_EXP - 1) in clogl()
101 RETURNI(CMPLXL(logl(hypotl(x * 0x1p-16382L, y * 0x1p-16382L)) + in clogl()
102 (MAX_EXP - 2) * ln2l_lo + (MAX_EXP - 2) * ln2_hi, v)); in clogl()
103 if (kx >= (MAX_EXP - 1) / 2) in clogl()
107 if (kx <= MIN_EXP - 2) in clogl()
109 (MIN_EXP - 2) * ln2l_lo + (MIN_EXP - 2) * ln2_hi, v)); in clogl()
112 if (ky < (MIN_EXP - 1) / 2 + MANT_DIG) in clogl()
116 t = (long double)(ax * (MULT_REDUX + 1)); in clogl()
117 axh = (long double)(ax - t) + t; in clogl()
118 axl = ax - axh; in clogl()
120 ax2l = axh * axh - ax2h + 2 * axh * axl + axl * axl; in clogl()
121 t = (long double)(ay * (MULT_REDUX + 1)); in clogl()
122 ayh = (long double)(ay - t) + t; in clogl()
123 ayl = ay - ayh; in clogl()
125 ay2l = ayh * ayh - ay2h + 2 * ayh * ayl + ayl * ayl; in clogl()
132 * moderately far from 1, we go through the extra-precision in clogl()
141 * doubled precision, and then do the rest of the calculation in clogl()
142 * in sloppy doubled precision. Although large cancellations in clogl()
144 * in doubled precision if the large calculation occurs (because in clogl()
145 * then it is exact in tripled precision and the cancellation in clogl()
146 * removes enough bits to fit in doubled precision). Thus the in clogl()
147 * result is accurate in sloppy doubled precision, and the only in clogl()
156 sh -= 1; in clogl()
159 /* Briggs-Kahan algorithm (except we discard the final low term): */ in clogl()