/*
   Header file for Mathlib
*/

#define DTOR(d) d * 0.01745329252
#define RTOD(d) d * 57.29577951

double Dsin(),     Dcos(),       Dtan();
double Dcsc(),     Dsec(),       Dcot();
double Dasin(),    Dacos(),      Datan(),      Datan2();
double Dacsc(),    Dasec(),      Dacot();
double Dabs(),     Dsign(),      Dtrans();
double Dmod(),     Dfrac();
double Dfloor(),   Dceil(),      Dround(),     Dint();
double Dln(),      Dlog(),       Dlogd(),      Dexp();
double Dsqrt(),    Dpow(),       Dpow2();
double Dsinh(),    Dcosh(),      Dtanh();
double Dcsch(),    Dsech(),      Dcoth();
double Dasinh(),   Dacosh(),     Datanh();
double Dacsch(),   Dasech(),     Dacoth();
double Dmax(),     Dmin();
double Duniform(), Dnormal();
double Dmantissa(),Dexponent();
double Dpoly();
int    Dswap();

typedef struct complex {
    double real;
    double imag;
} COMPLEX;

COMPLEX *Cadd(),     *Csub();
COMPLEX *Cmult(),    *Cmultd();
COMPLEX *Cdiv(),     *Cdivd();
COMPLEX *Cpow(),     *Cpowd(),      *Csqrt();
COMPLEX *Cln(),      *Cexp(),       *Clogd();
COMPLEX *Csin(),     *Ccos(),       *Ctan();
COMPLEX *Casin(),    *Cacos(),      *Catan();
COMPLEX *Csinh(),    *Ccosh(),      *Ctanh();
COMPLEX *Casinh(),   *Cacosh(),     *Catanh();
COMPLEX *Cmplx(),    *Cmake();
COMPLEX *Cmax(),     *Cmin();
COMPLEX *Cconj(),    *Crotate(),    *Cscale();
COMPLEX *Crcp(),     *Cxj();
COMPLEX *Cuniform(), *Cnormal(),    *Crayleigh();
COMPLEX *Cpoly();
double   Cabs(),     Carg(),        Creal(),      Cimag();
int      Cswap();


