projects
/
dragonfly.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
blame
|
history
|
raw
|
HEAD
Include the fortran library sources from GCC 3.4.4.
[dragonfly.git]
/
contrib
/
gcc-3.4
/
libf2c
/
libF77
/
c_sqrt.c
1
#include "f2c.h"
2
3
#undef abs
4
#include "math.h"
5
extern double f__cabs (double, double);
6
7
void
8
c_sqrt (complex * r, complex * z)
9
{
10
double mag, t;
11
double zi = z->i, zr = z->r;
12
13
if ((mag = f__cabs (zr, zi)) == 0.)
14
r->r = r->i = 0.;
15
else if (zr > 0)
16
{
17
r->r = t = sqrt (0.5 * (mag + zr));
18
t = zi / t;
19
r->i = 0.5 * t;
20
}
21
else
22
{
23
t = sqrt (0.5 * (mag - zr));
24
if (zi < 0)
25
t = -t;
26
r->i = t;
27
t = zi / t;
28
r->r = 0.5 * t;
29
}
30
}