algebramix_doc 0.3
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 282 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 290 of file series_carry_blocks.hpp.

                                                                              :
    Series_rep (CF(f2)), f(f2), x(x2), h1_init (false) {
    h0= Op::op (f, x); }
binary_scalar_recursive_monoblock_series_rep ( const series< M, V > &  f2,
const X &  x2,
const M &  init 
) [inline]

Definition at line 293 of file series_carry_blocks.hpp.

                                                              :
    Series_rep (CF(f2)), f(f2), x(x2), h1_init (false) {
    h0= Op::op (f, x, init); }

Member Function Documentation

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

Definition at line 297 of file series_carry_blocks.hpp.

References mmx::flatten().

                                                  {
    return apply (Op::name (), flatten (f, z), flatten (x)); }
virtual void Increase_order ( nat  l) [inline, virtual]

Definition at line 299 of file series_carry_blocks.hpp.

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

                                      {
    Series_rep::Increase_order (l);
    if (l <= t)
      increase_order (h0, l);
    else {
      if (! h1_init) {
        Monoblock_modular init= as<Lift_type(M)> (truncate (h0, s));
        h1= from_monoblock (Op::op_init (to_monoblock (f, blocker), x, init),
                            blocker);
        h1_init= true;
      }
      increase_order (h1, l); } }
M next ( ) [inline]

Definition at line 311 of file series_carry_blocks.hpp.

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

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines