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
/
z_sqrt.c
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
}