aboutsummaryrefslogtreecommitdiff
path: root/Tools/CodeGen/CodeGen.m
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2011-09-28 10:54:54 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2011-09-29 20:57:10 +0200
commit2dc00eb6b4419135c45c94e04c007a0fb5471827 (patch)
tree60b5caa4e2d496f43a9acc36ef310bbb473b4533 /Tools/CodeGen/CodeGen.m
parent99cc699c6b986cb3af677a65d3ce8f23a359f991 (diff)
CodeGen.m: Replace Cos, Sin, Tan with kcos, ksin, ktan in calculations
Also add some optimisations
Diffstat (limited to 'Tools/CodeGen/CodeGen.m')
-rw-r--r--Tools/CodeGen/CodeGen.m14
1 files changed, 10 insertions, 4 deletions
diff --git a/Tools/CodeGen/CodeGen.m b/Tools/CodeGen/CodeGen.m
index b65c42f..6365cf3 100644
--- a/Tools/CodeGen/CodeGen.m
+++ b/Tools/CodeGen/CodeGen.m
@@ -868,19 +868,25 @@ vectoriseExpression[exprp_] :=
ksub[xx_,kneg[yy_]] -> kadd[xx,yy],
kneg[ksub[xx_,yy_]] -> ksub[yy,xx],
Abs[xx_] -> kfabs[xx],
+ Cos[xx_] -> kcos[xx],
Log[xx_] -> klog[xx],
+ Sin[xx_] -> ksin[xx],
+ Tan[xx_] -> ktan[xx],
+ exp[xx_] -> kexp[xx],
fabs[xx_] -> kfabs[xx],
fmax[xx_,yy_] -> kfmax[xx,yy],
fmin[xx_,yy_] -> kfmin[xx,yy],
- sqrt[xx_] -> ksqrt[xx],
- exp[xx_] -> kexp[xx],
log[xx_] -> klog[xx],
pow[xx_,yy_] -> kpow[xx,yy],
- kneg[kneg[xx_]] -> xx,
+ sqrt[xx_] -> ksqrt[xx],
+ kcos[kneg[xx_]] -> kcos[xx],
kfabs[kneg[xx_]] -> kfabs[xx],
kfnabs[kneg[xx_]] -> kfnabs[xx],
kneg[kfabs[xx_]] -> kfnabs[xx],
- kneg[kfnabs[xx_]] -> kfabs[xx]
+ kneg[kfnabs[xx_]] -> kfabs[xx],
+ kneg[kneg[xx_]] -> xx,
+ ksin[kneg[xx_]] -> kneg[ksin[xx]],
+ ktan[kneg[xx_]] -> kneg[ktan[xx]]
};
expr = expr //. arithRules;