1 CONST FPI *fpi; 2 FPI fpi1; 3 int Rounding; 4 #ifdef Trust_FLT_ROUNDS /*{{ only define this if FLT_ROUNDS really works! */ 5 Rounding = Flt_Rounds; 6 #else /*}{*/ 7 Rounding = 1; 8 switch(fegetround()) { 9 case FE_TOWARDZERO: Rounding = 0; break; 10 case FE_UPWARD: Rounding = 2; break; 11 case FE_DOWNWARD: Rounding = 3; 12 } 13 #endif /*}}*/ 14 fpi = &fpi0; 15 if (Rounding != 1) { 16 fpi1 = fpi0; 17 fpi = &fpi1; 18 fpi1.rounding = Rounding; 19 } 20