aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2013-09-09 17:59:24 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2013-09-09 17:59:24 +0200
commitb5ceb9a9484777095620be4570f260804323b8a5 (patch)
tree8d98519092f584031a1f9b9201cdfe5b5b3fdede
parent589a4b326b02ebf5fb6dc3fc155a2554c1434ae6 (diff)
Calculation.m: Move CalculationEvolvedVars into MoL.m as EvolvedVariables
-rw-r--r--Tools/CodeGen/Calculation.m9
-rw-r--r--Tools/CodeGen/KrancThorn.m4
-rw-r--r--Tools/CodeGen/MoL.m11
3 files changed, 12 insertions, 12 deletions
diff --git a/Tools/CodeGen/Calculation.m b/Tools/CodeGen/Calculation.m
index 46f705b..2bcd293 100644
--- a/Tools/CodeGen/Calculation.m
+++ b/Tools/CodeGen/Calculation.m
@@ -44,7 +44,6 @@ RemoveUnusedShorthands;
VerifyCalculation;
CalculationSymbols;
VerifyNewCalculation;
-CalculationEvolvedVars;
Begin["`Private`"];
@@ -468,14 +467,6 @@ VerifyNewCalculation[calc_] :=
VerifyListContent[lookup[calc, Equations], Rule," while checking the calculation called " <> ToString[calcName]],
ThrowError["Invalid Calculation structure. Must contain Equations element: " <> ToString[calc]]]];
-CalculationEvolvedVars[calc_] :=
- Module[{eqs, evolved, lhss},
- VerifyNewCalculation[calc];
- eqs = lookup[calc, Equations];
- lhss = Map[First, eqs];
- evolved = Cases[lhss, dot[v_] -> v];
- Return[evolved]];
-
End[];
EndPackage[];
diff --git a/Tools/CodeGen/KrancThorn.m b/Tools/CodeGen/KrancThorn.m
index ece9df3..efe0292 100644
--- a/Tools/CodeGen/KrancThorn.m
+++ b/Tools/CodeGen/KrancThorn.m
@@ -337,7 +337,7 @@ extractEvolvedGroups[declaredGroups_, calcs_, groups_] :=
VerifyList[calcs];
Map[VerifyNewCalculation, calcs];
allVars = variablesFromGroups[declaredGroups, groups];
- evolvedVars = Apply[Join, Map[CalculationEvolvedVars, calcs]];
+ evolvedVars = Apply[Join, Map[EvolvedVariables, calcs]];
evolvedVars = Intersection[allVars, evolvedVars];
evolvedGroups = containingGroups[evolvedVars, groups];
Return[evolvedGroups]];
@@ -350,7 +350,7 @@ extractNonevolvedGroups[declaredGroups_, calcs_, groups_] :=
Map[VerifyNewCalculation, calcs];
allVars = variablesFromGroups[declaredGroups, groups];
- evolvedVars = Apply[Join, Map[CalculationEvolvedVars, calcs]];
+ evolvedVars = Apply[Join, Map[EvolvedVariables, calcs]];
evolvedGroups = containingGroups[evolvedVars, groups];
nonevolvedGroups = Complement[declaredGroups, evolvedGroups];
diff --git a/Tools/CodeGen/MoL.m b/Tools/CodeGen/MoL.m
index 88bcbdb..caca9b8 100644
--- a/Tools/CodeGen/MoL.m
+++ b/Tools/CodeGen/MoL.m
@@ -21,12 +21,13 @@
BeginPackage[
"MoL`",
{"Errors`", "Helpers`", "Kranc`", "CodeGenKranc`", "MapLookup`", "CodeGenCactus`",
- "CodeGen`", "CodeGenC`", "KrancGroups`"}];
+ "CodeGen`", "CodeGenC`", "KrancGroups`", "Calculation`"}];
CreateKrancMoLRegister;
CreateMoLBoundariesSource::usage = "";
CreateMoLExcisionSource::usage = "";
MoLReplaceDots;
+EvolvedVariables;
Begin["`Private`"];
@@ -507,6 +508,14 @@ body
DefFn[MoLReplaceDots[x_] :=
x /. (dot[y_] :> Symbol[ToString[y] <> "rhs"])];
+EvolvedVariables[calc_] :=
+ Module[{eqs, evolved, lhss},
+ VerifyNewCalculation[calc];
+ eqs = GetEquations[calc];
+ lhss = Map[First, eqs];
+ evolved = Cases[lhss, dot[v_] -> v];
+ Return[evolved]];
+
End[];
EndPackage[];