STK++ 0.9.13
STK::ArrayBase< Derived > Class Template Reference

base class for template arrays. More...

#include <STK_ArrayBase.h>

Inheritance diagram for STK::ArrayBase< Derived >:
Inheritance graph

Public Types

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

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
 

Protected Member Functions

 ArrayBase ()
 Default constructor.
 
 ~ArrayBase ()
 destructor
 
- Protected Member Functions inherited from STK::ExprBase< Derived >
 ExprBase ()
 Default constructor.
 
 ~ExprBase ()
 destructor
 

Detailed Description

template<class Derived>
class STK::ArrayBase< Derived >

base class for template arrays.

This class is the base that is inherited by all containers storing values (matrix, vector, point). Expressions are not arrays. Any derived class can be a lhs in an expression.

The common API for these objects is contained in this class.

Template Parameters
Derivedis the derived type, e.g., a matrix, vector, point type or an expression.

Definition at line 67 of file STK_ArrayBase.h.

Member Typedef Documentation

◆ Base

template<class Derived >
typedef ExprBase<Derived> STK::ArrayBase< Derived >::Base

Definition at line 70 of file STK_ArrayBase.h.

◆ Type

template<class Derived >
typedef hidden::Traits<Derived>::Type STK::ArrayBase< Derived >::Type

Definition at line 71 of file STK_ArrayBase.h.

◆ TypeConst

template<class Derived >
typedef hidden::Traits<Derived>::TypeConst STK::ArrayBase< Derived >::TypeConst

Definition at line 72 of file STK_ArrayBase.h.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 74 of file STK_ArrayBase.h.

75 {
76 structure_ = hidden::Traits<Derived>::structure_,
77 orient_ = hidden::Traits<Derived>::orient_,
78 sizeRows_ = hidden::Traits<Derived>::sizeRows_,
79 sizeCols_ = hidden::Traits<Derived>::sizeCols_,
80 storage_ = hidden::Traits<Derived>::storage_
81 };

Constructor & Destructor Documentation

◆ ArrayBase()

template<class Derived >
STK::ArrayBase< Derived >::ArrayBase ( )
inlineprotected

Default constructor.

Default values are cols=(1:0) and rows=(1:0).

Definition at line 85 of file STK_ArrayBase.h.

85: Base() {}
ExprBase< Derived > Base

◆ ~ArrayBase()

template<class Derived >
STK::ArrayBase< Derived >::~ArrayBase ( )
inlineprotected

destructor

Definition at line 87 of file STK_ArrayBase.h.

87{}

Member Function Documentation

◆ apply()

template<typename Derived >
template<typename Visitor >
void STK::ArrayBase< Derived >::apply ( Visitor visitor)
inline

Apply the Visitor visitor to the whole coefficients of the array.

The template parameter Visitor is the type of the visitor and provides the following interface:

struct MyVisitor {
// called for all coefficients
Type const& value operator() ();
};
hidden::Traits< Derived >::Type Type
The MultidimRegression class allows to regress a multidimensional output variable among a multivariat...
Note
visitors offer automatic unrolling for small fixed size matrix.
See also
setValue, setOnes(), setZeros()

Definition at line 57 of file STK_ArrayBaseApplier.h.

58{
60 Impl::apply(this->asDerived(), visitor);
61}
If< is2D_ &&unrollRows_ &&unrollCols_, ArrayImpl, HelperImpl >::Result Impl

◆ assign()

template<class Derived >
template<class Rhs >
Derived & STK::ArrayBase< Derived >::assign ( ExprBase< Rhs > const rhs)
inline
Returns
a copy of rhs inside this object. If the ranges of this and rhs are not exactly the same, the assign method will call the resize method on this.
Note
If this is a reference, it cannot be resized and thus an exception will be thrown if range is not the same.

Definition at line 76 of file STK_ArrayBaseAssign.h.

77{
78 enum
79 {
80 rhs_structure_ = hidden::Traits<Rhs>::structure_
81 , rhs_orient_ = hidden::Traits<Rhs>::orient_
82 , rhs_sizeRows_ = hidden::Traits<Rhs>::sizeRows_
83 , rhs_sizeCols_ = hidden::Traits<Rhs>::sizeCols_
84 , is_valid_ = IS_VALID_ASSIGN((Arrays::Structure)structure_, (Arrays::Structure)rhs_structure_)
85 };
86 STK_STATIC_ASSERT(is_valid_,YOU_TRIED_TO_ASSIGN_A_NOT_COMPATIBLE_ARRAY);
87 // check if assignment is possible
88 if (structure_ == int(Arrays::square_) && rhs.cols() != rhs.rows() )
90 // choose the correct way to resize this if necessary
91 hidden::resizeSelector<Derived, Rhs, rhs_structure_>::run(this->asDerived(), rhs.asDerived());
92 // choose the correct way to copy
93 hidden::CopycatSelector<Derived, Rhs, rhs_orient_>::run(this->asDerived(), rhs.asDerived());
94 return this->asDerived();
95}
#define IS_VALID_ASSIGN(lhs, rhs)
#define STKRUNTIME_ERROR_2ARG(Where, Arg1, Arg2, Error)
Definition STK_Macros.h:120
#define STK_STATIC_ASSERT(COND, MSG)
Derived & assign(ExprBase< Rhs > const &rhs)
Structure
structures of Arrays that can be handled by STK++
String structureToString(Structure const &type)
convert an Arrays::Structure to a String.
@ square_
square matrix/array/expression
static void run(Lhs &lhs, ExprBase< Rhs > const &rhs)

References STK::ArrayBase< Derived >::assign(), IS_VALID_ASSIGN, STK::hidden::resizeSelector< Lhs, Rhs, TStructure_ >::run(), STK::Arrays::square_, STK_STATIC_ASSERT, STKRUNTIME_ERROR_2ARG, and STK::Arrays::structureToString().

Referenced by STK::ArrayBase< Derived >::assign().

◆ col() [1/2]

template<class Derived >
ColAccessor< Derived > STK::ArrayBase< Derived >::col ( int  j)
inline
Returns
the j-th column of this.

Definition at line 230 of file STK_ArrayBase.h.

231 { return ColAccessor<Derived> (this->asDerived(), j);}

◆ col() [2/2]

template<class Derived >
ColOperator< Derived > const STK::ArrayBase< Derived >::col ( int  j) const
inline
Returns
the j-th column of this.

Definition at line 210 of file STK_ArrayBase.h.

211 { return ColOperator<Derived> (this->asDerived(), j);}

◆ copy()

template<class Derived >
template<class Rhs >
Derived & STK::ArrayBase< Derived >::copy ( ExprBase< Rhs > const rhs)
inline

overwrite this with src.

Note
this method does not take care of the possibility of overlapping
Parameters
rhsthe right hand side to copy

Definition at line 221 of file STK_ArrayBaseAssign.h.

222{
224 // check
225 if (this->sizeRows() != rhs.sizeRows())
226 { STKRUNTIME_ERROR_2ARG(ArrayBase<Derived>::copy,this->sizeRows(), rhs.sizeRows(),sizeRows are not the sames);}
227 if (this->sizeCols() != rhs.sizeCols())
228 { STKRUNTIME_ERROR_2ARG(ArrayBase<Derived>::copy,this->sizeCols(), rhs.sizeCols(),sizeCols are not the sames);}
229 // copy. TODO: Use iterators
230 //this->asDerived().reserve(this->sizeRows(), this->sizeCols());
231 for ( int jRhs=rhs.beginCols(), jLhs=this->beginCols(); jRhs<rhs.endCols(); jLhs++, jRhs++)
232 for ( int iRhs=rhs.beginRows(), iLhs=this->beginRows(); iRhs<rhs.endRows(); iLhs++, iRhs++)
233 {
234 setValue(iLhs, jLhs, rhs.elt(iRhs, jRhs));
235 }
236 // return this
237 return this->asDerived();
238}
#define STK_STATIC_ASSERT_DENSE_ONLY(EXPR)
Derived & copy(ExprBase< Rhs > const &rhs)
overwrite this with src.
Derived & setValue(TypeConst value)
set a value to this container.

References STK_STATIC_ASSERT_DENSE_ONLY, and STKRUNTIME_ERROR_2ARG.

◆ diagonalize() [1/2]

template<class Derived >
DiagonalizeAccessor< Derived > STK::ArrayBase< Derived >::diagonalize ( )
inline

Definition at line 194 of file STK_ArrayBase.h.

◆ diagonalize() [2/2]

template<class Derived >
DiagonalizeOperator< Derived > const STK::ArrayBase< Derived >::diagonalize ( ) const
inline
Returns
this as a diagonal 1D expression (work only with vector/point/diagonal expressions).

Definition at line 194 of file STK_ArrayBase.h.

Referenced by STK::ISymEigen< Derived >::ginv(), STK::ISymEigen< Derived >::ginvsqrt(), STK::ISymEigen< Derived >::gsqrt(), main(), and STK::WeightedSvd< Array, WRows, WCols >::run().

◆ getDiagonal() [1/2]

template<class Derived >
DiagonalGetterAccessor< Derived > STK::ArrayBase< Derived >::getDiagonal ( )
inline

Definition at line 196 of file STK_ArrayBase.h.

◆ getDiagonal() [2/2]

template<class Derived >
DiagonalGetterOperator< Derived > const STK::ArrayBase< Derived >::getDiagonal ( ) const
inline
Returns
the diagonal of this square expression (work only with square expressions).

Definition at line 196 of file STK_ArrayBase.h.

◆ lowerSymmetrize() [1/2]

template<class Derived >
LowerSymmetrizeAccessor< Derived > STK::ArrayBase< Derived >::lowerSymmetrize ( )
inline

Definition at line 206 of file STK_ArrayBase.h.

◆ lowerSymmetrize() [2/2]

template<class Derived >
LowerSymmetrizeOperator< Derived > const STK::ArrayBase< Derived >::lowerSymmetrize ( ) const
inline
Returns
the lower part of this symmetric expression (work only with square expressions).

Definition at line 206 of file STK_ArrayBase.h.

Referenced by main().

◆ lowerTriangularize() [1/2]

template<class Derived >
LowerTriangularizeAccessor< Derived > STK::ArrayBase< Derived >::lowerTriangularize ( )
inline

Definition at line 200 of file STK_ArrayBase.h.

◆ lowerTriangularize() [2/2]

template<class Derived >
LowerTriangularizeOperator< Derived > const STK::ArrayBase< Derived >::lowerTriangularize ( ) const
inline
Returns
the lower triangular part of this expression.

Definition at line 200 of file STK_ArrayBase.h.

◆ ones()

template<typename Derived >
Derived & STK::ArrayBase< Derived >::ones ( )
inline

set one to this using a Visitor.

See also
apply(), setValue(), zeros()

Definition at line 95 of file STK_ArrayBaseApplier.h.

96{ return setOnes();}
Derived & setOnes()
set one to this using a Visitor.

◆ operator%=() [1/2]

template<class Derived >
template<typename Rhs >
Derived & STK::ArrayBase< Derived >::operator%= ( ExprBase< Rhs > const other)
inline

Take modulo of this by Rhs.

Definition at line 162 of file STK_ArrayBaseAssign.h.

163{
164 enum { orient_ = hidden::Traits<Derived>::orient_
165 , RStructure_ = hidden::Traits<Rhs>::structure_
166 };
167 typedef typename hidden::OperatorSelector<Derived, Rhs, Arrays::moduloOp_>::Result Res;
168 hidden::CopycatSelector<Derived, Res, orient_>::run(this->asDerived(), this->asDerived() % rhs.asDerived());
169 return this->asDerived();
170}

◆ operator%=() [2/2]

template<class Derived >
Derived & STK::ArrayBase< Derived >::operator%= ( Type const other)
inline

take modulo of this by a constant.

Definition at line 207 of file STK_ArrayBaseAssign.h.

208{
209 enum { orient_ = hidden::Traits<Derived>::orient_};
210 typedef UnaryOperator<ModuloWithOp<Type>, Derived> Rhs;
211 hidden::CopycatSelector<Derived, Rhs, orient_>::run(this->asDerived(), this->asDerived() % value);
212 return this->asDerived();
213}

◆ operator()() [1/4]

template<class Derived >
Type & STK::ArrayBase< Derived >::operator() ( )
inline
Returns
the number

Definition at line 303 of file STK_ArrayBase.h.

303{ return this->elt();}

◆ operator()() [2/4]

template<class Derived >
TypeConst STK::ArrayBase< Derived >::operator() ( ) const
inline
Returns
a constant reference on the number

Definition at line 301 of file STK_ArrayBase.h.

301{ return this->elt();}

◆ operator()() [3/4]

template<class Derived >
Type & STK::ArrayBase< Derived >::operator() ( int  i,
int  j 
)
inline
Returns
a reference on the element (i,j) of the 2D container.
Parameters
i,jindexes of the element to get

Definition at line 266 of file STK_ArrayBase.h.

267 {
268#ifdef STK_BOUNDS_CHECK
269 if (this->beginRows() > i) { STKOUT_OF_RANGE_2ARG(IArrayBase::elt, i, j, beginRows() > i);}
270 if (this->endRows() <= i) { STKOUT_OF_RANGE_2ARG(IArrayBase::elt, i, j, endRows() <= i);}
271 if (this->beginCols() > j) { STKOUT_OF_RANGE_2ARG(IArrayBase::elt, i, j, beginCols() > j);}
272 if (this->endCols() <= j) { STKOUT_OF_RANGE_2ARG(IArrayBase::elt, i, j, endCols() <= j);}
273#endif
274 return this->elt(i,j);
275 }
#define STKOUT_OF_RANGE_2ARG(Where, Arg1, Arg2, Error)
Definition STK_Macros.h:102

References STKOUT_OF_RANGE_2ARG.

◆ operator()() [4/4]

template<class Derived >
TypeConst STK::ArrayBase< Derived >::operator() ( int  i,
int  j 
) const
inline
Returns
a constant reference on the element (i,j) of the 2D container.
Parameters
i,jrow and column indexes

Definition at line 254 of file STK_ArrayBase.h.

255 {
256#ifdef STK_BOUNDS_CHECK
257 if (this->beginRows() > i) { STKOUT_OF_RANGE_2ARG(IArrayBase::elt, i, j, beginRows() > i);}
258 if (this->endRows() <= i) { STKOUT_OF_RANGE_2ARG(IArrayBase::elt, i, j, endRows() <= i);}
259 if (this->beginCols() > j) { STKOUT_OF_RANGE_2ARG(IArrayBase::elt, i, j, beginCols() > j);}
260 if (this->endCols() <= j) { STKOUT_OF_RANGE_2ARG(IArrayBase::elt, i, j, endCols() <= j);}
261#endif
262 return this->elt(i,j);}

References STKOUT_OF_RANGE_2ARG.

◆ operator*=() [1/2]

template<class Derived >
template<typename Rhs >
Derived & STK::ArrayBase< Derived >::operator*= ( ExprBase< Rhs > const other)
inline

multiply this by Rhs.

Definition at line 148 of file STK_ArrayBaseAssign.h.

149{
150 enum { orient_ = hidden::Traits<Derived>::orient_
151 , RStructure_ = hidden::Traits<Rhs>::structure_
152 };
153 //typedef typename ProductProductType<Derived, Rhs>::ProductType Res;
154// typedef BinaryOperator< ProductOp<Type, typename hidden::Traits<Rhs>::Type>, Derived, Rhs> Res;
155// hidden::CopycatSelector<Derived, Res, orient_>::run(this->asDerived(), this->asDerived() * rhs.asDerived());
156 this->asDerived() = this->asDerived() * rhs.asDerived();
157 return this->asDerived();
158}

◆ operator*=() [2/2]

template<class Derived >
Derived & STK::ArrayBase< Derived >::operator*= ( Type const other)
inline

product of this by a constant.

Definition at line 191 of file STK_ArrayBaseAssign.h.

192{
193 enum { orient_ = hidden::Traits<Derived>::orient_};
194 typedef UnaryOperator<ProductWithOp<Type>, Derived> Rhs;
195 hidden::CopycatSelector<Derived, Rhs, orient_>::run(this->asDerived(), this->asDerived() * value);
196 return this->asDerived();
197}

◆ operator+=() [1/2]

template<class Derived >
template<typename Rhs >
Derived & STK::ArrayBase< Derived >::operator+= ( ExprBase< Rhs > const other)
inline

Add Rhs to this.

Definition at line 113 of file STK_ArrayBaseAssign.h.

114{
115 enum { orient_ = hidden::Traits<Derived>::orient_
116 , RStructure_ = hidden::Traits<Rhs>::structure_
117 };
118 typedef typename hidden::OperatorSelector<Derived, Rhs, Arrays::sumOp_>::Result Res;
119 hidden::CopycatSelector<Derived, Res, orient_>::run(this->asDerived(), this->asDerived() + rhs.asDerived());
120 return this->asDerived();
121}

◆ operator+=() [2/2]

template<class Derived >
Derived & STK::ArrayBase< Derived >::operator+= ( Type const other)
inline

Adding a constant to this.

Definition at line 175 of file STK_ArrayBaseAssign.h.

176{
177 enum { orient_ = hidden::Traits<Derived>::orient_};
178 typedef UnaryOperator<SumWithOp<Type>, Derived> Rhs;
179 hidden::CopycatSelector<Derived, Rhs, orient_>::run(this->asDerived(), this->asDerived() + value);
180 return this->asDerived();
181}

◆ operator-=() [1/2]

template<class Derived >
template<typename Rhs >
Derived & STK::ArrayBase< Derived >::operator-= ( ExprBase< Rhs > const other)
inline

subtract a Rhs to this.

Definition at line 124 of file STK_ArrayBaseAssign.h.

125{
126 enum { orient_ = hidden::Traits<Derived>::orient_
127 , RStructure_ = hidden::Traits<Rhs>::structure_
128 };
129 typedef typename hidden::OperatorSelector<Derived, Rhs, Arrays::differenceOp_>::Result Res;
130 hidden::CopycatSelector<Derived, Res, orient_>::run(this->asDerived(), this->asDerived() - rhs.asDerived());
131 return this->asDerived();
132}

◆ operator-=() [2/2]

template<class Derived >
Derived & STK::ArrayBase< Derived >::operator-= ( Type const other)
inline

Subtract a constant to this.

Definition at line 183 of file STK_ArrayBaseAssign.h.

184{
185 enum { orient_ = hidden::Traits<Derived>::orient_};
186 typedef UnaryOperator<SumWithOp<Type>, Derived> Rhs;
187 hidden::CopycatSelector<Derived, Rhs, orient_>::run(this->asDerived(), this->asDerived() + (-value));
188 return this->asDerived();
189}

◆ operator/=() [1/2]

template<class Derived >
template<typename Rhs >
Derived & STK::ArrayBase< Derived >::operator/= ( ExprBase< Rhs > const other)
inline

divide this by Rhs.

Definition at line 136 of file STK_ArrayBaseAssign.h.

137{
138 enum { orient_ = hidden::Traits<Derived>::orient_
139 , RStructure_ = hidden::Traits<Rhs>::structure_
140 };
141 typedef typename hidden::OperatorSelector<Derived, Rhs, Arrays::divisionOp_>::Result Res;
142 hidden::CopycatSelector<Derived, Res, orient_>::run(this->asDerived(), this->asDerived() / rhs.asDerived());
143 return this->asDerived();
144}

◆ operator/=() [2/2]

template<class Derived >
Derived & STK::ArrayBase< Derived >::operator/= ( Type const other)
inline

dividing this by a constant.

Definition at line 199 of file STK_ArrayBaseAssign.h.

200{
201 enum { orient_ = hidden::Traits<Derived>::orient_};
202 typedef UnaryOperator<DivisionWithOp<Type>, Derived> Rhs;
203 hidden::CopycatSelector<Derived, Rhs, orient_>::run(this->asDerived(), this->asDerived() / value);
204 return this->asDerived();
205}

◆ operator<<() [1/2]

template<class Derived >
template<typename Rhs >
ArrayInitializer< Derived > STK::ArrayBase< Derived >::operator<< ( ArrayBase< Rhs > const other)

◆ operator<<() [2/2]

template<typename Derived >
ArrayInitializer< Derived > STK::ArrayBase< Derived >::operator<< ( Type const s)

Convenient operator to set the coefficients of a matrix.

The coefficients must be provided in the row/column order and exactly match the size of the matrix. Otherwise an exception is throwed.

Definition at line 1 of file STK_ArrayBaseInitializer.h.

118{ return ArrayInitializer<Derived>(this->asDerived(), s);}

◆ operator=() [1/3]

template<class Derived >
Derived & STK::ArrayBase< Derived >::operator= ( Derived const rhs)
inline
Returns
the matrix or vector obtained by evaluating this expression

Definition at line 102 of file STK_ArrayBaseAssign.h.

102{ return assign(rhs);}

◆ operator=() [2/3]

template<class Derived >
template<typename Rhs >
Derived & STK::ArrayBase< Derived >::operator= ( ExprBase< Rhs > const rhs)
inline
Returns
the matrix or vector obtained by evaluating this expression

Definition at line 106 of file STK_ArrayBaseAssign.h.

107{ return assign(rhs.asDerived());}

◆ operator=() [3/3]

template<class Derived >
Derived & STK::ArrayBase< Derived >::operator= ( Type const value)
inline
Returns
the matrix or vector obtained by setting this constant

Definition at line 99 of file STK_ArrayBaseAssign.h.

99{ return setValue(value);}

◆ operator[]() [1/2]

template<class Derived >
Type & STK::ArrayBase< Derived >::operator[] ( int  i)
inline
Returns
a reference on the ith element
Parameters
iindex of the element to get

Definition at line 291 of file STK_ArrayBase.h.

292 {
294#ifdef STK_BOUNDS_CHECK
295 if (this->begin() > i) { STKOUT_OF_RANGE_1ARG(IArrayBase::elt, i, begin() > i);}
296 if (this->end() <= i) { STKOUT_OF_RANGE_1ARG(IArrayBase::elt, i, end() <= i);}
297#endif
298 return this->elt(i);
299 }
#define STKOUT_OF_RANGE_1ARG(Where, Arg, Error)
Definition STK_Macros.h:93
#define STK_STATIC_ASSERT_ONE_DIMENSION_ONLY(EXPR)

References STK_STATIC_ASSERT_ONE_DIMENSION_ONLY, and STKOUT_OF_RANGE_1ARG.

◆ operator[]() [2/2]

template<class Derived >
TypeConst STK::ArrayBase< Derived >::operator[] ( int  i) const
inline
Returns
the ith element
Parameters
iindex of the element to get

Definition at line 279 of file STK_ArrayBase.h.

280 {
282#ifdef STK_BOUNDS_CHECK
283 if (this->begin() > i) { STKOUT_OF_RANGE_1ARG(IArrayBase::elt, i, begin() > i);}
284 if (this->end() <= i) { STKOUT_OF_RANGE_1ARG(IArrayBase::elt, i, end() <= i);}
285#endif
286 return this->elt(i);
287 }

References STK_STATIC_ASSERT_ONE_DIMENSION_ONLY, and STKOUT_OF_RANGE_1ARG.

◆ rand()

template<typename Derived >
Derived & STK::ArrayBase< Derived >::rand ( Law::IUnivLaw< Type > const law)
inline

set random values to this using a distribution law given by the user.

See also
randGauss(), randUnif(), apply()

Definition at line 122 of file STK_ArrayBaseApplier.h.

123{
124 hidden::RandApplier<Type> visitor(law);
125 apply(visitor);
126 return this->asDerived();
127}
void apply(Visitor &visitor)
Apply the Visitor visitor to the whole coefficients of the array.

Referenced by main(), main(), and STK::IMixtureComposer::randomZi().

◆ randGauss()

template<typename Derived >
Derived & STK::ArrayBase< Derived >::randGauss ( )
inline

set random values to this using a standard gaussian law.

See also
randUnif(), rand(Law::IUnivLaw<Type> const& law), apply()

Definition at line 113 of file STK_ArrayBaseApplier.h.

114{
115 hidden::RandGaussApplier<Type> visitor;
116 apply(visitor);
117 return this->asDerived();
118}

Referenced by main().

◆ randUnif()

template<typename Derived >
Derived & STK::ArrayBase< Derived >::randUnif ( )
inline

set random values to this using a uniform law.

See also
apply(), randGauss()

Definition at line 104 of file STK_ArrayBaseApplier.h.

105{
106 hidden::RandUnifApplier<Type> visitor;
107 apply(visitor);
108 return this->asDerived();
109}

Referenced by main(), and STK::IMixtureComposer::randomTik().

◆ row() [1/2]

template<class Derived >
RowAccessor< Derived > STK::ArrayBase< Derived >::row ( int  i)
inline
Returns
the i-th row of this.

Definition at line 233 of file STK_ArrayBase.h.

234 { return RowAccessor<Derived> (this->asDerived(), i);}

◆ row() [2/2]

template<class Derived >
RowOperator< Derived > const STK::ArrayBase< Derived >::row ( int  i) const
inline
Returns
the i-th row of this.

Definition at line 213 of file STK_ArrayBase.h.

214 { return RowOperator<Derived> (this->asDerived(), i);}

◆ setOnes()

template<typename Derived >
Derived & STK::ArrayBase< Derived >::setOnes ( )
inline

set one to this using a Visitor.

See also
apply(), setValue(), setZeros()

Definition at line 77 of file STK_ArrayBaseApplier.h.

78{
79 hidden::ValueApplier<Type> visitor(Type(1));
80 apply(visitor);
81 return this->asDerived();
82}

◆ setValue() [1/3]

template<class Derived >
void STK::ArrayBase< Derived >::setValue ( int  i,
int  j,
TypeConst  value 
)
inline

set a value to this container at position (i,j).

Parameters
i,j,valueindexes and value to set

Definition at line 137 of file STK_ArrayBase.h.

138 { this->asDerived().setValueImpl(i, j, value);}

◆ setValue() [2/3]

template<class Derived >
void STK::ArrayBase< Derived >::setValue ( int  i,
TypeConst  value 
)
inline

set a value to this container at index i.

Parameters
i,valueindex and value to set

Definition at line 132 of file STK_ArrayBase.h.

133 { this->asDerived().setValueImpl(i, value);}

◆ setValue() [3/3]

template<typename Derived >
Derived & STK::ArrayBase< Derived >::setValue ( TypeConst  value)
inline

set a value to this container.

See also
apply(), setOnes(), setZeros()
Parameters
valuethe value to set

Definition at line 68 of file STK_ArrayBaseApplier.h.

69{
70 hidden::ValueApplier<Type> visitor(value);
71 apply(visitor);
72 return this->asDerived();
73}

Referenced by main(), STK::Array2DDiagonal< Type_ >::setValue1D(), STK::Array2DVector< Type_ >::setValue1D(), STK::SArray2DDiagonal< Type_ >::setValue1D(), STK::SArray2DVector< Type_ >::setValue1D(), STK::Array2DPoint< Type_ >::setValue1D(), and STK::SArray2DPoint< Type_ >::setValue1D().

◆ setZeros()

template<typename Derived >
Derived & STK::ArrayBase< Derived >::setZeros ( )
inline

set zero to this using a Visitor.

See also
apply(), setOnes(), setValue()

Definition at line 86 of file STK_ArrayBaseApplier.h.

87{
88 hidden::ValueApplier<Type> visitor(Type(0));
89 apply(visitor);
90 return this->asDerived();
91}

◆ sub() [1/4]

template<class Derived >
template<int Size_>
SubVectorAccessor< Derived, Size_ > STK::ArrayBase< Derived >::sub ( TRange< Size_ > const I)
inline
Returns
the sub-vector(I) of this.

Definition at line 237 of file STK_ArrayBase.h.

238 {
240 return SubVectorAccessor<Derived, Size_>(this->asDerived(), I);
241 }

References STK_STATIC_ASSERT_ONE_DIMENSION_ONLY.

◆ sub() [2/4]

template<class Derived >
template<int Size_>
SubVectorOperator< Derived, Size_ > const STK::ArrayBase< Derived >::sub ( TRange< Size_ > const I) const
inline
Returns
the sub-vector(I) of this.

Definition at line 217 of file STK_ArrayBase.h.

218 {
220 return SubVectorOperator<Derived, Size_>(this->asDerived(), I);
221 }

References STK_STATIC_ASSERT_ONE_DIMENSION_ONLY.

◆ sub() [3/4]

template<class Derived >
template<int SizeRows_, int SizeCols_>
SubAccessor< Derived, SizeRows_, SizeCols_ > STK::ArrayBase< Derived >::sub ( TRange< SizeRows_ > const I,
TRange< SizeCols_ > const J 
)
inline
Returns
the sub-array(I,J) of this.

Definition at line 244 of file STK_ArrayBase.h.

245 {
247 return SubAccessor<Derived, SizeRows_, SizeCols_>(this->asDerived(), I, J);
248 }
#define STK_STATIC_ASSERT_TWO_DIMENSIONS_ONLY(EXPR)

References STK_STATIC_ASSERT_TWO_DIMENSIONS_ONLY.

◆ sub() [4/4]

template<class Derived >
template<int SizeRows_, int SizeCols_>
SubOperator< Derived, SizeRows_, SizeCols_ > const STK::ArrayBase< Derived >::sub ( TRange< SizeRows_ > const I,
TRange< SizeCols_ > const J 
) const
inline
Returns
the sub-array(I,J) of this.

Definition at line 224 of file STK_ArrayBase.h.

225 {
227 return SubOperator<Derived, SizeRows_, SizeCols_>(this->asDerived(), I, J);
228 }

References STK_STATIC_ASSERT_TWO_DIMENSIONS_ONLY.

◆ symmetrize() [1/2]

template<class Derived >
SymmetrizeAccessor< Derived > STK::ArrayBase< Derived >::symmetrize ( )
inline

Definition at line 202 of file STK_ArrayBase.h.

◆ symmetrize() [2/2]

◆ transpose() [1/2]

template<class Derived >
TransposeAccessor< Derived > STK::ArrayBase< Derived >::transpose ( )
inline

Definition at line 192 of file STK_ArrayBase.h.

◆ transpose() [2/2]

◆ upperSymmetrize() [1/2]

template<class Derived >
UpperSymmetrizeAccessor< Derived > STK::ArrayBase< Derived >::upperSymmetrize ( )
inline

Definition at line 204 of file STK_ArrayBase.h.

◆ upperSymmetrize() [2/2]

template<class Derived >
UpperSymmetrizeOperator< Derived > const STK::ArrayBase< Derived >::upperSymmetrize ( ) const
inline
Returns
the upper part of this symmetric expression (work only with square expressions).

Definition at line 204 of file STK_ArrayBase.h.

Referenced by main().

◆ upperTriangularize() [1/2]

template<class Derived >
UpperTriangularizeAccessor< Derived > STK::ArrayBase< Derived >::upperTriangularize ( )
inline

Definition at line 198 of file STK_ArrayBase.h.

◆ upperTriangularize() [2/2]

template<class Derived >
UpperTriangularizeOperator< Derived > const STK::ArrayBase< Derived >::upperTriangularize ( ) const
inline
Returns
the upper triangular part of this expression.

Definition at line 198 of file STK_ArrayBase.h.

◆ zeros()

template<typename Derived >
Derived & STK::ArrayBase< Derived >::zeros ( )
inline

set zero to this using a Visitor.

See also
apply(), ones(), setValue()

Definition at line 100 of file STK_ArrayBaseApplier.h.

101{ return setZeros();}
Derived & setZeros()
set zero to this using a Visitor.

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