source: src/libcfa/math @ 9b4343e

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since 9b4343e was 8884112, checked in by Aaron Moss <a3moss@…>, 8 years ago

Indexer now produces errors on CFA functions that overload C functions, does not consider restrict qualifier to break compatibility

  • Property mode set to 100644
File size: 10.8 KB
RevLine 
[6e991d6]1//
2// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
7// math --
8//
9// Author           : Peter A. Buhr
10// Created On       : Mon Apr 18 23:37:04 2016
11// Last Modified By : Peter A. Buhr
[dc5376a]12// Last Modified On : Sun Apr 24 12:45:02 2016
13// Update Count     : 59
[6e991d6]14//
15
[dc5376a]16extern "C" {
17#include <math.h>                                                                               // fpclassify, isfinite, isnormal, isnan, isinf
18} // extern "C"
[6e991d6]19
[dc5376a]20float fabs( float );
21// extern "C" { double fabs( double ); }
22long double fabs( long double );
23float cabs( float _Complex );
24// extern "C" { double cabs( double _Complex ); }
25long double cabs( long double _Complex );
[6e991d6]26
[dc5376a]27float ?%?( float, float );
28float fmod( float, float );
29double ?%?( double, double );
30// extern "C" { double fmod( double, double ); }
31long double ?%?( long double, long double );
32long double fmod( long double, long double );
[6e991d6]33
[dc5376a]34float remainder( float, float );
35// extern "C" { double remainder( double, double ); }
36long double remainder( long double, long double );
[6e991d6]37
[dc5376a]38[ int, float ] remquo( float, float );
39float remquo( float, float, int * );
40[ int, double ] remquo( double, double );
41// extern "C" { double remquo( double, double, int * ); }
42[ int, long double ] remquo( long double, long double );
43long double remquo( long double, long double, int * );
[6e991d6]44
[dc5376a]45[ int, float ] div( float, float );                                             // alternative name for remquo
46float div( float, float, int * );
47[ int, double ] div( double, double );
48// extern "C" { double div( double, double, int * ); }
49[ int, long double ] div( long double, long double );
50long double div( long double, long double, int * );
[6e991d6]51
[dc5376a]52float fma( float, float, float );
53// extern "C" { double fma( double, double, double ); }
54long double fma( long double, long double, long double );
[6e991d6]55
[dc5376a]56float fdim( float, float );
57// extern "C" { double fdim( double, double ); }
58long double fdim( long double, long double );
[6e991d6]59
[dc5376a]60float nan( const char * );
61// extern "C" { double nan( const char * ); }
62long double nan( const char * );
[6e991d6]63
[dc5376a]64//---------------------- Exponential ----------------------
[6e991d6]65
66float exp( float );
[dc5376a]67// extern "C" { double exp( double ); }
[6e991d6]68long double exp( long double );
69float _Complex exp( float _Complex );
70double _Complex exp( double _Complex );
71long double _Complex exp( long double _Complex );
72
[dc5376a]73float exp2( float );
74// extern "C" { double exp2( double ); }
75long double exp2( long double );
76// float _Complex exp2( float _Complex );
77// double _Complex exp2( double _Complex );
78// long double _Complex exp2( long double _Complex );
79
80float expm1( float );
81// extern "C" { double expm1( double ); }
82long double expm1( long double );
83
[6e991d6]84float log( float );
[dc5376a]85// extern "C" { double log( double ); }
[6e991d6]86long double log( long double );
87float _Complex log( float _Complex );
88double _Complex log( double _Complex );
89long double _Complex log( long double _Complex );
90
[dc5376a]91float log2( float );
92// extern "C" { double log2( double ); }
93long double log2( long double );
94// float _Complex log2( float _Complex );
95// double _Complex log2( double _Complex );
96// long double _Complex log2( long double _Complex );
97
98float log10( float );
99// extern "C" { double log10( double ); }
100long double log10( long double );
101// float _Complex log10( float _Complex );
102// double _Complex log10( double _Complex );
103// long double _Complex log10( long double _Complex );
104
105float log1p( float );
106// extern "C" { double log1p( double ); }
107long double log1p( long double );
108
109int ilogb( float );
110// extern "C" { int ilogb( double ); }
111int ilogb( long double );
112
113float logb( float );
114// extern "C" { double logb( double ); }
115long double logb( long double );
116
117//---------------------- Power ----------------------
[6e991d6]118
119float sqrt( float );
[dc5376a]120// extern "C" { double sqrt( double ); }
[6e991d6]121long double sqrt( long double );
122float _Complex sqrt( float _Complex );
123double _Complex sqrt( double _Complex );
124long double _Complex sqrt( long double _Complex );
125
[dc5376a]126float cbrt( float );
127// extern "C" { double cbrt( double ); }
128long double cbrt( long double );
[6e991d6]129
[dc5376a]130float hypot( float, float );
131// extern "C" { double hypot( double, double ); }
132long double hypot( long double, long double );
[6e991d6]133
[dc5376a]134float pow( float, float );
135// extern "C" { double pow( double, double ); }
136long double pow( long double, long double );
137float _Complex pow( float _Complex, float _Complex );
138double _Complex pow( double _Complex, double _Complex );
139long double _Complex pow( long double _Complex, long double _Complex );
[6e991d6]140
[dc5376a]141//---------------------- Trigonometric ----------------------
[6e991d6]142
[dc5376a]143float sin( float );
144// extern "C" { double sin( double ); }
145long double sin( long double );
146float _Complex sin( float _Complex );
147double _Complex sin( double _Complex );
148long double _Complex sin( long double _Complex );
[6e991d6]149
[dc5376a]150float cos( float );
151// extern "C" { double cos( double ); }
152long double cos( long double );
153float _Complex cos( float _Complex );
154double _Complex cos( double _Complex );
155long double _Complex cos( long double _Complex );
[6e991d6]156
[dc5376a]157float tan( float );
158// extern "C" { double tan( double ); }
159long double tan( long double );
160float _Complex tan( float _Complex );
161double _Complex tan( double _Complex );
162long double _Complex tan( long double _Complex );
[6e991d6]163
[dc5376a]164float asin( float );
165// extern "C" { double asin( double ); }
166long double asin( long double );
167float _Complex asin( float _Complex );
168double _Complex asin( double _Complex );
169long double _Complex asin( long double _Complex );
[6e991d6]170
[dc5376a]171float acos( float );
172// extern "C" { double acos( double ); }
173long double acos( long double );
174float _Complex acos( float _Complex );
175double _Complex acos( double _Complex );
176long double _Complex acos( long double _Complex );
[6e991d6]177
[dc5376a]178float atan( float );
179// extern "C" { double atan( double ); }
180long double atan( long double );
181float _Complex atan( float _Complex );
182double _Complex atan( double _Complex );
183long double _Complex atan( long double _Complex );
[6e991d6]184
[dc5376a]185float atan2( float, float );
[8884112]186// extern "C" { double atan2( double, double ); }
[dc5376a]187long double atan2( long double, long double );
[6e991d6]188
[dc5376a]189float atan( float, float );                                                             // alternative name for atan2
190double atan( double, double );
191long double atan( long double, long double );
[6e991d6]192
[dc5376a]193//---------------------- Hyperbolic ----------------------
[6e991d6]194
[dc5376a]195float sinh( float );
196// extern "C" { double sinh( double ); }
197long double sinh( long double );
198float _Complex sinh( float _Complex );
199double _Complex sinh( double _Complex );
200long double _Complex sinh( long double _Complex );
[6e991d6]201
[dc5376a]202float cosh( float );
203// extern "C" { double cosh( double ); }
204long double cosh( long double );
205float _Complex cosh( float _Complex );
206double _Complex cosh( double _Complex );
207long double _Complex cosh( long double _Complex );
[6e991d6]208
[dc5376a]209float tanh( float );
210// extern "C" { double tanh( double ); }
211long double tanh( long double );
212float _Complex tanh( float _Complex );
213double _Complex tanh( double _Complex );
214long double _Complex tanh( long double _Complex );
[6e991d6]215
[dc5376a]216float asinh( float );
217// extern "C" { double asinh( double ); }
218long double asinh( long double );
219float _Complex asinh( float _Complex );
220double _Complex asinh( double _Complex );
221long double _Complex asinh( long double _Complex );
222
223float acosh( float );
224// extern "C" { double acosh( double ); }
225long double acosh( long double );
226float _Complex acosh( float _Complex );
227double _Complex acosh( double _Complex );
228long double _Complex acosh( long double _Complex );
229
230float atanh( float );
231// extern "C" { double atanh( double ); }
232long double atanh( long double );
233float _Complex atanh( float _Complex );
234double _Complex atanh( double _Complex );
235long double _Complex atanh( long double _Complex );
236
237//---------------------- Error / Gamma ----------------------
238
239float erf( float );
240// extern "C" { double erf( double ); }
241long double erf( long double );
242// float _Complex erf( float _Complex );
243// double _Complex erf( double _Complex );
244// long double _Complex erf( long double _Complex );
245
246float erfc( float );
247// extern "C" { double erfc( double ); }
248long double erfc( long double );
249// float _Complex erfc( float _Complex );
250// double _Complex erfc( double _Complex );
251// long double _Complex erfc( long double _Complex );
[6e991d6]252
253float lgamma( float );
[dc5376a]254// extern "C" { double lgamma( double ); }
[6e991d6]255long double lgamma( long double );
[dc5376a]256float lgamma( float, int * );
257double lgamma( double, int * );
258long double lgamma( long double, int * );
259
260float tgamma( float );
261// extern "C" { double tgamma( double ); }
262long double tgamma( long double );
[6e991d6]263
[dc5376a]264//---------------------- Nearest Integer ----------------------
265
266float floor( float );
267// extern "C" { double floor( double ); }
268long double floor( long double );
269
270float ceil( float );
271// extern "C" { double ceil( double ); }
272long double ceil( long double );
273
274float trunc( float );
275// extern "C" { double trunc( double ); }
276long double trunc( long double );
277
278float rint( float );
279long double rint( long double );
280long int rint( float );
281long int rint( double );
282long int rint( long double );
283long long int rint( float );
284long long int rint( double );
285long long int rint( long double );
[6e991d6]286
287long int lrint( float );
[dc5376a]288// extern "C" { long int lrint( double ); }
[6e991d6]289long int lrint( long double );
290long long int llrint( float );
[dc5376a]291// extern "C" { long long int llrint( double ); }
[6e991d6]292long long int llrint( long double );
293
[dc5376a]294float nearbyint( float );
295// extern "C" { double nearbyint( double ); }
296long double nearbyint( long double );
297
298float round( float );
299long double round( long double );
300long int round( float );
301long int round( double );
302long int round( long double );
303long long int round( float );
304long long int round( double );
305long long int round( long double );
[6e991d6]306
307long int lround( float );
[dc5376a]308// extern "C" { long int lround( double ); }
[6e991d6]309long int lround( long double );
310long long int llround( float );
[dc5376a]311// extern "C" { long long int llround( double ); }
[6e991d6]312long long int llround( long double );
313
[dc5376a]314//---------------------- Manipulation ----------------------
[6e991d6]315
[dc5376a]316float copysign( float, float );
317// extern "C" { double copysign( double, double ); }
318long double copysign( long double, long double );
[6e991d6]319
[dc5376a]320float frexp( float, int * );
321// extern "C" { double frexp( double, int * ); }
322long double frexp( long double, int * );
[6e991d6]323
[dc5376a]324float ldexp( float, int );
325// extern "C" { double ldexp( double, int ); }
326long double ldexp( long double, int );
[6e991d6]327
[dc5376a]328[ float, float ] modf( float );
329float modf( float, float * );
330[ double, double ] modf( double );
331// extern "C" { double modf( double, double * ); }
332[ long double, long double ] modf( long double );
333long double modf( long double, long double * );
[6e991d6]334
335float nextafter( float, float );
[dc5376a]336// extern "C" { double nextafter( double, double ); }
[6e991d6]337long double nextafter( long double, long double );
338
339float nexttoward( float, long double );
[dc5376a]340// extern "C" { double nexttoward( double, long double ); }
[6e991d6]341long double nexttoward( long double, long double );
342
343float scalbn( float, int );
[dc5376a]344// extern "C" { double scalbn( double, int ); }
[6e991d6]345long double scalbn( long double, int );
346
347float scalbln( float, long int );
[dc5376a]348// extern "C" { double scalbln( double, long int ); }
[6e991d6]349long double scalbln( long double, long int );
350
351// Local Variables: //
352// mode: c //
353// tab-width: 4 //
354// End: //
Note: See TracBrowser for help on using the repository browser.