Lines Matching full:sum
83 struct dd sum;
86 sum = dd_add(a, b);
87 if (sum.lo != 0) {
88 EXTRACT_WORD64(hibits, sum.hi);
90 /* hibits += (int)copysign(1.0, sum.hi * sum.lo) */
91 EXTRACT_WORD64(lobits, sum.lo);
93 INSERT_WORD64(sum.hi, hibits);
96 return (sum.hi);
107 struct dd sum;
111 sum = dd_add(a, b);
116 * lowest bit of sum.hi to make it a sticky bit summarizing all the
117 * bits in sum.lo. With the sticky bit adjusted, the hardware will
123 if (sum.lo != 0) {
124 EXTRACT_WORD64(hibits, sum.hi);
127 /* hibits += (int)copysign(1.0, sum.hi * sum.lo) */
128 EXTRACT_WORD64(lobits, sum.lo);
130 INSERT_WORD64(sum.hi, hibits);
133 return (ldexp(sum.hi, scale));