Changeset dc5376a for src/libcfa/math


Ignore:
Timestamp:
Apr 24, 2016, 5:01:18 PM (9 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
89231bc, a772d8ab, add371c, b72bad4f
Parents:
743fbda
Message:

math library, second attempt

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/math

    r743fbda rdc5376a  
    1010// Created On       : Mon Apr 18 23:37:04 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Apr 21 07:56:48 2016
    13 // Update Count     : 38
     12// Last Modified On : Sun Apr 24 12:45:02 2016
     13// Update Count     : 59
    1414//
    1515
     16extern "C" {
     17#include <math.h>                                                                               // fpclassify, isfinite, isnormal, isnan, isinf
     18} // extern "C"
     19
     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 );
     26
     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 );
     33
     34float remainder( float, float );
     35// extern "C" { double remainder( double, double ); }
     36long double remainder( long double, long double );
     37
     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 * );
     44
     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 * );
     51
     52float fma( float, float, float );
     53// extern "C" { double fma( double, double, double ); }
     54long double fma( long double, long double, long double );
     55
     56float fdim( float, float );
     57// extern "C" { double fdim( double, double ); }
     58long double fdim( long double, long double );
     59
     60float nan( const char * );
     61// extern "C" { double nan( const char * ); }
     62long double nan( const char * );
     63
     64//---------------------- Exponential ----------------------
     65
     66float exp( float );
     67// extern "C" { double exp( double ); }
     68long double exp( long double );
     69float _Complex exp( float _Complex );
     70double _Complex exp( double _Complex );
     71long double _Complex exp( long double _Complex );
     72
     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
     84float log( float );
     85// extern "C" { double log( double ); }
     86long double log( long double );
     87float _Complex log( float _Complex );
     88double _Complex log( double _Complex );
     89long double _Complex log( long double _Complex );
     90
     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 ----------------------
     118
     119float sqrt( float );
     120// extern "C" { double sqrt( double ); }
     121long double sqrt( long double );
     122float _Complex sqrt( float _Complex );
     123double _Complex sqrt( double _Complex );
     124long double _Complex sqrt( long double _Complex );
     125
     126float cbrt( float );
     127// extern "C" { double cbrt( double ); }
     128long double cbrt( long double );
     129
     130float hypot( float, float );
     131// extern "C" { double hypot( double, double ); }
     132long double hypot( long double, long double );
     133
     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 );
     140
     141//---------------------- Trigonometric ----------------------
     142
     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 );
     149
    16150float cos( float );
    17 extern "C" { double cos( double ); }
     151// extern "C" { double cos( double ); }
    18152long double cos( long double );
    19153float _Complex cos( float _Complex );
     
    21155long double _Complex cos( long double _Complex );
    22156
     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 );
     163
     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 );
     170
     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 );
     177
     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 );
     184
     185float atan2( float, float );
     186double atan2( double, double );
     187long double atan2( long double, long double );
     188
     189float atan( float, float );                                                             // alternative name for atan2
     190double atan( double, double );
     191long double atan( long double, long double );
     192
     193//---------------------- Hyperbolic ----------------------
     194
     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 );
     201
    23202float cosh( float );
    24 extern "C" { double cosh( double ); }
     203// extern "C" { double cosh( double ); }
    25204long double cosh( long double );
    26205float _Complex cosh( float _Complex );
     
    28207long double _Complex cosh( long double _Complex );
    29208
    30 float acos( float );
    31 extern "C" { double acos( double ); }
    32 long double acos( long double );
    33 float _Complex acos( float _Complex );
    34 double _Complex acos( double _Complex );
    35 long double _Complex acos( long double _Complex );
     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 );
     215
     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 );
    36222
    37223float acosh( float );
    38 extern "C" { double acosh( double ); }
     224// extern "C" { double acosh( double ); }
    39225long double acosh( long double );
    40226float _Complex acosh( float _Complex );
     
    42228long double _Complex acosh( long double _Complex );
    43229
    44 float sin( float );
    45 extern "C" { double sin( double ); }
    46 long double sin( long double );
    47 float _Complex sin( float _Complex );
    48 double _Complex sin( double _Complex );
    49 long double _Complex sin( long double _Complex );
    50 
    51 float sinh( float );
    52 extern "C" { double sinh( double ); }
    53 long double sinh( long double );
    54 float _Complex sinh( float _Complex );
    55 double _Complex sinh( double _Complex );
    56 long double _Complex sinh( long double _Complex );
    57 
    58 float asin( float );
    59 extern "C" { double asin( double ); }
    60 long double asin( long double );
    61 float _Complex asin( float _Complex );
    62 double _Complex asin( double _Complex );
    63 long double _Complex asin( long double _Complex );
    64 
    65 float asinh( float );
    66 extern "C" { double asinh( double ); }
    67 long double asinh( long double );
    68 float _Complex asinh( float _Complex );
    69 double _Complex asinh( double _Complex );
    70 long double _Complex asinh( long double _Complex );
    71 
    72 float tan( float );
    73 extern "C" { double tan( double ); }
    74 long double tan( long double );
    75 float _Complex tan( float _Complex );
    76 double _Complex tan( double _Complex );
    77 long double _Complex tan( long double _Complex );
    78 
    79 float tanh( float );
    80 extern "C" { double tanh( double ); }
    81 long double tanh( long double );
    82 float _Complex tanh( float _Complex );
    83 double _Complex tanh( double _Complex );
    84 long double _Complex tanh( long double _Complex );
    85 
    86 float atan( float );
    87 extern "C" { double atan( double ); }
    88 long double atan( long double );
    89 float _Complex atan( float _Complex );
    90 double _Complex atan( double _Complex );
    91 long double _Complex atan( long double _Complex );
    92 
    93 float _Complex atan( float, float );
    94 double atan( double, double );
    95 long double atan( long double, long double );
    96 
    97230float atanh( float );
    98 extern "C" { double atanh( double ); }
     231// extern "C" { double atanh( double ); }
    99232long double atanh( long double );
    100233float _Complex atanh( float _Complex );
     
    102235long double _Complex atanh( long double _Complex );
    103236
    104 float exp( float );
    105 extern "C" { double exp( double ); }
    106 long double exp( long double );
    107 float _Complex exp( float _Complex );
    108 double _Complex exp( double _Complex );
    109 long double _Complex exp( long double _Complex );
    110 
    111 float log( float );
    112 extern "C" { double log( double ); }
    113 long double log( long double );
    114 float _Complex log( float _Complex );
    115 double _Complex log( double _Complex );
    116 long double _Complex log( long double _Complex );
    117 
    118 float pow( float, float );
    119 extern "C" { double pow( double, double ); }
    120 long double pow( long double, long double );
    121 float _Complex pow( float _Complex, float _Complex );
    122 double _Complex pow( double _Complex, double _Complex );
    123 long double _Complex pow( long double _Complex, long double _Complex );
    124 
    125 float sqrt( float );
    126 extern "C" { double sqrt( double ); }
    127 long double sqrt( long double );
    128 float _Complex sqrt( float _Complex );
    129 double _Complex sqrt( double _Complex );
    130 long double _Complex sqrt( long double _Complex );
    131 
    132 float fabs( float );
    133 extern "C" { double fabs( double ); }
    134 long double fabs( long double );
    135 float cabs( float _Complex );
    136 extern "C" { double cabs( double _Complex ); }
    137 long double cabs( long double _Complex );
     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 );
     252
     253float lgamma( float );
     254// extern "C" { double lgamma( double ); }
     255long double lgamma( long double );
     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 );
     263
     264//---------------------- Nearest Integer ----------------------
    138265
    139266float floor( float );
    140 extern "C" { double floor( double ); }
     267// extern "C" { double floor( double ); }
    141268long double floor( long double );
    142269
    143270float ceil( float );
    144 extern "C" { double ceil( double ); }
     271// extern "C" { double ceil( double ); }
    145272long double ceil( long double );
    146273
    147 //---------------------------------------
    148 
    149 float cbrt( float );
    150 extern "C" { double cbrt( double ); }
    151 long double cbrt( long double );
    152 
    153 float copysign( float, float );
    154 extern "C" { double copysign( double, double ); }
    155 long double copysign( long double, long double );
    156 
    157 float erf( float );
    158 extern "C" { double erf( double ); }
    159 long double erf( long double );
    160 
    161 float erfc( float );
    162 extern "C" { double erfc( double ); }
    163 long double erfc( long double );
    164 
    165 float exp2( float );
    166 extern "C" { double exp2( double ); }
    167 long double exp2( long double );
    168 
    169 float expm1( float );
    170 extern "C" { double expm1( double ); }
    171 long double expm1( long double );
    172 
    173 float fdim( float, float );
    174 extern "C" { double fdim( double, double ); }
    175 long double fdim( long double, long double );
    176 
    177 float fma( float, float, float );
    178 extern "C" { double fma( double, double, double ); }
    179 long double fma( long double, long double, long double );
    180 
    181 float ?%?( float, float );
    182 float fmod( float, float );
    183 double ?%?( double, double );
    184 extern "C" { double fmod( double, double ); }
    185 long double ?%?( long double, long double );
    186 long double fmod( long double, long double );
    187 
    188 [ int, float ] div( float x );
    189 float frexp( float, int * );
    190 [ int, double ] div( double x );
    191 extern "C" { double frexp( double, int * ); }
    192 [ int, long double ] div( long double x );
    193 long double frexp( long double, int * );
    194 
    195 float hypot( float, float );
    196 extern "C" { double hypot( double, double ); }
    197 long double hypot( long double, long double );
    198 
    199 int ilogb( float );
    200 extern "C" { int ilogb( double ); }
    201 int ilogb( long double );
    202 
    203 float ldexp( float, int );
    204 extern "C" { double ldexp( double, int ); }
    205 long double ldexp( long double, int );
    206 
    207 float lgamma( float );
    208 extern "C" { double lgamma( double ); }
    209 long double lgamma( long double );
    210 
    211 float rint( float x );
    212 long double rint( long double x );
    213 long int rint( float x );
    214 long int rint( double x );
    215 long int rint( long double x );
    216 long long int rint( float x );
    217 long long int rint( double x );
    218 long long int rint( long double x );
     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 );
    219286
    220287long int lrint( float );
    221 extern "C" { long int lrint( double ); }
     288// extern "C" { long int lrint( double ); }
    222289long int lrint( long double );
    223290long long int llrint( float );
    224 extern "C" { long long int llrint( double ); }
     291// extern "C" { long long int llrint( double ); }
    225292long long int llrint( long double );
    226293
    227 float round( float x );
    228 long double round( long double x );
    229 long int round( float x );
    230 long int round( double x );
    231 long int round( long double x );
    232 long long int round( float x );
    233 long long int round( double x );
    234 long long int round( long double x );
     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 );
    235306
    236307long int lround( float );
    237 extern "C" { long int lround( double ); }
     308// extern "C" { long int lround( double ); }
    238309long int lround( long double );
    239310long long int llround( float );
    240 extern "C" { long long int llround( double ); }
     311// extern "C" { long long int llround( double ); }
    241312long long int llround( long double );
    242313
    243 float log10( float );
    244 extern "C" { double log10( double ); }
    245 long double log10( long double );
    246 
    247 float log1p( float );
    248 extern "C" { double log1p( double ); }
    249 long double log1p( long double );
    250 
    251 float log2( float );
    252 extern "C" { double log2( double ); }
    253 long double log2( long double );
    254 
    255 float logb( float );
    256 extern "C" { double logb( double ); }
    257 long double logb( long double );
    258 
    259 float nearbyint( float );
    260 extern "C" { double nearbyint( double ); }
    261 long double nearbyint( long double );
     314//---------------------- Manipulation ----------------------
     315
     316float copysign( float, float );
     317// extern "C" { double copysign( double, double ); }
     318long double copysign( long double, long double );
     319
     320float frexp( float, int * );
     321// extern "C" { double frexp( double, int * ); }
     322long double frexp( long double, int * );
     323
     324float ldexp( float, int );
     325// extern "C" { double ldexp( double, int ); }
     326long double ldexp( long double, int );
     327
     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 * );
    262334
    263335float nextafter( float, float );
    264 extern "C" { double nextafter( double, double ); }
     336// extern "C" { double nextafter( double, double ); }
    265337long double nextafter( long double, long double );
    266338
    267339float nexttoward( float, long double );
    268 extern "C" { double nexttoward( double, long double ); }
     340// extern "C" { double nexttoward( double, long double ); }
    269341long double nexttoward( long double, long double );
    270342
    271 float remainder( float, float );
    272 extern "C" { double remainder( double, double ); }
    273 long double remainder( long double, long double );
    274 
    275 [ int, float ] remquo( float x, float y );
    276 float remquo( float, float, int * );
    277 [ int, double ] remquo( double x, double y );
    278 extern "C" { double remquo( double, double, int * ); }
    279 [ int, long double ] remquo( long double x, long double y );
    280 long double remquo( long double, long double, int * );
    281 
    282343float scalbn( float, int );
    283 extern "C" { double scalbn( double, int ); }
     344// extern "C" { double scalbn( double, int ); }
    284345long double scalbn( long double, int );
    285346
    286347float scalbln( float, long int );
    287 extern "C" { double scalbln( double, long int ); }
     348// extern "C" { double scalbln( double, long int ); }
    288349long double scalbln( long double, long int );
    289 
    290 float tgamma( float );
    291 extern "C" { double tgamma( double ); }
    292 long double tgamma( long double );
    293 
    294 float trunc( float );
    295 extern "C" { double trunc( double ); }
    296 long double trunc( long double );
    297350
    298351// Local Variables: //
Note: See TracChangeset for help on using the changeset viewer.