Lines Matching full:rounding
7 // can be of mixed precision. Unlike MPFR, the rounding mode is
9 // rounding mode of the result operand determines the rounding
30 // Each Float value also has a precision, rounding mode, and accuracy.
32 // represent the value. The rounding mode specifies how a result should
34 // rounding error with respect to the exact result.
39 // to the precision and rounding mode of the result variable.
43 // rounding takes place, and the rounding mode remains unchanged. Thus,
48 // By setting the desired precision to 24 or 53 and using matching rounding
56 // the number +0.0 exactly, with precision 0 and rounding mode ToNearestEven.
79 // with precision 53 and rounding mode ToNearestEven.
123 // desired precision. Rounding may change the Float value; the
124 // rounding error is described by the Float's Accuracy.
127 // The following rounding modes are supported.
139 // Accuracy describes the rounding error produced by the most recent
153 // value of z. Rounding occurs according to z's rounding mode if the mantissa
158 z.acc = Exact // optimistically assume no rounding is needed
190 // SetMode sets z's rounding mode to mode and returns an exact z.
206 // (i.e., the smallest prec before x.SetPrec(prec) would start rounding x).
215 // Mode returns the rounding mode of x.
247 // same precision and rounding mode as x. The components
296 // The result z has the same precision and rounding mode
378 // CAUTION: The rounding modes ToNegativeInf, ToPositiveInf are affected by the
379 // sign of z. For correct rounding, the sign of z must be set correctly before
404 // Rounding is based on two bits: the rounding bit (rbit) and the
417 r := uint(bits - z.prec - 1) // rounding bit position; r >= 0
418 rbit := z.mant.bit(r) // rounding bit
426 // convert ToXInf rounding modes
451 // make rounding decision
458 // rounding bits == 0b0x
461 // rounding bits == 0b11
482 panic("internal error in rounding")
547 // If z's precision is 0, it is changed to 64 (and rounding will have
554 // If z's precision is 0, it is changed to 64 (and rounding will have
562 // the sign afterwards because the sign affects rounding.
567 // If z's precision is 0, it is changed to 53 (and rounding will have
616 // or 64 (and rounding will have no effect).
667 // before setting z (and rounding will have no effect).
668 // Rounding is performed according to z's precision and rounding
692 // Copy sets z to x, with the same precision, rounding mode, and
899 // Rounding may have caused r to overflow to ħInf
900 // (rounding never causes underflows to 0).
921 // Rounding may have caused a denormal number to
1006 // Rounding may have caused r to overflow to ħInf
1007 // (rounding never causes underflows to 0).
1028 // Rounding may have caused a denormal number to
1201 // but using the sign of z for rounding the result.
1211 // Point Addition With Exact Rounding (as in the MPFR Library)"
1245 // but using the sign of z for rounding the result.
1288 // but using the sign of z for rounding
1308 // but using the sign of z for rounding the result.
1316 // (at least one extra bit so we get the rounding bit after
1329 // with rounding in that case.
1340 // The result is long enough to include (at least) the rounding bit.
1404 // difference) shall be +0 in all rounding-direction attributes except
1413 // Rounding is performed according to z's precision and rounding mode; and
1418 // BUG(gri) When rounding ToNegativeInf, the sign of Float values rounded to 0 is incorrect.
1479 // Precision, rounding, and accuracy reporting are as for Add.
1542 // Precision, rounding, and accuracy reporting are as for Add.
1587 // Precision, rounding, and accuracy reporting are as for Add.