source: src/libcfa/math @ 38ac6ec

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 38ac6ec was 53a6c2a, checked in by Peter A. Buhr <pabuhr@…>, 7 years ago

change meaning of sepOn, and replace #if with #pragma once in include files

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