SoPlex Documentation
Loading...
Searching...
No Matches
SSVectorBase< R > Class Template Reference

Semi sparse vector. More...

#include <ssvectorbase.h>

Inheritance diagram for SSVectorBase< R >:
VectorBase< R > IdxSet

Public Member Functions

SSVectorBase< Rational > & assign (const SVectorBase< Rational > &rhs)
 Assigns only the elements of rhs.
 
Status of an SSVectorBase

An SSVectorBase can be set up or not. In case it is set up, its IdxSet correctly contains all indices of nonzero elements of the SSVectorBase. Otherwise, it does not contain any useful data. Whether or not an SSVectorBase is setup can be determined with the method isSetup().

There are three methods for directly affecting the setup status of an SSVectorBase:

  • unSetup(): This method sets the status to `‘not setup’'.
  • setup(): This method initializes the IdxSet to the SSVectorBase's nonzero indices and sets the status to `‘setup’'.
  • forceSetup(): This method sets the status to `‘setup’' without verifying that the IdxSet correctly contains all nonzero indices. It may be used when the nonzero indices have been computed externally.
Rget_ptr ()
 Only used in slufactor.hpp.
 
R getEpsilon () const
 Returns the non-zero epsilon used.
 
void setEpsilon (R eps)
 Changes the non-zero epsilon, invalidating the setup. *‍/.
 
bool isSetup () const
 Returns setup status.
 
void unSetup ()
 Makes SSVectorBase not setup.
 
void setup ()
 Initializes nonzero indices for elements with absolute values above epsilon and sets all other elements to 0.
 
void forceSetup ()
 Forces setup status.
 
Methods for setup SSVectorBases
int index (int n) const
 Returns index of the n 'th nonzero element.
 
R value (int n) const
 Returns value of the n 'th nonzero element.
 
int pos (int i) const
 Finds the position of index i in the IdxSet, or -1 if i doesn't exist.
 
int size () const
 Returns the number of nonzeros.
 
void add (int i, R x)
 Adds nonzero (i, x) to SSVectorBase.
 
void setValue (int i, R x)
 Sets i 'th element to x.
 
void scaleValue (int i, int scaleExp)
 Scale i 'th element by a.
 
void clearIdx (int i)
 Clears element i.
 
void clearNum (int n)
 Sets n 'th nonzero element to 0 (index n must exist).
 
Methods independent of the Status
R operator[] (int i) const
 Returns i 'th value.
 
const intindexMem () const
 Returns array indices.
 
const Rvalues () const
 Returns array values.
 
const IdxSetindices () const
 Returns indices.
 
intaltIndexMem ()
 Returns array indices.
 
RaltValues ()
 Returns array values.
 
IdxSetaltIndices ()
 Returns indices.
 
Arithmetic operations
template<class S >
SSVectorBase< R > & operator+= (const VectorBase< S > &vec)
 Addition.
 
template<class S >
SSVectorBase< R > & operator+= (const SVectorBase< S > &vec)
 Addition.
 
template<class S >
SSVectorBase< R > & operator+= (const SSVectorBase< S > &vec)
 Addition.
 
template<class S >
SSVectorBase< R > & operator-= (const VectorBase< S > &vec)
 Subtraction.
 
template<class S >
SSVectorBase< R > & operator-= (const SVectorBase< S > &vec)
 Subtraction.
 
template<class S >
SSVectorBase< R > & operator-= (const SSVectorBase< S > &vec)
 Subtraction.
 
template<class S >
SSVectorBase< R > & operator*= (S x)
 Scaling.
 
template<class S >
R operator* (const SSVectorBase< S > &w)
 
template<class S , class T >
SSVectorBase< R > & multAdd (S xx, const SVectorBase< T > &vec)
 Addition of a scaled vector.
 
template<class S , class T >
SSVectorBase< R > & multAdd (S x, const VectorBase< T > &vec)
 Addition of a scaled vector.
 
template<class S , class T >
SSVectorBase< R > & assignPWproduct4setup (const SSVectorBase< S > &x, const SSVectorBase< T > &y)
 Assigns pair wise vector product to SSVectorBase.
 
template<class S , class T >
SSVectorBase< R > & assign2product (const SSVectorBase< S > &x, const SVSetBase< T > &A)
 Assigns \(x^T \cdot A\) to SSVectorBase.
 
template<class S , class T >
SSVectorBase< R > & assign2product4setup (const SVSetBase< S > &A, const SSVectorBase< T > &x, Timer *timeSparse, Timer *timeFull, int &nCallsSparse, int &nCallsFull)
 Assigns SSVectorBase to \(A \cdot x\) for a setup x.
 
template<class S , class T >
SSVectorBase< R > & assign2productAndSetup (const SVSetBase< S > &A, SSVectorBase< T > &x)
 Assigns SSVectorBase to \(A \cdot x\) thereby setting up x.
 
R maxAbs () const
 Maximum absolute value, i.e., infinity norm.
 
R length2 () const
 Squared euclidian norm.
 
R length () const
 Floating point approximation of euclidian norm (without any approximation guarantee).
 
Miscellaneous
int dim () const
 Dimension of VectorBase.
 
void reDim (int newdim)
 Resets dimension to newdim.
 
void setSize (int n)
 Sets number of nonzeros (thereby unSetup SSVectorBase).
 
void reMem (int newsize)
 Resets memory consumption to newsize.
 
void clear ()
 Clears vector.
 
bool isConsistent () const
 consistency check.
 
Constructors / Destructors
 SSVectorBase (int p_dim, R p_eps=Param::epsilon())
 Default constructor.
 
template<class S >
 SSVectorBase (const SSVectorBase< S > &vec)
 Copy constructor.
 
 SSVectorBase (const SSVectorBase< R > &vec)
 Copy constructor.
 
template<class S >
 SSVectorBase (const VectorBase< S > &vec, R eps=Param::epsilon())
 Constructs nonsetup copy of vec.
 
template<class S >
void setup_and_assign (SSVectorBase< S > &rhs)
 Sets up rhs vector, and assigns it.
 
template<class S >
SSVectorBase< R > & assign (const SVectorBase< S > &rhs)
 Assigns only the elements of rhs.
 
template<class S >
SSVectorBase< R > & operator= (const SSVectorBase< S > &rhs)
 Assignment operator.
 
SSVectorBase< R > & operator= (const SSVectorBase< R > &rhs)
 Assignment operator.
 
template<class S >
SSVectorBase< R > & operator= (const SVectorBase< S > &rhs)
 Assignment operator.
 
template<class S >
SSVectorBase< R > & operator= (const VectorBase< S > &rhs)
 Assignment operator.
 
 ~SSVectorBase ()
 destructor
 
- Public Member Functions inherited from VectorBase< R >
bool isConsistent () const
 Consistency check.
 
Rational operator* (const VectorBase< Rational > &vec) const
 Inner product.
 
 VectorBase ()
 Constructor.
 
 VectorBase (int dimen, R *p_val)
 
 VectorBase (int p_dimen)
 
template<typename S >
 VectorBase (const VectorBase< S > &vec)
 
 VectorBase (const VectorBase< R > &&vec) noexcept
 
 VectorBase (const VectorBase< R > &vec)
 
template<class S >
VectorBase< R > & operator= (const VectorBase< S > &vec)
 Assignment operator.
 
VectorBase< R > & operator= (const VectorBase< R > &vec)
 Assignment operator.
 
VectorBase< R > & operator= (const VectorBase< R > &&vec)
 Move assignment operator.
 
VectorBase< R > & scaleAssign (int scaleExp, const VectorBase< R > &vec)
 scale and assign
 
VectorBase< R > & scaleAssign (const int *scaleExp, const VectorBase< R > &vec, bool negateExp=false)
 scale and assign
 
template<class S >
VectorBase< R > & operator= (const SVectorBase< S > &vec)
 Assignment operator.
 
template<class S >
VectorBase< R > & operator= (const SSVectorBase< S > &vec)
 Assignment operator.
 
template<class S >
VectorBase< R > & assign (const SVectorBase< S > &vec)
 Assign values of vec.
 
template<class S >
VectorBase< R > & assign (const SSVectorBase< S > &vec)
 Assign values of vec.
 
void clear ()
 Set vector to contain all-zeros (keeping the same length)
 
template<class S >
VectorBase< R > & operator+= (const VectorBase< S > &vec)
 Addition.
 
template<class S >
VectorBase< R > & operator+= (const SVectorBase< S > &vec)
 Addition.
 
template<class S >
VectorBase< R > & operator+= (const SSVectorBase< S > &vec)
 Addition.
 
template<class S >
VectorBase< R > & operator-= (const VectorBase< S > &vec)
 Subtraction.
 
template<class S >
VectorBase< R > & operator-= (const SVectorBase< S > &vec)
 Subtraction.
 
template<class S >
VectorBase< R > & operator-= (const SSVectorBase< S > &vec)
 Subtraction.
 
template<class S >
VectorBase< R > & operator*= (const S &x)
 Scaling.
 
template<class S >
VectorBase< R > & operator/= (const S &x)
 Division.
 
R operator* (const VectorBase< R > &vec) const
 Inner product.
 
R operator* (const SVectorBase< R > &vec) const
 Inner product.
 
R operator* (const SSVectorBase< R > &vec) const
 Inner product.
 
R maxAbs () const
 Maximum absolute value, i.e., infinity norm.
 
R minAbs () const
 Minimum absolute value.
 
R length () const
 Floating point approximation of euclidian norm (without any approximation guarantee).
 
R length2 () const
 Squared norm.
 
template<class S , class T >
VectorBase< R > & multAdd (const S &x, const VectorBase< T > &vec)
 Addition of scaled vector.
 
template<class S , class T >
VectorBase< R > & multAdd (const S &x, const SVectorBase< T > &vec)
 Addition of scaled vector.
 
template<class S , class T >
VectorBase< R > & multSub (const S &x, const SVectorBase< T > &vec)
 Subtraction of scaled vector.
 
template<class S , class T >
VectorBase< R > & multAdd (const S &x, const SSVectorBase< T > &vec)
 Addition of scaled vector.
 
int dim () const
 Dimension of vector.
 
Roperator[] (int n)
 Return n 'th value by reference.
 
const Roperator[] (int n) const
 Return n 'th value.
 
const std::vector< R > & vec ()
 Return underlying std::vector.
 
Rget_ptr ()
 Conversion to C-style pointer.
 
const Rget_const_ptr () const
 Conversion to C-style pointer.
 
std::vector< R >::const_iterator begin () const
 
std::vector< R >::iterator begin ()
 
std::vector< R >::const_iterator end () const
 
std::vector< R >::iterator end ()
 
int memSize () const
 
void reDim (int newdim, const bool setZero=true)
 Resets VectorBase's dimension to newdim.
 
void reSize (int newsize)
 Resets VectorBase's memory size to newsize.
 
const VectorBase< Roperator- (const VectorBase< R > &vec) const
 
const VectorBase< Roperator+ (const VectorBase< R > &v) const
 

Private Member Functions

Private helpers
template<class S , class T >
SSVectorBase< R > & assign2product1 (const SVSetBase< S > &A, const SSVectorBase< T > &x)
 Assignment helper.
 
template<class S , class T >
SSVectorBase< R > & assign2productShort (const SVSetBase< S > &A, const SSVectorBase< T > &x)
 Assignment helper.
 
template<class S , class T >
SSVectorBase< R > & assign2productFull (const SVSetBase< S > &A, const SSVectorBase< T > &x)
 Assignment helper.
 

Friends

class VectorBase< R >
 
template<class S >
class DSVectorBase
 

Data

bool setupStatus
 Is the SSVectorBase set up?
 
R epsilon
 A value x with |x| < epsilon is considered zero.
 
void setMax (int newmax)
 Allocates enough space to accommodate newmax values.
 

Additional Inherited Members

- Protected Member Functions inherited from IdxSet
 IdxSet (int n, int imem[], int l=0)
 constructor.
 
 IdxSet ()
 default constructor.
 
virtual ~IdxSet ()
 destructor.
 
IdxSetoperator= (const IdxSet &set)
 assignment operator.
 
 IdxSet (const IdxSet &)
 copy constructor.
 
int index (int n) const
 access n 'th index.
 
int size () const
 returns the number of used indices.
 
int max () const
 returns the maximal number of indices which can be stored in IdxSet.
 
int dim () const
 returns the maximal index.
 
int pos (int i) const
 returns the position of index i.
 
void add (int n)
 appends n uninitialized indices.
 
void add (const IdxSet &set)
 appends all indices of set.
 
void add (int n, const int i[])
 appends n indices in i.
 
void addIdx (int i)
 appends index i.
 
void remove (int n, int m)
 removes indices at position numbers n through m.
 
void remove (int n)
 removes n 'th index.
 
void clear ()
 removes all indices.
 
bool isConsistent () const
 consistency check.
 
- Protected Attributes inherited from VectorBase< R >
std::vector< Rval
 Values of vector.
 
- Protected Attributes inherited from IdxSet
int num
 number of used indices
 
int len
 length of array idx
 
intidx
 array of indices
 
bool freeArray
 true iff idx should be freed inside of this object
 

Detailed Description

template<class R>
class soplex::SSVectorBase< R >

Semi sparse vector.

This class implements semi-sparse vectors. Such are VectorBases where the indices of its nonzero elements can be stored in an extra IdxSet. Only elements with absolute value > epsilon are considered to be nonzero. Since really storing the nonzeros is not always convenient, an SSVectorBase provides two different stati: setup and not setup. An SSVectorBase being setup means that the nonzero indices are available, otherwise an SSVectorBase is just an ordinary VectorBase with an empty IdxSet. Note that due to arithmetic operation, zeros can slip in, i.e., it is only guaranteed that at least every non-zero is in the IdxSet.

Definition at line 57 of file ssvectorbase.h.

Constructor & Destructor Documentation

◆ SSVectorBase() [1/4]

template<class R >
SSVectorBase ( int p_dim,
R p_eps = Param::epsilon() )
explicit

Default constructor.

Definition at line 630 of file ssvectorbase.h.

◆ SSVectorBase() [2/4]

template<class R >
template<class S >
SSVectorBase ( const SSVectorBase< S > & vec)

Copy constructor.

Definition at line 630 of file ssvectorbase.h.

◆ SSVectorBase() [3/4]

template<class R >
SSVectorBase ( const SSVectorBase< R > & vec)

Copy constructor.

The redundancy with the copy constructor below is necessary since otherwise the compiler doesn't realize that it could use the more general one with S = R and generates a shallow copy constructor.

Definition at line 630 of file ssvectorbase.h.

◆ SSVectorBase() [4/4]

template<class R >
template<class S >
SSVectorBase ( const VectorBase< S > & vec,
R eps = Param::epsilon() )
explicit

Constructs nonsetup copy of vec.

Definition at line 630 of file ssvectorbase.h.

◆ ~SSVectorBase()

template<class R >
~SSVectorBase ( )

destructor

Definition at line 882 of file ssvectorbase.h.

Member Function Documentation

◆ add()

template<class R >
void add ( int i,
R x )

Adds nonzero (i, x) to SSVectorBase.

No nonzero with index i must exist in the SSVectorBase.

Definition at line 218 of file ssvectorbase.h.

References IdxSet::addIdx(), and SSVectorBase< R >::pos().

◆ altIndexMem()

template<class R >
int * altIndexMem ( )

Returns array indices.

Definition at line 321 of file ssvectorbase.h.

References IdxSet::idx, and SSVectorBase< R >::unSetup().

◆ altIndices()

template<class R >
IdxSet & altIndices ( )

Returns indices.

Definition at line 335 of file ssvectorbase.h.

References SSVectorBase< R >::unSetup().

◆ altValues()

template<class R >
R * altValues ( )

Returns array values.

Definition at line 328 of file ssvectorbase.h.

References SSVectorBase< R >::unSetup().

◆ assign() [1/2]

SSVectorBase< Rational > & assign ( const SVectorBase< Rational > & rhs)

Assigns only the elements of rhs.

Definition at line 897 of file basevectors.h.

References DataArray< T >::DataArray(), and DataArray< T >::size().

◆ assign() [2/2]

template<class R >
template<class S >
SSVectorBase< R > & assign ( const SVectorBase< S > & rhs)

Assigns only the elements of rhs.

Definition at line 863 of file basevectors.h.

References DataArray< T >::DataArray(), and DataArray< T >::size().

◆ assign2product()

template<class R >
template<class S , class T >
SSVectorBase< R > & assign2product ( const SSVectorBase< S > & x,
const SVSetBase< T > & A )

Assigns \(x^T \cdot A\) to SSVectorBase.

Definition at line 519 of file basevectors.h.

◆ assign2product1()

template<class R >
template<class S , class T >
SSVectorBase< R > & assign2product1 ( const SVSetBase< S > & A,
const SSVectorBase< T > & x )
private

Assignment helper.

Definition at line 611 of file basevectors.h.

References DataArray< T >::clear(), DataArray< T >::DataArray(), and DataArray< T >::size().

◆ assign2product4setup()

template<class R >
template<class S , class T >
SSVectorBase< R > & assign2product4setup ( const SVSetBase< S > & A,
const SSVectorBase< T > & x,
Timer * timeSparse,
Timer * timeFull,
int & nCallsSparse,
int & nCallsFull )

Assigns SSVectorBase to \(A \cdot x\) for a setup x.

Definition at line 550 of file basevectors.h.

References DataArray< T >::DataArray().

◆ assign2productAndSetup()

template<class R >
template<class S , class T >
SSVectorBase< R > & assign2productAndSetup ( const SVSetBase< S > & A,
SSVectorBase< T > & x )

Assigns SSVectorBase to \(A \cdot x\) thereby setting up x.

Definition at line 805 of file basevectors.h.

References DataArray< T >::clear(), DataArray< T >::DataArray(), DataArray< T >::isConsistent(), and DataArray< T >::size().

◆ assign2productFull()

template<class R >
template<class S , class T >
SSVectorBase< R > & assign2productFull ( const SVSetBase< S > & A,
const SSVectorBase< T > & x )
private

Assignment helper.

Definition at line 761 of file basevectors.h.

References DataArray< T >::clear(), DataArray< T >::DataArray(), and DataArray< T >::size().

◆ assign2productShort()

template<class R >
template<class S , class T >
SSVectorBase< R > & assign2productShort ( const SVSetBase< S > & A,
const SSVectorBase< T > & x )
private

◆ assignPWproduct4setup()

template<class R >
template<class S , class T >
SSVectorBase< R > & assignPWproduct4setup ( const SSVectorBase< S > & x,
const SSVectorBase< T > & y )

Assigns pair wise vector product to SSVectorBase.

Assigns pair wise vector product of setup x and setup y to SSVectorBase.

Definition at line 458 of file basevectors.h.

References DataArray< T >::clear(), DataArray< T >::DataArray(), and DataArray< T >::size().

◆ clear()

◆ clearIdx()

template<class R >
void clearIdx ( int i)

◆ clearNum()

template<class R >
void clearNum ( int n)

Sets n 'th nonzero element to 0 (index n must exist).

Definition at line 279 of file ssvectorbase.h.

References SSVectorBase< R >::index(), SSVectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), and IdxSet::remove().

Referenced by SSVectorBase< R >::setValue().

◆ dim()

template<class R >
int dim ( ) const

Dimension of VectorBase.

Definition at line 573 of file ssvectorbase.h.

References VectorBase< R >::dim().

Referenced by SSVectorBase< R >::setup().

◆ forceSetup()

template<class R >
void forceSetup ( )

Forces setup status.

Definition at line 172 of file ssvectorbase.h.

References SSVectorBase< R >::setupStatus.

◆ get_ptr()

template<class R >
R * get_ptr ( )

Only used in slufactor.hpp.

Definition at line 109 of file ssvectorbase.h.

References VectorBase< R >::get_ptr().

◆ getEpsilon()

template<class R >
R getEpsilon ( ) const

Returns the non-zero epsilon used.

Definition at line 114 of file ssvectorbase.h.

References SSVectorBase< R >::epsilon.

◆ index()

◆ indexMem()

template<class R >
const int * indexMem ( ) const

Returns array indices.

Definition at line 303 of file ssvectorbase.h.

References IdxSet::idx.

◆ indices()

template<class R >
const IdxSet & indices ( ) const

Returns indices.

Definition at line 315 of file ssvectorbase.h.

◆ isConsistent()

◆ isSetup()

◆ length()

template<class R >
R length ( ) const

Floating point approximation of euclidian norm (without any approximation guarantee).

Definition at line 561 of file ssvectorbase.h.

References SSVectorBase< R >::length2(), and soplex::spxSqrt().

◆ length2()

template<class R >
R length2 ( ) const

Squared euclidian norm.

Definition at line 545 of file ssvectorbase.h.

References IdxSet::idx, SSVectorBase< R >::isSetup(), VectorBase< R >::length2(), and IdxSet::num.

Referenced by SSVectorBase< R >::length().

◆ maxAbs()

template<class R >
R maxAbs ( ) const

Maximum absolute value, i.e., infinity norm.

Definition at line 524 of file ssvectorbase.h.

References IdxSet::idx, SSVectorBase< R >::isSetup(), VectorBase< R >::maxAbs(), IdxSet::num, and soplex::spxAbs().

◆ multAdd() [1/2]

template<class R >
template<class S , class T >
SSVectorBase< R > & multAdd ( S x,
const VectorBase< T > & vec )

◆ multAdd() [2/2]

template<class R >
template<class S , class T >
SSVectorBase< R > & multAdd ( S xx,
const SVectorBase< T > & vec )

Addition of a scaled vector.

Todo
SSVectorBase::multAdd() should be rewritten without pointer arithmetic.
Todo
SSVectorBase::multAdd() should be rewritten without pointer arithmetic.

Definition at line 389 of file basevectors.h.

References DataArray< T >::DataArray(), and DataArray< T >::size().

◆ operator*()

◆ operator*=()

◆ operator+=() [1/3]

◆ operator+=() [2/3]

template<class R >
template<class S >
SSVectorBase< R > & operator+= ( const SVectorBase< S > & vec)

Addition.

Definition at line 350 of file basevectors.h.

◆ operator+=() [3/3]

◆ operator-=() [1/3]

◆ operator-=() [2/3]

template<class R >
template<class S >
SSVectorBase< R > & operator-= ( const SVectorBase< S > & vec)

Subtraction.

Definition at line 369 of file basevectors.h.

References VectorBase< R >::operator-=().

◆ operator-=() [3/3]

◆ operator=() [1/4]

◆ operator=() [2/4]

◆ operator=() [3/4]

template<class R >
template<class S >
SSVectorBase< R > & operator= ( const SVectorBase< S > & rhs)

Assignment operator.

Definition at line 931 of file basevectors.h.

References DataArray< T >::clear().

◆ operator=() [4/4]

template<class R >
template<class S >
SSVectorBase< R > & operator= ( const VectorBase< S > & rhs)

Assignment operator.

Definition at line 882 of file ssvectorbase.h.

References SSVectorBase< R >::isConsistent(), VectorBase< R >::operator=(), and SSVectorBase< R >::unSetup().

◆ operator[]()

template<class R >
R operator[] ( int i) const

Returns i 'th value.

Definition at line 297 of file ssvectorbase.h.

◆ pos()

template<class R >
int pos ( int i) const

Finds the position of index i in the IdxSet, or -1 if i doesn't exist.

Definition at line 201 of file ssvectorbase.h.

References SSVectorBase< R >::isSetup(), and IdxSet::pos().

Referenced by SSVectorBase< R >::add(), SSVectorBase< R >::clearIdx(), SSVectorBase< R >::isConsistent(), and SSVectorBase< R >::setValue().

◆ reDim()

template<class R >
void reDim ( int newdim)

◆ reMem()

template<class R >
void reMem ( int newsize)

Resets memory consumption to newsize.

Definition at line 604 of file ssvectorbase.h.

References SSVectorBase< R >::isConsistent(), VectorBase< R >::reSize(), and SSVectorBase< R >::setMax().

◆ scaleValue()

template<class R >
void scaleValue ( int i,
int scaleExp )

Scale i 'th element by a.

Definition at line 252 of file ssvectorbase.h.

References SSVectorBase< R >::isConsistent().

◆ setEpsilon()

template<class R >
void setEpsilon ( R eps)

Changes the non-zero epsilon, invalidating the setup. *‍/.

Definition at line 120 of file ssvectorbase.h.

References SSVectorBase< R >::epsilon, and SSVectorBase< R >::setupStatus.

◆ setMax()

template<class R >
void setMax ( int newmax)
private

◆ setSize()

template<class R >
void setSize ( int n)

Sets number of nonzeros (thereby unSetup SSVectorBase).

Definition at line 594 of file ssvectorbase.h.

References IdxSet::max(), IdxSet::num, and SSVectorBase< R >::unSetup().

◆ setup()

◆ setup_and_assign()

◆ setValue()

◆ size()

◆ unSetup()

◆ value()

template<class R >
R value ( int n) const

Returns value of the n 'th nonzero element.

Definition at line 192 of file ssvectorbase.h.

References IdxSet::idx, SSVectorBase< R >::isSetup(), and SSVectorBase< R >::size().

◆ values()

template<class R >
const R * values ( ) const

Returns array values.

Definition at line 309 of file ssvectorbase.h.

Friends And Related Symbol Documentation

◆ DSVectorBase

template<class R >
template<class S >
friend class DSVectorBase
friend

Definition at line 62 of file ssvectorbase.h.

◆ VectorBase< R >

template<class R >
friend class VectorBase< R >
friend

Definition at line 1 of file ssvectorbase.h.

Member Data Documentation

◆ epsilon

◆ setupStatus