0
|
1 |
#======================================================================
|
17
|
2 |
# P Y T H A G . P L
|
0
|
3 |
# doc: Sun Aug 1 10:41:34 1999
|
17
|
4 |
# dlm: Wed Mar 11 14:53:21 2015
|
0
|
5 |
# (c) 1999 A.M. Thurnherr
|
17
|
6 |
# uE-Info: 27 2 NIL 0 0 72 0 2 4 NIL ofnI
|
0
|
7 |
#======================================================================
|
|
8 |
|
|
9 |
# PYTHAG routine from Numerical Recipes adapted to ANTS
|
|
10 |
|
|
11 |
# HISTORY:
|
|
12 |
# Aug 01, 1999: - manually converted from c-source
|
17
|
13 |
# Mar 11, 2015: - BUG: syntax errors (code had never been used)
|
0
|
14 |
|
|
15 |
sub pythag($$)
|
|
16 |
{
|
|
17 |
my($a,$b) = @_; # params
|
|
18 |
my($absa,$absb); # float
|
|
19 |
|
|
20 |
$absa = abs($a);
|
|
21 |
$absb = abs($b);
|
|
22 |
return $absa*sqrt(1.0+SQR($absb/$absa))
|
|
23 |
if ($absa > $absb);
|
17
|
24 |
return ($absb == 0 ? 0 : $absb*sqrt(1+$absa*$absa/$absb/$absb));
|
0
|
25 |
}
|
|
26 |
|
17
|
27 |
1;
|