11.2Sriastrad CONST FPI *fpi; 21.2Sriastrad FPI fpi1; 31.1Schristos int Rounding; 41.1Schristos#ifdef Trust_FLT_ROUNDS /*{{ only define this if FLT_ROUNDS really works! */ 51.1Schristos Rounding = Flt_Rounds; 61.1Schristos#else /*}{*/ 71.1Schristos Rounding = 1; 81.1Schristos switch(fegetround()) { 91.1Schristos case FE_TOWARDZERO: Rounding = 0; break; 101.1Schristos case FE_UPWARD: Rounding = 2; break; 111.1Schristos case FE_DOWNWARD: Rounding = 3; 121.1Schristos } 131.1Schristos#endif /*}}*/ 141.1Schristos fpi = &fpi0; 151.1Schristos if (Rounding != 1) { 161.1Schristos fpi1 = fpi0; 171.1Schristos fpi = &fpi1; 181.1Schristos fpi1.rounding = Rounding; 191.1Schristos } 20