#ifndef MISSING_COMPLEX_H
#define MISSING_COMPLEX_H

#ifdef __cplusplus
extern "C" {
#endif

#include <sys/param.h>

#if __FreeBSD_version < 800007
double complex		carg(double complex);
float complex		cargf(float complex);
double complex		csqrt(double complex);
float complex		csqrtf(float complex);
#endif
#if __FreeBSD_version < 800030
long double complex	cabsl(long double complex);
long double complex	csqrtl(long double complex);
#endif
#if __FreeBSD_version < 800042
long double complex	cargl(long double complex);
double complex		cproj(double complex);
float complex		cprojf(float complex);
long double complex	cprojl(long double complex);
#endif
#if __FreeBSD_version < 900034
double complex		cexp(double complex);
float complex		cexpf(float complex);
#endif
#if __FreeBSD_version < 900045 || \
(__FreeBSD_version >= 1000000 && __FreeBSD_version < 1000001)
double complex		csin(double complex);
float complex		csinf(float complex);
double complex		csinh(double complex);
float complex		csinhf(float complex);
double complex		ccos(double complex);
float complex		ccosf(float complex);
double complex		ccosh(double complex);
float complex		ccoshf(float complex);
double complex		ctan(double complex);
float complex		ctanf(float complex);
double complex		ctanh(double complex);
float complex		ctanhf(float complex);
#endif
double complex		cacos(double complex);
double complex		cacosh(double complex);
double complex		casin(double complex);
double complex		casinh(double complex);
double complex		catan(double complex);
double complex		catanh(double complex);
double complex		clog(double complex);
double complex		cpow(double complex, double complex);
float complex		cacosf(float complex);
float complex		cacoshf(float complex);
float complex		casinf(float complex);
float complex		casinhf(float complex);
float complex		catanf(float complex);
float complex		catanhf(float complex);
float complex		clogf(float complex);
float complex		cpowf(float complex, float complex);
long double complex	cacoshl(long double complex);
long double complex	cacosl(long double complex);
long double complex	casinhl(long double complex);
long double complex	casinl(long double complex);
long double complex	catanhl(long double complex);
long double complex	catanl(long double complex);
long double complex	ccoshl(long double complex);
long double complex	ccosl(long double complex);
long double complex	cexpl(long double complex);
long double complex	clogl(long double complex);
long double complex	cpowl(long double complex, long double complex);
long double complex	csinhl(long double complex);
long double complex	csinl(long double complex);
long double complex	ctanhl(long double complex);
long double complex	ctanl(long double complex);

#ifdef __cplusplus
}
#endif
#endif
