covsrt_old.pl
changeset 0 a5233793bf69
new file mode 100644
--- /dev/null
+++ b/covsrt_old.pl
@@ -0,0 +1,51 @@
+#======================================================================
+#                    C O V S R T _ O L D . P L 
+#                    doc: Wed Feb 24 17:35:07 1999
+#                    dlm: Sun Sep 26 18:42:48 1999
+#                    (c) 1999 A.M. Thurnherr
+#                    uE-Info: 12 0 NIL 0 0 72 2 2 4 ofnI
+#======================================================================
+
+# COVSRT routine from Numerical Recipes adapted to ANTS
+# NB: this is the 1st edition version using listA!!!!
+
+# Notes:
+#	- both @covar and @listA passed by ref
+
+sub covsrt($$)
+{
+	my($covarR,$listAR) = @_;
+	my($ma) = $#{$covarR};
+	my($mfit) = $#{$listAR};
+	my($i,$j);
+	my($swap);
+
+	for ($j=1; $j<$ma; $j++) {
+		for ($i=$j+1; $i<=$ma; $i++) { $covarR->[$i][$j] = 0.0; }
+	}
+	for ($i=1; $i<$mfit; $i++) {
+		for ($j=$i+1; $j<=$mfit; $j++) {
+			if ($listAR->[$j] > $listAR->[$i]) {
+				$covarR->[$listAR->[$j]][$listAR->[$i]] = $covarR->[$i][$j];
+			} else {
+				$covarR->[$listAR->[$i]][$listAR->[$j]] = $covarR->[$i][$j];
+			}
+		}
+	}
+	$swap = $covarR->[1][1];
+	for ($j=1; $j<=$ma; $j++) {
+		$covarR->[1][$j]  = $covarR->[$j][$j];
+		$covarR->[$j][$j] = 0.0;
+	}
+	$covarR->[$listAR->[1]][$listAR->[1]] = $swap;
+	for ($j=2; $j<=$mfit; $j++) {
+		$covarR->[$listAR->[$j]][$listAR->[$j]] = $covarR->[1][$j];
+	}
+	for ($j=2; $j<=$ma; $j++) {
+		for ($i=1; $i<=$j-1; $i++) {
+			$covarR->[$i][$j] = $covarR->[$j][$i];
+		}
+	}
+}
+
+1;