WaveTrain to LightLike Conversion Details

Top  Previous  Next

This section is an outline of the conversion process.

 

WaveTrain

 

LightLike

comments

float

 

double

complete substring substitution

Float

 

Double

complete substring substitution

WaveTrain

 

Light

complete substring substitution

VecF

 

VecD

complete substring substitution; covers conversion of functions such as: TwoVecF --> TwoVecD, ZeroVecF -> ZeroVecD, etc.

Vector<float>

 

Vector<double>

converting type

Grid<float>

 

Grid<double>

converting type

Vector<float>()

 

vectorDouble(0)

converting constructor call

(float)

 

 

all C-style casting is removed

 

 

 

 

mliLoad(..., float())

 

mliLoadD

 

mliLoadG

 

mliLoadGD

 

mliLoad(..., Vector<float>())

 

mliLoadVD

 

 

Sometimes, it is necesssary to multiply all values loaded from matlab .mat file by some number.  In tempus/WaveTrain user could add any arbitrary C++ code afterthe definition of the value. However, this required recompiling generated C++ code after every change to any value.  In TimeLike/LightLike there is no need to recompile the code, but instead, functions that take an additional argument - scaling factor - are provided.

mliLoad(..., float()); a*= b;

 

mliLoadDxD(..., b)

 

mliLoadG(...); a*=b;

 

mliLoadGxD(..., b)

 

mliLoad(..., Vector<float>());a*=b;

 

mliLoadVDxD(..., b)

 

 

 

 

 

In WaveTrain many expressions for parameters and run variables have a trailing literal 'f' to denote that the numeric value is 'float', not 'double.  Because LightLike/TimeLike does all the computation in double precision and because it is invalid syntax for python, all such literals must be removed.

123.4f

 

123.4

the trailing 'f' literal is removed