summaryrefslogtreecommitdiff
path: root/lib/libc/gdtoa/gdtoa_fltrnds.h
blob: 33e5f9e5342c8568e487b6a43115ce8091e35b7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
	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;
		}