1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#include "f2c.h" #ifdef KR_headers extern double log(), f__cabs(), atan2(); VOID c_log(resx, z) complex *resx, *z; #else #undef abs #include <math.h> extern double f__cabs(double, double); void c_log(complex *resx, complex *z) #endif { complex res; res.i = atan2(z->i, z->r); res.r = log( f__cabs(z->r, z->i) ); resx->r = res.r; resx->i = res.i; }