Numworks Epsilon
1.4.1
Graphing Calculator Operating System
Main Page
Related Pages
+
Namespaces
Namespace List
+
Namespace Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
+
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
Enumerations
Enumerator
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Typedefs
+
Enumerations
a
b
c
d
e
f
l
m
o
p
q
r
s
t
w
Enumerator
+
Related Functions
a
b
c
d
f
g
h
i
l
m
n
o
p
r
s
t
u
w
+
Files
File List
+
File Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Functions
_
a
b
c
d
e
f
g
i
k
l
m
n
o
p
q
r
s
t
u
v
w
z
+
Variables
_
a
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
+
Typedefs
a
b
c
d
e
f
g
i
k
m
n
q
r
s
u
v
Enumerations
+
Enumerator
i
l
m
p
r
s
u
+
Macros
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
s_cosf.c
Go to the documentation of this file.
1
/* s_cosf.c -- float version of s_cos.c.
2
* Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
3
*/
4
5
/*
6
* ====================================================
7
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
8
*
9
* Developed at SunPro, a Sun Microsystems, Inc. business.
10
* Permission to use, copy, modify, and distribute this
11
* software is freely granted, provided that this notice
12
* is preserved.
13
* ====================================================
14
*/
15
16
#include "math.h"
17
#include "
math_private.h
"
18
19
float
20
cosf
(
float
x)
21
{
22
float
y[2],z=0.0;
23
int32_t
n,ix;
24
25
GET_FLOAT_WORD
(ix,x);
26
27
/* |x| ~< pi/4 */
28
ix &= 0x7fffffff;
29
if
(ix <= 0x3f490fd8)
return
__kernel_cosf
(x,z);
30
31
/* cos(Inf or NaN) is NaN */
32
else
if
(ix>=0x7f800000)
return
x-x;
33
34
/* argument reduction needed */
35
else
{
36
n =
__ieee754_rem_pio2f
(x,y);
37
switch
(n&3) {
38
case
0:
return
__kernel_cosf
(y[0],y[1]);
39
case
1:
return
-
__kernel_sinf
(y[0],y[1],1);
40
case
2:
return
-
__kernel_cosf
(y[0],y[1]);
41
default
:
42
return
__kernel_sinf
(y[0],y[1],1);
43
}
44
}
45
}
__kernel_cosf
float __kernel_cosf(float x, float y)
Definition:
k_cosf.c:29
__kernel_sinf
float __kernel_sinf(float x, float y, int iy)
Definition:
k_sinf.c:29
__ieee754_rem_pio2f
int32_t __ieee754_rem_pio2f(float x, float *y)
Definition:
e_rem_pio2f.c:87
GET_FLOAT_WORD
#define GET_FLOAT_WORD(i, d)
Definition:
math_private.h:326
cosf
float cosf(float x)
Definition:
s_cosf.c:20
int32_t
signed int int32_t
Definition:
stdint.h:11
math_private.h
epsilon
liba
src
external
openbsd
s_cosf.c
Generated by
1.8.14