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

Side by Side Diff: fusl/src/math/ceill.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 ceill(long double x) 4 long double ceill(long double x) {
5 { 5 return ceil(x);
6 » return ceil(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 ceill(long double x) 11 long double ceill(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 || x == 0) 16 if (e >= 0x3fff + LDBL_MANT_DIG - 1 || x == 0)
19 » » return x; 17 return x;
20 » /* y = int(x) - x, where int(x) is an integer neighbor of x */ 18 /* y = int(x) - x, where int(x) is an integer neighbor of x */
21 » if (u.i.se >> 15) 19 if (u.i.se >> 15)
22 » » y = x - toint + toint - x; 20 y = x - toint + toint - x;
23 » else 21 else
24 » » y = x + toint - toint - x; 22 y = x + toint - toint - x;
25 » /* special case because of non-nearest rounding modes */ 23 /* special case because of non-nearest rounding modes */
26 » if (e <= 0x3fff-1) { 24 if (e <= 0x3fff - 1) {
27 » » FORCE_EVAL(y); 25 FORCE_EVAL(y);
28 » » return u.i.se >> 15 ? -0.0 : 1; 26 return u.i.se >> 15 ? -0.0 : 1;
29 » } 27 }
30 » if (y < 0) 28 if (y < 0)
31 » » return x + y + 1; 29 return x + y + 1;
32 » return x + y; 30 return x + y;
33 } 31 }
34 #endif 32 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698