Om  1.0.0
A universal framework for multimedia simulation
Classes | Namespaces | Macros | Functions
omTensorType.h File Reference
#include "omMathConfig.h"
#include "../data/omString.h"
#include "omScalarType.h"
#include "omVector2D.h"
#include "omVector3D.h"
#include "omVector4D.h"
#include "omMatrix2D.h"
#include "omMatrix3D.h"
#include "omMatrix4D.h"
#include "omQuaternion.h"

Classes

class  om::math::TensorType
 A class that represents the type of a general math tensor. More...
 

Namespaces

 om
 The enclosing namespace for the entire Om library.
 
 om::math
 A namespace containing classes and functions that do fast math operations.
 

Macros

#define OM_DECLARE_TENSOR_TYPE(T, ST, N0, N1, N2)
 
#define OM_MACRO_COMMA   ,
 
#define OM_DECLARE_TENSOR_SCALAR_TYPE(ST1, ST2)
 

Functions

template<>
void om::math::TensorType::check< lang::Float16 > ()
 
template<>
TensorType om::math::TensorType::of< lang::Float16 > ()
 
template<>
void om::math::TensorType::check< VectorND< lang::Float16, 2 > > ()
 
template<>
TensorType om::math::TensorType::of< VectorND< lang::Float16, 2 > > ()
 
template<>
void om::math::TensorType::check< VectorND< lang::Float16, 3 > > ()
 
template<>
TensorType om::math::TensorType::of< VectorND< lang::Float16, 3 > > ()
 
template<>
void om::math::TensorType::check< VectorND< lang::Float16, 4 > > ()
 
template<>
TensorType om::math::TensorType::of< VectorND< lang::Float16, 4 > > ()
 
template<>
void om::math::TensorType::check< Quaternion4D< lang::Float16 > > ()
 
template<>
TensorType om::math::TensorType::of< Quaternion4D< lang::Float16 > > ()
 
template<>
void om::math::TensorType::check< MatrixND< lang::Float16, 2, 2 > > ()
 
template<>
TensorType om::math::TensorType::of< MatrixND< lang::Float16, 2, 2 > > ()
 
template<>
void om::math::TensorType::check< MatrixND< lang::Float16, 3, 3 > > ()
 
template<>
TensorType om::math::TensorType::of< MatrixND< lang::Float16, 3, 3 > > ()
 
template<>
void om::math::TensorType::check< MatrixND< lang::Float16, 4, 4 > > ()
 
template<>
TensorType om::math::TensorType::of< MatrixND< lang::Float16, 4, 4 > > ()
 

Macro Definition Documentation

#define OM_DECLARE_TENSOR_TYPE (   T,
  ST,
  N0,
  N1,
  N2 
)
Value:
template <> OM_INLINE void TensorType:: check<T>() {}\
template <> OM_INLINE TensorType TensorType:: of<T>() { return TensorType( ScalarType::ST, N0, N1, N2 ); }
#define OM_INLINE
The inlining procedure to use for methods that should be inlined.
Definition: omConfig.h:257
#define OM_MACRO_COMMA   ,
#define OM_DECLARE_TENSOR_SCALAR_TYPE (   ST1,
  ST2 
)
Value:
OM_DECLARE_TENSOR_TYPE( ST1, ST2, 1, 1, 1 )\
OM_DECLARE_TENSOR_TYPE( VectorND< ST1 OM_MACRO_COMMA 2 >, ST2, 2, 1, 1 )\
OM_DECLARE_TENSOR_TYPE( VectorND< ST1 OM_MACRO_COMMA 3 >, ST2, 3, 1, 1 )\
OM_DECLARE_TENSOR_TYPE( VectorND< ST1 OM_MACRO_COMMA 4 >, ST2, 4, 1, 1 )\
OM_DECLARE_TENSOR_TYPE( Quaternion4D< ST1 >, ST2, 4, 1, 1 )\
OM_DECLARE_TENSOR_TYPE( MatrixND< ST1 OM_MACRO_COMMA 2 OM_MACRO_COMMA 2 >, ST2, 2, 2, 1 )\
OM_DECLARE_TENSOR_TYPE( MatrixND< ST1 OM_MACRO_COMMA 3 OM_MACRO_COMMA 3 >, ST2, 3, 3, 1 )\
OM_DECLARE_TENSOR_TYPE( MatrixND< ST1 OM_MACRO_COMMA 4 OM_MACRO_COMMA 4 >, ST2, 4, 4, 1 )\
#define OM_DECLARE_TENSOR_TYPE(T, ST, N0, N1, N2)
Definition: omTensorType.h:443