aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2013-09-13 18:48:38 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2013-09-13 18:48:38 +0200
commita9281ab7ebe4aaadd6384e8dbca6e52a63fcfba2 (patch)
treec75151f861bac49c4f47aea6d1ff15d552ba1da0
parent6905628e631f402e635a76f258c667bfe787a57d (diff)
Move symmetries code processing from KrancThorn.m into CodeGenSymmetries.m
-rw-r--r--Tools/CodeGen/CodeGenSymmetries.m19
-rw-r--r--Tools/CodeGen/KrancThorn.m12
2 files changed, 19 insertions, 12 deletions
diff --git a/Tools/CodeGen/CodeGenSymmetries.m b/Tools/CodeGen/CodeGenSymmetries.m
index 950cfb5..91b80d1 100644
--- a/Tools/CodeGen/CodeGenSymmetries.m
+++ b/Tools/CodeGen/CodeGenSymmetries.m
@@ -21,9 +21,10 @@
BeginPackage[
"CodeGenSymmetries`",
{"Errors`", "Helpers`", "Kranc`", "CodeGenCactus`", "MapLookup`", "CodeGenKranc`",
- "CodeGenC`", "CodeGen`", "KrancGroups`"}];
+ "CodeGenC`", "CodeGen`", "KrancGroups`", "Code`", "Object`"}];
CreateSymmetriesRegistrationSource::usage = "";
+SymmetriesProcessCode;
Begin["`Private`"];
@@ -107,6 +108,22 @@ DefFn[
CodeGenC`SOURCELANGUAGE = lang;
tmp]];
+Options[SymmetriesProcessCode] = ThornOptions;
+
+DefFn[
+ SymmetriesProcessCode[cIn_Code, opts:OptionsPattern[]] :=
+ Module[
+ {c = cIn},
+ InfoMessage[Terse, "Creating symmetry registration file"];
+ c = AppendObjectField[c, "IncludeFiles", "Symmetry.h"];
+ c = AppendObjectField[
+ c, "Sources",
+ {Filename -> "RegisterSymmetries.cc",
+ Contents -> CreateSymmetriesRegistrationSource[
+ GetObjectField[c, "Name"], GetObjectField[c,"Implementation"],
+ GetObjectField[c, "DeclaredGroups"], GetObjectField[c, "Groups"],
+ OptionValue[ReflectionSymmetries], False]}]]];
+
End[];
EndPackage[];
diff --git a/Tools/CodeGen/KrancThorn.m b/Tools/CodeGen/KrancThorn.m
index 309dd37..eae4a76 100644
--- a/Tools/CodeGen/KrancThorn.m
+++ b/Tools/CodeGen/KrancThorn.m
@@ -243,17 +243,7 @@ CreateKrancThorn[groupsOrig_, parentDirectory_, thornName_, opts:OptionsPattern[
Symmetries
------------------------------------------------------------------------ *)
- c = AppendObjectField[c, "IncludeFiles", "Symmetry.h"];
-
- InfoMessage[Terse, "Creating symmetry registration file"];
-
- c = AppendObjectField[
- c, "Sources",
- {Filename -> "RegisterSymmetries.cc",
- Contents -> CreateSymmetriesRegistrationSource[
- GetObjectField[c, "Name"], GetObjectField[c,"Implementation"],
- GetObjectField[c, "DeclaredGroups"], GetObjectField[c, "Groups"],
- OptionValue[ReflectionSymmetries], False]}];
+ c = SymmetriesProcessCode[c, opts];
(* ------------------------------------------------------------------------
Boundary thorn