source: src/libcfa/math @ 8d4f7fe

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 8d4f7fe was bb82c03, checked in by Thierry Delisle <tdelisle@…>, 8 years ago

Removed #ifdef for CFORALL in libcfa headers

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