Home | History | Annotate | Download | only in fpu

Lines Matching defs:round

63 static int round(struct fpemu *, struct fpn *, int *);
73 * Round a number (algorithm from Motorola MC68882 manual, modified for
77 * After rounding, we discard the guard and round bits by shifting right
85 round(struct fpemu *fe, struct fpn *fp, int *cx)
109 /* Go to rounddown to round down; break to round up. */
115 * Round only if guard is set (gr & 2). If guard is set,
116 * but round & sticky both clear, then we want to round
117 * but have a tie, so round to even, i.e., add 1 iff odd.
126 /* Round towards zero, i.e., down. */
130 /* Round towards -Inf: up if negative, down if positive. */
136 /* Round towards +Inf: up if positive, down otherwise. */
255 * shifting any guard and round bits out into the sticky
256 * bit. Then ``round'' towards zero, i.e., just set an
257 * inexact exception if sticky is set (see round()).
307 * shifting any guard and round bits out into the sticky
308 * bit. Then ``round'' towards zero, i.e., just set an
309 * inexact exception if sticky is set (see round()).
379 * may round to the smallest normal (1.0 x 2^minexp), or may
390 * Note that the guard and round bits vanish from the number after
396 if (round(fe, fp, cx) && fp->fp_mant[3] == SNG_EXP(1)) {
416 if (round(fe, fp, cx) && fp->fp_mant[3] == SNG_EXP(2))
469 if (round(fe, fp, cx) && fp->fp_mant[2] == DBL_EXP(1)) {
486 if (round(fe, fp, cx) && fp->fp_mant[2] == DBL_EXP(2))