Public Types | Public Member Functions | Protected Attributes

mln::accu::rms< T, V > Struct Template Reference
[On values]

Generic root mean square accumulator class. More...

#include <rms.hh>

Inheritance diagram for mln::accu::rms< T, V >:
Inheritance graph

List of all members.

Public Types

typedef T argument
typedef Accumulator< void > category
typedef rms< T, V > exact_t
typedef V q_result
typedef mln::metal::unqualif
< V >::ret 
result

Public Member Functions

hook_value_ () const
 Return the underlying value used to compute the result.
bool is_valid () const
 Check whether this accu is able to return a result.
 rms ()
subj_ ()
void take_as_init (const T &t)
 Take as initialization the value t.
void take_as_init_ (const T &t)
 Default implementation of "take as initialization".
void take_n_times (unsigned n, const T &t)
 Take n times the value t.
void take_n_times_ (unsigned n, const T &t)
 Default implementation of "take n times".
to_result () const
 Get the value of the accumulator.

void init ()
 Manipulators.
void take_as_init_ (const T &p)
void take (const T &p)
void take (const rms< T, V > &other)

Protected Attributes

unsigned count_
v_

Detailed Description

template<typename T, typename V>
struct mln::accu::rms< T, V >

Generic root mean square accumulator class.

The parameter T is the type of the root mean square value.

Definition at line 52 of file accu/rms.hh.


Member Typedef Documentation

template<typename T, typename V>
typedef T mln::accu::rms< T, V >::argument

Definition at line 54 of file accu/rms.hh.

typedef Accumulator<void> mln::Accumulator< rms< T, V > >::category [inherited]

Reimplemented from mln::Proxy< rms< T, V > >.

Definition at line 80 of file accumulator.hh.

typedef rms< T, V > mln::Object< rms< T, V > >::exact_t [inherited]

Definition at line 173 of file object.hh.

typedef V mln::accu::internal::base< V , rms< T, V > >::q_result [inherited]

Definition at line 58 of file base.hh.

typedef mln::metal::unqualif< V >::ret mln::accu::internal::base< V , rms< T, V > >::result [inherited]

Definition at line 59 of file base.hh.


Constructor & Destructor Documentation

template<typename T , typename V >
mln::accu::rms< T, V >::rms (  )  [inline]

Definition at line 104 of file accu/rms.hh.

References mln::accu::rms< T, V >::init().


Member Function Documentation

template<typename T , typename V >
V mln::accu::rms< T, V >::hook_value_ (  )  const [inline]

Return the underlying value used to compute the result.

v = sum(t * t);

Definition at line 158 of file accu/rms.hh.

References mln::accu::rms< T, V >::v_.

Referenced by mln::registration::compute_standard_deviation().

template<typename T , typename V >
void mln::accu::rms< T, V >::init (  )  [inline]

Manipulators.

Definition at line 112 of file accu/rms.hh.

References mln::accu::rms< T, V >::count_, mln::accu::rms< T, V >::v_, and mln::literal::zero.

Referenced by mln::accu::rms< T, V >::rms().

template<typename T , typename V >
bool mln::accu::rms< T, V >::is_valid (  )  const [inline]

Check whether this accu is able to return a result.

Always true here.

Definition at line 166 of file accu/rms.hh.

V mln::accu::internal::base< V , rms< T, V > >::subj_ (  )  [inherited]
template<typename T , typename V >
void mln::accu::rms< T, V >::take ( const rms< T, V > &  other  )  [inline]

Definition at line 139 of file accu/rms.hh.

References mln::accu::rms< T, V >::count_, and mln::accu::rms< T, V >::v_.

template<typename T , typename V >
void mln::accu::rms< T, V >::take ( const T &  p  )  [inline]
void mln::Accumulator< rms< T, V > >::take_as_init ( const T &  t  )  [inherited]

Take as initialization the value t.

Dev note: this is a final method; override if needed by take_as_init_ (ending with '_').

template<typename T , typename V >
void mln::accu::rms< T, V >::take_as_init_ ( const T &  p  )  [inline]

Definition at line 121 of file accu/rms.hh.

References mln::accu::rms< T, V >::count_, and mln::accu::rms< T, V >::v_.

void mln::Accumulator< rms< T, V > >::take_as_init_ ( const T &  t  )  [inherited]

Default implementation of "take as initialization".

void mln::Accumulator< rms< T, V > >::take_n_times ( unsigned  n,
const T &  t 
) [inherited]

Take n times the value t.

Dev note: this is a final method; override if needed by take_as_init_ (ending with '_').

void mln::Accumulator< rms< T, V > >::take_n_times_ ( unsigned  n,
const T &  t 
) [inherited]

Default implementation of "take n times".

template<typename T , typename V >
V mln::accu::rms< T, V >::to_result (  )  const [inline]

Member Data Documentation

template<typename T, typename V>
unsigned mln::accu::rms< T, V >::count_ [protected]
template<typename T, typename V>
V mln::accu::rms< T, V >::v_ [protected]