xref: /netbsd-src/lib/libc/gdtoa/gdtoa_fltrnds.h (revision 15feeb49168699b23d53a38ebdbfe647158f0789)
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