binary_scalar_recursive_monoblock_series_rep< Op, M, V, s, BV, t, X > Class Template Reference

#include <series_carry_blocks.hpp>

Inheritance diagram for binary_scalar_recursive_monoblock_series_rep< Op, M, V, s, BV, t, X >:
series_rep

List of all members.

Public Member Functions


Detailed Description

template<typename Op, typename M, typename V, nat s, typename BV, nat t, typename X>
class mmx::binary_scalar_recursive_monoblock_series_rep< Op, M, V, s, BV, t, X >

Definition at line 333 of file series_carry_blocks.hpp.


Constructor & Destructor Documentation

binary_scalar_recursive_monoblock_series_rep ( const series< M, V > &  f2,
const X &  x2 
) [inline]

Definition at line 341 of file series_carry_blocks.hpp.

00341                                                                               :
00342     Series_rep (CF(f2)), f(f2), x(x2), h1_init (false) {
00343     h0= Op::op (f, x); }
  binary_scalar_recursive_monoblock_series_rep (const Series& f2, const X& x2,

binary_scalar_recursive_monoblock_series_rep ( const series< M, V > &  f2,
const X &  x2,
const M &  init 
) [inline]

Definition at line 344 of file series_carry_blocks.hpp.

00345                                                               :
00346     Series_rep (CF(f2)), f(f2), x(x2), h1_init (false) {
00347     h0= Op::op (f, x, init); }
  syntactic expression (const syntactic& z) const {


Member Function Documentation

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

Definition at line 348 of file series_carry_blocks.hpp.

References mmx::flatten().

00348                                                   {
00349     return apply (Op::name (), flatten (f, z), flatten (x)); }

virtual void Increase_order ( nat  l  )  [inline, virtual]

Definition at line 350 of file series_carry_blocks.hpp.

References mmx::from_monoblock(), mmx::increase_order(), Monoblock_modular, mmx::to_monoblock(), and mmx::truncate().

00350                                       {
00351     Series_rep::Increase_order (l);
00352     if (l <= t)
00353       increase_order (h0, l);
00354     else {
00355       if (! h1_init) {
00356         Monoblock_modular init= as<Lift_type(M)> (truncate (h0, s));
00357         h1= from_monoblock (Op::op_init (to_monoblock (f, blocker), x, init),
00358                             blocker);
00359         h1_init= true;
00360       }
00361       increase_order (h1, l); } }

M next (  )  [inline]

Definition at line 362 of file series_carry_blocks.hpp.

00362             {
00363     return this->n < t ? h0[this->n] : h1[this->n]; }


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

Generated on 20 Mar 2013 for algebramix by  doxygen 1.6.1