STK++ 0.9.13
STK::SArray2D< Type_ > Class Template Reference

template sparse two dimensional column (vertically) oriented Array. More...

#include <STK_SArray2D.h>

Inheritance diagram for STK::SArray2D< Type_ >:
Inheritance graph

Public Types

enum  {
  structure_ = Arrays::array2D_ , orient_ = Arrays::by_col_ , sizeRows_ = UnknownSize , sizeCols_ = UnknownSize ,
  storage_ = Arrays::dense_
}
 
typedef IArray2D< SArray2D< Type_ > > Base
 Type for the Interface base Class.
 
typedef ArrayBase< SArray2D< Type_ > > LowBase
 
typedef hidden::Traits< SArray2D< Type_ > >::Row Row
 
typedef hidden::Traits< SArray2D< Type_ > >::Col Col
 
typedef hidden::Traits< SArray2D< Type_ > >::SubRow SubRow
 
typedef hidden::Traits< SArray2D< Type_ > >::SubCol SubCol
 
typedef hidden::Traits< SArray2D< Type_ > >::SubVector SubVector
 
typedef hidden::Traits< SArray2D< Type_ > >::SubArray SubArray
 
typedef hidden::Traits< SArray2D< Type_ > >::Type Type
 
typedef hidden::Traits< SArray2D< Type_ > >::TypeConst TypeConst
 
- Public Types inherited from STK::IArray2D< SArray2D< Type_ > >
enum  
 
typedef hidden::Traits< SArray2D< Type_ > >::Type Type
 
typedef hidden::Traits< SArray2D< Type_ > >::TypeConst TypeConst
 
typedef hidden::Traits< SArray2D< Type_ > >::Row Row
 
typedef hidden::Traits< SArray2D< Type_ > >::Col Col
 
typedef hidden::Traits< SArray2D< Type_ > >::SubRow SubRow
 
typedef hidden::Traits< SArray2D< Type_ > >::SubCol SubCol
 
typedef hidden::Traits< SArray2D< Type_ > >::SubArray SubArray
 
typedef hidden::Traits< SArray2D< Type_ > >::SubVector SubVector
 
typedef hidden::Traits< SArray2D< Type_ > >::ColVector ColVector
 
typedef ColVectorPtrCol
 
typedef ColVector constPtrColConst
 
typedef TRange< sizeRows_ > RowRange
 Type of the Range for the rows.
 
typedef TRange< sizeCols_ > ColRange
 Type of the Range for the columns.
 
typedef IContainer2D< sizeRows_, sizeCols_ > Base2D
 Type for the IContainer2D base Class.
 
typedef MemAllocator< PtrCol, sizeCols_ > Allocator
 Type for the Base Class.
 
typedef ArrayBase< SArray2D< Type_ > > Base
 type of the Base Container Class.
 
- Public Types inherited from STK::ArrayBase< Derived >
enum  {
  structure_ = hidden::Traits<Derived>::structure_ , orient_ = hidden::Traits<Derived>::orient_ , sizeRows_ = hidden::Traits<Derived>::sizeRows_ , sizeCols_ = hidden::Traits<Derived>::sizeCols_ ,
  storage_ = hidden::Traits<Derived>::storage_
}
 
typedef ExprBase< Derived > Base
 
typedef hidden::Traits< Derived >::Type Type
 
typedef hidden::Traits< Derived >::TypeConst TypeConst
 
- Public Types inherited from STK::ExprBase< Derived >
enum  {
  structure_ = hidden::Traits<Derived>::structure_ , orient_ = hidden::Traits<Derived>::orient_ , sizeRows_ = hidden::Traits<Derived>::sizeRows_ , sizeCols_ = hidden::Traits<Derived>::sizeCols_ ,
  storage_ = hidden::Traits<Derived>::storage_
}
 
typedef ITContainer< Derived, structure_Base
 
typedef hidden::Traits< Derived >::Type Type
 
typedef hidden::Traits< Derived >::TypeConst TypeConst
 

Public Member Functions

 SArray2D ()
 Default constructor.
 
 SArray2D (Range const &I, Range const &J)
 constructor
 
 SArray2D (Range const &I, Range const &J, Type const &v)
 constructor with rows and columns ranges specified and initialization with a constant.
 
 SArray2D (SArray2D const &T, bool ref=false)
 Copy constructor.
 
template<class OtherArray >
 SArray2D (IArray2D< OtherArray > const &T, Range const &I, Range const &J)
 Copy constructor by reference, ref_=1.
 
template<class OtherDerived >
 SArray2D (ExprBase< OtherDerived > const &T)
 Copy constructor using an expression.
 
 SArray2D (Type **q, Range const &I, Range const &J)
 Wrapper constructor Contruct a reference container.
 
 ~SArray2D ()
 destructor.
 
template<class Rhs >
SArray2Doperator= (ExprBase< Rhs > const &T)
 operator = : overwrite the SArray2D with the right hand side T.
 
SArray2Doperator= (SArray2D const &T)
 overwrite the SArray2D with T.
 
SArray2Doperator= (Type const &v)
 set the container to a constant value.
 
void shift1D (int beg)
 New beginning index for the object.
 
SArray2Dresize1D (Range const &I)
 New size for the container.
 
void swapRows (int const &pos1, int const &pos2)
 Swapping the pos1 row and the pos2 row.
 
- Public Member Functions inherited from STK::IArray2D< SArray2D< Type_ > >
void clear ()
 clear the object.
 
SArray2D< Type_ > & move (SArray2D< Type_ > const &T)
 move T to this.
 
void exchange (IArray2D &T)
 exchange this container with T.
 
bool isRef () const
 
RowRange constrowsImpl () const
 
ColRange constcolsImpl () const
 
RowRange constrows () const
 
int beginRows () const
 
int endRows () const
 
int sizeRows () const
 
ColRange constcols () const
 
int beginCols () const
 
int endCols () const
 
int sizeCols () const
 
int lastIdxCols () const
 
int lastIdxRows () const
 
bool empty () const
 
Allocator constallocator () const
 
PtrColConst ptr (int j) const
 
int availableCols () const
 
int capacityCol (int col) const
 
Array1D< Range, sizeCols_ > constrangeCols () const
 
Range constrangeCol (int col) const
 
void setValueImpl (int j, TypeConst v)
 implement setValue for vector/point/diagonal arrays
 
void setValueImpl (int i, int j, TypeConst v)
 implement setValue for vector/point/diagonal arrays
 
Typeelt2Impl (int i, int j)
 access to an element.
 
TypeConst elt2Impl (int i, int j) const
 constant access to an element.
 
TypeConst operator() (int i, int j) const
 
Typeoperator() (int i, int j)
 
TypeConst operator() () const
 
Typeoperator() ()
 
SubCol operator() (Range const &I, int j) const
 
SubRow operator() (int i, Range const &J) const
 
SubArray operator() (Range const &I, Range const &J) const
 
TypeConst operator[] (int i) const
 
Typeoperator[] (int i)
 
SubVector operator[] (Range const &I) const
 
Col col (int j) const
 access to a part of a column.
 
SubCol col (Range const &I, int j) const
 access to a part of a column.
 
SubArray col (Range const &J) const
 access to many columns.
 
Row row (int i) const
 access to a part of a row.
 
SubRow row (int i, Range const &J) const
 access to a part of a row.
 
SubArray row (Range const &I) const
 access to many rows.
 
SubVector sub (Range const &J) const
 
SubArray sub (Range const &I, Range const &J) const
 access to a sub-array.
 
SubCol atCol (int j) const
 
Row atRow (int i) const
 
void reserve (int sizeRows, int sizeCols)
 function for reserving memory in all the columns
 
void reserveRows (int size)
 Reserve a certain amount of rows in all columns.
 
void reserveCols (int sizeCols)
 Reserve a certain amount of columns.
 
void shift (int rbeg, int cbeg)
 Set new beginning indexes to the array.
 
void shift (int beg)
 New first index for the object (only for vectors/points/square/... arrays)
 
void shiftRows (int beg)
 New first index for the rows of the array.
 
void shiftCols (int cbeg)
 New first index for the columns of the object.
 
SArray2D< Type_ > & resize (Range const &I, Range const &J)
 resize the array.
 
SArray2D< Type_ > & resize (Range const &I)
 
void insertRows (int pos, int n=1)
 Insert n rows at position pos in the array If pos is outside the range of a column, then the method do nothing (useful for triangular/diagonal/... arrays).
 
void eraseRows (int pos, int n=1)
 Delete n rows at the position pos.
 
void pushFrontRows (int n=1)
 Insert n rows in front of the array.
 
SArray2D< Type_ > & pushFrontRows (ExprBase< Other > const &other)
 set other at the beginning of this (concatenate).
 
void pushBackRows (int n=1)
 Add n rows to the array.
 
SArray2D< Type_ > & pushBackRows (ExprBase< Other > const &other)
 set other at the end of this (concatenate).
 
void popFrontRows (int n=1)
 Delete n first rows of the array.
 
void popBackRows (int n=1)
 Delete n latest rows of the array.
 
void insertCols (int pos, int n=1)
 Insert n columns at the index pos to the array.
 
void eraseCols (int pos, int n=1)
 Delete n columns at the specified position of the array.
 
void pushFrontCols (int n=1)
 Insert n columns at the beginning of the array.
 
SArray2D< Type_ > & pushFrontCols (ExprBase< Other > const &other)
 merge (by value) the array other with this.
 
void pushBackCols (int n=1)
 Add n columns at the end of the array.
 
SArray2D< Type_ > & pushBackCols (IArray1D< Other > const &other)
 Specialization for Array1D.
 
void popFrontCols (int n=1)
 Delete first columns of the array.
 
void popBackCols (int n=1)
 Delete last columns of the array.
 
void push_front (Type const &v)
 STL compatibility: push front an element.
 
void push_back (Type const &v)
 STL compatibility: append an element v.
 
void insert (Range const &I, Type const &v)
 STL compatibility: insert element v in the range I of the Array.
 
void erase (int pos, int n=1)
 STL compatibility:Delete n elements at the pos index from the container.
 
void swapCols (int pos1, int pos2)
 Swapping two columns.
 
void swap (int i, int j)
 swap two elements: only for vectors and points
 
void merge (IArray2D< OtherDerived > const &other)
 Append the container other to this without copying the data explicitly.
 
void merge (IArray1D< OtherDerived > const &other)
 Append the vector other to this without copying the data explicitly.
 
void update (Range const &J)
 Update columns of the array at a specified range.
 
void update (int col)
 Update column of the array at specified position.
 
void setCols (ColRange const &J=ColRange())
 Set the columns range.
 
void setRows (RowRange const &I=RowRange())
 Set the range of the number of rows.
 
- Public Member Functions inherited from STK::ArrayBase< Derived >
template<typename Visitor >
void apply (Visitor &visitor)
 Apply the Visitor visitor to the whole coefficients of the array.
 
Derived & randUnif ()
 set random values to this using a uniform law.
 
Derived & randGauss ()
 set random values to this using a standard gaussian law.
 
Derived & rand (Law::IUnivLaw< Type > const &law)
 set random values to this using a distribution law given by the user.
 
Derived & setOnes ()
 set one to this using a Visitor.
 
Derived & setZeros ()
 set zero to this using a Visitor.
 
Derived & ones ()
 set one to this using a Visitor.
 
Derived & zeros ()
 set zero to this using a Visitor.
 
Derived & setValue (TypeConst value)
 set a value to this container.
 
void setValue (int i, TypeConst value)
 set a value to this container at index i.
 
void setValue (int i, int j, TypeConst value)
 set a value to this container at position (i,j).
 
template<class Rhs >
Derived & assign (ExprBase< Rhs > const &rhs)
 
Derived & operator= (Type const &value)
 
Derived & operator= (Derived const &rhs)
 
template<typename Rhs >
Derived & operator= (ExprBase< Rhs > const &rhs)
 
template<typename Rhs >
Derived & operator+= (ExprBase< Rhs > const &other)
 Add Rhs to this.
 
template<typename Rhs >
Derived & operator-= (ExprBase< Rhs > const &other)
 subtract a Rhs to this.
 
template<typename Rhs >
Derived & operator/= (ExprBase< Rhs > const &other)
 divide this by Rhs.
 
template<typename Rhs >
Derived & operator%= (ExprBase< Rhs > const &other)
 Take modulo of this by Rhs.
 
template<typename Rhs >
Derived & operator*= (ExprBase< Rhs > const &other)
 multiply this by Rhs.
 
Derived & operator+= (Type const &other)
 Adding a constant to this.
 
Derived & operator-= (Type const &other)
 Subtract a constant to this.
 
Derived & operator*= (Type const &other)
 product of this by a constant.
 
Derived & operator/= (Type const &other)
 dividing this by a constant.
 
Derived & operator%= (Type const &other)
 take modulo of this by a constant.
 
template<class Rhs >
Derived & copy (ExprBase< Rhs > const &rhs)
 overwrite this with src.
 
TransposeOperator< Derived > const transpose () const
 
TransposeAccessor< Derived > transpose ()
 
DiagonalizeOperator< Derived > const diagonalize () const
 
DiagonalizeAccessor< Derived > diagonalize ()
 
DiagonalGetterOperator< Derived > const getDiagonal () const
 
DiagonalGetterAccessor< Derived > getDiagonal ()
 
UpperTriangularizeOperator< Derived > const upperTriangularize () const
 
UpperTriangularizeAccessor< Derived > upperTriangularize ()
 
LowerTriangularizeOperator< Derived > const lowerTriangularize () const
 
LowerTriangularizeAccessor< Derived > lowerTriangularize ()
 
SymmetrizeOperator< Derived > const symmetrize () const
 
SymmetrizeAccessor< Derived > symmetrize ()
 
UpperSymmetrizeOperator< Derived > const upperSymmetrize () const
 
UpperSymmetrizeAccessor< Derived > upperSymmetrize ()
 
LowerSymmetrizeOperator< Derived > const lowerSymmetrize () const
 
LowerSymmetrizeAccessor< Derived > lowerSymmetrize ()
 
ColOperator< Derived > const col (int j) const
 
RowOperator< Derived > const row (int i) const
 
template<int Size_>
SubVectorOperator< Derived, Size_ > const sub (TRange< Size_ > const &I) const
 
template<int SizeRows_, int SizeCols_>
SubOperator< Derived, SizeRows_, SizeCols_ > const sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J) const
 
ColAccessor< Derived > col (int j)
 
RowAccessor< Derived > row (int i)
 
template<int Size_>
SubVectorAccessor< Derived, Size_sub (TRange< Size_ > const &I)
 
template<int SizeRows_, int SizeCols_>
SubAccessor< Derived, SizeRows_, SizeCols_sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J)
 
TypeConst operator() (int i, int j) const
 
Typeoperator() (int i, int j)
 
TypeConst operator[] (int i) const
 
Typeoperator[] (int i)
 
TypeConst operator() () const
 
Typeoperator() ()
 
ArrayInitializer< Derived > operator<< (Type const &s)
 Convenient operator to set the coefficients of a matrix.
 
template<typename Rhs >
ArrayInitializer< Derived > operator<< (ArrayBase< Rhs > const &other)
 
- Public Member Functions inherited from STK::ExprBase< Derived >
template<typename Visitor >
Visitor::TypeConst visit (Visitor &visitor) const
 Visit the container using a constant visitor.
 
int count () const
 compute the value of non-zero element in an expression.
 
bool const any () const
 check if there is any non-zero element in an expression.
 
bool const all () const
 check if all the elements in an expression are not zero.
 
int nbAvailableValues () const
 
Type const minElt (int &row, int &col) const
 
Type const minEltSafe (int &row, int &col) const
 
Type const maxElt (int &row, int &col) const
 
Type const maxEltSafe (int &row, int &col) const
 
Type const minElt (int &pos) const
 
Type const minEltSafe (int &pos) const
 
Type const maxElt (int &pos) const
 
Type const maxEltSafe (int &pos) const
 
Type const minElt () const
 
Type const minEltSafe () const
 
Type const maxElt () const
 
Type const maxEltSafe () const
 
Type const sum () const
 
Type const sumSafe () const
 
Type const norm () const
 
Type const normSafe () const
 
Type const norm2 () const
 
Type const norm2Safe () const
 
Type const normInf () const
 
Type const mean () const
 
Type const meanSafe () const
 
Type const variance () const
 
Type const varianceSafe () const
 
Type const variance (Type const &mean) const
 
Type const varianceSafe (Type const &mean) const
 
template<typename Rhs >
Type const wsum (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wsumSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnormSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm2 (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm2Safe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wmean (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wmeanSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvariance (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvarianceSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvariance (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvarianceSafe (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::equalOp_ >::Result const operator== (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::notEqualOp_ >::Result const operator!= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::greaterThanOp_ >::Result const operator> (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::lessThanOp_ >::Result const operator< (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::greaterThanOrEqualOp_ >::Result const operator>= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::lessThanOrEqualOp_ >::Result const operator<= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::sumOp_ >::Result const operator+ (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::differenceOp_ >::Result const operator- (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::productOp_ >::Result const prod (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::divisionOp_ >::Result const operator/ (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::moduloOp_ >::Result const operator% (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::minOp_ >::Result const min (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::maxOp_ >::Result const max (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::logicalAndOp_ >::Result const operator&& (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::logicalOrOp_ >::Result const operator|| (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseAndOp_ >::Result const operator& (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseOrOp_ >::Result const operator| (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseXorOp_ >::Result const operator^ (ExprBase< Rhs > const &other) const
 
UnaryOperator< OppositeOp< Type >, Derived > operator- () const
 
UnaryOperator< IsNaOp< Type >, Derived > isNA () const
 
UnaryOperator< NegOp< Type >, Derived > neg () const
 
UnaryOperator< IsFiniteOp< Type >, Derived > isFinite () const
 
UnaryOperator< IsInfiniteOp< Type >, Derived > isInfinite () const
 
UnaryOperator< AbsOp< Type >, Derived > abs () const
 
UnaryOperator< ExpOp< Type >, Derived > exp () const
 
UnaryOperator< LogOp< Type >, Derived > log () const
 
UnaryOperator< SqrtOp< Type >, Derived > sqrt () const
 
UnaryOperator< CosOp< Type >, Derived > cos () const
 
UnaryOperator< SinOp< Type >, Derived > sin () const
 
UnaryOperator< AcosOp< Type >, Derived > acos () const
 
UnaryOperator< AsinOp< Type >, Derived > asin () const
 
UnaryOperator< TanOp< Type >, Derived > tan () const
 
UnaryOperator< InverseOp< Type >, Derived > inverse () const
 
UnaryOperator< SquareOp< Type >, Derived > square () const
 
UnaryOperator< CubeOp< Type >, Derived > cube () const
 
UnaryOperator< EqualWithOp< Type >, Derived > operator== (Type const &value) const
 
UnaryOperator< NotEqualWithOp< Type >, Derived > operator!= (Type const &value) const
 
UnaryOperator< GreaterThanOp< Type >, Derived > operator> (Type const &value) const
 
UnaryOperator< LessThanOp< Type >, Derived > operator< (Type const &value) const
 
UnaryOperator< LeqThanOp< Type >, Derived > operator<= (Type const &value) const
 
UnaryOperator< GeqThanOp< Type >, Derived > operator>= (Type const &value) const
 
UnaryOperator< MinWithOp< Type >, Derived > min (Type const &value) const
 
UnaryOperator< MaxWithOp< Type >, Derived > max (Type const &value) const
 
UnaryOperator< SumWithOp< Type >, Derived > operator+ (Type const &value) const
 
UnaryOperator< DifferenceWithOp< Type >, Derived > operator- (Type const &value) const
 
UnaryOperator< ProductWithOp< Type >, Derived > operator* (Type const &value) const
 
UnaryOperator< DivisionWithOp< Type >, Derived > operator/ (Type const &value) const
 
UnaryOperator< ModuloWithOp< Type >, Derived > operator% (Type const &value) const
 
UnaryOperator< LogicalAndWithOp< Type >, Derived > operator&& (Type const &value) const
 
UnaryOperator< LogicalOrWithOp< Type >, Derived > operator|| (Type const &value) const
 
UnaryOperator< BitwiseAndWithOp< Type >, Derived > operator& (Type const &value) const
 
UnaryOperator< BitwiseOrWithOp< Type >, Derived > operator| (Type const &value) const
 
UnaryOperator< BitwiseXorWithOp< Type >, Derived > operator^ (Type const &value) const
 
UnaryOperator< PowOp< Type >, Derived > pow (Type const &value) const
 
UnaryOperator< SafeInverseOp< Type >, Derived > safeInverse (Type const &value) const
 
UnaryOperator< SafeOp< Type >, Derived > const safe (Type const value=Type()) const
 
template<typename OtherType >
UnaryOperator< CastOp< Type, OtherType >, Derived > const cast () const
 
UnaryOperator< Law::PdfOp< Type >, Derived > pdf (Law::IUnivLaw< Type > const &law) const
 compute pdf values to this using distribution law given by user
 
UnaryOperator< Law::LogPdfOp< Type >, Derived > lpdf (Law::IUnivLaw< Type > const &law) const
 compute log-pdf values to this using distribution law given by user
 
UnaryOperator< Law::CdfOp< Type >, Derived > cdf (Law::IUnivLaw< Type > const &law) const
 compute cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::LogCdfOp< Type >, Derived > lcdf (Law::IUnivLaw< Type > const &law) const
 compute log-cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::CdfcOp< Type >, Derived > cdfc (Law::IUnivLaw< Type > const &law) const
 compute complementary cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::LogCdfcOp< Type >, Derived > lcdfc (Law::IUnivLaw< Type > const &law) const
 compute complementary cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::IcdfOp< Type >, Derived > icdf (Law::IUnivLaw< Type > const &law) const
 compute inverse cumulative distribution function using distribution law given by user
 
template<template< typename > class OtherOperator>
UnaryOperator< OtherOperator< Type >, Derived > const funct0 () const
 
template<template< typename > class OtherOperator>
UnaryOperator< OtherOperator< Type >, Derived > const funct1 (Type const value) const
 
TransposeOperator< Derived > const transpose () const
 
DiagonalizeOperator< Derived > const diagonalize () const
 
DiagonalGetterOperator< Derived > const getDiagonal () const
 
UpperTriangularizeOperator< Derived > const upperTriangularize () const
 
LowerTriangularizeOperator< Derived > const lowerTriangularize () const
 
SymmetrizeOperator< Derived > const symmetrize () const
 
UpperSymmetrizeOperator< Derived > const upperSymmetrize () const
 
LowerSymmetrizeOperator< Derived > const lowerSymmetrize () const
 
template<int Size_>
SubVectorOperator< Derived, Size_ > const sub (TRange< Size_ > const &I) const
 
ColOperator< Derived > const col (int j) const
 
RowOperator< Derived > const row (int i) const
 
template<int Size_>
SubOperator< Derived, sizeRows_, Size_ > const col (TRange< Size_ > const &J) const
 
template<int Size_>
SubOperator< Derived, Size_, sizeCols_ > const row (TRange< Size_ > const &I) const
 
template<int SizeRows_, int SizeCols_>
SubOperator< Derived, SizeRows_, SizeCols_ > const sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J) const
 
template<class Rhs >
hidden::Promote< Type, typenameRhs::Type >::result_type const dot (ExprBase< Rhs > const &other) const
 
template<class Rhs >
hidden::Promote< Type, typenameRhs::Type >::result_type const dotSafe (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::ProductSelector< Derived, Rhs, hidden::Traits< Derived >::structure_, hidden::Traits< Rhs >::structure_ >::ProductType const operator* (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wsum (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wsumSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnormSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm2 (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm2Safe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wmean (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wmeanSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvariance (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvarianceSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvariance (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvarianceSafe (Type const &mean, ExprBase< Rhs > const &weights) const
 

Additional Inherited Members

- Protected Types inherited from STK::IContainer2D< SizeRows_, SizeCols_ >
typedef TRange< SizeRows_RowRange
 Type of the Range for the rows.
 
typedef TRange< SizeCols_ColRange
 Type of the Range for the columns.
 
- Protected Types inherited from STK::ArrayBase< Derived >
enum  {
  structure_ = hidden::Traits<Derived>::structure_ , orient_ = hidden::Traits<Derived>::orient_ , sizeRows_ = hidden::Traits<Derived>::sizeRows_ , sizeCols_ = hidden::Traits<Derived>::sizeCols_ ,
  storage_ = hidden::Traits<Derived>::storage_
}
 
typedef ExprBase< Derived > Base
 
typedef hidden::Traits< Derived >::Type Type
 
typedef hidden::Traits< Derived >::TypeConst TypeConst
 
- Protected Types inherited from STK::ExprBase< Derived >
enum  {
  structure_ = hidden::Traits<Derived>::structure_ , orient_ = hidden::Traits<Derived>::orient_ , sizeRows_ = hidden::Traits<Derived>::sizeRows_ , sizeCols_ = hidden::Traits<Derived>::sizeCols_ ,
  storage_ = hidden::Traits<Derived>::storage_
}
 
typedef ITContainer< Derived, structure_Base
 
typedef hidden::Traits< Derived >::Type Type
 
typedef hidden::Traits< Derived >::TypeConst TypeConst
 
- Protected Member Functions inherited from STK::IArray2D< SArray2D< Type_ > >
 IArray2D ()
 Default constructor.
 
 IArray2D (Range const &I, Range const &J)
 constructor with specified ranges
 
 IArray2D (IArray2D const &T, bool ref=false)
 Copy constructor If we want to wrap T, the main ptr will be wrapped in MemAllocator class.
 
 IArray2D (IArray2D< OtherDerived > const &T, Range const &I, Range const &J)
 constructor by reference, ref_=1.
 
 ~IArray2D ()
 destructor.
 
Allocatorallocator ()
 
void transferCol (int pos1, int pos2)
 Transfer the column pos2 to the column pos1 of this.
 
void reallocCols (Range const &J)
 Method for memory reallocation and initialization of the horizontal range of the container.
 
void nullCols (ColRange const &J)
 Internal method for initializing to default values (null pointer and null range) to a range of columns.
 
- Protected Member Functions inherited from STK::IContainer2D< SizeRows_, SizeCols_ >
void shift (int rbeg, int cbeg)
 Set the first index of the rows and columns.
 
void setRanges (RowRange const &I=RowRange(), ColRange const &J=ColRange())
 Set the ranges of the container.
 
void setRows (RowRange const &I=RowRange())
 Set the range of the number of rows.
 
void shiftRows (int beg)
 Set the first index of the rows.
 
void incRangeRows (int inc)
 Increment the range of the number of rows.
 
void incBeginRows (int inc)
 Increment the first index of the number of rows.
 
void decBeginRows (int dec)
 Decrement the first index of the number of rows.
 
void incEndRows (int inc)
 Increment the end of the number of rows.
 
void decEndRows (int dec)
 Decrement the end of the number of rows.
 
void setCols (ColRange const &J=ColRange())
 Set the columns range.
 
void shiftCols (int beg)
 Shift the columns first index to beg.
 
void incRangeCols (int inc)
 Increment the columns range.
 
void incBeginCols (int inc)
 increment the first index of the columns.
 
void decBeginCols (int dec)
 Decrement the columns first index.
 
void incEndCols (int inc)
 Increment the last index of the columns.
 
void decEndCols (int dec)
 Decrement the last index of the columns.
 
void exchange (IContainer2D &T)
 exchange this container with T
 
void incLastIdxRows (int inc)
 Increment the end of the number of rows.
 
void decLastIdxRows (int dec)
 Decrement the end of the number of rows.
 
void incLastIdxCols (int inc)
 Increment the last index of the columns.
 
void decLastIdxCols (int dec)
 Decrement the last index of the columns.
 
 IContainer2D ()
 Default constructor.
 
 IContainer2D (RowRange const &I, ColRange const &J)
 Constructor with specified ranges.
 
 IContainer2D (IContainer2D const &T)
 Copy constructor.
 
 ~IContainer2D ()
 destructor.
 
ColRange constcols () const
 
int beginCols () const
 
int endCols () const
 
int sizeCols () const
 
RowRange constrows () const
 
int beginRows () const
 
int endRows () const
 
int sizeRows () const
 
int lastIdxCols () const
 
int lastIdxRows () const
 
bool empty () const
 
- Protected Member Functions inherited from STK::ArrayBase< Derived >
 ArrayBase ()
 Default constructor.
 
 ~ArrayBase ()
 destructor
 
template<typename Visitor >
void apply (Visitor &visitor)
 Apply the Visitor visitor to the whole coefficients of the array.
 
Derived & randUnif ()
 set random values to this using a uniform law.
 
Derived & randGauss ()
 set random values to this using a standard gaussian law.
 
Derived & rand (Law::IUnivLaw< Type > const &law)
 set random values to this using a distribution law given by the user.
 
Derived & setOnes ()
 set one to this using a Visitor.
 
Derived & setZeros ()
 set zero to this using a Visitor.
 
Derived & ones ()
 set one to this using a Visitor.
 
Derived & zeros ()
 set zero to this using a Visitor.
 
Derived & setValue (TypeConst value)
 set a value to this container.
 
void setValue (int i, TypeConst value)
 set a value to this container at index i.
 
void setValue (int i, int j, TypeConst value)
 set a value to this container at position (i,j).
 
template<class Rhs >
Derived & assign (ExprBase< Rhs > const &rhs)
 
Derived & operator= (Type const &value)
 
Derived & operator= (Derived const &rhs)
 
template<typename Rhs >
Derived & operator= (ExprBase< Rhs > const &rhs)
 
template<typename Rhs >
Derived & operator+= (ExprBase< Rhs > const &other)
 Add Rhs to this.
 
template<typename Rhs >
Derived & operator-= (ExprBase< Rhs > const &other)
 subtract a Rhs to this.
 
template<typename Rhs >
Derived & operator/= (ExprBase< Rhs > const &other)
 divide this by Rhs.
 
template<typename Rhs >
Derived & operator%= (ExprBase< Rhs > const &other)
 Take modulo of this by Rhs.
 
template<typename Rhs >
Derived & operator*= (ExprBase< Rhs > const &other)
 multiply this by Rhs.
 
Derived & operator+= (Type const &other)
 Adding a constant to this.
 
Derived & operator-= (Type const &other)
 Subtract a constant to this.
 
Derived & operator*= (Type const &other)
 product of this by a constant.
 
Derived & operator/= (Type const &other)
 dividing this by a constant.
 
Derived & operator%= (Type const &other)
 take modulo of this by a constant.
 
template<class Rhs >
Derived & copy (ExprBase< Rhs > const &rhs)
 overwrite this with src.
 
TransposeOperator< Derived > const transpose () const
 
TransposeAccessor< Derived > transpose ()
 
DiagonalizeOperator< Derived > const diagonalize () const
 
DiagonalizeAccessor< Derived > diagonalize ()
 
DiagonalGetterOperator< Derived > const getDiagonal () const
 
DiagonalGetterAccessor< Derived > getDiagonal ()
 
UpperTriangularizeOperator< Derived > const upperTriangularize () const
 
UpperTriangularizeAccessor< Derived > upperTriangularize ()
 
LowerTriangularizeOperator< Derived > const lowerTriangularize () const
 
LowerTriangularizeAccessor< Derived > lowerTriangularize ()
 
SymmetrizeOperator< Derived > const symmetrize () const
 
SymmetrizeAccessor< Derived > symmetrize ()
 
UpperSymmetrizeOperator< Derived > const upperSymmetrize () const
 
UpperSymmetrizeAccessor< Derived > upperSymmetrize ()
 
LowerSymmetrizeOperator< Derived > const lowerSymmetrize () const
 
LowerSymmetrizeAccessor< Derived > lowerSymmetrize ()
 
ColOperator< Derived > const col (int j) const
 
RowOperator< Derived > const row (int i) const
 
template<int Size_>
SubVectorOperator< Derived, Size_ > const sub (TRange< Size_ > const &I) const
 
template<int SizeRows_, int SizeCols_>
SubOperator< Derived, SizeRows_, SizeCols_ > const sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J) const
 
ColAccessor< Derived > col (int j)
 
RowAccessor< Derived > row (int i)
 
template<int Size_>
SubVectorAccessor< Derived, Size_sub (TRange< Size_ > const &I)
 
template<int SizeRows_, int SizeCols_>
SubAccessor< Derived, SizeRows_, SizeCols_sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J)
 
TypeConst operator() (int i, int j) const
 
Typeoperator() (int i, int j)
 
TypeConst operator[] (int i) const
 
Typeoperator[] (int i)
 
TypeConst operator() () const
 
Typeoperator() ()
 
ArrayInitializer< Derived > operator<< (Type const &s)
 Convenient operator to set the coefficients of a matrix.
 
template<typename Rhs >
ArrayInitializer< Derived > operator<< (ArrayBase< Rhs > const &other)
 
- Protected Member Functions inherited from STK::ExprBase< Derived >
 ExprBase ()
 Default constructor.
 
 ~ExprBase ()
 destructor
 
template<typename Visitor >
Visitor::TypeConst visit (Visitor &visitor) const
 Visit the container using a constant visitor.
 
int count () const
 compute the value of non-zero element in an expression.
 
bool const any () const
 check if there is any non-zero element in an expression.
 
bool const all () const
 check if all the elements in an expression are not zero.
 
int nbAvailableValues () const
 
Type const minElt (int &row, int &col) const
 
Type const minEltSafe (int &row, int &col) const
 
Type const maxElt (int &row, int &col) const
 
Type const maxEltSafe (int &row, int &col) const
 
Type const minElt (int &pos) const
 
Type const minEltSafe (int &pos) const
 
Type const maxElt (int &pos) const
 
Type const maxEltSafe (int &pos) const
 
Type const minElt () const
 
Type const minEltSafe () const
 
Type const maxElt () const
 
Type const maxEltSafe () const
 
Type const sum () const
 
Type const sumSafe () const
 
Type const norm () const
 
Type const normSafe () const
 
Type const norm2 () const
 
Type const norm2Safe () const
 
Type const normInf () const
 
Type const mean () const
 
Type const meanSafe () const
 
Type const variance () const
 
Type const varianceSafe () const
 
Type const variance (Type const &mean) const
 
Type const varianceSafe (Type const &mean) const
 
template<typename Rhs >
Type const wsum (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wsumSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnormSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm2 (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm2Safe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wmean (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wmeanSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvariance (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvarianceSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvariance (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvarianceSafe (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::equalOp_ >::Result const operator== (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::notEqualOp_ >::Result const operator!= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::greaterThanOp_ >::Result const operator> (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::lessThanOp_ >::Result const operator< (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::greaterThanOrEqualOp_ >::Result const operator>= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::lessThanOrEqualOp_ >::Result const operator<= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::sumOp_ >::Result const operator+ (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::differenceOp_ >::Result const operator- (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::productOp_ >::Result const prod (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::divisionOp_ >::Result const operator/ (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::moduloOp_ >::Result const operator% (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::minOp_ >::Result const min (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::maxOp_ >::Result const max (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::logicalAndOp_ >::Result const operator&& (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::logicalOrOp_ >::Result const operator|| (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseAndOp_ >::Result const operator& (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseOrOp_ >::Result const operator| (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseXorOp_ >::Result const operator^ (ExprBase< Rhs > const &other) const
 
UnaryOperator< OppositeOp< Type >, Derived > operator- () const
 
UnaryOperator< IsNaOp< Type >, Derived > isNA () const
 
UnaryOperator< NegOp< Type >, Derived > neg () const
 
UnaryOperator< IsFiniteOp< Type >, Derived > isFinite () const
 
UnaryOperator< IsInfiniteOp< Type >, Derived > isInfinite () const
 
UnaryOperator< AbsOp< Type >, Derived > abs () const
 
UnaryOperator< ExpOp< Type >, Derived > exp () const
 
UnaryOperator< LogOp< Type >, Derived > log () const
 
UnaryOperator< SqrtOp< Type >, Derived > sqrt () const
 
UnaryOperator< CosOp< Type >, Derived > cos () const
 
UnaryOperator< SinOp< Type >, Derived > sin () const
 
UnaryOperator< AcosOp< Type >, Derived > acos () const
 
UnaryOperator< AsinOp< Type >, Derived > asin () const
 
UnaryOperator< TanOp< Type >, Derived > tan () const
 
UnaryOperator< InverseOp< Type >, Derived > inverse () const
 
UnaryOperator< SquareOp< Type >, Derived > square () const
 
UnaryOperator< CubeOp< Type >, Derived > cube () const
 
UnaryOperator< EqualWithOp< Type >, Derived > operator== (Type const &value) const
 
UnaryOperator< NotEqualWithOp< Type >, Derived > operator!= (Type const &value) const
 
UnaryOperator< GreaterThanOp< Type >, Derived > operator> (Type const &value) const
 
UnaryOperator< LessThanOp< Type >, Derived > operator< (Type const &value) const
 
UnaryOperator< LeqThanOp< Type >, Derived > operator<= (Type const &value) const
 
UnaryOperator< GeqThanOp< Type >, Derived > operator>= (Type const &value) const
 
UnaryOperator< MinWithOp< Type >, Derived > min (Type const &value) const
 
UnaryOperator< MaxWithOp< Type >, Derived > max (Type const &value) const
 
UnaryOperator< SumWithOp< Type >, Derived > operator+ (Type const &value) const
 
UnaryOperator< DifferenceWithOp< Type >, Derived > operator- (Type const &value) const
 
UnaryOperator< ProductWithOp< Type >, Derived > operator* (Type const &value) const
 
UnaryOperator< DivisionWithOp< Type >, Derived > operator/ (Type const &value) const
 
UnaryOperator< ModuloWithOp< Type >, Derived > operator% (Type const &value) const
 
UnaryOperator< LogicalAndWithOp< Type >, Derived > operator&& (Type const &value) const
 
UnaryOperator< LogicalOrWithOp< Type >, Derived > operator|| (Type const &value) const
 
UnaryOperator< BitwiseAndWithOp< Type >, Derived > operator& (Type const &value) const
 
UnaryOperator< BitwiseOrWithOp< Type >, Derived > operator| (Type const &value) const
 
UnaryOperator< BitwiseXorWithOp< Type >, Derived > operator^ (Type const &value) const
 
UnaryOperator< PowOp< Type >, Derived > pow (Type const &value) const
 
UnaryOperator< SafeInverseOp< Type >, Derived > safeInverse (Type const &value) const
 
UnaryOperator< SafeOp< Type >, Derived > const safe (Type const value=Type()) const
 
template<typename OtherType >
UnaryOperator< CastOp< Type, OtherType >, Derived > const cast () const
 
UnaryOperator< Law::PdfOp< Type >, Derived > pdf (Law::IUnivLaw< Type > const &law) const
 compute pdf values to this using distribution law given by user
 
UnaryOperator< Law::LogPdfOp< Type >, Derived > lpdf (Law::IUnivLaw< Type > const &law) const
 compute log-pdf values to this using distribution law given by user
 
UnaryOperator< Law::CdfOp< Type >, Derived > cdf (Law::IUnivLaw< Type > const &law) const
 compute cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::LogCdfOp< Type >, Derived > lcdf (Law::IUnivLaw< Type > const &law) const
 compute log-cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::CdfcOp< Type >, Derived > cdfc (Law::IUnivLaw< Type > const &law) const
 compute complementary cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::LogCdfcOp< Type >, Derived > lcdfc (Law::IUnivLaw< Type > const &law) const
 compute complementary cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::IcdfOp< Type >, Derived > icdf (Law::IUnivLaw< Type > const &law) const
 compute inverse cumulative distribution function using distribution law given by user
 
template<template< typename > class OtherOperator>
UnaryOperator< OtherOperator< Type >, Derived > const funct0 () const
 
template<template< typename > class OtherOperator>
UnaryOperator< OtherOperator< Type >, Derived > const funct1 (Type const value) const
 
TransposeOperator< Derived > const transpose () const
 
DiagonalizeOperator< Derived > const diagonalize () const
 
DiagonalGetterOperator< Derived > const getDiagonal () const
 
UpperTriangularizeOperator< Derived > const upperTriangularize () const
 
LowerTriangularizeOperator< Derived > const lowerTriangularize () const
 
SymmetrizeOperator< Derived > const symmetrize () const
 
UpperSymmetrizeOperator< Derived > const upperSymmetrize () const
 
LowerSymmetrizeOperator< Derived > const lowerSymmetrize () const
 
template<int Size_>
SubVectorOperator< Derived, Size_ > const sub (TRange< Size_ > const &I) const
 
ColOperator< Derived > const col (int j) const
 
RowOperator< Derived > const row (int i) const
 
template<int Size_>
SubOperator< Derived, sizeRows_, Size_ > const col (TRange< Size_ > const &J) const
 
template<int Size_>
SubOperator< Derived, Size_, sizeCols_ > const row (TRange< Size_ > const &I) const
 
template<int SizeRows_, int SizeCols_>
SubOperator< Derived, SizeRows_, SizeCols_ > const sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J) const
 
template<class Rhs >
hidden::Promote< Type, typenameRhs::Type >::result_type const dot (ExprBase< Rhs > const &other) const
 
template<class Rhs >
hidden::Promote< Type, typenameRhs::Type >::result_type const dotSafe (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::ProductSelector< Derived, Rhs, hidden::Traits< Derived >::structure_, hidden::Traits< Rhs >::structure_ >::ProductType const operator* (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wsum (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wsumSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnormSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm2 (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm2Safe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wmean (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wmeanSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvariance (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvarianceSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvariance (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvarianceSafe (Type const &mean, ExprBase< Rhs > const &weights) const
 
- Protected Attributes inherited from STK::IArray2D< SArray2D< Type_ > >
Allocator allocator_
 allocator of the column data set
 
Array1D< Range, sizeCols_ > rangeCols_
 range of the index of the columns of the container.
 

Detailed Description

template<class Type_>
class STK::SArray2D< Type_ >

template sparse two dimensional column (vertically) oriented Array.

A SArray2D is a sparse two-dimensional general implementation of an IArray2D.

A column of an SArray2D is (almost like) an SArray2DVector and a Row of an SArray2D is (almost like) an SArray2DPoint.

When accessing to a row or a column, the methods return the SArray2DPoint or SArray2DVector as a reference-like without copying the data.

The elements of the SArray2D can be acceded with the operators ()

  • T(2,3) allow to access the third element of the second row of T
  • T(3,Range(1,2)) allow to access to the first two members of the third row of T
  • T(Range(2,3),2) allow to access to the second and third element of the second column of T.
  • T(Range(2,3),Range(1,2)) allow to access to the specified sub-matrix in T
See also
SArray2DVector, SArray2DPoint, SArray2DSquare, SArray2DUpperTriangular, SArray2DLowerTriangular

Definition at line 118 of file STK_SArray2D.h.

Member Typedef Documentation

◆ Base

template<class Type_ >
typedef IArray2D< SArray2D<Type_> > STK::SArray2D< Type_ >::Base

Type for the Interface base Class.

Definition at line 122 of file STK_SArray2D.h.

◆ Col

template<class Type_ >
typedef hidden::Traits<SArray2D<Type_>>::Col STK::SArray2D< Type_ >::Col

Definition at line 126 of file STK_SArray2D.h.

◆ LowBase

template<class Type_ >
typedef ArrayBase< SArray2D<Type_> > STK::SArray2D< Type_ >::LowBase

Definition at line 123 of file STK_SArray2D.h.

◆ Row

template<class Type_ >
typedef hidden::Traits<SArray2D<Type_>>::Row STK::SArray2D< Type_ >::Row

Definition at line 125 of file STK_SArray2D.h.

◆ SubArray

template<class Type_ >
typedef hidden::Traits<SArray2D<Type_>>::SubArray STK::SArray2D< Type_ >::SubArray

Definition at line 130 of file STK_SArray2D.h.

◆ SubCol

template<class Type_ >
typedef hidden::Traits<SArray2D<Type_>>::SubCol STK::SArray2D< Type_ >::SubCol

Definition at line 128 of file STK_SArray2D.h.

◆ SubRow

template<class Type_ >
typedef hidden::Traits<SArray2D<Type_>>::SubRow STK::SArray2D< Type_ >::SubRow

Definition at line 127 of file STK_SArray2D.h.

◆ SubVector

template<class Type_ >
typedef hidden::Traits<SArray2D<Type_>>::SubVector STK::SArray2D< Type_ >::SubVector

Definition at line 129 of file STK_SArray2D.h.

◆ Type

template<class Type_ >
typedef hidden::Traits<SArray2D<Type_>>::Type STK::SArray2D< Type_ >::Type

Definition at line 132 of file STK_SArray2D.h.

◆ TypeConst

template<class Type_ >
typedef hidden::Traits<SArray2D<Type_>>::TypeConst STK::SArray2D< Type_ >::TypeConst

Definition at line 133 of file STK_SArray2D.h.

Member Enumeration Documentation

◆ anonymous enum

template<class Type_ >
anonymous enum
Enumerator
structure_ 
orient_ 
sizeRows_ 
sizeCols_ 
storage_ 

Definition at line 135 of file STK_SArray2D.h.

136 {
141 storage_ = Arrays::dense_ // always dense
142 };
@ dense_
dense matrix/vector/array/expression
@ array2D_
general matrix/array/expression
@ by_col_
storage by column
const int UnknownSize
This value means that an integer is not known at compile-time, and that instead the value is stored i...

Constructor & Destructor Documentation

◆ SArray2D() [1/7]

template<class Type_ >
STK::SArray2D< Type_ >::SArray2D ( )
inline

Default constructor.

Definition at line 144 of file STK_SArray2D.h.

144: Base() {}
IArray2D< SArray2D< Type_ > > Base
Type for the Interface base Class.

◆ SArray2D() [2/7]

template<class Type_ >
STK::SArray2D< Type_ >::SArray2D ( Range const I,
Range const J 
)
inline

constructor

Parameters
I,Jrange of the rows and columns

Definition at line 148 of file STK_SArray2D.h.

148: Base(I, J) {}

◆ SArray2D() [3/7]

template<class Type_ >
STK::SArray2D< Type_ >::SArray2D ( Range const I,
Range const J,
Type const v 
)
inline

constructor with rows and columns ranges specified and initialization with a constant.

Parameters
I,Jrange of the rows and columns
vinitial value of the container

Definition at line 154 of file STK_SArray2D.h.

154 : Base(I, J)
155 { LowBase::setValue(v);}
SArray2D< Type_ > & setValue(TypeConst value)
set a value to this container.

References STK::ArrayBase< SArray2D< Type_ > >::setValue().

◆ SArray2D() [4/7]

template<class Type_ >
STK::SArray2D< Type_ >::SArray2D ( SArray2D< Type_ > const T,
bool  ref = false 
)
inline

Copy constructor.

Parameters
Tthe container to copy
reftrue if T is wrapped

Definition at line 160 of file STK_SArray2D.h.

160: Base(T, ref) {}

◆ SArray2D() [5/7]

template<class Type_ >
template<class OtherArray >
STK::SArray2D< Type_ >::SArray2D ( IArray2D< OtherArray > const T,
Range const I,
Range const J 
)
inline

Copy constructor by reference, ref_=1.

Parameters
Tthe container to wrap
I,Jrange of the rows and columns to wrap

Definition at line 166 of file STK_SArray2D.h.

167 : Base(T, I, J) {}

◆ SArray2D() [6/7]

template<class Type_ >
template<class OtherDerived >
STK::SArray2D< Type_ >::SArray2D ( ExprBase< OtherDerived > const T)
inline

Copy constructor using an expression.

Parameters
Tthe container to wrap

Definition at line 172 of file STK_SArray2D.h.

172 : Base()
173 { LowBase::operator=(T);}
SArray2D< Type_ > & operator=(Type const &value)

References STK::ArrayBase< SArray2D< Type_ > >::operator=().

◆ SArray2D() [7/7]

template<class Type_ >
STK::SArray2D< Type_ >::SArray2D ( Type **  q,
Range const I,
Range const J 
)
inline

Wrapper constructor Contruct a reference container.

Parameters
qpointer on the data
I,Jrange of the rows and columns to wrap

Definition at line 178 of file STK_SArray2D.h.

178: Base(q, I, J) {}

◆ ~SArray2D()

template<class Type_ >
STK::SArray2D< Type_ >::~SArray2D ( )
inline

destructor.

Definition at line 180 of file STK_SArray2D.h.

180{}

Member Function Documentation

◆ operator=() [1/3]

template<class Type_ >
template<class Rhs >
SArray2D & STK::SArray2D< Type_ >::operator= ( ExprBase< Rhs > const T)
inline

operator = : overwrite the SArray2D with the right hand side T.

Parameters
Tthe container to copy

Definition at line 185 of file STK_SArray2D.h.

185{ return LowBase::operator=(T);}

References STK::ArrayBase< SArray2D< Type_ > >::operator=().

◆ operator=() [2/3]

template<class Type_ >
SArray2D & STK::SArray2D< Type_ >::operator= ( SArray2D< Type_ > const T)
inline

overwrite the SArray2D with T.

Parameters
Tthe container to copy

Definition at line 189 of file STK_SArray2D.h.

189{ return LowBase::assign(T);}
SArray2D< Type_ > & assign(ExprBase< Rhs > const &rhs)

References STK::ArrayBase< SArray2D< Type_ > >::assign().

◆ operator=() [3/3]

template<class Type_ >
SArray2D & STK::SArray2D< Type_ >::operator= ( Type const v)
inline

set the container to a constant value.

Parameters
vthe value to set

Definition at line 193 of file STK_SArray2D.h.

193{ return LowBase::setValue(v);}

References STK::ArrayBase< SArray2D< Type_ > >::setValue().

◆ resize1D()

template<class Type_ >
SArray2D & STK::SArray2D< Type_ >::resize1D ( Range const I)
inline

New size for the container.

Parameters
Irange of the columns and rows of the container

Definition at line 202 of file STK_SArray2D.h.

203 { Base::resize(I, I); return *this;}
SArray2D< Type_ > & resize(Range const &I, Range const &J)
resize the array.

References STK::IArray2D< SArray2D< Type_ > >::resize().

◆ shift1D()

template<class Type_ >
void STK::SArray2D< Type_ >::shift1D ( int  beg)
inline

New beginning index for the object.

Parameters
begfirst index of the container

Definition at line 197 of file STK_SArray2D.h.

198 { Base::shift(beg, beg);}
void shift(int rbeg, int cbeg)
Set new beginning indexes to the array.

References STK::IArray2D< SArray2D< Type_ > >::shift().

◆ swapRows()

template<class Type_ >
void STK::SArray2D< Type_ >::swapRows ( int const pos1,
int const pos2 
)
inline

Swapping the pos1 row and the pos2 row.

Parameters
pos1,pos2position of the rows to swap

Definition at line 207 of file STK_SArray2D.h.

208 {
209#ifdef STK_BOUNDS_CHECK
210 // check conditions
211 if (this->beginRows() > pos1)
213 if (this->endRows() <= pos1)
215 if (this->beginRows() > pos2)
217 if (this->endRows() <= pos2)
219#endif
220 for (int j=this->beginCols(); j<this->endCols(); j++)
221 { std::swap(this->elt(pos1, j), this->elt(pos2, j));}
222 }
#define STKOUT_OF_RANGE_2ARG(Where, Arg1, Arg2, Error)
Definition STK_Macros.h:102
void swapRows(int const &pos1, int const &pos2)
Swapping the pos1 row and the pos2 row.

References STK::IArray2D< SArray2D< Type_ > >::beginCols(), STK::IArray2D< SArray2D< Type_ > >::beginRows(), STK::IArray2D< SArray2D< Type_ > >::endCols(), STK::IArray2D< SArray2D< Type_ > >::endRows(), STKOUT_OF_RANGE_2ARG, and STK::SArray2D< Type_ >::swapRows().

Referenced by STK::SArray2D< Type_ >::swapRows().


The documentation for this class was generated from the following files: