Advanced usage of exmat

A list of configurable compil-time options

The following options are defined in Config.h

Enable the static (compile-time) check on the expressions, if it's disabled run-time check will be performed.

    #define EXMAT_STATIC_CHECK 0

Enable SIMD code generation

    #define EXMAT_ENABLE_SIMD 1

Enable Intel SSE. For GCC , add the compiler switch "-msse"

    #define EXMAT_ENABLE_SSE 1

Enable Intel SSE2. For GCC , add the compiler switch "-msse2"

    #define EXMAT_ENABLE_SSE2 1

Enable memory alignment check for every SIMD container construction

    #define ENABLE_ALIGNMENT_CHECK 0

The memory alignment required by the SIMD operations (in bytes)

    #define SIMD_ALIGN_BYTE 16

Enable run-time dispatching of approximated functions

    #define EXMAT_ENABLE_AM_DISPATCH 1

Enable aliasing analysis system. Disable it for faster compilation

    #define ENABLE_ALIAS_ANALYSIS 1

Enable temporary analysis system. Disable it for faster compilation

    #define ENABLE_TMP_ANALYSIS 1

The default analysis that will preformed during assignment, there are 3 options you can choose from:
1) ASSIGN_ANALYSIS::NONE
2) ASSIGN_ANALYSIS::ALIAS
3) ASSIGN_ANALYSIS::TEMPORARY

    #define EXMAT_DEFAULT_ANALYSIS ASSIGN_ANALYSIS::ALIAS|ASSIGN_ANALYSIS::TEMPORARY

Enable compile-time loop unroller

    #define ENABLE_UNROLLING 1

No. of floating point operations to be allowed when unrolling a row

    enum { MAX_UROLLROW_NOP = 15 };

No. of floating point operations to be allowed when unrolling the whole matrix

    enum { MAX_FULLUROLL_NOP = 200 };

No. of floating point operations to be allowed when unrolling vector dot operation during matrix mutliplication

    enum { MAX_MULDOTUROLL_ENOP = 12 };

Generated on Sat May 6 23:12:04 2006 for Exmat by  doxygen 1.4.6-NO