| Commit message (Collapse) | Author | Age |
|
|
|
| |
local variables. Intel 11 does not automatically perform this conversion.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will allow future optimisations with cache-aligned memory allocations.
Correct an error in declaring local variables for partial derivatives.
Don't register constrained variables, which is in general not necessary
but which can use much memory.
Register symmetries in the schedule group SymmetryRegister instad of at
basegrid.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Previous version would introduce a sign error in some cases. In
practice, this bug affected only the second order second derivative,
and the first order one sided derivative.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and divisions of grid spacing. CreateDifferencingHeader returns a
list of 'pre-definitions' which are then computed outside the equation
loop by CalculationFunction. AKA "why can't my compiler do such a
simple optimization?"
Partial derivatives are now assumed to commute, so occurrences of
PD[f,2,1] are replaced in the equations by PD[f,1,2]. The unused ones
are automatically not computed, as before. I wish that this had made a
noticeable speed improvement (would have been big), but the compiler
must have been intelligent enough to see these.
Added khalf, kthird, ktwothird, kfourthird, keightthird computed
outside the loop. What compiler on earth would not see these
optimizations??
Factor out common expressions i.e. xx_ y_ + xx_ z_ -> xx(y+z). Intel,
I have lost all respect for you.
Remove RegularExpression from schedule matching, as it is not
supported in Mathematica 4. Replaced with a simple StringMatchQ.
|
| |
|
| |
|
|
|
|
|
|
| |
types of differencing operators; specifically those that have indices
calculated based on shorthands. (This change was just in the type of
expressions which would be rendered into the header file correctly.)
|
|
|
|
| |
Removed a large chunk of redundant code
|
|
|
|
| |
CodeGen`SOURCELANGUAGE)
|
|
|
|
| |
Removed several unused functions.
|
|
|
|
|
| |
operators so that they are automatically zero in the trivial
directions.
|
|
|
|
| |
Fixed some bugs.
|
| |
|
|
|
|
|
|
| |
Can have derivative operators which take any number of indices
(including 0). Much easier to specify derivative operators than
before.
|
| |
|
|
|