mln::accu::math::sum< T, S > Struct Template Reference
[On values]

Generic sum accumulator class. More...

#include <sum.hh>

Inheritance diagram for mln::accu::math::sum< T, S >:

Inheritance graph

List of all members.

Public Types

typedef T argument
typedef Accumulator< void > category
typedef E exact_t
typedef R q_result
typedef mln::metal::unqualif
< R >::ret 
result

Public Member Functions

bool is_valid () const
 Check whether this accu is able to return a result.
subj_ ()
 sum ()
template<typename T>
void take_as_init (const T &t)
 Take as initialization the value t.
template<typename T>
void take_n_times (unsigned n, const T &t)
 Take n times the value t.
template<typename T>
void take_n_times_ (unsigned n, const T &t)
 Default implementation of "take n times".
const S & to_result () const
 Get the value of the accumulator.
void init ()
 Manipulators.
void set_value (const S &s)
void take (const sum< T, S > &other)
void take (const argument &t)
void take_as_init_ (const argument &t)
 Default implementation of "take as initialization".
void untake (const sum< T, S > &other)
void untake (const argument &t)

Protected Attributes

s_


Detailed Description

template<typename T, typename S = typename mln::value::props< T >::sum>
struct mln::accu::math::sum< T, S >

Generic sum accumulator class.

Parameter T is the type of values that we sum. Parameter S is the type to store the value sum; the default type of S is the summation type (property) of T.

Definition at line 111 of file accu/math/sum.hh.


Member Typedef Documentation

template<typename T, typename S = typename mln::value::props< T >::sum>
typedef T mln::accu::math::sum< T, S >::argument

Definition at line 113 of file accu/math/sum.hh.

template<typename E>
typedef Accumulator<void> mln::Accumulator< E >::category [inherited]

Reimplemented from mln::Proxy< E >.

Definition at line 80 of file accumulator.hh.

template<typename E>
typedef E mln::Object< E >::exact_t [inherited]

Definition at line 172 of file object.hh.

template<typename R, typename E>
typedef R mln::accu::internal::base< R, E >::q_result [inherited]

Definition at line 58 of file base.hh.

template<typename R, typename E>
typedef mln::metal::unqualif< R >::ret mln::accu::internal::base< R, E >::result [inherited]


Constructor & Destructor Documentation

template<typename T, typename S>
mln::accu::math::sum< T, S >::sum (  )  [inline]

Definition at line 152 of file accu/math/sum.hh.

References mln::accu::math::sum< T, S >::init().


Member Function Documentation

template<typename T, typename S>
void mln::accu::math::sum< T, S >::init (  )  [inline]

Manipulators.

Definition at line 160 of file accu/math/sum.hh.

References mln::accu::math::sum< T, S >::s_, and mln::literal::zero.

Referenced by mln::accu::math::sum< T, S >::sum().

template<typename T, typename S>
bool mln::accu::math::sum< T, S >::is_valid (  )  const [inline]

Check whether this accu is able to return a result.

Always true here.

Definition at line 221 of file accu/math/sum.hh.

template<typename T, typename S>
void mln::accu::math::sum< T, S >::set_value ( const S &  s  )  [inline]

Definition at line 213 of file accu/math/sum.hh.

References mln::accu::math::sum< T, S >::s_.

template<typename R, typename E>
R base::subj_ (  )  [inline, inherited]

Definition at line 77 of file base.hh.

References mln::exact().

template<typename T, typename S>
void mln::accu::math::sum< T, S >::take ( const sum< T, S > &  other  )  [inline]

Definition at line 189 of file accu/math/sum.hh.

References mln::accu::math::sum< T, S >::s_.

template<typename T, typename S>
void mln::accu::math::sum< T, S >::take ( const argument t  )  [inline]

template<typename E>
template<typename T>
void mln::Accumulator< E >::take_as_init ( const T &  t  )  [inline, inherited]

Take as initialization the value t.

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

Reimplemented in mln::accu::stat::variance< T, S, R >.

Definition at line 186 of file accumulator.hh.

References mln::exact(), and mln::mln_exact().

Referenced by mln::morpho::elementary::impl::gradient_on_function(), and mln::morpho::elementary::impl::gradient_on_function_fastest().

template<typename T, typename S>
void mln::accu::math::sum< T, S >::take_as_init_ ( const argument t  )  [inline]

Default implementation of "take as initialization".

Reimplemented from mln::Accumulator< E >.

Definition at line 181 of file accu/math/sum.hh.

References mln::accu::math::sum< T, S >::s_.

template<typename E>
template<typename T>
void mln::Accumulator< E >::take_n_times ( unsigned  n,
const T &  t 
) [inline, inherited]

Take n times the value t.

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

Definition at line 213 of file accumulator.hh.

References mln::exact(), and mln::mln_exact().

template<typename E>
template<typename T>
void mln::Accumulator< E >::take_n_times_ ( unsigned  n,
const T &  t 
) [inline, inherited]

Default implementation of "take n times".

Reimplemented in mln::accu::stat::var< T >.

Definition at line 230 of file accumulator.hh.

References mln::exact().

template<typename T, typename S>
const S & mln::accu::math::sum< T, S >::to_result (  )  const [inline]

Get the value of the accumulator.

Definition at line 205 of file accu/math/sum.hh.

References mln::accu::math::sum< T, S >::s_.

template<typename T, typename S>
void mln::accu::math::sum< T, S >::untake ( const sum< T, S > &  other  )  [inline]

Definition at line 197 of file accu/math/sum.hh.

References mln::accu::math::sum< T, S >::s_.

template<typename T, typename S>
void mln::accu::math::sum< T, S >::untake ( const argument t  )  [inline]

Definition at line 174 of file accu/math/sum.hh.

References mln::accu::math::sum< T, S >::s_.


Member Data Documentation

template<typename T, typename S = typename mln::value::props< T >::sum>
S mln::accu::math::sum< T, S >::s_ [protected]


Generated on Sun Apr 25 01:57:30 2010 for Milena (Olena) by  doxygen 1.5.6