aboutsummaryrefslogtreecommitdiff
path: root/Tools/CodeGen/CalculationFunction.m
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2011-06-10 18:09:08 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2011-06-11 03:47:29 +0200
commit25d10c9c3c8133a9caefbe1e6ecbd4b5e234105d (patch)
treef597f74b9fc693330576b14d8c74045098e1fe1f /Tools/CodeGen/CalculationFunction.m
parent66668c409754acc1f76ed50118d8831fc3992c59 (diff)
Improve handling of ToReal and parameters in conditionals
Diffstat (limited to 'Tools/CodeGen/CalculationFunction.m')
-rw-r--r--Tools/CodeGen/CalculationFunction.m4
1 files changed, 2 insertions, 2 deletions
diff --git a/Tools/CodeGen/CalculationFunction.m b/Tools/CodeGen/CalculationFunction.m
index 69b23da..60ff163 100644
--- a/Tools/CodeGen/CalculationFunction.m
+++ b/Tools/CodeGen/CalculationFunction.m
@@ -426,9 +426,9 @@ CreateCalculationFunction[calcp_, debug_, imp_, opts:OptionsPattern[]] :=
InfoMessage[InfoFull, "Equations:"];
- (* Wrap parameters with ToReal *)
+ (* Wrap parameters with ToReal unless they are part of the condition in an IfThen *)
parameterRules = Map[(#->ToReal[#])&, parameters];
- eqs = eqs /. parameterRules;
+ eqs = eqs /. Prepend[parameterRules, IfThen[cond_, x_, y_] :> IfThen[cond, x/.parameterRules, y/.parameterRules]];
Map[printEq, eqs];