theplu::yat::utility::VectorBase Class Reference

This is the yat interface to GSL vector. More...

#include <yat/utility/VectorBase.h>

Inheritance diagram for theplu::yat::utility::VectorBase:

theplu::yat::utility::VectorConstView theplu::yat::utility::VectorMutable theplu::yat::utility::Vector theplu::yat::utility::VectorView

List of all members.

Public Types

typedef double value_type
typedef const double & const_reference
typedef StrideIterator< const
double * > 
const_iterator
 VectorBase::const_iterator.

Public Member Functions

 VectorBase (const gsl_vector *v=NULL)
 Constructor.
virtual ~VectorBase (void)
const_iterator begin (void) const
const_iterator end (void) const
bool equal (const VectorBase &, const double precision=0) const
 Check whether VectorBases are equal within a user defined precision, set by precision.
const gsl_vector * gsl_vector_p (void) const
virtual bool isview (void) const =0
size_t size (void) const
const double & operator() (size_t i) const
 Element access operator.
bool operator== (const VectorBase &) const
 Comparison operator. Takes linear time.
bool operator!= (const VectorBase &) const
 Comparison operator. Takes linear time.
double operator* (const VectorBase &) const

Protected Attributes

const gsl_vector * const_vec_
 pointer to underlying GSL vector


Detailed Description

This is the yat interface to GSL vector.

This is an interface class for vectors containing the const interface. For mutable functionality see VectorMutable.


Member Typedef Documentation

value_type is double

Since:
New in yat 0.5

const_reference type is const double&

Since:
New in yat 0.5


Constructor & Destructor Documentation

virtual theplu::yat::utility::VectorBase::~VectorBase ( void   )  [virtual]

The destructor.


Member Function Documentation

const_iterator theplu::yat::utility::VectorBase::begin ( void   )  const

Returns:
read-only iterator to start of VectorBase

const_iterator theplu::yat::utility::VectorBase::end ( void   )  const

Returns:
read-only iterator to end of VectorBase

bool theplu::yat::utility::VectorBase::equal ( const VectorBase ,
const double  precision = 0 
) const

Check whether VectorBases are equal within a user defined precision, set by precision.

Returns:
True if each element deviates less or equal than d. If any VectorBase contain a NaN, false is always returned.
See also:
operator== and operator!=

const gsl_vector* theplu::yat::utility::VectorBase::gsl_vector_p ( void   )  const

Returns:
A const pointer to the internal GSL vector,

virtual bool theplu::yat::utility::VectorBase::isview ( void   )  const [pure virtual]

Check if the vector object is a view (sub-vector) to another vector.

Returns:
True if the object is a view, false othwerwise.

Implemented in theplu::yat::utility::Vector, theplu::yat::utility::VectorConstView, theplu::yat::utility::VectorMutable, and theplu::yat::utility::VectorView.

size_t theplu::yat::utility::VectorBase::size ( void   )  const

Returns:
number of elements in the VectorBase.

const double& theplu::yat::utility::VectorBase::operator() ( size_t  i  )  const

Element access operator.

Returns:
Const reference to element i.
Exceptions:
If GSL range checks are enabled in the underlying GSL library a GSL_error exception is thrown if either index is out of range.

bool theplu::yat::utility::VectorBase::operator== ( const VectorBase  )  const

Comparison operator. Takes linear time.

Checks are performed with exact matching, i.e., rounding off effects may destroy comparison. Use the equal function for comparing elements within a user defined precision.

Returns:
True if all elements are equal otherwise false.
See also:
equal(const VectorBase&, const double precision=0)

bool theplu::yat::utility::VectorBase::operator!= ( const VectorBase  )  const

Comparison operator. Takes linear time.

Checks are performed with exact matching, i.e., rounding off effects may destroy comparison. Use the equal function for comparing elements within a user defined precision.

Returns:
False if all elements are equal otherwise true.
See also:
equal(const VectorBase&, const double precision=0)

double theplu::yat::utility::VectorBase::operator* ( const VectorBase  )  const

Returns:
The dot product.


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

Generated on Tue Jan 18 02:20:11 2011 for yat by  doxygen 1.5.5