diff options
author | Erik Schnetter <schnetter@gmail.com> | 2011-09-28 10:54:54 +0200 |
---|---|---|
committer | Ian Hinder <ian.hinder@aei.mpg.de> | 2011-09-29 20:57:10 +0200 |
commit | 2dc00eb6b4419135c45c94e04c007a0fb5471827 (patch) | |
tree | 60b5caa4e2d496f43a9acc36ef310bbb473b4533 /Tools/CodeGen/CodeGen.m | |
parent | 99cc699c6b986cb3af677a65d3ce8f23a359f991 (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.m | 14 |
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; |