/* file generated by oo2c -- do not edit */
#ifndef _MODULE_ComplexMath_
#define _MODULE_ComplexMath_

typedef struct ComplexMath__COMPLEXDesc {
  float r;
  float i;
} ComplexMath__COMPLEXDesc;
typedef struct ComplexMath__COMPLEXDesc* ComplexMath__COMPLEX;
extern ComplexMath__COMPLEX ComplexMath__i;
extern ComplexMath__COMPLEX ComplexMath__one;
extern ComplexMath__COMPLEX ComplexMath__zero;
extern ComplexMath__COMPLEX ComplexMath__CMPLX(float r, float i);
extern ComplexMath__COMPLEX ComplexMath__Copy(ComplexMath__COMPLEX z);
extern float ComplexMath__RealPart(ComplexMath__COMPLEX z);
extern float ComplexMath__ImagPart(ComplexMath__COMPLEX z);
extern ComplexMath__COMPLEX ComplexMath__add(ComplexMath__COMPLEX z1, ComplexMath__COMPLEX z2);
extern ComplexMath__COMPLEX ComplexMath__sub(ComplexMath__COMPLEX z1, ComplexMath__COMPLEX z2);
extern ComplexMath__COMPLEX ComplexMath__mul(ComplexMath__COMPLEX z1, ComplexMath__COMPLEX z2);
extern ComplexMath__COMPLEX ComplexMath__div(ComplexMath__COMPLEX z1, ComplexMath__COMPLEX z2);
extern float ComplexMath__abs(ComplexMath__COMPLEX z);
extern float ComplexMath__arg(ComplexMath__COMPLEX z);
extern ComplexMath__COMPLEX ComplexMath__conj(ComplexMath__COMPLEX z);
extern ComplexMath__COMPLEX ComplexMath__power(ComplexMath__COMPLEX base, float exponent);
extern ComplexMath__COMPLEX ComplexMath__sqrt(ComplexMath__COMPLEX z);
extern ComplexMath__COMPLEX ComplexMath__exp(ComplexMath__COMPLEX z);
extern ComplexMath__COMPLEX ComplexMath__ln(ComplexMath__COMPLEX z);
extern ComplexMath__COMPLEX ComplexMath__sin(ComplexMath__COMPLEX z);
extern ComplexMath__COMPLEX ComplexMath__cos(ComplexMath__COMPLEX z);
extern ComplexMath__COMPLEX ComplexMath__tan(ComplexMath__COMPLEX z);
extern ComplexMath__COMPLEX ComplexMath__arcsin(ComplexMath__COMPLEX z);
extern ComplexMath__COMPLEX ComplexMath__arccos(ComplexMath__COMPLEX z);
extern ComplexMath__COMPLEX ComplexMath__arctan(ComplexMath__COMPLEX z);
extern ComplexMath__COMPLEX ComplexMath__polarToComplex(float abs, float arg);
extern ComplexMath__COMPLEX ComplexMath__scalarMult(float scalar, ComplexMath__COMPLEX z);
extern unsigned char ComplexMath__IsCMathException(void);
extern struct _TD ComplexMath__COMPLEXDesc_td;
extern void ComplexMath_init(void);

#endif
