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