diff options
author | Ian Hinder <ian.hinder@aei.mpg.de> | 2013-09-09 12:55:07 +0200 |
---|---|---|
committer | Ian Hinder <ian.hinder@aei.mpg.de> | 2013-09-09 12:55:07 +0200 |
commit | 1ed265917868591e54f52a93fc3d252a7750ac4d (patch) | |
tree | 85bba5a0f3a9bfe1aaaa8fe7fcf5c857416aecf8 /Tools | |
parent | 27623378479faa5c03d3591ddd00bec84f313e89 (diff) |
KrancThorn.m: Move two functions to Calculation.m
Diffstat (limited to 'Tools')
-rw-r--r-- | Tools/CodeGen/Calculation.m | 26 | ||||
-rw-r--r-- | Tools/CodeGen/KrancThorn.m | 23 |
2 files changed, 26 insertions, 23 deletions
diff --git a/Tools/CodeGen/Calculation.m b/Tools/CodeGen/Calculation.m index 3c57f8f..46f705b 100644 --- a/Tools/CodeGen/Calculation.m +++ b/Tools/CodeGen/Calculation.m @@ -43,6 +43,8 @@ GroupsInCalculation; RemoveUnusedShorthands; VerifyCalculation; CalculationSymbols; +VerifyNewCalculation; +CalculationEvolvedVars; Begin["`Private`"]; @@ -450,6 +452,30 @@ GroupsInCalculation[calc_, imp_] := groupNames = containingGroups[gfsUsed, groups]; Map[qualifyGroupName[#, imp] &, groupNames]]; +VerifyNewCalculation[calc_] := + Module[{calcName}, + If[Head[calc] != List, + ThrowError["Invalid Calculation structure: " <> ToString[calc]]]; + + calcName = lookupDefault[calc, Name, "<unknown>"]; + + VerifyListContent[calc, Rule, " while checking the calculation called " <> ToString[calcName]]; + + If[mapContains[calc, Shorthands], + VerifyListContent[lookup[calc, Shorthands], Symbol," while checking the calculation called " <> ToString[calcName] ]]; + + If[mapContains[calc, Equations], + 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 82b0e7a..36e9c18 100644 --- a/Tools/CodeGen/KrancThorn.m +++ b/Tools/CodeGen/KrancThorn.m @@ -51,22 +51,6 @@ VerifyGroupNames[gns_] := ThrowError["Not a list of group names: ", gns], Map[VerifyGroupName, gns]]; -VerifyNewCalculation[calc_] := - Module[{calcName}, - If[Head[calc] != List, - ThrowError["Invalid Calculation structure: " <> ToString[calc]]]; - - calcName = lookupDefault[calc, Name, "<unknown>"]; - - VerifyListContent[calc, Rule, " while checking the calculation called " <> ToString[calcName]]; - - If[mapContains[calc, Shorthands], - VerifyListContent[lookup[calc, Shorthands], Symbol," while checking the calculation called " <> ToString[calcName] ]]; - - If[mapContains[calc, Equations], - VerifyListContent[lookup[calc, Equations], Rule," while checking the calculation called " <> ToString[calcName]], - ThrowError["Invalid Calculation structure. Must contain Equations element: " <> ToString[calc]]]]; - cktCheckNamedArgs[l_] := Module[{used, unrecognized}, used = Map[First, l]; @@ -367,13 +351,6 @@ CreateKrancThorn[groupsOrig_, parentDirectory_, thornName_, opts:OptionsPattern[ Functions related to calculations -------------------------------------------------------------------------- *) -CalculationEvolvedVars[calc_] := - Module[{eqs, evolved, lhss}, - VerifyNewCalculation[calc]; - eqs = lookup[calc, Equations]; - lhss = Map[First, eqs]; - evolved = Cases[lhss, dot[v_] -> v]; - Return[evolved]]; extractEvolvedGroups[declaredGroups_, calcs_, groups_] := Module[{evolvedVars, evolvedGroups}, |