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