/* This file is automatically generated. DO NOT EDIT! */

// #include "kiss_fft.h"
// #include "seis_dtype.h"

#ifndef KISS_FFT_H
#include "seis_kissfft.h"
#endif

#include "seis_dtype.h"

#define crealf  sp_crealf
#define creal   sp_creal
#define cimagf  sp_cimagf
#define cimag   sp_cimag
#define conjf   sp_conjf
#define cabsf   sp_cabsf
#define cabs    sp_cabsd
#define cargf   sp_cargf
#define carg    sp_carg
#define ccosf   sp_ccosf
#define csinf   sp_csinf
#define ctanf   sp_ctanf
#define cacosf  sp_cacosf
#define casinf  sp_casinf
#define catanf  sp_catanf
#define ccoshf  sp_ccoshf
#define csinhf  sp_csinhf
#define ctanhf  sp_ctanhf
#define cacoshf sp_cacoshf
#define casinhf sp_casinhf
#define catanhf sp_catanhf
#define cexpf   sp_cexpf
#define clogf   sp_clogf
#define csqrtf  sp_csqrtf
#define cpowf   sp_cpowf


kiss_fft_cpx sp_cmplx(float re, float im);

double sp_creal(sp_double_complex c);
/*< real part >*/


double sp_cimag(sp_double_complex c);
/*< imaginary part >*/


sp_double_complex sp_dcneg(sp_double_complex a);
/*< unary minus >*/


sp_double_complex sp_dcadd(sp_double_complex a, sp_double_complex b);
/*< complex addition >*/


sp_double_complex sp_dcsub(sp_double_complex a, sp_double_complex b);
/*< complex subtraction >*/


sp_double_complex sp_dcmul(sp_double_complex a, sp_double_complex b);
/*< complex multiplication >*/


kiss_fft_cpx sp_dccmul(sp_double_complex a, kiss_fft_cpx b);
/*< complex multiplication >*/


sp_double_complex sp_dcdmul(sp_double_complex a, kiss_fft_cpx b);
/*< complex multiplication >*/


sp_double_complex sp_dcrmul(sp_double_complex a, double b);
/*< complex by real multiplication >*/


sp_double_complex sp_dcdiv(sp_double_complex a, sp_double_complex b);
/*< complex division >*/


double sp_carg(sp_double_complex z);
/*< replacement for cargf >*/


double sp_cabsd(sp_double_complex z);
/*< replacement for cabs >*/

float sp_cabs(sp_complex c);
/*< complex absolute value >*/


float sp_crealf(kiss_fft_cpx c);
/*< real part >*/

float sp_cimagf(kiss_fft_cpx c);
/*< imaginary part >*/


void cprint (sp_complex c);
/*< print a complex number (for debugging purposes) >*/


kiss_fft_cpx sp_cadd(kiss_fft_cpx a, kiss_fft_cpx b);
/*< complex addition >*/


kiss_fft_cpx sp_csub(kiss_fft_cpx a, kiss_fft_cpx b);
/*< complex subtraction >*/


kiss_fft_cpx sp_csqrtf (kiss_fft_cpx c);
/*< complex square root >*/


kiss_fft_cpx sp_cdiv(kiss_fft_cpx a, kiss_fft_cpx b);
/*< complex division >*/


kiss_fft_cpx sp_cmul(kiss_fft_cpx a, kiss_fft_cpx b);
/*< complex multiplication >*/


kiss_fft_cpx sp_crmul(kiss_fft_cpx a, float b);
/*< complex by real multiplication >*/


kiss_fft_cpx sp_cneg(kiss_fft_cpx a);
/*< unary minus >*/


kiss_fft_cpx sp_conjf(kiss_fft_cpx z);
/*< complex conjugate >*/


float sp_cabsf(kiss_fft_cpx z);
/*< replacement for cabsf >*/


float sp_cargf(kiss_fft_cpx z);
/*< replacement for cargf >*/


kiss_fft_cpx sp_ctanhf(kiss_fft_cpx z);
/*< complex hyperbolic tangent >*/


kiss_fft_cpx sp_ccosf(kiss_fft_cpx z);
/*< complex cosine >*/


kiss_fft_cpx sp_ccoshf(kiss_fft_cpx z);
/*< complex hyperbolic cosine >*/


kiss_fft_cpx sp_csinf(kiss_fft_cpx z);
/*< complex sine >*/


kiss_fft_cpx sp_csinhf(kiss_fft_cpx z);
/*< complex hyperbolic sine >*/


kiss_fft_cpx sp_clogf(kiss_fft_cpx z);
/*< complex natural logarithm >*/


kiss_fft_cpx sp_cexpf(kiss_fft_cpx z);
/*< complex exponential >*/


kiss_fft_cpx sp_ctanf(kiss_fft_cpx z);
/*< complex tangent >*/


kiss_fft_cpx sp_casinf(kiss_fft_cpx z);
/*< complex hyperbolic arcsine >*/


kiss_fft_cpx sp_cacosf(kiss_fft_cpx z);
/*< complex hyperbolic arccosine >*/


kiss_fft_cpx sp_catanf(kiss_fft_cpx z);
/*< complex arctangent >*/


kiss_fft_cpx sp_catanhf(kiss_fft_cpx z);
/*< complex hyperbolic arctangent >*/


kiss_fft_cpx sp_casinhf(kiss_fft_cpx z);
/*< complex hyperbolic sine >*/


kiss_fft_cpx sp_cacoshf(kiss_fft_cpx z);
/*< complex hyperbolic cosine >*/


kiss_fft_cpx sp_cpowf(kiss_fft_cpx a, kiss_fft_cpx b);
/*< complex power >*/

