Matrix2.h File Reference

Detailed Description

Implementation of a 3x3 matrix.

Author
Martin Bauer marti.nosp@m.n.ba.nosp@m.uer@f.nosp@m.au.d.nosp@m.e
#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.nosp@m.rik..nosp@m.henni.nosp@m.g@fa.nosp@m.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)
 

Macro Definition Documentation

◆ HIGH

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