/* polrt.c * * Wrapper to polrt.c * * * * SYNOPSIS: * * typedef struct * { * double r; * double i; * }cmplx; * * double xcof[], cof[], r[], i[]; * int m; * * polrt_wrap( xcof, cof, m, r, i ) * * * */ #include "mconf.h" #include #ifdef ANSIPROT extern void * malloc ( long ); extern void free ( void * ); #else void * malloc(); void free (); #endif /* typedef struct { double r; double i; }cmplx; */ int polrt_wrap( xcof, cof, m, r, i ) double xcof[], cof[], r[], i[]; int m; { extern int polrt( double xcof[], double cof[], int m, cmplx root[] ); cmplx *root; int j, ret; root = (cmplx *) malloc( (m+1) * sizeof (cmplx) ); for (j=0; j<=m; j++) { root[j].r = 0; root[j].i = 0; } ret = polrt( xcof, cof, m, root ); for (j=0; j<=m; j++) { r[j] = root[j].r; i[j] = root[j].i; } free(root); return ret; }