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

#include <series_carry_blocks.hpp>

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

List of all members.

Public Member Functions


Detailed Description

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

Definition at line 234 of file series_carry_blocks.hpp.


Constructor & Destructor Documentation

truncate_mul_monoblock_series_rep ( const series< M, V > &  f2,
const series< M, V > &  g2,
nat  nf2,
nat  ng2 
) [inline]

Definition at line 242 of file series_carry_blocks.hpp.

References mmx::truncate_mul().

                                                      :
    Series_rep (CF(f2)), f(f2), g(g2), nf (nf2), ng (ng2), h1_init (false) {
    h0= truncate_mul (f, g, nf, ng); }

Member Function Documentation

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

Definition at line 246 of file series_carry_blocks.hpp.

References mmx::flatten().

                                                  {
    return apply ("truncate_mul", flatten (f, z), flatten (g, z),
                  flatten (nf), flatten (ng)); }
virtual void Increase_order ( nat  l) [inline, virtual]

Definition at line 249 of file series_carry_blocks.hpp.

References mmx::CF(), mmx::from_monoblock(), mmx::increase_order(), mmx::piecewise(), Series, mmx::to_monoblock(), and mmx::truncate_mul().

                                      {
    Series_rep::Increase_order (l);
    if (l <= t)
      increase_order (h0, l);
    else {
      if (! h1_init) {
        Series f0= piecewise (f, Series (CF(f)), nf);
        Series g0= piecewise (g, Series (CF(g)), ng);
        h1= from_monoblock (truncate_mul (to_monoblock (f0, blocker),
                                          to_monoblock (g0, blocker),
                                          (nf + s - 1) / s,
                                          (ng + s - 1) / s),
                            blocker);
        h1_init= true;
      }
      increase_order (h1, l); } }
M next ( ) [inline]

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