aboutsummaryrefslogtreecommitdiff
path: root/Tools/CodeGen/CodeGen.m
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/CodeGen/CodeGen.m')
-rw-r--r--Tools/CodeGen/CodeGen.m7
1 files changed, 7 insertions, 0 deletions
diff --git a/Tools/CodeGen/CodeGen.m b/Tools/CodeGen/CodeGen.m
index c51eaf0..d3d0dfc 100644
--- a/Tools/CodeGen/CodeGen.m
+++ b/Tools/CodeGen/CodeGen.m
@@ -62,6 +62,8 @@ AssignVariable::usage = "AssignVariable[dest_, src_] returns a block of code " <
"that assigns 'src' to 'dest'.";
AssignVariableInLoop::usage = "AssignVariable[dest_, src_] returns a block of code " <>
"that assigns 'src' to 'dest'.";
+MaybeAssignVariableInLoop::usage = "MaybeAssignVariable[dest_, src_, cond_] returns a block of code " <>
+ "that assigns 'src' to 'dest'.";
DeclareVariablesInLoopVectorised::usage = "";
AssignVariablesInLoopVectorised::usage = "";
TestForNaN::usage = "TestForNaN[expr_] returns a block of code " <>
@@ -273,6 +275,11 @@ AssignVariableInLoop[dest_, src_] :=
TestForNaN[dest]};
*)
+MaybeAssignVariableInLoop[dest_, src_, cond_] :=
+ If [cond,
+ {dest, " = useMatter ? ", src, " : 0.0", EOL[]},
+ {dest, " = ", src, EOL[]}];
+
(* TODO: move these into OpenMP loop *)
DeclareVariablesInLoopVectorised[dests_, temps_, srcs_] :=
{