aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2013-09-13 16:33:45 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2013-09-13 16:33:45 +0200
commit9ec08a2c201a8b67fb5d095f665e86ef80a16bea (patch)
treea2e147825a6ed0b2f694ef3d853229f9902aecaf
parent39ed843346a337c4e1e8687f9f802a34367108ba (diff)
Move parameter checking code processing from KrancThorn.m to ParamCheck.m
-rw-r--r--Tools/CodeGen/KrancThorn.m7
-rw-r--r--Tools/CodeGen/ParamCheck.m17
2 files changed, 17 insertions, 7 deletions
diff --git a/Tools/CodeGen/KrancThorn.m b/Tools/CodeGen/KrancThorn.m
index c8bf952..e684f2b 100644
--- a/Tools/CodeGen/KrancThorn.m
+++ b/Tools/CodeGen/KrancThorn.m
@@ -334,12 +334,7 @@ CreateKrancThorn[groupsOrig_, parentDirectory_, thornName_, opts:OptionsPattern[
Add parameter check source file
------------------------------------------------------------------------ *)
- If[Length[OptionValue[ParameterConditions]] > 0,
- c = AppendObjectField[
- c, "Sources",
- {Filename -> "ParamCheck.cc",
- Contents -> ParameterCheckSource[GetObjectField[c, "Name"],
- OptionValue[ParameterConditions]]}]];
+ c = ParamCheckProcessCode[c, opts];
(* ------------------------------------------------------------------------
Create finite differencing header file
diff --git a/Tools/CodeGen/ParamCheck.m b/Tools/CodeGen/ParamCheck.m
index 551c433..ac6ab22 100644
--- a/Tools/CodeGen/ParamCheck.m
+++ b/Tools/CodeGen/ParamCheck.m
@@ -19,10 +19,11 @@
*)
BeginPackage["ParamCheck`", {"Errors`", "Helpers`", "Kranc`", "CodeGenCactus`",
- "CodeGenC`", "CodeGen`", "CodeGenKranc`"}];
+ "CodeGenC`", "CodeGen`", "CodeGenKranc`", "Code`", "Object`"}];
ParameterCheckSource;
ParameterCheckSchedule;
+ParamCheckProcessCode;
Begin["`Private`"];
@@ -81,6 +82,20 @@ DefFn[checkCondition[{cond_, error_String}] :=
renderbool[cond],
{"CCTK_WARN(CCTK_WARN_ABORT, ", StringDrop[Stringify[error],-1], ");\n"}]]];
+Options[ParamCheckProcessCode] = ThornOptions;
+
+DefFn[
+ ParamCheckProcessCode[cIn_Code, opts:OptionsPattern[]] :=
+ Module[
+ {c = cIn},
+ If[Length[OptionValue[ParameterConditions]] > 0,
+ c = AppendObjectField[
+ c, "Sources",
+ {Filename -> "ParamCheck.cc",
+ Contents -> ParameterCheckSource[GetObjectField[c, "Name"],
+ OptionValue[ParameterConditions]]}]];
+ c]];
+
End[];
EndPackage[];