Implementation of a 3x3 matrix.
#include "FPClassify.h"
#include "MathTrait.h"
#include "Vector2.h"
#include "core/mpi/RecvBuffer.h"
#include "core/mpi/SendBuffer.h"
#include <algorithm>
#include <cmath>
#include <iostream>
#include <limits>
Classes | |
class | walberla::math::Matrix2< Type > |
Efficient, generic implementation of a 2x2 matrix. More... | |
struct | walberla::VectorTrait< Matrix2< T > > |
Namespaces | |
walberla | |
\file TimestepTracker.h \ingroup lbm \author Frederik Hennig frede rik. henni g@fa u.de | |
walberla::math | |
Macros | |
#define | HIGH typename MathTrait<Type,Other>::High |
High-order return value. More... | |
Functions | |
Matrix2 operators | |
template<typename Type > | |
std::ostream & | walberla::math::operator<< (std::ostream &os, const Matrix2< Type > &m) |
Global output operator for 2x2 matrices. More... | |
template<typename Type > | |
bool | walberla::math::isnan (const Matrix2< Type > &m) |
Checks the given matrix for not-a-number elements. More... | |
template<typename Type > | |
const Matrix2< Type > | walberla::math::abs (const Matrix2< Type > &m) |
Returns a matrix containing the absolute values of each single element of m. More... | |
template<typename Type > | |
const Matrix2< Type > | walberla::math::fabs (const Matrix2< Type > &m) |
Returns a matrix containing the absolute values of each single element of m. More... | |
template<typename Type , typename Other > | |
std::enable_if< std::is_fundamental< Other >::value, Matrix2< typename MathTrait< Type, Other >::High > >::type | walberla::math::operator* (Other scalar, const Matrix2< Type > &matrix) |
Multiplication operator for the multiplication of a scalar value and a matrix. More... | |
template<typename T0 , typename T1 > | |
Matrix2< typename MathTrait< T0, T1 >::High > | walberla::math::tensorProduct (Vector2< T0 > v0, Vector2< T1 > v1) |
template<typename T , typename G , typename MT > | |
mpi::GenericSendBuffer< T, G > & | walberla::math::operator<< (mpi::GenericSendBuffer< T, G > &buf, const Matrix2< MT > &m) |
template<typename T , typename MT > | |
mpi::GenericRecvBuffer< T > & | walberla::math::operator>> (mpi::GenericRecvBuffer< T > &buf, Matrix2< MT > &m) |
Matrix2 operators | |
template<typename Type > | |
std::ostream & | walberla::math::operator<< (std::ostream &os, const Matrix2< Type > &m) |
Global output operator for 2x2 matrices. More... | |
template<typename Type > | |
bool | walberla::math::isnan (const Matrix2< Type > &m) |
Checks the given matrix for not-a-number elements. More... | |
template<typename Type > | |
const Matrix2< Type > | walberla::math::abs (const Matrix2< Type > &m) |
Returns a matrix containing the absolute values of each single element of m. More... | |
template<typename Type > | |
const Matrix2< Type > | walberla::math::fabs (const Matrix2< Type > &m) |
Returns a matrix containing the absolute values of each single element of m. More... | |
template<typename Type , typename Other > | |
std::enable_if< std::is_fundamental< Other >::value, Matrix2< typename MathTrait< Type, Other >::High > >::type | walberla::math::operator* (Other scalar, const Matrix2< Type > &matrix) |
Multiplication operator for the multiplication of a scalar value and a matrix. More... | |
template<typename T0 , typename T1 > | |
Matrix2< typename MathTrait< T0, T1 >::High > | walberla::math::tensorProduct (Vector2< T0 > v0, Vector2< T1 > v1) |
template<typename T , typename G , typename MT > | |
mpi::GenericSendBuffer< T, G > & | walberla::math::operator<< (mpi::GenericSendBuffer< T, G > &buf, const Matrix2< MT > &m) |
template<typename T , typename MT > | |
mpi::GenericRecvBuffer< T > & | walberla::math::operator>> (mpi::GenericRecvBuffer< T > &buf, Matrix2< MT > &m) |
#define HIGH typename MathTrait<Type,Other>::High |
High-order return value.
Abbreviation for the evaluation of the higher-order data type in a numerical operation.