diff options
Diffstat (limited to 'libgfortran/c99_protos.h')
-rw-r--r-- | libgfortran/c99_protos.h | 219 |
1 files changed, 217 insertions, 2 deletions
diff --git a/libgfortran/c99_protos.h b/libgfortran/c99_protos.h index a42380de670..8b330b3ecdc 100644 --- a/libgfortran/c99_protos.h +++ b/libgfortran/c99_protos.h @@ -29,6 +29,7 @@ Boston, MA 02110-1301, USA. */ #ifndef C99_PROTOS_H #define C99_PROTOS_H +/* float variants of libm functions */ #ifndef HAVE_ACOSF extern float acosf(float); #endif @@ -130,11 +131,11 @@ extern float tanhf(float); #endif #ifndef HAVE_TRUNC -extern double trunc(double x); +extern double trunc(double); #endif #ifndef HAVE_TRUNCF -extern float truncf(float x); +extern float truncf(float); #endif #ifndef HAVE_NEXTAFTERF @@ -153,9 +154,223 @@ extern double round(double); extern float roundf(float); #endif + +/* log10l is needed on all platforms for decimal I/O */ #ifndef HAVE_LOG10L +#define HAVE_LOG10L extern long double log10l(long double); #endif + +/* complex math functions */ + +#if !defined(HAVE_CABSF) +#define HAVE_CABSF +extern float cabsf (float complex); +#endif + +#if !defined(HAVE_CABS) +#define HAVE_CABS +extern double cabs (double complex); +#endif + +#if !defined(HAVE_CABSL) && defined(HAVE_HYPOTL) +#define HAVE_CABSL +extern long double cabsl (long double complex); +#endif + + +#if !defined(HAVE_CARGF) +#define HAVE_CARGF +extern float cargf (float complex); +#endif + +#if !defined(HAVE_CARG) +#define HAVE_CARG +extern double carg (double complex); +#endif + +#if !defined(HAVE_CARGL) && defined(HAVE_ATAN2L) +#define HAVE_CARGL +extern long double cargl (long double complex); +#endif + + +#if !defined(HAVE_CEXPF) +#define HAVE_CEXPF +extern float complex cexpf (float complex); +#endif + +#if !defined(HAVE_CEXP) +#define HAVE_CEXP +extern double complex cexp (double complex); +#endif + +#if !defined(HAVE_CEXPL) && defined(HAVE_COSL) && defined(HAVE_SINL) && defined(EXPL) +#define HAVE_CEXPL +extern long double complex cexpl (long double complex); +#endif + + +#if !defined(HAVE_CLOGF) +#define HAVE_CLOGF +extern float complex clogf (float complex); +#endif + +#if !defined(HAVE_CLOG) +#define HAVE_CLOG +extern double complex clog (double complex); +#endif + +#if !defined(HAVE_CLOGL) && defined(HAVE_LOGL) && defined(HAVE_CABSL) && defined(HAVE_CARGL) +#define HAVE_CLOGL +extern long double complex clogl (long double complex); +#endif + + +#if !defined(HAVE_CLOG10F) +#define HAVE_CLOG10F +extern float complex clog10f (float complex); +#endif + +#if !defined(HAVE_CLOG10) +#define HAVE_CLOG10 +extern double complex clog10 (double complex); +#endif + +#if !defined(HAVE_CLOG10L) && defined(HAVE_LOG10L) && defined(HAVE_CABSL) && defined(HAVE_CARGL) +#define HAVE_CLOG10L +extern long double complex clog10l (long double complex); +#endif + + +#if !defined(HAVE_CPOWF) +#define HAVE_CPOWF +extern float complex cpowf (float complex, float complex); +#endif + +#if !defined(HAVE_CPOW) +#define HAVE_CPOW +extern double complex cpow (double complex, double complex); +#endif + +#if !defined(HAVE_CPOWL) && defined(HAVE_CEXPL) && defined(HAVE_CLOGL) +#define HAVE_CPOWL +extern long double complex cpowl (long double complex, long double complex); +#endif + + +#if !defined(HAVE_CSQRTF) +#define HAVE_CSQRTF +extern float complex csqrtf (float complex); +#endif + +#if !defined(HAVE_CSQRT) +#define HAVE_CSQRT +extern double complex csqrt (double complex); +#endif + +#if !defined(HAVE_CSQRTL) && defined(HAVE_COPYSIGNL) && defined(HAVE_SQRTL) && defined(HAVE_FABSL) && defined(HAVE_HYPOTL) +#define HAVE_CSQRTL +extern long double complex csqrtl (long double complex); +#endif + + +#if !defined(HAVE_CSINHF) +#define HAVE_CSINHF +extern float complex csinhf (float complex); +#endif + +#if !defined(HAVE_CSINH) +#define HAVE_CSINH +extern double complex csinh (double complex); +#endif + +#if !defined(HAVE_CSINHL) && defined(HAVE_COSL) && defined(HAVE_COSHL) && defined(HAVE_SINL) && defined(HAVE_SINHL) +#define HAVE_CSINHL +extern long double complex csinhl (long double complex); +#endif + + +#if !defined(HAVE_CCOSHF) +#define HAVE_CCOSHF +extern float complex ccoshf (float complex); +#endif + +#if !defined(HAVE_CCOSH) +#define HAVE_CCOSH +extern double complex ccosh (double complex); +#endif + +#if !defined(HAVE_CCOSHL) && defined(HAVE_COSL) && defined(HAVE_COSHL) && defined(HAVE_SINL) && defined(HAVE_SINHL) +#define HAVE_CCOSHL +extern long double complex ccoshl (long double complex); +#endif + + +#if !defined(HAVE_CTANHF) +#define HAVE_CTANHF +extern float complex ctanhf (float complex); +#endif + +#if !defined(HAVE_CTANH) +#define HAVE_CTANH +extern double complex ctanh (double complex); +#endif + +#if !defined(HAVE_CTANHL) && defined(HAVE_TANL) && defined(HAVE_TANHL) +#define HAVE_CTANHL +extern long double complex ctanhl (long double complex); +#endif + + +#if !defined(HAVE_CSINF) +#define HAVE_CSINF +extern float complex csinf (float complex); +#endif + +#if !defined(HAVE_CSIN) +#define HAVE_CSIN +extern double complex csin (double complex); +#endif + +#if !defined(HAVE_CSINL) && defined(HAVE_COSL) && defined(HAVE_COSHL) && defined(HAVE_SINL) && defined(HAVE_SINHL) +#define HAVE_CSINL +extern long double complex csinl (long double complex); +#endif + + +#if !defined(HAVE_CCOSF) +#define HAVE_CCOSF +extern float complex ccosf (float complex); +#endif + +#if !defined(HAVE_CCOS) +#define HAVE_CCOS +extern double complex ccos (double complex); +#endif + +#if !defined(HAVE_CCOSL) && defined(HAVE_COSL) && defined(HAVE_COSHL) && defined(HAVE_SINL) && defined(HAVE_SINHL) +#define HAVE_CCOSL +extern long double complex ccosl (long double complex); +#endif + + +#if !defined(HAVE_CTANF) +#define HAVE_CTANF +extern float complex ctanf (float complex); +#endif + +#if !defined(HAVE_CTAN) +#define HAVE_CTAN +extern double complex ctan (double complex); +#endif + +#if !defined(HAVE_CTANL) && defined(HAVE_TANL) && defined(HAVE_TANHL) +#define HAVE_CTANL +extern long double complex ctanl (long double complex); +#endif + + #endif /* C99_PROTOS_H */ |