// // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo // // The contents of this file are covered under the licence agreement in the // file "LICENCE" distributed with Cforall. // // math -- // // Author : Peter A. Buhr // Created On : Mon Apr 18 23:37:04 2016 // Last Modified By : Peter A. Buhr // Last Modified On : Sun Apr 24 12:45:02 2016 // Update Count : 59 // extern "C" { #include // fpclassify, isfinite, isnormal, isnan, isinf } // extern "C" float fabs( float ); // extern "C" { double fabs( double ); } long double fabs( long double ); float cabs( float _Complex ); // extern "C" { double cabs( double _Complex ); } long double cabs( long double _Complex ); float ?%?( float, float ); float fmod( float, float ); double ?%?( double, double ); // extern "C" { double fmod( double, double ); } long double ?%?( long double, long double ); long double fmod( long double, long double ); float remainder( float, float ); // extern "C" { double remainder( double, double ); } long double remainder( long double, long double ); [ int, float ] remquo( float, float ); float remquo( float, float, int * ); [ int, double ] remquo( double, double ); // extern "C" { double remquo( double, double, int * ); } [ int, long double ] remquo( long double, long double ); long double remquo( long double, long double, int * ); [ int, float ] div( float, float ); // alternative name for remquo float div( float, float, int * ); [ int, double ] div( double, double ); // extern "C" { double div( double, double, int * ); } [ int, long double ] div( long double, long double ); long double div( long double, long double, int * ); float fma( float, float, float ); // extern "C" { double fma( double, double, double ); } long double fma( long double, long double, long double ); float fdim( float, float ); // extern "C" { double fdim( double, double ); } long double fdim( long double, long double ); float nan( const char * ); // extern "C" { double nan( const char * ); } long double nan( const char * ); //---------------------- Exponential ---------------------- float exp( float ); // extern "C" { double exp( double ); } long double exp( long double ); float _Complex exp( float _Complex ); double _Complex exp( double _Complex ); long double _Complex exp( long double _Complex ); float exp2( float ); // extern "C" { double exp2( double ); } long double exp2( long double ); // float _Complex exp2( float _Complex ); // double _Complex exp2( double _Complex ); // long double _Complex exp2( long double _Complex ); float expm1( float ); // extern "C" { double expm1( double ); } long double expm1( long double ); float log( float ); // extern "C" { double log( double ); } long double log( long double ); float _Complex log( float _Complex ); double _Complex log( double _Complex ); long double _Complex log( long double _Complex ); float log2( float ); // extern "C" { double log2( double ); } long double log2( long double ); // float _Complex log2( float _Complex ); // double _Complex log2( double _Complex ); // long double _Complex log2( long double _Complex ); float log10( float ); // extern "C" { double log10( double ); } long double log10( long double ); // float _Complex log10( float _Complex ); // double _Complex log10( double _Complex ); // long double _Complex log10( long double _Complex ); float log1p( float ); // extern "C" { double log1p( double ); } long double log1p( long double ); int ilogb( float ); // extern "C" { int ilogb( double ); } int ilogb( long double ); float logb( float ); // extern "C" { double logb( double ); } long double logb( long double ); //---------------------- Power ---------------------- float sqrt( float ); // extern "C" { double sqrt( double ); } long double sqrt( long double ); float _Complex sqrt( float _Complex ); double _Complex sqrt( double _Complex ); long double _Complex sqrt( long double _Complex ); float cbrt( float ); // extern "C" { double cbrt( double ); } long double cbrt( long double ); float hypot( float, float ); // extern "C" { double hypot( double, double ); } long double hypot( long double, long double ); float pow( float, float ); // extern "C" { double pow( double, double ); } long double pow( long double, long double ); float _Complex pow( float _Complex, float _Complex ); double _Complex pow( double _Complex, double _Complex ); long double _Complex pow( long double _Complex, long double _Complex ); //---------------------- Trigonometric ---------------------- float sin( float ); // extern "C" { double sin( double ); } long double sin( long double ); float _Complex sin( float _Complex ); double _Complex sin( double _Complex ); long double _Complex sin( long double _Complex ); float cos( float ); // extern "C" { double cos( double ); } long double cos( long double ); float _Complex cos( float _Complex ); double _Complex cos( double _Complex ); long double _Complex cos( long double _Complex ); float tan( float ); // extern "C" { double tan( double ); } long double tan( long double ); float _Complex tan( float _Complex ); double _Complex tan( double _Complex ); long double _Complex tan( long double _Complex ); float asin( float ); // extern "C" { double asin( double ); } long double asin( long double ); float _Complex asin( float _Complex ); double _Complex asin( double _Complex ); long double _Complex asin( long double _Complex ); float acos( float ); // extern "C" { double acos( double ); } long double acos( long double ); float _Complex acos( float _Complex ); double _Complex acos( double _Complex ); long double _Complex acos( long double _Complex ); float atan( float ); // extern "C" { double atan( double ); } long double atan( long double ); float _Complex atan( float _Complex ); double _Complex atan( double _Complex ); long double _Complex atan( long double _Complex ); float atan2( float, float ); double atan2( double, double ); long double atan2( long double, long double ); float atan( float, float ); // alternative name for atan2 double atan( double, double ); long double atan( long double, long double ); //---------------------- Hyperbolic ---------------------- float sinh( float ); // extern "C" { double sinh( double ); } long double sinh( long double ); float _Complex sinh( float _Complex ); double _Complex sinh( double _Complex ); long double _Complex sinh( long double _Complex ); float cosh( float ); // extern "C" { double cosh( double ); } long double cosh( long double ); float _Complex cosh( float _Complex ); double _Complex cosh( double _Complex ); long double _Complex cosh( long double _Complex ); float tanh( float ); // extern "C" { double tanh( double ); } long double tanh( long double ); float _Complex tanh( float _Complex ); double _Complex tanh( double _Complex ); long double _Complex tanh( long double _Complex ); float asinh( float ); // extern "C" { double asinh( double ); } long double asinh( long double ); float _Complex asinh( float _Complex ); double _Complex asinh( double _Complex ); long double _Complex asinh( long double _Complex ); float acosh( float ); // extern "C" { double acosh( double ); } long double acosh( long double ); float _Complex acosh( float _Complex ); double _Complex acosh( double _Complex ); long double _Complex acosh( long double _Complex ); float atanh( float ); // extern "C" { double atanh( double ); } long double atanh( long double ); float _Complex atanh( float _Complex ); double _Complex atanh( double _Complex ); long double _Complex atanh( long double _Complex ); //---------------------- Error / Gamma ---------------------- float erf( float ); // extern "C" { double erf( double ); } long double erf( long double ); // float _Complex erf( float _Complex ); // double _Complex erf( double _Complex ); // long double _Complex erf( long double _Complex ); float erfc( float ); // extern "C" { double erfc( double ); } long double erfc( long double ); // float _Complex erfc( float _Complex ); // double _Complex erfc( double _Complex ); // long double _Complex erfc( long double _Complex ); float lgamma( float ); // extern "C" { double lgamma( double ); } long double lgamma( long double ); float lgamma( float, int * ); double lgamma( double, int * ); long double lgamma( long double, int * ); float tgamma( float ); // extern "C" { double tgamma( double ); } long double tgamma( long double ); //---------------------- Nearest Integer ---------------------- float floor( float ); // extern "C" { double floor( double ); } long double floor( long double ); float ceil( float ); // extern "C" { double ceil( double ); } long double ceil( long double ); float trunc( float ); // extern "C" { double trunc( double ); } long double trunc( long double ); float rint( float ); long double rint( long double ); long int rint( float ); long int rint( double ); long int rint( long double ); long long int rint( float ); long long int rint( double ); long long int rint( long double ); long int lrint( float ); // extern "C" { long int lrint( double ); } long int lrint( long double ); long long int llrint( float ); // extern "C" { long long int llrint( double ); } long long int llrint( long double ); float nearbyint( float ); // extern "C" { double nearbyint( double ); } long double nearbyint( long double ); float round( float ); long double round( long double ); long int round( float ); long int round( double ); long int round( long double ); long long int round( float ); long long int round( double ); long long int round( long double ); long int lround( float ); // extern "C" { long int lround( double ); } long int lround( long double ); long long int llround( float ); // extern "C" { long long int llround( double ); } long long int llround( long double ); //---------------------- Manipulation ---------------------- float copysign( float, float ); // extern "C" { double copysign( double, double ); } long double copysign( long double, long double ); float frexp( float, int * ); // extern "C" { double frexp( double, int * ); } long double frexp( long double, int * ); float ldexp( float, int ); // extern "C" { double ldexp( double, int ); } long double ldexp( long double, int ); [ float, float ] modf( float ); float modf( float, float * ); [ double, double ] modf( double ); // extern "C" { double modf( double, double * ); } [ long double, long double ] modf( long double ); long double modf( long double, long double * ); float nextafter( float, float ); // extern "C" { double nextafter( double, double ); } long double nextafter( long double, long double ); float nexttoward( float, long double ); // extern "C" { double nexttoward( double, long double ); } long double nexttoward( long double, long double ); float scalbn( float, int ); // extern "C" { double scalbn( double, int ); } long double scalbn( long double, int ); float scalbln( float, long int ); // extern "C" { double scalbln( double, long int ); } long double scalbln( long double, long int ); // Local Variables: // // mode: c // // tab-width: 4 // // End: //