sofa::component::linearsolver::FullVector< T > Class Template Reference

#include <FullVector.h>

Inheritance diagram for sofa::component::linearsolver::FullVector< T >:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::linearsolver::FullVector< T >:

Collaboration graph
[legend]

Public Types

typedef T Real
typedef int Index
typedef T * Iterator
typedef const T * ConstIterator
typedef Real value_type
typedef Index size_type
typedef Iterator iterator
typedef ConstIterator const_iterator

Public Member Functions

 FullVector ()
 FullVector (Index n)
 FullVector (T *ptr, Index n)
 FullVector (T *ptr, Index n, Index nmax)
virtual ~FullVector ()
T * ptr ()
const T * ptr () const
void setptr (T *p)
Index capacity () const
Iterator begin ()
Iterator end ()
ConstIterator begin () const
ConstIterator end () const
void fastResize (int dim)
void resize (int dim)
 Resize the vector, and reset all values to 0.
void clear ()
 Reset all values to 0.
T & operator[] (Index i)
const T & operator[] (Index i) const
SReal element (int i) const
 Read the value of element i.
void set (int i, SReal v)
 Write the value of element i.
void add (int i, SReal v)
 Add v to the existing value of element i.
int size () const
 Number of elements.
FullVector< T > sub (int i, int n)
template<class TV >
void getsub (int i, int n, TV &v)
template<class TV >
void setsub (int i, int n, const TV &v)
void operator= (const FullVector< T > &a)
 v = a
void operator= (T a)
template<typename Real2 >
void operator+= (const FullVector< Real2 > &a)
 v += a
template<typename Real2 , typename Real3 >
void peq (const FullVector< Real2 > &a, Real3 f)
 v += a*f
template<typename Real2 >
void operator*= (Real2 f)
 v *= f
Real dot (const FullVector< Real > &a) const
double norm () const

Protected Attributes

T * data
Index cursize
Index allocsize

Friends

std::ostream & operator<< (std::ostream &out, const FullVector< Real > &v)

Detailed Description

template<typename T>
class sofa::component::linearsolver::FullVector< T >

Definition at line 41 of file FullVector.h.


Member Typedef Documentation

Definition at line 52 of file FullVector.h.

template<typename T >
typedef const T* sofa::component::linearsolver::FullVector< T >::ConstIterator

Definition at line 47 of file FullVector.h.

template<typename T >
typedef int sofa::component::linearsolver::FullVector< T >::Index

Definition at line 45 of file FullVector.h.

template<typename T >
typedef Iterator sofa::component::linearsolver::FullVector< T >::iterator

Definition at line 51 of file FullVector.h.

template<typename T >
typedef T* sofa::component::linearsolver::FullVector< T >::Iterator

Definition at line 46 of file FullVector.h.

template<typename T >
typedef T sofa::component::linearsolver::FullVector< T >::Real

Definition at line 44 of file FullVector.h.

template<typename T >
typedef Index sofa::component::linearsolver::FullVector< T >::size_type

Definition at line 50 of file FullVector.h.

template<typename T >
typedef Real sofa::component::linearsolver::FullVector< T >::value_type

Definition at line 49 of file FullVector.h.


Constructor & Destructor Documentation

template<typename T >
sofa::component::linearsolver::FullVector< T >::FullVector (  )  [inline]

Definition at line 60 of file FullVector.h.

template<typename T >
sofa::component::linearsolver::FullVector< T >::FullVector ( Index  n  )  [inline, explicit]

Definition at line 65 of file FullVector.h.

template<typename T >
sofa::component::linearsolver::FullVector< T >::FullVector ( T *  ptr,
Index  n 
) [inline]

Definition at line 70 of file FullVector.h.

template<typename T >
sofa::component::linearsolver::FullVector< T >::FullVector ( T *  ptr,
Index  n,
Index  nmax 
) [inline]

Definition at line 75 of file FullVector.h.

template<typename T >
virtual sofa::component::linearsolver::FullVector< T >::~FullVector (  )  [inline, virtual]

Definition at line 80 of file FullVector.h.


Member Function Documentation

template<typename T >
void sofa::component::linearsolver::FullVector< T >::add ( int  i,
SReal  v 
) [inline, virtual]

Add v to the existing value of element i.

Implements sofa::defaulttype::BaseVector.

Definition at line 155 of file FullVector.h.

template<typename T >
ConstIterator sofa::component::linearsolver::FullVector< T >::begin (  )  const [inline]

Definition at line 96 of file FullVector.h.

template<typename T >
Iterator sofa::component::linearsolver::FullVector< T >::begin (  )  [inline]

template<typename T >
Index sofa::component::linearsolver::FullVector< T >::capacity (  )  const [inline]

Definition at line 91 of file FullVector.h.

template<typename T >
void sofa::component::linearsolver::FullVector< T >::clear (  )  [inline, virtual]

Reset all values to 0.

Implements sofa::defaulttype::BaseVector.

Definition at line 129 of file FullVector.h.

Referenced by sofa::component::linearsolver::FullVector< double >::resize().

template<typename T >
Real sofa::component::linearsolver::FullVector< T >::dot ( const FullVector< Real > &  a  )  const [inline]

Returns:
v.a

Definition at line 220 of file FullVector.h.

Referenced by sofa::component::linearsolver::FullVector< double >::norm().

template<typename T >
SReal sofa::component::linearsolver::FullVector< T >::element ( int  i  )  const [inline, virtual]

Read the value of element i.

Implements sofa::defaulttype::BaseVector.

Definition at line 145 of file FullVector.h.

template<typename T >
ConstIterator sofa::component::linearsolver::FullVector< T >::end (  )  const [inline]

Definition at line 97 of file FullVector.h.

template<typename T >
Iterator sofa::component::linearsolver::FullVector< T >::end (  )  [inline]

template<typename T >
void sofa::component::linearsolver::FullVector< T >::fastResize ( int  dim  )  [inline]

template<typename T >
template<class TV >
void sofa::component::linearsolver::FullVector< T >::getsub ( int  i,
int  n,
TV &  v 
) [inline]

Definition at line 171 of file FullVector.h.

template<typename T >
double sofa::component::linearsolver::FullVector< T >::norm (  )  const [inline]

Returns:
sqrt(v.v)

Definition at line 229 of file FullVector.h.

template<typename T >
template<typename Real2 >
void sofa::component::linearsolver::FullVector< T >::operator*= ( Real2  f  )  [inline]

v *= f

Definition at line 213 of file FullVector.h.

template<typename T >
template<typename Real2 >
void sofa::component::linearsolver::FullVector< T >::operator+= ( const FullVector< Real2 > &  a  )  [inline]

v += a

Definition at line 197 of file FullVector.h.

template<typename T >
void sofa::component::linearsolver::FullVector< T >::operator= ( T  a  )  [inline]

Definition at line 189 of file FullVector.h.

template<typename T >
void sofa::component::linearsolver::FullVector< T >::operator= ( const FullVector< T > &  a  )  [inline]

v = a

Definition at line 183 of file FullVector.h.

template<typename T >
const T& sofa::component::linearsolver::FullVector< T >::operator[] ( Index  i  )  const [inline]

Definition at line 140 of file FullVector.h.

template<typename T >
T& sofa::component::linearsolver::FullVector< T >::operator[] ( Index  i  )  [inline]

Definition at line 135 of file FullVector.h.

template<typename T >
template<typename Real2 , typename Real3 >
void sofa::component::linearsolver::FullVector< T >::peq ( const FullVector< Real2 > &  a,
Real3  f 
) [inline]

v += a*f

Definition at line 205 of file FullVector.h.

template<typename T >
const T* sofa::component::linearsolver::FullVector< T >::ptr (  )  const [inline]

Definition at line 87 of file FullVector.h.

template<typename T >
T* sofa::component::linearsolver::FullVector< T >::ptr (  )  [inline]

template<typename T >
void sofa::component::linearsolver::FullVector< T >::resize ( int  dim  )  [inline, virtual]

template<typename T >
void sofa::component::linearsolver::FullVector< T >::set ( int  i,
SReal  v 
) [inline, virtual]

Write the value of element i.

Implements sofa::defaulttype::BaseVector.

Definition at line 150 of file FullVector.h.

template<typename T >
void sofa::component::linearsolver::FullVector< T >::setptr ( T *  p  )  [inline]

Definition at line 89 of file FullVector.h.

template<typename T >
template<class TV >
void sofa::component::linearsolver::FullVector< T >::setsub ( int  i,
int  n,
const TV &  v 
) [inline]

Definition at line 177 of file FullVector.h.

template<typename T >
int sofa::component::linearsolver::FullVector< T >::size (  )  const [inline, virtual]

template<typename T >
FullVector<T> sofa::component::linearsolver::FullVector< T >::sub ( int  i,
int  n 
) [inline]

Definition at line 165 of file FullVector.h.


Friends And Related Function Documentation

template<typename T >
std::ostream& operator<< ( std::ostream &  out,
const FullVector< Real > &  v 
) [friend]

Definition at line 234 of file FullVector.h.


Field Documentation

template<typename T >
Index sofa::component::linearsolver::FullVector< T >::allocsize [protected]

template<typename T >
Index sofa::component::linearsolver::FullVector< T >::cursize [protected]

template<typename T >
T* sofa::component::linearsolver::FullVector< T >::data [protected]


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

Generated on Sun Nov 23 04:20:28 2008 for Sofa by  doxygen 1.5.7.1