unary_recursive_analytic_rep< Op, C, V > Class Template Reference

#include <analytic.hpp>

Inheritance diagram for unary_recursive_analytic_rep< Op, C, V >:
recursive_analytic_rep< C, V > analytic_rep

List of all members.

Public Member Functions

Protected Attributes

Friends


Detailed Description

template<typename Op, typename C, typename V>
class mmx::unary_recursive_analytic_rep< Op, C, V >

Definition at line 1084 of file analytic.hpp.


Constructor & Destructor Documentation

unary_recursive_analytic_rep ( const analytic< C, V > &  f2  )  [inline]

Definition at line 1090 of file analytic.hpp.

01090                                                           :
01091     Recursive_analytic_rep (CF(f2)), f (f2), with_init (false) {}
  inline unary_recursive_analytic_rep (const Analytic& f2, const C& c2):

unary_recursive_analytic_rep ( const analytic< C, V > &  f2,
const C c2 
) [inline]

Definition at line 1092 of file analytic.hpp.

01092                                                                        :
01093     Recursive_analytic_rep (CF(f2)), f (f2), with_init (true), c (c2) {}
  void Clear_cache (nat which) const {


Member Function Documentation

virtual Abs_type ( C   )  const [inline, virtual, inherited]

Definition at line 888 of file analytic.hpp.

00888                                                                      {
00889     void* code= (void*) this;
00890     R zero= promote (0, r) * abs (init); // get right dimensions in vector case
00891     if (!a.assumption->contains (code))
00892       a.assumption [code]= unvectorize<R>::encode (zero);
00893     this->cache->assumption [order]= a.serial;
00894     this->cache->tail_bound [order]=
00895       unvectorize<R>::decode (read (a.assumption, code), zero);
00896     R bnd= tail_bound (this->equa, r, order, a);
00897     if (order == 0) bnd += abs (this->initial ());
00898     this->cache->tail_bound [order]= bnd; // redundant, but for security
00899     a.conclusion [code]= unvectorize<R>::encode (bnd);
00900     return bnd; }

void Clear_cache ( nat  which  )  const [inline, virtual]

Reimplemented from recursive_analytic_rep< C, V >.

Definition at line 1094 of file analytic.hpp.

References mmx::clear_cache().

01094                                      {
01095     Recursive_analytic_rep::Clear_cache (which);
01096     clear_cache (f, which); }

analytic<C,V> Derive (  )  const [inline]

Definition at line 1116 of file analytic.hpp.

References mmx::me.

01116                            {
01117     return Op::diff_op (this->me (), f); }

analytic<C,V> Equation (  )  const [inline, virtual]

Implements recursive_analytic_rep< C, V >.

Definition at line 1103 of file analytic.hpp.

References mmx::me.

01103                              {
01104     return Op::def (this->me (), f); }

C Eval ( const typename unvectorize< C >::val &  z  )  const [inline]

Definition at line 1112 of file analytic.hpp.

References mmx::default_eval(), mmx::eval(), mmx::me, and unary_recursive_analytic_rep< Op, C, V >::with_init.

01112                                  {
01113     if (with_init) return default_eval (this->me (), z);
01114     // if (with_init) return Op::op_init (eval (f, z), c);
01115     else return Op::op (eval (f, z)); }

series<C> Expand (  )  const [inline]

Definition at line 1105 of file analytic.hpp.

References unary_recursive_analytic_rep< Op, C, V >::c, mmx::expand(), and unary_recursive_analytic_rep< Op, C, V >::with_init.

01105                          {
01106     if (with_init) return Op::op_init (expand (f), c);
01107     else return Op::op (expand (f)); }

syntactic expression ( const syntactic &  z  )  const [inline, virtual]

Reimplemented from recursive_analytic_rep< C, V >.

Definition at line 1097 of file analytic.hpp.

References unary_recursive_analytic_rep< Op, C, V >::c, mmx::flatten(), and unary_recursive_analytic_rep< Op, C, V >::with_init.

01097                                                   {
01098     if (with_init) return Op::op_init (flatten (f, z), flatten (c));
01099     else return Op::op (flatten (f, z)); }

C Initial (  )  const [inline, virtual]

Implements recursive_analytic_rep< C, V >.

Definition at line 1100 of file analytic.hpp.

References unary_recursive_analytic_rep< Op, C, V >::c, mmx::expand(), and unary_recursive_analytic_rep< Op, C, V >::with_init.

01100                      {
01101     if (with_init) return c;
01102     else return Op::op (expand (f) [0]); }

analytic<C,V> Move ( const typename unvectorize< C >::val &  z  )  const [inline]

Definition at line 1108 of file analytic.hpp.

References mmx::eval(), mmx::me, and mmx::move().

01108                                         {
01109     return Op::op_init (move (f, z), eval (this->me (), z)); }


Friends And Related Function Documentation

friend class recursive_container_analytic_rep< C, V > [friend, inherited]

Definition at line 901 of file analytic.hpp.


Member Data Documentation

C c [protected]
analytic<C,V> equa [protected, inherited]

Definition at line 877 of file analytic.hpp.

analytic<C,V> f [protected]

Definition at line 1086 of file analytic.hpp.

C init [protected, inherited]

Definition at line 876 of file analytic.hpp.

bool with_init [protected]

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

Generated on 6 Dec 2012 for continewz by  doxygen 1.6.1