Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | Private Types

mln::algebra::vec< n, T > Class Template Reference

#include <vec.hh>

Inheritance diagram for mln::algebra::vec< n, T >:
Inheritance graph

List of all members.

Public Types

enum  { dim = n }
typedef Object< void > category
typedef T coord
typedef T enc [n]
typedef T equiv [n]
typedef vec< n, T > exact_t

Public Member Functions

const vec< n, T > & normalize ()
template<typename U >
 operator mat< n, 1, U > () const
 Conversion to a matrix.
template<typename U >
vecoperator= (const vec< n, U > &rhs)
template<typename U >
vecoperator= (const mat< n, 1, U > &rhs)
 Assignment from a matrix.
const T & operator[] (unsigned i) const
T & operator[] (unsigned i)
void set_all (const T &val)
unsigned size () const
mat< 1, n, T > t () const
 Transposition.
algebra::h_vec< n, T > to_h_vec () const
template<typename U >
 vec (const vec< n, U > &rhs)
 vec ()
 vec (const vec< n, T > &rhs)
template<typename U >
 vec (const mat< n, 1, U > &rhs)
 Construction from a matrix.
template<typename F >
 vec (const Function_v2v< F > &f)
 Constructor; coordinates are set by function f.

 vec (const literal::zero_t &)
 Constructors/assignments with literal::zero.
vecoperator= (const literal::zero_t &)

 vec (const literal::origin_t &)
 Constructors/assignments with literal::origin.
vecoperator= (const literal::origin_t &)

Static Public Attributes

static const vec< n, T > origin = all_to(0)
 Origin value.
static const vec< n, T > zero = all_to(0)
 Zero value.

Protected Attributes

data_ [n]

Private Types

typedef internal::vec_base_< n, T > super_

Detailed Description

template<unsigned n, typename T>
class mln::algebra::vec< n, T >

Definition at line 174 of file algebra/vec.hh.


Member Typedef Documentation

typedef Object<void> mln::Object< vec< n, T > >::category [inherited]

Definition at line 174 of file object.hh.

template<unsigned n, typename T>
typedef T mln::algebra::vec< n, T >::coord

Definition at line 186 of file algebra/vec.hh.

template<unsigned n, typename T>
typedef T mln::algebra::vec< n, T >::enc[n]

Definition at line 184 of file algebra/vec.hh.

template<unsigned n, typename T>
typedef T mln::algebra::vec< n, T >::equiv[n]

Definition at line 183 of file algebra/vec.hh.

typedef vec< n, T > mln::Object< vec< n, T > >::exact_t [inherited]

Definition at line 173 of file object.hh.

template<unsigned n, typename T>
typedef internal::vec_base_<n, T> mln::algebra::vec< n, T >::super_ [private]

Definition at line 176 of file algebra/vec.hh.


Member Enumeration Documentation

template<unsigned n, typename T>
anonymous enum
Enumerator:
dim 

Definition at line 187 of file algebra/vec.hh.


Constructor & Destructor Documentation

template<unsigned n, typename T >
mln::algebra::vec< n, T >::vec (  )  [inline]

Definition at line 441 of file algebra/vec.hh.

template<unsigned n, typename T >
mln::algebra::vec< n, T >::vec ( const literal::zero_t  )  [inline]

Constructors/assignments with literal::zero.

Definition at line 447 of file algebra/vec.hh.

References mln::algebra::vec< n, T >::set_all().

template<unsigned n, typename T >
mln::algebra::vec< n, T >::vec ( const literal::origin_t  )  [inline]

Constructors/assignments with literal::origin.

Definition at line 463 of file algebra/vec.hh.

References mln::algebra::vec< n, T >::set_all().

template<unsigned n, typename T>
mln::algebra::vec< n, T >::vec ( const vec< n, T > &  rhs  )  [inline]

Definition at line 479 of file algebra/vec.hh.

References mln::algebra::internal::vec_base_< n, T >::data_.

template<unsigned n, typename T >
template<typename U >
mln::algebra::vec< n, T >::vec ( const vec< n, U > &  rhs  )  [inline]

Definition at line 489 of file algebra/vec.hh.

References mln::algebra::internal::vec_base_< n, T >::data_.

template<unsigned n, typename T >
template<typename F >
mln::algebra::vec< n, T >::vec ( const Function_v2v< F > &  f  )  [inline]

Constructor; coordinates are set by function f.

Definition at line 553 of file algebra/vec.hh.

References mln::algebra::internal::vec_base_< n, T >::data_, and mln::exact().

template<unsigned n, typename T >
template<typename U >
mln::algebra::vec< n, T >::vec ( const mat< n, 1, U > &  rhs  )  [inline]

Construction from a matrix.

Definition at line 383 of file algebra/mat.hh.

References mln::algebra::internal::vec_base_< n, T >::data_, and mln::rhs.


Member Function Documentation

template<unsigned n, typename T >
const vec< n, T > & mln::algebra::vec< n, T >::normalize (  )  [inline]
template<unsigned n, typename T >
template<typename U >
mln::algebra::vec< n, T >::operator mat< n, 1, U > (  )  const [inline]

Conversion to a matrix.

Definition at line 368 of file algebra/mat.hh.

References mln::algebra::internal::vec_base_< n, T >::data_.

template<unsigned n, typename T >
vec< n, T > & mln::algebra::vec< n, T >::operator= ( const literal::origin_t  )  [inline]

Definition at line 471 of file algebra/vec.hh.

References mln::algebra::vec< n, T >::set_all().

template<unsigned n, typename T >
vec< n, T > & mln::algebra::vec< n, T >::operator= ( const literal::zero_t  )  [inline]

Definition at line 455 of file algebra/vec.hh.

References mln::algebra::vec< n, T >::set_all().

template<unsigned n, typename T >
template<typename U >
vec< n, T > & mln::algebra::vec< n, T >::operator= ( const vec< n, U > &  rhs  )  [inline]

Definition at line 500 of file algebra/vec.hh.

References mln::algebra::internal::vec_base_< n, T >::data_.

template<unsigned n, typename T >
template<typename U >
vec< n, T > & mln::algebra::vec< n, T >::operator= ( const mat< n, 1, U > &  rhs  )  [inline]

Assignment from a matrix.

Definition at line 394 of file algebra/mat.hh.

References mln::algebra::internal::vec_base_< n, T >::data_, and mln::rhs.

template<unsigned n, typename T >
T & mln::algebra::vec< n, T >::operator[] ( unsigned  i  )  [inline]
template<unsigned n, typename T >
const T & mln::algebra::vec< n, T >::operator[] ( unsigned  i  )  const [inline]
template<unsigned n, typename T>
void mln::algebra::vec< n, T >::set_all ( const T &  val  )  [inline]
template<unsigned n, typename T >
unsigned mln::algebra::vec< n, T >::size (  )  const [inline]

Definition at line 534 of file algebra/vec.hh.

template<unsigned n, typename T >
mat< 1, n, T > mln::algebra::vec< n, T >::t (  )  const [inline]

Transposition.

Definition at line 858 of file algebra/mat.hh.

References mln::algebra::internal::vec_base_< n, T >::data_.

template<unsigned n, typename T >
h_vec< n, T > mln::algebra::vec< n, T >::to_h_vec (  )  const [inline]

Member Data Documentation

template<unsigned n, typename T>
T mln::algebra::internal::vec_base_< n, T >::data_[n] [protected, inherited]
template<unsigned n, typename T>
const vec< n, T > mln::algebra::vec< n, T >::origin = all_to(0) [static]

Origin value.

Definition at line 247 of file algebra/vec.hh.

template<unsigned n, typename T>
const vec< n, T > mln::algebra::vec< n, T >::zero = all_to(0) [static]

Zero value.

Definition at line 244 of file algebra/vec.hh.