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

Side by Side Diff: fusl/src/math/sinl.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 sinl(long double x) 4 long double sinl(long double x) {
5 { 5 return sin(x);
6 » return sin(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 long double sinl(long double x) 8 long double sinl(long double x) {
10 { 9 union ldshape u = {x};
11 » union ldshape u = {x}; 10 unsigned n;
12 » unsigned n; 11 long double y[2], hi, lo;
13 » long double y[2], hi, lo;
14 12
15 » u.i.se &= 0x7fff; 13 u.i.se &= 0x7fff;
16 » if (u.i.se == 0x7fff) 14 if (u.i.se == 0x7fff)
17 » » return x - x; 15 return x - x;
18 » if (u.f < M_PI_4) { 16 if (u.f < M_PI_4) {
19 » » if (u.i.se < 0x3fff - LDBL_MANT_DIG/2) { 17 if (u.i.se < 0x3fff - LDBL_MANT_DIG / 2) {
20 » » » /* raise inexact if x!=0 and underflow if subnormal */ 18 /* raise inexact if x!=0 and underflow if subnormal */
21 » » » FORCE_EVAL(u.i.se == 0 ? x*0x1p-120f : x+0x1p120f); 19 FORCE_EVAL(u.i.se == 0 ? x * 0x1p-120f : x + 0x1p120f);
22 » » » return x; 20 return x;
23 » » } 21 }
24 » » return __sinl(x, 0.0, 0); 22 return __sinl(x, 0.0, 0);
25 » } 23 }
26 » n = __rem_pio2l(x, y); 24 n = __rem_pio2l(x, y);
27 » hi = y[0]; 25 hi = y[0];
28 » lo = y[1]; 26 lo = y[1];
29 » switch (n & 3) { 27 switch (n & 3) {
30 » case 0: 28 case 0:
31 » » return __sinl(hi, lo, 1); 29 return __sinl(hi, lo, 1);
32 » case 1: 30 case 1:
33 » » return __cosl(hi, lo); 31 return __cosl(hi, lo);
34 » case 2: 32 case 2:
35 » » return -__sinl(hi, lo, 1); 33 return -__sinl(hi, lo, 1);
36 » case 3: 34 case 3:
37 » default: 35 default:
38 » » return -__cosl(hi, lo); 36 return -__cosl(hi, lo);
39 » } 37 }
40 } 38 }
41 #endif 39 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698