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

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

Powered by Google App Engine
This is Rietveld 408576698