From a5e277505f4ec08c7873c3f313e06d646ffc97be Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Wed, 12 Dec 2007 15:07:01 +0000 Subject: [PATCH] Rewrote the substIn function in solveConstraints to be clearer and simpler --- transformations/ArrayUsageCheck.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/transformations/ArrayUsageCheck.hs b/transformations/ArrayUsageCheck.hs index 8c09a65..640546a 100644 --- a/transformations/ArrayUsageCheck.hs +++ b/transformations/ArrayUsageCheck.hs @@ -105,9 +105,11 @@ solveConstraints p ineq substIn :: CoeffIndex -> Array CoeffIndex Integer -> EqualityProblem -> EqualityProblem - substIn ind arr = map substIn' + substIn k x_k_val = map substIn' where - substIn' eq = changeAllButOneDifferent (ind,0) id $ arrayZipWith (+) eq (amap (* (eq ! ind)) arr) + substIn' eq = (arrayZipWith (+) eq scaled_x_k_val) // [(k,0)] + where + scaled_x_k_val = amap (* (eq ! k)) x_k_val solveUnits :: EqualityProblem -> StateT InequalityProblem Maybe EqualityProblem solveUnits p = case findFirstUnit p of