changeset 39:262aa7a3d500

Fix (?) for vector-correlation darcs-hash:20070525165241-40ec0-3fccec4b7b3b87ed31c3ea29a872ae6b63c2cf15.gz
author d.lewis <d.lewis@gold.ac.uk>
date Fri, 25 May 2007 17:52:41 +0100
parents 163c5cb24993
children 5bec705db9d6
files utils/utils.lisp
diffstat 1 files changed, 9 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/utils/utils.lisp	Thu May 24 11:07:31 2007 +0100
+++ b/utils/utils.lisp	Fri May 25 17:52:41 2007 +0100
@@ -115,13 +115,15 @@
 	 (equation-tr (* sum-x sum-y))
 	 (equation-t 0)
 	 (results-array (make-array n)))
-    (do ((i 0 (1+ i)))
-	((= i n) results-array)
-      (setf equation-t (- (* n (loop for j from 0 to (1- n)
-				       sum (* (aref vector1 (mod (+ i j) n))
-					      (aref vector2 j))))
-			  equation-tr)
-	    (aref results-array i) (/ equation-t equation-b)))))
+    (if (= equation-b 0)
+	(make-array 12 :initial-element 0)
+	(do ((i 0 (1+ i)))
+	    ((= i n) results-array)
+	  (setf equation-t (- (* n (loop for j from 0 to (1- n)
+					 sum (* (aref vector1 (mod (+ i j) n))
+						(aref vector2 j))))
+			      equation-tr)
+		(aref results-array i) (/ equation-t equation-b))))))
 
 
 (defparameter *krumhansl-schmuckler-major-key*