Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(167)

Side by Side Diff: fusl/src/math/roundl.c

Issue 1714623002: [fusl] clang-format fusl (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: headers too Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #include "libm.h" 1 #include "libm.h"
2 2
3 #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 3 #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
4 long double roundl(long double x) 4 long double roundl(long double x) {
5 { 5 return round(x);
6 » return round(x);
7 } 6 }
8 #elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384 7 #elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
9 8
10 static const long double toint = 1/LDBL_EPSILON; 9 static const long double toint = 1 / LDBL_EPSILON;
11 10
12 long double roundl(long double x) 11 long double roundl(long double x) {
13 { 12 union ldshape u = {x};
14 » union ldshape u = {x}; 13 int e = u.i.se & 0x7fff;
15 » int e = u.i.se & 0x7fff; 14 long double y;
16 » long double y;
17 15
18 » if (e >= 0x3fff+LDBL_MANT_DIG-1) 16 if (e >= 0x3fff + LDBL_MANT_DIG - 1)
19 » » return x; 17 return x;
20 » if (u.i.se >> 15) 18 if (u.i.se >> 15)
21 » » x = -x; 19 x = -x;
22 » if (e < 0x3fff-1) { 20 if (e < 0x3fff - 1) {
23 » » FORCE_EVAL(x + toint); 21 FORCE_EVAL(x + toint);
24 » » return 0*u.f; 22 return 0 * u.f;
25 » } 23 }
26 » y = x + toint - toint - x; 24 y = x + toint - toint - x;
27 » if (y > 0.5) 25 if (y > 0.5)
28 » » y = y + x - 1; 26 y = y + x - 1;
29 » else if (y <= -0.5) 27 else if (y <= -0.5)
30 » » y = y + x + 1; 28 y = y + x + 1;
31 » else 29 else
32 » » y = y + x; 30 y = y + x;
33 » if (u.i.se >> 15) 31 if (u.i.se >> 15)
34 » » y = -y; 32 y = -y;
35 » return y; 33 return y;
36 } 34 }
37 #endif 35 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698