[CRT]
[reactos.git] / lib / sdk / crt / math / stubs.c
1 #include <precomp.h>
2 #include <math.h>
3
4 double CDECL _CIsin(double x);
5 double CDECL _CIcos(double x);
6 double CDECL _CItan(double x);
7 double CDECL _CIsinh(double x);
8 double CDECL _CIcosh(double x);
9 double CDECL _CItanh(double x);
10 double CDECL _CIasin(double x);
11 double CDECL _CIacos(double x);
12 double CDECL _CIatan(double x);
13 double CDECL _CIatan2(double y, double x);
14 double CDECL _CIexp(double x);
15 double CDECL _CIlog(double x);
16 double CDECL _CIlog10(double x);
17 double CDECL _CIpow(double x, double y);
18 double CDECL _CIsqrt(double x);
19 double CDECL _CIfmod(double x, double y);
20
21
22 /*
23 * @implemented
24 */
25 double CDECL _CIsin(double x)
26 {
27 return sin(x);
28 }
29 /*
30 * @implemented
31 */
32 double CDECL _CIcos(double x)
33 {
34 return cos(x);
35 }
36 /*
37 * @implemented
38 */
39 double CDECL _CItan(double x)
40 {
41 return tan(x);
42 }
43 /*
44 * @implemented
45 */
46 double CDECL _CIsinh(double x)
47 {
48 return sinh(x);
49 }
50 /*
51 * @implemented
52 */
53 double CDECL _CIcosh(double x)
54 {
55 return cosh(x);
56 }
57 /*
58 * @implemented
59 */
60 double CDECL _CItanh(double x)
61 {
62 return tanh(x);
63 }
64 /*
65 * @implemented
66 */
67 double CDECL _CIasin(double x)
68 {
69 return asin(x);
70 }
71 /*
72 * @implemented
73 */
74 double CDECL _CIacos(double x)
75 {
76 return acos(x);
77 }
78 /*
79 * @implemented
80 */
81 double CDECL _CIatan(double x)
82 {
83 return atan(x);
84 }
85 /*
86 * @implemented
87 */
88 double CDECL _CIatan2(double x, double y)
89 {
90 return atan2(y, x);
91 }
92 /*
93 * @implemented
94 */
95 double CDECL _CIexp(double x)
96 {
97 return exp(x);
98 }
99 /*
100 * @implemented
101 */
102 double CDECL _CIlog(double x)
103 {
104 return log(x);
105 }
106 /*
107 * @implemented
108 */
109 double CDECL _CIlog10(double x)
110 {
111 return log10(x);
112 }
113 /*
114 * @implemented
115 */
116 double CDECL _CIpow(double x, double y)
117 {
118 return pow(x, y);
119 }
120 /*
121 * @implemented
122 */
123 double CDECL _CIsqrt(double x)
124 {
125 return sqrt(x);
126 }
127 /*
128 * @implemented
129 */
130 double CDECL _CIfmod(double x, double y)
131 {
132 return fmod(x, y);
133 }
134
135 /* The following functions are likely workarounds for the pentium fdiv bug */
136 void __stdcall _adj_fdiv_m32( unsigned int arg )
137 {
138 FIXME("_adj_fdiv_m32 stub\n");
139 }
140 void __stdcall _adj_fdiv_m32i( int arg )
141 {
142 FIXME("_adj_fdiv_m32i stub\n");
143 }
144
145 void __stdcall _adj_fdiv_m64( unsigned __int64 arg )
146 {
147 FIXME("_adj_fdiv_m64 stub\n");
148 }
149
150 void _adj_fdiv_r(void)
151 {
152 FIXME("_adj_fdiv_r stub\n");
153 }
154
155 void __stdcall _adj_fdivr_m32( unsigned int arg )
156 {
157 FIXME("_adj_fdivr_m32i stub\n");
158 }
159
160 void __stdcall _adj_fdivr_m32i( int arg )
161 {
162 FIXME("_adj_fdivr_m32i stub\n");
163 }
164
165 void __stdcall _adj_fdivr_m64( unsigned __int64 arg )
166 {
167 FIXME("_adj_fdivr_m64 stub\n");
168 }
169
170 void _adj_fpatan(void)
171 {
172 FIXME("_adj_fpatan stub\n");
173 }
174
175 void __stdcall _adj_fdiv_m16i( short arg )
176 {
177 FIXME("_adj_fdiv_m16i stub\n");
178 }
179
180 void __stdcall _adj_fdivr_m16i( short arg )
181 {
182 FIXME("_adj_fdivr_m16i stub\n");
183 }
184
185 void _adj_fprem(void)
186 {
187 FIXME("_adj_fprem stub\n");
188 }
189
190 void _adj_fprem1(void)
191 {
192 FIXME("_adj_fprem1 stub\n");
193 }
194
195 void _adj_fptan(void)
196 {
197 FIXME("_adj_fptan stub\n");
198 }
199
200 void _safe_fdiv(void)
201 {
202 FIXME("_safe_fdiv stub\n");
203 }
204
205 void _safe_fdivr(void)
206 {
207 FIXME("_safe_fdivr stub\n");
208 }
209
210 void _safe_fprem(void)
211 {
212 FIXME("_safe_fprem stub\n");
213 }
214
215 void _safe_fprem1(void)
216 {
217 FIXME("_safe_fprem1 stub\n");
218 }
219
220