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().

00243                                                       :
00244     Series_rep (CF(f2)), f(f2), g(g2), nf (nf2), ng (ng2), h1_init (false) {
00245     h0= truncate_mul (f, g, nf, ng); }
  syntactic expression (const syntactic& z) const {


Member Function Documentation

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

Definition at line 246 of file series_carry_blocks.hpp.

References mmx::flatten().

00246                                                   {
00247     return apply ("truncate_mul", flatten (f, z), flatten (g, z),
00248                   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().

00249                                       {
00250     Series_rep::Increase_order (l);
00251     if (l <= t)
00252       increase_order (h0, l);
00253     else {
00254       if (! h1_init) {
00255         Series f0= piecewise (f, Series (CF(f)), nf);
00256         Series g0= piecewise (g, Series (CF(g)), ng);
00257         h1= from_monoblock (truncate_mul (to_monoblock (f0, blocker),
00258                                           to_monoblock (g0, blocker),
00259                                           (nf + s - 1) / s,
00260                                           (ng + s - 1) / s),
00261                             blocker);
00262         h1_init= true;
00263       }
00264       increase_order (h1, l); } }

M next (  )  [inline]

Definition at line 265 of file series_carry_blocks.hpp.

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


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

Generated on 6 Dec 2012 for algebramix by  doxygen 1.6.1