public
/
Ack-5.5.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Pristine Ack-5.5
[Ack-5.5.git]
/
lang
/
fortran
/
lib
/
libF77
/
c_sqrt.c
1
#include "f2c.h"
2
3
VOID c_sqrt(r, z)
4
complex *r, *z;
5
{
6
double mag, t, 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 = t = sqrt(0.5 * (mag + z->r) );
13
t = z->i / t;
14
r->i = 0.5 * t;
15
}
16
else
17
{
18
t = sqrt(0.5 * (mag - z->r) );
19
if(z->i < 0)
20
t = -t;
21
r->i = t;
22
t = z->i / t;
23
r->r = 0.5 * t;
24
}
25
}