MathCode C++
Features
- Generates readable code, using operator overloading in C++
- Compilation of generated code from within Mathematica
- Seamless installation of generated code in Mathematica
- Convenient switching between internal and generated code
- Simple syntax for specifying types in generated code
- Automatic symbolic expansion and subexpression elimination
- Customization by user-defined Mathematica rules that are interleaved in the code generation process
- Easier syntax for array slicing supported both in Mathematica and in the generated code, which simplifies extraction of columns or submatrices
- Straightforward syntax for interfacing external functions, including argument type, order, and "call by reference"
- Support for interpolating functions
- Mathematica lists and matrices are represented using the LightMat C++ class library, giving:
- High readability and efficiency by using C++ templates and operator overloading
- Separate implementation for each matrix and list type for highest performance
- Optimized standard operations on lists and matrices
- Column major order representation for easy interfacing to numerical packages in C++