]> pd.if.org Git - pdclib/blobdiff - includes/tgmath.h
Added missing float.h. Some touches.
[pdclib] / includes / tgmath.h
index c356272b6bc2fc662a70b9d4257ef6a379ee7e2e..503107df91ee8cb752e9a3c050ffcfef18cf4849 100644 (file)
 #ifndef __TGMATH_H
 #define __TGMATH_H __TGMATH_H
 
-// These functions return the sine of their parameter.
-double               sin(double               value);
-float                sin(float                value);
-long double          sin(long double          value);
-double _Complex      sin(double _Complex      value);
-float _Complex       sin(float _Complex       value);
-long double _Complex sin(long double _Complex value);
-
-// These functions return the hyperbolic sine of their parameter.
-double               sinh(double               value);
-float                sinh(float                value);
-long double          sinh(long double          value);
-double _Complex      sinh(double _Complex      value);
-float _Complex       sinh(float _Complex       value);
-long double _Complex sinh(long double _Complex value);
-
-// These functions return the arcsine of their parameter.
-double               asin(double               value);
-float                asin(float                value);
-long double          asin(long double          value);
-double _Complex      asin(double _Complex      value);
-float _Complex       asin(float _Complex       value);
-long double _Complex asin(long double _Complex value);
-
-// These functions return the hyperbolic arcsine of their parameter.
-double               asinh(double               value);
-float                asinh(float                value);
-long double          asinh(long double          value);
-double _Complex      asinh(double _Complex      value);
-float _Complex       asinh(float _Complex       value);
-long double _Complex asinh(long double _Complex value);
-
-// These functions return the cosine of their parameter.
-double               cos(double               value);
-float                cos(float                value);
-long double          cos(long double          value);
-double _Complex      cos(double _Complex      value);
-float _Complex       cos(float _Complex       value);
-long double _Complex cos(long double _Complex value);
-
-// These functions return the hyperbolic cosine of their parameter.
-double               cosh(double               value);
-float                cosh(float                value);
-long double          cosh(long double          value);
-double _Complex      cosh(double _Complex      value);
-float _Complex       cosh(float _Complex       value);
-long double _Complex cosh(long double _Complex value);
-
-// These functions return the arccosine of their parameter.
-double               acos(double               value);
-float                acos(float                value);
-long double          acos(long double          value);
-double _Complex      acos(double _Complex      value);
-float _Complex       acos(float _Complex       value);
-long double _Complex acos(long double _Complex value);
-
-// These functions return the hyperbolic arccosine of their parameter.
-double               acosh(double               value);
-float                acosh(float                value);
-long double          acosh(long double          value);
-double _Complex      acosh(double _Complex      value);
-float _Complex       acosh(float _Complex       value);
-long double _Complex acosh(long double _Complex value);
-
-// These functions return the tangent of their parameter.
-double               tan(double               value);
-float                tan(float                value);
-long double          tan(long double          value);
-double _Complex      tan(double _Complex      value);
-float _Complex       tan(float _Complex       value);
-long double _Complex tan(long double _Complex value);
-
-// These functions return the hyperbolic tangent of their parameter.
-double               tanh(double               value);
-float                tanh(float                value);
-long double          tanh(long double          value);
-double _Complex      tanh(double _Complex      value);
-float _Complex       tanh(float _Complex       value);
-long double _Complex tanh(long double _Complex value);
-
-// These functions return the arctangent of their parameter.
-double               atan(double               value);
-float                atan(float                value);
-long double          atan(long double          value);
-double _Complex      atan(double _Complex      value);
-float _Complex       atan(float _Complex       value);
-long double _Complex atan(long double _Complex value);
-
-// These functions return the hyperbolic arctangent of their parameter.
-double               atanh(double               value);
-float                atanh(float                value);
-long double          atanh(long double          value);
-double _Complex      atanh(double _Complex      value);
-float _Complex       atanh(float _Complex       value);
-long double _Complex atanh(long double _Complex value);
-
-// These functions return the angle whose tangent is x / y.
-double      atan2(double      x, double      y);
-float       atan2(float       x, float       y);
-long double atan2(long double x, long double y);
-
-// These functions return the phase angle of their parameter.
-double      carg(double _Complex      value);
-float       carg(float _Complex       value);
-long double carg(long double _Complex value);
-
-// These functions return the largest integer no larger than their parameter.
-double      floor(double      value);
-float       floor(float       value);
-long double floor(long double value);
-
-// These functions return the smallest integer not less than their parameter.
-double      ceil(double      value);
-float       ceil(float       value);
-long double ceil(long double value);
-
-// These functions return the square root of their parameter.
-double               sqrt(double               value);
-float                sqrt(float                value);
-long double          sqrt(long double          value);
-double _Complex      sqrt(double _Complex      value);
-float _Complex       sqrt(float _Complex       value);
-long double _Complex sqrt(long double _Complex value);
-
-// These functions return the cube root of their parameter.
-double      cbrt(double      value);
-float       cbrt(float       value);
-long double cbrt(long double value);
-
-// These functions return the imaginary part of their parameter.
-double      cimag(double _Complex      value);
-float       cimag(float _Complex       value);
-long double cimag(long double _Complex value);
-
-// These functions return the real value of their parameter.
-double      creal(double _Complex      value);
-float       creal(float _Complex       value);
-long double creal(long double _Complex value);
-
-// These functions return the conjugate of their parameter.
-double _Complex      conj(double _Complex      value);
-float _Complex       conj(float _Complex       value);
-long double _Complex conj(long double _Complex value);
-
-// These functions return their parameter x with the sign of y.
-double      copysign(double      x, double      y);
-float       copysign(float       x, float       y);
-long double copysign(long double x, long double y);
-
-// These functions return the projection of their parameter.
-double _Complex      cproj(double _Complex      value);
-float _Complex       cproj(float _Complex       value);
-long double _Complex cproj(long double _Complex value);
-
-// These functions return the error function of their parameter.
-double      erf(double      value);
-float       erf(float       value);
-long double erf(long double value);
-
-// These functions return the complementary error function of their parameter.
-double      erfc(double      value);
-float       erfc(float       value);
-long double erfc(long double value);
-
-// These functions return the exponential of their parameter (e^x).
-double               exp(double               value);
-float                exp(float                value);
-long double          exp(long double          value);
-double _Complex      exp(double _Complex      value);
-float _Complex       exp(float _Complex       value);
-long double _Complex exp(long double _Complex value);
-
-// These functions return 2 raised to the power of their parameter (2^x).
-double      exp2(double      value);
-float       exp2(float       value);
-long double exp2(long double value);
-
-// These functions return exp(value) - 1.
-double      expm1(double      value);
-float       expm1(float       value);
-long double expm1(long double value);
-
-// These functions return the magnitude of their parameter.
-double      fabs(double               value);
-float       fabs(float                value);
-long double fabs(long double          value);
-double      fabs(double _Complex      value);
-float       fabs(float _Complex       value);
-long double fabs(long double _Complex value);
-
-// These functions return the larger of (x-y) and zero.
-double      fdim(double      x, double      y);
-float       fdim(float       x, float       y);
-long double fdim(long double x, long double y);
-
-// These functions return (x * y + z) to arbitrary intermediate precision.
-double      fma(double      x, double      y, double      z);
-float       fma(float       x, float       y, float       z);
-long double fma(long double x, long double y, long double z);
-
-// These functions return the larger of their parameters.
-double      fmax(double      x, double      y);
-float       fmax(float       x, float       y);
-long double fmax(long double x, long double y);
-
-// These functions return the smaller of their parameters.
-double      fmin(double      x, double      y);
-float       fmin(float       x, float       y);
-long double fmin(long double x, long double y);
-
-// These functions return the remainder of (x/y).
-double      fmod(double      x, double      y);
-float       fmod(float       x, float       y);
-long double fmod(long double x, long double y);
-
-// These functions return a fraction (as return value) and an integer
-// exponent (in the parameter 'exponent') that represent value, with the
-// fraction being in the interval [0.5, 1) or being zero. If value is zero,
-// exponent will also be zero.
-// (fraction * 2^exponent) == value)
-double      frexp(double      value, int * exponent);
-float       frexp(float       value, int * exponent);
-long double frexp(long double value, int * exponent);
-
-// These functions return x raised to the power of y.
-double               pow(double               x, double               y);
-float                pow(float                x, float                y);
-long double          pow(long double          x, long double          y);
-double _Complex      pow(double _Complex      x, double _Complex      y);
-float _Complex       pow(float _Complex       x, float _Complex       y);
-long double _Complex pow(long double _Complex x, long double _Complex y);
-
-// TODO: Check spelling of hypothenuse and cathedes.
-// These functions determine the length of the hypothenuse for the cathedes
-// x and y. (Square root of a^2 + b^2.)
-double      hypot(double      a, double      b);
-float       hypot(float       a, float       b);
-long double hypot(long double a, long double b);
-
-// These functions return (int) logb(value).
-int ilogb(double      value);
-int ilogb(float       value);
-int ilogb(long double value);
-
-// These functions return (value * 2^exponent).
-double      ldexp(double      value, int exponent);
-float       ldexp(float       value, int exponent);
-long double ldexp(long double value, int exponent);
-
-// These functions return the natural logarithm of their parameter.
-double               log(double               value);
-float                log(float                value);
-long double          log(long double          value);
-double _Complex      log(double _Complex      value);
-float _Complex       log(float _Complex       value);
-long double _Complex log(long double _Complex value);
-
-// These functions return the logarithm (base 10) of their parameter.
-double      log10(double      value);
-float       log10(float       value);
-long double log10(long double value);
-
-// These functions return the natural logarithm of (their parameter + 1).
-double      log1p(double      value);
-float       log1p(float       value);
-long double log1p(long double value);
-
-// These functions return the logarithm (base 2) of their parameter.
-double      log2(double      value);
-float       log2(float       value);
-long double log2(long double value);
-
-// TODO: What do these functions actually do?
-double      logb(double      value);
-float       logb(float       value);
-long double logb(long double value);
-
-// These functions return their parameter rounded to the next integer, using
-// the current rounding mode.
-long long   llrint(double      value);
-long long   llrint(float       value);
-long long   llrint(long double value);
-long        lrint(double       value);
-long        lrint(float        value);
-long        lrint(long double  value);
-double      rint(double        value);
-float       rint(float         value);
-long double rint(long double   value);
-
-// These functions return their parameter rounded to the next integer, with
-// halfway values rounded away from zero regardless of current rounding mode.
-long long   llround(double      value);
-long long   llround(float       value);
-long long   llround(long double value);
-long        lround(double       value);
-long        lround(float        value);
-long        lround(long double  value);
-// TODO: Do the round() functions really return FP values?
-double      round(double        value);
-float       round(float         value);
-long double round(long double   value);
-
-// These functions return their parameter, rounded toward zero.
-// TODO: Do these functions really return FP values?
-double      trunc(double      value);
-float       trunc(float       value);
-long double trunc(long double value);
-
-// These functions store the integer part of value in integer, and return the
-// remaining part of value.
-double      modf(double      value, double *      integer);
-float       modf(float       value, float *       integer);
-long double modf(long double value, long double * integer);
-
-// These functions return their parameter rounded to the next integer, using
-// the current rounding mode but without raising an inexact FP exception.
-double      nearbyint(double      value);
-float       nearbyint(float       value);
-long double nearbyint(long double value);
-
-// These functions return the next representable value after the smaller of
-// their parameters.
-// TODO: This might be a wrong description.
-double      nextafter(double      x, double      y);
-float       nextafter(float       x, float       y);
-long double nextafter(long double x, long double y);
-
-// These functions return the next representable value after the smaller of
-// their parameters.
-// TODO: This might be a wrong description.
-double      nexttoward(double      x, long double y);
-float       nexttoward(float       x, long double y);
-long double nexttoward(long double x, long double y);
-
-// TODO
-double      remainder(double      x, double      y);
-float       remainder(float       x, float       y);
-long double remainder(long double x, long double y);
-
-// TODO
-double      remquo(double      x, double      y, int * pquo);
-float       remquo(float       x, float       y, int * pquo);
-long double remquo(long double x, long double y, int * pquo);
-
-// TODO
-double      scalbln(double      x, long ex);
-float       scalbln(float       x, long ex);
-long double scalbln(long double x, long ex);
-
-// TODO
-double      scalbn(double      x, int ex);
-float       scalbn(float       x, int ex);
-long double scalbn(long double x, int ex);
-
-// These functions return the gamma function of their parameter.
-double      tgamma(double      value);
-float       tgamma(float       value);
-long double tgamma(long double value);
-
-// These functions return log( fabs( tgamma(value) ) ).
-double      lgamma(double      value);
-float       lgamma(float       value);
-long double lgamma(long double value);
+#include <complex.h>
+#include <math.h>
 
 #endif // __TGMATH_H