leave maximum value if overflow trap is handled
This commit is contained in:
parent
7056216262
commit
5bdcf0067b
@ -1,4 +1,4 @@
|
|||||||
/*
|
e
|
||||||
(c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
(c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
||||||
See the copyright notice in the ACK home directory, in the file "Copyright".
|
See the copyright notice in the ACK home directory, in the file "Copyright".
|
||||||
*/
|
*/
|
||||||
@ -36,7 +36,8 @@ int size;
|
|||||||
if (f->exp > DBL_MAX) {
|
if (f->exp > DBL_MAX) {
|
||||||
dbl_over: trap(EFOVFL);
|
dbl_over: trap(EFOVFL);
|
||||||
f->exp = DBL_MAX;
|
f->exp = DBL_MAX;
|
||||||
f->m1 = f->m2 = 0L;
|
f->m1 = 0xffffffffL;
|
||||||
|
f->m2 = DBL_ZERO;
|
||||||
if (error++)
|
if (error++)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -121,7 +122,8 @@ dbl_over: trap(EFOVFL);
|
|||||||
if (f->exp > SGL_MAX) {
|
if (f->exp > SGL_MAX) {
|
||||||
sgl_over: trap(EFOVFL);
|
sgl_over: trap(EFOVFL);
|
||||||
f->exp = SGL_MAX;
|
f->exp = SGL_MAX;
|
||||||
f->m1 = f->m2 = 0L;
|
f->m1 = SGL_ZERO;
|
||||||
|
f->m2 = 0L;
|
||||||
if (error++)
|
if (error++)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user