algebramix_doc 0.3
binary_monoblock_series_rep< Op, M, V, s, BV, t > Class Template Reference

#include <series_carry_blocks.hpp>

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

List of all members.

Public Member Functions


Detailed Description

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

Definition at line 195 of file series_carry_blocks.hpp.


Constructor & Destructor Documentation

binary_monoblock_series_rep ( const series< M, V > &  f2,
const series< M, V > &  g2 
) [inline]

Definition at line 202 of file series_carry_blocks.hpp.

                                                                  :
    Series_rep (CF(f2)), f(f2), g(g2), h1_init (false) {
    h0= Op::op (f, g); }

Member Function Documentation

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

Definition at line 205 of file series_carry_blocks.hpp.

References mmx::flatten().

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

Definition at line 207 of file series_carry_blocks.hpp.

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

                                      {
    Series_rep::Increase_order (l);
    if (l <= t)
      increase_order (h0, l);
    else {
      if (! h1_init) {
        h1= from_monoblock (Op::op (to_monoblock (f, blocker),
                                    to_monoblock (g, blocker)),
                             blocker);
        h1_init= true;
      }
      increase_order (h1, l); } }
M next ( ) [inline]

Definition at line 219 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