rounding for un-normalized numbers was wrong
authorceriel <none@none>
Wed, 29 Nov 1989 09:56:59 +0000 (09:56 +0000)
committerceriel <none@none>
Wed, 29 Nov 1989 09:56:59 +0000 (09:56 +0000)
mach/proto/fp/compact.c

index c2dea19..a121198 100644 (file)
@@ -166,7 +166,7 @@ sgl_over:                   trap(EFOVFL);
                            || ((f->m1 & SGL_EXACT) == SGL_ROUNDUP
                                && (f->m1 & (SGL_ROUNDUP << 1)))) {
                                SGL->fract++;
-                               if (f->exp == 0 && (f->m1 & ~SGL_MASK)) {
+                               if (f->exp == 0 && (SGL->fract & ~SGL_MASK)) {
                                        f->exp++;
                                }
                        /* check normal */