pythag.pl
author A.M. Thurnherr <athurnherr@yahoo.com>
Tue, 05 Jun 2012 01:28:22 +0000
changeset 1 d17eb00c168b
parent 0 a5233793bf69
child 17 4b7486d77b39
permissions -rw-r--r--
.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     1
#======================================================================
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     2
#                    . / P Y T H A G . P L 
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     3
#                    doc: Sun Aug  1 10:41:34 1999
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     4
#                    dlm: Sun Aug  1 10:46:43 1999
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     5
#                    (c) 1999 A.M. Thurnherr
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     6
#                    uE-Info: 23 65 NIL 0 0 72 0 2 4 ofnI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     7
#======================================================================
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     8
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     9
# PYTHAG routine from Numerical Recipes adapted to ANTS
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    10
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    11
# HISTORY:
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    12
#	Aug 01, 1999: - manually converted from c-source
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    13
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    14
sub pythag($$)
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    15
{
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    16
	my($a,$b) = @_;							# params
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    17
	my($absa,$absb);						# float 
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    18
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    19
	$absa = abs($a);
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    20
	$absb = abs($b);
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    21
	return $absa*sqrt(1.0+SQR($absb/$absa))
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    22
		if ($absa > $absb);
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    23
	return ($absb == 0 ? 0 : $absb*sqrt(1+$absa*$absa/$absb/$absb)));
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    24
}
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    25