aboutsummaryrefslogtreecommitdiff
path: root/Tools/CodeGen/CalculationFunction.m
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2012-04-25 20:43:02 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2012-04-25 20:48:37 +0200
commite1ba03bc66489a9ba0c11a63c7433e3f685b14b6 (patch)
tree36157587c9dd4f43e9b9ddb21e937c1d12e4f133 /Tools/CodeGen/CalculationFunction.m
parent5278c757fbec3f87aa99f1117074eadae59ed2c4 (diff)
Support vectorisation in simple code generator
Diffstat (limited to 'Tools/CodeGen/CalculationFunction.m')
-rw-r--r--Tools/CodeGen/CalculationFunction.m9
1 files changed, 7 insertions, 2 deletions
diff --git a/Tools/CodeGen/CalculationFunction.m b/Tools/CodeGen/CalculationFunction.m
index 16bbe99..d6d1b05 100644
--- a/Tools/CodeGen/CalculationFunction.m
+++ b/Tools/CodeGen/CalculationFunction.m
@@ -1016,8 +1016,13 @@ DefFn[
{
CommentedBlock[
"Calculate temporaries and grid functions",
- Map[
- assignVariableFromExpression[FlattenBlock@gridName[#[[1]]], #[[2]], False, False, True] &, eqs2]]
+ If[OptionValue[UseVectors],
+ {
+ PrepareStorePartialVariableInLoop["i", "lc_imin", "lc_imax"],
+ Map[StorePartialVariableInLoop[FlattenBlock@gridName[#[[1]]], #[[2]]] &, eqs2]
+ },
+ Map[
+ assignVariableFromExpression[FlattenBlock@gridName[#[[1]]], #[[2]], False, False, True] &, eqs2]]]
}, opts]]];