19 lines
421 B
C
19 lines
421 B
C
|
FPI *fpi, fpi1;
|
||
|
int Rounding;
|
||
|
#ifdef Trust_FLT_ROUNDS /*{{ only define this if FLT_ROUNDS really works! */
|
||
|
Rounding = Flt_Rounds;
|
||
|
#else /*}{*/
|
||
|
Rounding = 1;
|
||
|
switch(fegetround()) {
|
||
|
case FE_TOWARDZERO: Rounding = 0; break;
|
||
|
case FE_UPWARD: Rounding = 2; break;
|
||
|
case FE_DOWNWARD: Rounding = 3;
|
||
|
}
|
||
|
#endif /*}}*/
|
||
|
fpi = &fpi0;
|
||
|
if (Rounding != 1) {
|
||
|
fpi1 = fpi0;
|
||
|
fpi = &fpi1;
|
||
|
fpi1.rounding = Rounding;
|
||
|
}
|