MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLVesselGraph/mlMatrixTemplate.h File Reference

Defines the base class MatrixTemplate<type> and slicer for element access to allow a fast matrix implementation based on std::valarray<type> for numerical calculations. More...

#include "mlInitSystemML.h"
#include "mlSystemWarningsDisable.h"
#include <iostream>
#include <valarray>
#include <numeric>
#include <functional>
#include <algorithm>
#include <iterator>
#include "mlSystemWarningsRestore.h"

Go to the source code of this file.

Classes

class  ml::Slice_iter< T >
 Templated support class for class MatrixTemplate to allow fast element access organisation by slicing This auxiliary class allows the access to matrix elements stored in an valarray by std::... More...
class  ml::Cslice_iter< T >
 Templated support class for class MatrixTemplate to allow fast element access organisation by slicing using const references This auxiliary class allows the access to matrix elements stored in an valarray by std::... More...
class  ml::MatrixTemplate< T >
 MatricTemplate implements general Matrix class based on valarray of objects with Template class type for nummeric calculations with dynamic size More...
class  ml::MatrixSizedTemplate< T, SIZE_X, SIZE_Y >
 general Matrix class based on MatrixTemplate<T> to allow fixed size setting with object declaration. More...

Namespaces

namespace  ml
 

Define the namespace name like in the ML. Default is ml.


Functions

template<class T >
ml::mul (const Cslice_iter< T > &v1, const std::valarray< T > &v2)
 vector multiplication interpret valarray v2 as line vector This function is used to assist implementation of the other matrix multiplications.
template<class T >
std::valarray< T > ml::operator* (const MatrixTemplate< T > &m, const std::valarray< T > &v)
 implements standard matrix-vector multiplication
template<class T >
std::valarray< T > ml::mul_mv (const MatrixTemplate< T > &m, std::valarray< T > &v)
 alternative definition of m*v
template<class T >
std::valarray< T > ml::operator* (std::valarray< T > &v, const MatrixTemplate< T > &m)
 implements standard vector-matrix multiplication
template<class T >
std::ostream & ml::operator<< (std::ostream &os, MatrixTemplate< T > &m)
 override operator<<(.,.) for class MatrixTemplate<T>

Detailed Description

Defines the base class MatrixTemplate<type> and slicer for element access to allow a fast matrix implementation based on std::valarray<type> for numerical calculations.

Author:
Stephan Zidowitz
Date:
11/2002

Definition in file mlMatrixTemplate.h.