Assignment.h File Reference

Classes for assignment. More...

#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)


Detailed Description

Classes for assignment.

Author:
Ricky Lung Man Tat
Details for Assignment.h
Generated on Sat May 6 23:12:03 2006 for Exmat by  doxygen 1.4.6-NO