#include "Metaprogramming.h"
#include "Expression.h"
#include "Container/Container.h"
#include "ExpTmp.h"
#include "AliasAnalyser.h"
Go to the source code of this file.
Namespaces | |
| namespace | exmat |
| namespace | exmat::PNS |
Classes | |
| struct | exmat::PNS::Assign_UnRollRowCol_STAT< MAT1, MAT2, row_, col_ > |
| Unroll both Rows and Cols. More... | |
| struct | exmat::PNS::Assign_UnRollRow_STAT< MAT1, MAT2, r > |
| Unroll Rows only. More... | |
| struct | exmat::PNS::Assign_UnRollCol_STAT< MAT1, MAT2, c > |
| Unroll Cols only. More... | |
| struct | exmat::PNS::Assign_UnRollSIMDSTAT< MAT1, MAT2, i > |
| Unroller for SIMD. More... | |
| struct | exmat::ASSIGN_ANALYSIS |
| Defines types of assignment analysis. More... | |
Assignment unroller | |
| Using compile-time loop to unroll an assignment loop | |
| template<class MAT1, class MAT2> | |
| static void | exmat::PNS::Assign_FullUnRoll (MAT1 &A, const MAT2 &B) |
| Perform full unrolling to the assignment operation. | |
| template<class MAT1, class MAT2> | |
| static void | exmat::PNS::Assign_FullUnRollRow (MAT1 &A, const MAT2 &B) |
| Perform full unrolling of Rows to the assignment operation. | |
| template<class MAT1, class MAT2> | |
| static void | exmat::PNS::Assign_FullUnRollCol (MAT1 &A, const MAT2 &B) |
| Perform full unrolling of Cols to the assignment operation. | |
| template<class MAT1, class MAT2> | |
| static void | exmat::PNS::Assign_PartialUnRoll (MAT1 &A, const MAT2 &B) |
| template<class MAT1, class MAT2> | |
| static void | exmat::PNS::Assign_NoUnRoll (MAT1 &A, const MAT2 &B) |
| Perform no unrolling to the assignment operation. | |
| template<class MAT1, class MAT2> | |
| static void | exmat::PNS::Assign_FullUnRollSIMD (MAT1 &A, const MAT2 &B) |
| Perform full unrolling of SIMD assignment operation. | |
| template<class MAT1, class MAT2> | |
| static void | exmat::PNS::Assign (MAT1 &A, const MAT2 &B, Int2Type< ASSIGN_TYPE::Ass_FullUnRoll >) |
| template<class MAT1, class MAT2> | |
| static void | exmat::PNS::Assign (MAT1 &A, const MAT2 &B, Int2Type< ASSIGN_TYPE::Ass_FullUnRollRow >) |
| template<class MAT1, class MAT2> | |
| static void | exmat::PNS::Assign (MAT1 &A, const MAT2 &B, Int2Type< ASSIGN_TYPE::Ass_FullUnRollCol >) |
| template<class MAT1, class MAT2> | |
| static void | exmat::PNS::Assign (MAT1 &A, const MAT2 &B, Int2Type< ASSIGN_TYPE::Ass_NoUnRoll >) |
| template<class MAT1, class MAT2> | |
| static void | exmat::PNS::Assign (MAT1 &A, const MAT2 &B, Int2Type< ASSIGN_TYPE::Ass_SIMD >) |
| template<class MAT1, class MAT2> | |
| static void | exmat::PNS::Assign_SIMD_inner (MAT1 &A, const MAT2 &B, Int2Type< true > WholeAssign) |
| template<class MAT1, class MAT2> | |
| static void | exmat::PNS::Assign_SIMD_inner (MAT1 &A, const MAT2 &B, Int2Type< false > WholeAssign) |
1.4.6-NO