|
|
1.1 ! root 1: #include "f2c.h" ! 2: ! 3: VOID z_sqrt(r, z) ! 4: doublecomplex *r, *z; ! 5: { ! 6: double mag, sqrt(), cabs(); ! 7: ! 8: if( (mag = cabs(z->r, z->i)) == 0.) ! 9: r->r = r->i = 0.; ! 10: else if(z->r > 0) ! 11: { ! 12: r->r = sqrt(0.5 * (mag + z->r) ); ! 13: r->i = z->i / r->r / 2; ! 14: } ! 15: else ! 16: { ! 17: r->i = sqrt(0.5 * (mag - z->r) ); ! 18: if(z->i < 0) ! 19: z->i = - z->i; ! 20: r->r = z->i / r->i / 2; ! 21: } ! 22: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.