33 #ifndef __H__UG__LIB_DISC__SPATIAL_DISC__DATA_LINKER_TRAITS__
34 #define __H__UG__LIB_DISC__SPATIAL_DISC__DATA_LINKER_TRAITS__
45 template <
typename TData,
typename TDataIn,
typename TRet = TData>
49 static void mult_add(TData& out,
const TData& in1,
const TDataIn& s);
61 template <std::
size_t dim>
72 template <std::
size_t dim>
83 template <std::
size_t dim>
94 template <std::
size_t dim>
105 template <std::
size_t dim>
113 UG_THROW(
"linker_traits for MathTensor4 not implemented");
A class for fixed size, dense matrices.
Definition: math_matrix.h:52
a mathematical Tensor of rank TRank and N entries.
Definition: math_tensor.h:56
a mathematical Vector with N entries.
Definition: math_vector.h:97
void MatScaleAppend(matrix_t &mOut, typename matrix_t::value_type s, const matrix_t &m)
scales a matrix_t and adds to result to a second matrix
Definition: math_matrix_functions_common_impl.hpp:329
#define UG_THROW(msg)
Definition: error.h:57
double number
Definition: types.h:124
void MatVecMultAppend(vector_t_out &vOut, const matrix_t &m, const vector_t_in &v)
Matrix - Vector Multiplication adding to a second vector.
Definition: math_matrix_vector_functions_common_impl.hpp:70
void VecScaleAppend(vector_t &vOut, typename vector_t::value_type s1, const vector_t &v1)
Scales a Vector and adds it to a second vector.
Definition: math_vector_functions_common_impl.hpp:126
vector_t::value_type VecDot(const vector_t &v1, const vector_t &v2)
returns the dot-product of two vector_ts
Definition: math_vector_functions_common_impl.hpp:385
static void mult_add(MathMatrix< dim, dim > &out, const MathMatrix< dim, dim > &in1, const number &s)
Definition: linker_traits.h:97
static void mult_add(MathTensor< 4, dim > &out, const MathTensor< 4, dim > &in1, const number &s)
Definition: linker_traits.h:108
static void mult_add(MathVector< dim > &out, const MathVector< dim > &in1, const MathMatrix< dim, dim > &s)
Definition: linker_traits.h:75
static void mult_add(number &out, const MathVector< dim > &in1, const MathVector< dim > &s)
Definition: linker_traits.h:86
static void mult_add(MathVector< dim > &out, const MathVector< dim > &in1, const number &s)
Definition: linker_traits.h:64
static void mult_add(number &out, const number &in1, const number &s)
Definition: linker_traits.h:55
Linker Traits.
Definition: linker_traits.h:47
static void mult_add(TData &out, const TData &in1, const TDataIn &s)
computes out += s * in1 (with appropriate '*')