mmx Namespace Reference

Namespaces

Classes

Typedefs

Functions

Variables


Detailed Description

Cantor & Zassenhaus algorithm, as described in Chapter 14 of "Modern Computer Algebra" by von zur Gathen and Gerhard.


Typedef Documentation

Definition at line 61 of file algebraic_number.hpp.

Definition at line 65 of file algebraic_number.hpp.

Definition at line 63 of file algebraic_number.hpp.

Definition at line 59 of file algebraic_number.hpp.

Definition at line 30 of file matrix_modular_int.hpp.


Function Documentation

polynomial<Abs_type(C),V> mmx::abs ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1455 of file polynomial.hpp.

01455 { return unary_map<abs_op> (p); }

matrix<Abs_type(C),V> mmx::abs ( const matrix< C, V > &  m  )  [inline]

Definition at line 772 of file matrix.hpp.

00772 { return unary_map<abs_op> (m); }

algebraic_real mmx::abs ( const algebraic_number &  z  )  [inline]
series<C,V> mmx::access ( const series< vector< C, W >, V > &  f,
nat  i 
) [inline]

Definition at line 67 of file series_vector.hpp.

References Series_rep.

00067                                        {
00068   return (Series_rep*) new vector_access_series_rep<C,V,W> (f, i);
00069 }

series<C,V> mmx::access ( const series< matrix< C, U >, V > &  f,
nat  i,
nat  j 
) [inline]

Definition at line 61 of file series_matrix.hpp.

References Series_rep.

00061                                               {
00062   return (Series_rep*) new matrix_access_series_rep<C,V,U> (f, i, j);
00063 }

matrix<M> mmx::access ( const matrix< series< M, V > > &  m,
nat  n 
) [inline]

Definition at line 175 of file series_carry_linear_algebra.hpp.

References cols(), M, Matrix, and rows().

00175                                        {
00176   nat c= cols (m), r= rows (m);
00177   Matrix am (M(), r, c);
00178   for (nat i=0; i<r; i++)
00179     for (nat j=0; j<c; j++)
00180       am(i,j) = m(i,j)[n];
00181   return am;
00182 }

vector< typename M::C > mmx::access ( const vector< series< M, V > > &  v,
nat  n 
) [inline]
series<C,V> mmx::acos ( const series< C, V > &  f  )  [inline]

Definition at line 65 of file series_elementary.hpp.

Referenced by GLUE_26(), GLUE_43(), and GLUE_70().

00065                        {
00066   return unary_recursive_series<acos_op> (f);
00067 }

series<C,V> mmx::acos_init ( const series< C, V > &  f,
const C &  c 
) [inline]

Definition at line 70 of file series_elementary.hpp.

00070                                         {
00071   return unary_recursive_series<acos_op> (f, c);
00072 }

nat mmx::aligned_size ( nat  r,
nat  c 
) [inline]

Definition at line 78 of file matrix_naive.hpp.

00078                             {
00079   return aligned_size<C,V> (r * c); }

polynomial< C > annihilator ( const algebraic_number_extension< C, Ball > &  ext,
const typename algebraic_number_extension< C, Ball >::El &  p 
) [inline]

Definition at line 355 of file algebraic_number.hpp.

References annihilator().

00355                                                  {
00356   return annihilator (ext.ext, p);
00357 }

polynomial<C> mmx::annihilator ( const algebraic_extension< C > &  ext,
const typename algebraic_extension< C >::El &  p 
) [inline]

Definition at line 311 of file algebraic_extension.hpp.

References CF(), deg(), Element, N(), Polynomial, promote(), rem(), row(), row_echelon(), and square_free().

00311                                                      {
00312   nat n= deg (ext.mp);
00313   matrix<C> m (promote (0, CF(ext)), n+1, n);
00314   Element pp= promote (1, CF(ext));
00315   for (nat i=0; i<=n; i++) {
00316     for (nat j=0; j<N(pp); j++) m (i, j)= pp[j];
00317     pp= rem (p * pp, ext.mp);
00318   }
00319   matrix<C> e, k;
00320   e= row_echelon (m, k);
00321   for (nat i=0; i<=n; i++) {
00322     bool ok= true;
00323     for (nat j=0; j<n; j++)
00324       if (e (i, j) != 0) ok= false;
00325     if (ok) return square_free (Polynomial (row (k, i)));
00326   }
00327   ERROR ("unexpected situation");
00328 }

polynomial<C> mmx::annihilator ( const algebraic< C, Extension > &  a  )  [inline]

Definition at line 194 of file algebraic.hpp.

References field(), and value().

Referenced by annihilator(), GLUE_47(), GLUE_5(), is_zero(), normalize(), and sign().

00194                                  {
00195   return annihilator (field (a), value (a));
00196 }

polynomial<C,typename polynomial_variant_helper< C >::PV > mmx::annulator ( const vector< C > &  x  )  [inline]

Definition at line 1155 of file polynomial.hpp.

Referenced by implementation< polynomial_evaluate, V, polynomial_naive >::annulator(), GLUE_105(), GLUE_111(), and GLUE_90().

01155                             {
01156   return annulator_bis<C,typename Polynomial_variant(C) > (x);
01157 }

polynomial<C,V> mmx::annulator_bis ( const vector< C > &  x  )  [inline]

Definition at line 1149 of file polynomial.hpp.

01149                                 {
01150   typedef implementation<polynomial_evaluate,V> Pol;
01151   return Pol::template annulator<Polynomial> (x);
01152 }

mmx::ARITH_SCALAR_INT_SUGAR ( template< typename C, typename V >  ,
series< C, V >   
)
mmx::ARITH_SCALAR_INT_SUGAR ( template< typename Series, typename Monomial >  ,
quotient_series< Series, Monomial >   
)
mmx::ARITH_SCALAR_INT_SUGAR ( template< typename NT, typename DT >  ,
quotient< NT, DT >   
)
mmx::ARITH_SCALAR_INT_SUGAR ( template< typename C, typename V >  ,
polynomial< C, V >   
)
mmx::ARITH_SCALAR_INT_SUGAR ( template< typename C, typename Extension >  ,
algebraic< C, Extension >   
)
Ball mmx::as_ball ( const algebraic< C, algebraic_number_extension< C, Ball > > &  a  )  [inline]

Definition at line 218 of file algebraic_number.hpp.

References eval(), field(), and value().

Referenced by mmx_ball().

00218                                        {
00219   return eval (field (a), value (a));
00220 }

matrix< series<C,V> ,U> mmx::as_matrix ( const series< matrix< C, U >, V > &  f  )  [inline]

Definition at line 66 of file series_matrix.hpp.

References access(), cols(), Matrix_series, rows(), and Series.

00066                                    {
00067   nat nr= rows (f[0]), nc= cols (f[0]);
00068   Matrix_series m (Series (0), nr, nc);
00069   for (nat i=0; i<nr; i++)
00070     for (nat j=0; j<nc; j++)
00071       m (i, j)= access (f, i, j);
00072   return m;
00073 }

matrix<C> mmx::as_matrix ( const permutation &  p,
const format< C > &  fm = format<C> () 
) [inline]

Definition at line 1109 of file matrix.hpp.

References N(), and promote().

Referenced by solve_lde(), and solve_lde_init().

01109                                                               {
01110   nat n= N(p);
01111   matrix<C> m (promote (0, fm), n, n);
01112   for (nat i=0; i<n; i++)
01113     for (nat j=0; j<n; j++)
01114       m (i, j) = promote (i == p (j) ? 1 : 0, fm);
01115   return m;
01116 }

polynomial< modular<modulus<C,U1>,U2> ,typename polynomial_carry_variant_helper< modular<modulus<C,U1>,U2> >::PV> mmx::as_p_expansion ( const Lift_type(modular< modulus< C, U1 >, U2 >)&  a,
const modulus< C, U1 > &  p 
) [inline]

Definition at line 57 of file p_expansion.hpp.

References Base_transformer_unsigned, C, direct_base(), M, N(), and x.

00057                                                                 {
00058   typedef typename polynomial_carry_variant_helper<M>::PV V;
00059   typedef typename Base_transformer_unsigned(Lift_type (M),C) Baser;
00060   Baser baser (* p);
00061   M::set_modulus (p);
00062   vector<C> x; direct_base (x, a, baser);
00063   nat n= N(x), l= aligned_size<M,V> (N(x));
00064   M* c= mmx_new<M> (l);
00065   for (nat i= 0; i < n; i++) c[i]= M (x[i], true);
00066   format<M> fm; // FIXME: which format should be taken here?
00067   return polynomial<M,V> (c, n, l, fm);
00068 }

polynomial< modular< modulus< C >, modular_local > > as_polynomial_modular ( const polynomial< C > &  f,
const modulus< C > &  p 
) [inline]

Definition at line 51 of file glue_series_rational.cpp.

00051                                                                         {
00052       modular<modulus<C>, modular_local>::set_modulus (p);
00053       return as<polynomial<modular<modulus<C>, modular_local> > > (f); }

series< vector<C,W> ,V> mmx::as_series ( const vector< series< C, V >, W > &  v  )  [inline]

Definition at line 124 of file series_vector.hpp.

00124                                    {
00125   return (series_rep<Vector,V>*) new vector_series_rep<C,V,W> (v);
00126 }

series< matrix<C,U> ,V> mmx::as_series ( const matrix< series< C, V >, U > &  m  )  [inline]

Definition at line 118 of file series_matrix.hpp.

Referenced by cos_sin(), inv_mod_polynomial_series_rep< C, U, V, W >::initialize(), lshiftz_series_matrix(), lshiftz_series_vector(), solve_lde(), and solve_lde_init().

00118                                    {
00119   return (series_rep<Matrix,V>*) new matrix_series_rep<C,V,U> (m);
00120 }

vector< series<C,V> ,W> mmx::as_vector ( const series< vector< C, W >, V > &  f  )  [inline]

Definition at line 80 of file series_vector.hpp.

References as_vector(), and N().

00080                                    {
00081   return as_vector (f, N(f[0]));
00082 }

vector< series<C,V> ,W> mmx::as_vector ( const series< vector< C, W >, V > &  f,
nat  n 
) [inline]
series<C,V> mmx::asin ( const series< C, V > &  f  )  [inline]

Definition at line 75 of file series_elementary.hpp.

Referenced by GLUE_27(), GLUE_44(), and GLUE_71().

00075                        {
00076   return unary_recursive_series<asin_op> (f);
00077 }

series<C,V> mmx::asin_init ( const series< C, V > &  f,
const C &  c 
) [inline]

Definition at line 80 of file series_elementary.hpp.

00080                                         {
00081   return unary_recursive_series<asin_op> (f, c);
00082 }

matrix< series<M,V> > mmx::asmatrix ( const series< matrix< M >, V > &  f  )  [inline]

Definition at line 52 of file series_carry_linear_algebra.hpp.

References access(), cols(), Matrix_series, rows(), and Series.

Referenced by ldiv_mat_monoblock_series_rep< M, V >::Increase_order(), ldiv_mat_series_rep< M, V >::initialize(), and ldiv_sc_mat_series_rep< M, V >::initialize().

00052                                   {
00053   nat nr= rows (f[0]), nc= cols (f[0]);
00054   Matrix_series m (Series (0), nr, nc);
00055   for (nat i=0; i<nr; i++)
00056     for (nat j=0; j<nc; j++)
00057       m (i, j)= access (f, i, j);
00058   return m;
00059 }

series< vector< typename M::C > ,V> mmx::asseries ( const vector< series< M, V > > &  v  )  [inline]

Definition at line 68 of file series_carry_linear_algebra.hpp.

00068                                   {
00069   return (series_rep<Vector,V>*) 
00070     new vector_series_rep<M,V,typename Vector_variant(M)> (v);
00071 }

series< matrix<M> ,V> mmx::asseries ( const matrix< series< M, V > > &  m  )  [inline]
series<C,V> mmx::atan ( const series< C, V > &  f  )  [inline]

Definition at line 85 of file series_elementary.hpp.

Referenced by GLUE_28(), GLUE_45(), and GLUE_72().

00085                        {
00086   return unary_recursive_series<atan_op> (f);
00087 }

series<C,V> mmx::atan_init ( const series< C, V > &  f,
const C &  c 
) [inline]

Definition at line 90 of file series_elementary.hpp.

00090                                         {
00091   return unary_recursive_series<atan_op> (f, c);
00092 }

bool mmx::better_pivot ( const C &  x1,
const C &  x2 
) [inline]

Definition at line 530 of file matrix_naive.hpp.

References pivot_helper< C >::better().

Referenced by reduce().

00530                                         {
00531   return pivot_helper<C>::better (x1, x2);
00532 }

polynomial<C,V> mmx::big_add ( const vector< polynomial< C, V > > &  a  )  [inline]

Definition at line 481 of file polynomial.hpp.

References C, CF(), Format, max(), N(), Polynomial, and seg().

00481                                        {
00482   typedef implementation<polynomial_linear,V> Pol;
00483   nat i, k= N(a), n=0;
00484   nat l= aligned_size<C,V> (n);
00485   for (i=0; i<k; i++) n= max (N(a[i]), n);
00486   C* r= mmx_formatted_new<C> (l, CF (get_sample (CF (a))));
00487   Pol::set (r, 0, n);
00488   for (i=0; i<k; i++) Pol::add (r, seg (a[i]), N(a[i]));
00489   return Polynomial (r, n, l, Format (CF(a)));
00490 }

C mmx::big_add ( const matrix< C, V > &  m  )  [inline]

Definition at line 645 of file matrix.hpp.

Referenced by GLUE_33(), GLUE_54(), GLUE_74(), GLUE_8(), and implementation< polynomial_evaluate, V, polynomial_naive >::multi_rem().

00645 { return big<add_op> (m); }

C mmx::big_max ( const matrix< C, V > &  m  )  [inline]

Definition at line 647 of file matrix.hpp.

00647 { return big<max_op> (m); }

polynomial<C,V> mmx::big_mul ( const vector< polynomial< C, V > > &  a  )  [inline]

Definition at line 576 of file polynomial.hpp.

References N(), and seg().

Referenced by GLUE_32(), GLUE_53(), GLUE_7(), and GLUE_73().

00576                                        {
00577   typedef implementation<vector_linear,V> Vec;
00578   return Vec::template vec_unary_big_dicho<mul_op> (seg (a), N(a));
00579 }

C mmx::big_sup ( const matrix< C, V > &  m  )  [inline]

Definition at line 646 of file matrix.hpp.

00646 { return big<sup_op> (m); }

matrix<Binary_return_type(Op,C1,C2),V> mmx::binary_map ( const matrix< C1, V > &  m,
const matrix< C2, V > &  n 
) [inline]

Definition at line 439 of file matrix.hpp.

References Binary_return_type(), C2, CF(), cols(), extend(), is_a_scalar(), is_non_scalar(), rows(), matrix< C, V >::scalar(), and tab().

00439                                                           {
00440   typedef implementation<vector_linear,V> Vec;
00441   typedef Binary_return_type(Op,C1,C2) T;
00442   format<T> fm= binary_map<Op> (CF(m), CF(n));
00443   if (is_a_scalar (m) || is_a_scalar (n)) {
00444     if (is_non_scalar (m)) return binary_map<Op> (m, extend (n, m));
00445     if (is_non_scalar (n)) return binary_map<Op> (extend (m, n), n);
00446     return matrix<T,V> (Op::op (m.scalar(), n.scalar()));
00447   }
00448   nat nrows= rows (m);
00449   nat ncols= cols (m);
00450   ASSERT (rows (n) == nrows, "unequal number of rows");
00451   ASSERT (cols (n) == ncols, "unequal number of columns");
00452   nat l= aligned_size<T,V> (nrows * ncols);
00453   T*  r= mmx_formatted_new<T> (l, fm);
00454   Vec::template vec_binary<Op> (r, tab (m), tab (n), nrows*ncols);
00455   return matrix<T,V> (r, nrows, ncols, fm);
00456 }

polynomial<Binary_return_type(Op,C,X),V> mmx::binary_map_scalar ( const polynomial< C, V > &  p,
const X &  x 
) [inline]

Definition at line 1358 of file polynomial.hpp.

References Binary_return_type(), C, CF(), N(), and seg().

01358                                                          {
01359   typedef implementation<vector_linear,V> Vec;
01360   typedef Binary_return_type(Op,C,X) T;
01361   nat n= N(p);
01362   nat l= aligned_size<T,V> (n);
01363   format<T> fm= binary_map_scalar<Op> (CF(p), x);
01364   T* r= mmx_formatted_new<T> (l, fm);
01365   Vec::template vec_binary_scalar<Op> (r, seg (p), x, n);
01366   return polynomial<T,V> (r, n, l, fm);
01367 }

matrix<Binary_return_type(Op,C,X),V> mmx::binary_map_scalar ( const matrix< C, V > &  m,
const X &  x 
) [inline]

Definition at line 460 of file matrix.hpp.

References Binary_return_type(), C, CF(), cols(), is_a_scalar(), rows(), matrix< C, V >::scalar(), and tab().

00460                                                      {
00461   typedef implementation<vector_linear,V> Vec;
00462   typedef Binary_return_type(Op,C,X) T;
00463   format<T> fm= binary_map_scalar<C> (CF(m), x);
00464   if (is_a_scalar (m)) return matrix<T,V> (Op::op (m.scalar(), x));
00465   nat nrows= rows (m);
00466   nat ncols= cols (m);
00467   nat l= aligned_size<T,V> (nrows * ncols);
00468   T*  r= mmx_formatted_new<T> (l, fm);
00469   Vec::template vec_binary_scalar<Op> (r, tab (m), x, nrows*ncols);
00470   return matrix<T,V> (r, nrows, ncols, fm);
00471 }

series<M,V> mmx::binary_monoblock_series ( const series< M, V > &  f,
const series< M, V > &  g 
) [inline]

Definition at line 225 of file series_carry_blocks.hpp.

References Series_rep.

00225                                                            {
00226   typedef binary_monoblock_series_rep<Op,M,V,s,BV,t> Op_rep;
00227   return (Series_rep*) new Op_rep (f, g); }

series<C,V> mmx::binary_recursive_series ( const series< C, V > &  f,
const series< C, V > &  g 
) [inline]

Definition at line 642 of file series.hpp.

References recursive(), Series, and Series_rep.

00642                                                            {
00643   typedef implementation<series_recursive_abstractions,V> Ser;
00644   typedef typename Ser::template binary_recursive_series_rep<Op,C,V> Binary;
00645   Series_rep* rep= new Binary (f, g);
00646   return recursive (Series (rep));
00647 }

mmx::BINARY_RETURN_TYPE ( template< typename C, typename V >  ,
truncate_op  ,
polynomial< C, V >  ,
nat  ,
polynomial< C, V >   
)
mmx::BINARY_RETURN_TYPE ( template< typename C, typename V >  ,
truncate_op  ,
series< C, V >  ,
nat  ,
polynomial< C, typename series_polynomial_helper< C, V >::PV >   
)
mmx::Binary_return_type ( evaluate_op  ,
quotient< NT, DT >  ,
 
) const [inline]

Referenced by binary_map(), and binary_map_scalar().

mmx::BINARY_RETURN_TYPE ( template< typename NT, typename DT, typename K >  ,
evaluate_op  ,
quotient< NT, DT >  ,
,
Binary_return_type(evaluate_op, NT, K)   
)
mmx::BINARY_RETURN_TYPE ( template< typename C, typename V >  ,
evaluate_op  ,
polynomial< C, V >  ,
,
 
)
mmx::BINARY_RETURN_TYPE ( template< typename C, typename V, typename K >  ,
evaluate_op  ,
matrix< C, V >  ,
,
matrix< Evaluate_type(C, K)>   
)
mmx::BINARY_RETURN_TYPE ( template< typename C, typename V >  ,
truncate_op  ,
matrix< C, V >  ,
nat  ,
matrix< Truncate_type(C)>   
)
mmx::BINARY_RETURN_TYPE ( STMPL  ,
gaussian_op  ,
algebraic_real  ,
algebraic_real  ,
algebraic_number   
)
series<M,V> mmx::binary_scalar_recursive_monoblock_series ( const series< M, V > &  f,
const X &  x,
const M &  init 
) [inline]

Definition at line 374 of file series_carry_blocks.hpp.

References Series_rep.

00375                                                          {
00376   typedef binary_scalar_recursive_monoblock_series_rep<Op,M,V,s,BV,t,X> Op_rep;
00377   return (Series_rep*) new Op_rep (f, x, init); }

series<M,V> mmx::binary_scalar_recursive_monoblock_series ( const series< M, V > &  f,
const X &  x 
) [inline]
series<C,V> mmx::binary_scalar_recursive_series ( const series< C, V > &  f,
const X &  x,
const C &  init 
) [inline]

Definition at line 659 of file series.hpp.

References recursive(), Series, and Series_rep.

00659                                                                             {
00660   typedef implementation<series_recursive_abstractions,V> Ser;
00661   typedef typename Ser::
00662     template binary_scalar_recursive_series_rep<Op,C,V,X> Binary;
00663   Series_rep* rep= new Binary (f, x, init);
00664   return recursive (Series (rep));
00665 }

series<C,V> mmx::binary_scalar_recursive_series ( const series< C, V > &  f,
const X &  x 
) [inline]

Definition at line 650 of file series.hpp.

References recursive(), Series, and Series_rep.

Referenced by implementation< series_separable_root, U, series_carry_naive >::sep_root(), and implementation< series_pth_root_reg, U, series_carry_p_adic< W > >::unsep_root_reg().

00650                                                              {
00651   typedef implementation<series_recursive_abstractions,V> Ser;
00652   typedef typename Ser::
00653     template binary_scalar_recursive_series_rep<Op,C,V,X> Binary;
00654   Series_rep* rep= new Binary (f, x);
00655   return recursive (Series (rep));
00656 }

series<C,V> mmx::binary_scalar_series ( const series< C, V > &  f,
const X &  x 
) [inline]

Definition at line 555 of file series.hpp.

References Series_rep.

00555                                                    {
00556   typedef implementation<series_scalar_abstractions,V> Ser;
00557   typedef typename Ser::template binary_scalar_series_rep<Op,C,V,X>
00558     Binary_rep;
00559   return (Series_rep*) new Binary_rep (f, x);
00560 }

series<C,V> mmx::binary_series ( const series< C, V > &  f,
const series< C, V > &  g 
) [inline]

Definition at line 697 of file series.hpp.

References Series_rep.

00697                                                  {
00698   typedef implementation<series_abstractions,V> Ser;
00699   typedef typename Ser::template binary_series_rep<Op,C,V> Binary;
00700   return (Series_rep*) new Binary (f, g);
00701 }

bool mmx::binary_test ( const unknown< C, V > &  c1,
const unknown< C, V > &  c2 
) [inline]

Definition at line 135 of file series_implicit.hpp.

00135                                          {
00136   if (Op::not_op (c1->b, c2->b)) return false;
00137   if (c1->i1 == c1->i2 || c2->i1 == c2->i2)
00138     return c1->i1 == c1->i2 && c2->i1 == c2->i2;
00139   if (Op::not_op (c1->f, c2->f)) return false;
00140   if (Op::not_op (c1->i1, c2->i1)) return false;
00141   if (Op::not_op (c1->i2, c2->i2)) return false;
00142   for (nat i= c1->i1; i<c1->i2; i++)
00143     if (Op::not_op (c1->s[i - c1->i1], c2->s[i - c1->i1]))
00144       return false;
00145   return true;
00146 }

bool mmx::binary_test ( const series< C, V > &  f1,
const series< C, V > &  f2 
) [inline]

Definition at line 296 of file series.hpp.

00296                                                  {
00297   for (nat n=0; n< Series::get_cancel_order (); n++)
00298     if (Op::not_op (f1[n], f2[n])) return false;
00299   return true;
00300 }

bool mmx::binary_test ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Definition at line 387 of file polynomial.hpp.

References max(), and N().

00387                                                          {
00388   nat n1= N(P1), n2= N(P2), n= max (n1, n2);
00389   for (nat i=0; i<n; i++)
00390     if (Op::not_op (P1[i], P2[i])) return false;
00391   return true;
00392 }

bool mmx::binary_test ( const matrix< C1, V > &  m,
const matrix< C2, V > &  n 
) [inline]

Definition at line 515 of file matrix.hpp.

References cols(), extend(), is_a_scalar(), is_non_scalar(), rows(), matrix< C, V >::scalar(), and tab().

00515                                                            {
00516   typedef implementation<vector_linear,V> Vec;
00517   if (is_a_scalar (m) || is_a_scalar (n)) {
00518     if (is_non_scalar (m)) return binary_test<Op> (m, extend (n, m));
00519     if (is_non_scalar (n)) return binary_test<Op> (extend (m, n), n);
00520     return Op::op (m.scalar(), n.scalar());
00521   }
00522   nat nrows= rows (m);
00523   nat ncols= cols (m);
00524   if (rows (n) != nrows || cols (n) != ncols) return false;
00525   return Vec::template vec_binary_test<Op> (tab (m), tab (n), nrows*ncols);
00526 }

static nat mmx::bit_mirror ( nat  i,
nat  n 
) [static]

Definition at line 29 of file fft_roots.hpp.

Referenced by roots_helper< CC, UU, SS >::create_roots().

00029                           {
00030   if (n == 1) return i;
00031   else return (bit_mirror (i & ((n>>1) -1), n>>1) << 1) + i / (n>>1);
00032 }

series<C,V> mmx::blur ( const series< C, V > &  f,
const K &  x 
) [inline]

Definition at line 1255 of file series.hpp.

01255                                                        {
01256   return binary_map_scalar<blur_op> (f, x); }

polynomial<C,V> mmx::blur ( const polynomial< C, V > &  p,
const K &  x 
) [inline]

Definition at line 1470 of file polynomial.hpp.

01470                                                                {
01471   return binary_map_scalar<blur_op> (p, x); }

matrix<C,V> mmx::blur ( const matrix< C, V > &  m,
const matrix< C2, V2 > &  n 
) [inline]

Definition at line 790 of file matrix.hpp.

00790                                                {
00791   return binary_map<blur_op> (m, n); }

matrix<C,V> mmx::blur ( const matrix< C, V > &  m,
const K &  x 
) [inline]

Definition at line 787 of file matrix.hpp.

00787                                                        {
00788   return binary_map_scalar<blur_op> (m, x); }

polynomial<Center_type(C),V> mmx::center ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1460 of file polynomial.hpp.

01460                                                     {
01461   return unary_map<center_op> (p); }

matrix<Center_type(C),V> mmx::center ( const matrix< C, V > &  m  )  [inline]

Definition at line 777 of file matrix.hpp.

Referenced by improve_zero().

00777                                             {
00778   return unary_map<center_op> (m); }

mmx::Center_type ( Ball   )  const [inline]

Referenced by improve_zero(), and increase_precision().

format<C> mmx::CF ( const series< C, V > &  f  )  [inline]

Definition at line 116 of file series.hpp.

00116 { return f->tfm (); }

format<NT> mmx::CF ( const quotient< NT, DT > &  x  )  [inline]

Definition at line 101 of file quotient.hpp.

References numerator().

00101                                               {
00102   return get_format (numerator (x)); }

format<C> mmx::CF ( const polynomial< C, V > &  P  )  [inline]

Definition at line 195 of file polynomial.hpp.

00195 { return P->tfm (); }

format<C> mmx::CF ( const matrix< C, V > &  m  )  [inline]

Definition at line 189 of file matrix.hpp.

00189 { return m->tfm (); }

format<C> mmx::CF ( const algebraic_extension< C > &  x  )  [inline]

Definition at line 54 of file algebraic_extension.hpp.

References CF().

00054 { return CF(*x); }

format<C> mmx::CF ( const algebraic< C, Extension > &  x  )  [inline]

Definition at line 93 of file algebraic.hpp.

Referenced by annihilator(), implementation< polynomial_evaluate, V, polynomial_naive >::annulator(), as_vector(), big_add(), binary_map(), binary_map_scalar(), CF(), coefficients(), column(), column_echelon(), column_orthogonalization(), column_orthonormalization(), compose(), as_helper< polynomial< T, TV >, polynomial< F, FV > >::cv(), as_helper< matrix< T, TV >, matrix< F, FV > >::cv(), fast_helper< polynomial< C, V > >::dd(), fast_helper< matrix< C, V > >::dd(), decode_kronecker(), deflate(), delete_col(), delete_row(), derive(), det(), dilate(), direct_base(), direct_crt(), encode_kronecker(), implementation< polynomial_evaluate, V, polynomial_naive >::evaluate(), expand(), extract_mod(), implementation< polynomial_gcd, V, polynomial_ring_naive< W > >::gcd(), implementation< polynomial_gcd, V, polynomial_naive >::gcd(), gcd(), get_matrix_format(), get_vector_format(), graeffe(), hankel_matrix(), horizontal_join(), image(), truncate_mul_monoblock_series_rep< M, V, s, BV, t >::Increase_order(), integrate(), implementation< polynomial_evaluate, V, polynomial_naive >::interpolate(), invert(), invert_hi(), invert_lo(), is_evaluable(), is_reconstructible(), is_reliable(), join(), kernel(), lshiftz(), lshiftz_series_matrix(), lshiftz_series_vector(), matrix< M >::matrix(), mul_matrix(), implementation< polynomial_evaluate, V, polynomial_naive >::multi_rem(), lshiftz_series_vector_rep< C, V, W >::next(), vector_series_rep< C, V, W >::next(), xderive_series_rep< C, V >::next(), derive_series_rep< C, V >::next(), normalize(), lift_helper< polynomial< C, V > >::op(), project_helper< matrix< C, V > >::op(), lift_helper< matrix< C, V > >::op(), operator*(), operator+(), operator-(), operator/(), polynomial< L >::operator[](), pade(), polynomial< L >::polynomial(), pow_matrix(), pquo(), prem(), primitive_part(), q_difference(), quo(), range(), implementation< polynomial_gcd, V, polynomial_ring_naive< W > >::reconstruct(), implementation< polynomial_gcd, V, polynomial_naive >::reconstruct(), reconstruct(), rem(), restrict(), resultant(), reverse(), root(), row(), row_matrix(), row_orthogonalization(), row_orthonormalization(), row_vectors(), rshiftz(), implementation< series_separable_root, U, series_naive >::sep_root(), implementation< series_separable_root, U, series_carry_naive >::sep_root(), implementation< series_compose, U, series_naive >::ser_compose(), implementation< series_divide, U, series_naive >::ser_div(), implementation< series_divide, U, series_carry_naive >::ser_div(), implementation< series_divide, U, series_carry_monoblock< W, s, BV, t > >::ser_div(), implementation< series_multiply, U, series_relaxed< W > >::ser_mul(), implementation< series_multiply, U, series_naive >::ser_mul(), implementation< series_multiply, U, series_fast >::ser_mul(), implementation< series_multiply, U, series_carry_relaxed< W > >::ser_mul(), implementation< series_multiply, U, series_carry_lift< W > >::ser_mul(), implementation< series_multiply, U, series_carry_naive >::ser_mul(), implementation< series_multiply, U, series_carry_blocks< W, s, BV, t > >::ser_mul(), implementation< series_multiply, U, series_carry_monoblock< W, s, BV, t > >::ser_mul(), implementation< series_multiply, U, series_carry_modular_int_naive< W > >::ser_mul(), implementation< series_divide, U, series_naive >::ser_quo(), implementation< series_divide, U, series_naive >::ser_rdiv_sc(), implementation< series_divide, U, series_carry_naive >::ser_rdiv_sc(), implementation< series_divide, U, series_naive >::ser_rquo_sc(), implementation< series_divide, U, series_naive >::ser_rrem_sc(), implementation< series_divide, U, series_carry_naive >::ser_rrem_sc(), implementation< series_divide, U, series_carry_monoblock< W, s, BV, t > >::ser_rrem_sc(), implementation< series_multiply, U, series_relaxed< W > >::ser_truncate_mul(), implementation< series_multiply, U, series_naive >::ser_truncate_mul(), implementation< series_multiply, U, series_fast >::ser_truncate_mul(), implementation< series_multiply, U, series_carry_relaxed< W > >::ser_truncate_mul(), implementation< series_multiply, U, series_carry_lift< W > >::ser_truncate_mul(), implementation< series_multiply, U, series_carry_naive >::ser_truncate_mul(), implementation< series_multiply, U, series_carry_blocks< W, s, BV, t > >::ser_truncate_mul(), implementation< series_multiply, U, series_carry_monoblock< W, s, BV, t > >::ser_truncate_mul(), implementation< series_multiply, U, series_carry_modular_int_naive< W > >::ser_truncate_mul(), set_as(), lift_helper< polynomial< C, V > >::set_op(), project_helper< matrix< C, V > >::set_op(), lift_helper< matrix< C, V > >::set_op(), shift(), shift1(), shift2(), skew_div(), sqrt(), square(), subresultant(), implementation< polynomial_subresultant_base, V, polynomial_naive >::subresultant_sequence(), subresultants(), tensor_matrix(), implementation< polynomial_evaluate, V, polynomial_naive >::tevaluate(), tmul(), toeplitz_matrix(), tquo(), transpose(), trem(), truncate(), unary_map(), implementation< series_map_as_abstractions, U, series_naive >::unary_map_as(), implementation< series_pth_root, U, series_carry_p_adic< W > >::unsep_root(), upgrade(), fast_helper< polynomial< C, V > >::uu(), fast_helper< matrix< C, V > >::uu(), vandermonde(), vertical_join(), binary_helper< polynomial< C, V > >::write(), binary_helper< matrix< C, V > >::write(), and xderive().

00093 { return CF(x.p); }

series<C,V> mmx::change_precision ( const series< C, V > &  f,
nat  p 
) [inline]

Definition at line 1244 of file series.hpp.

References Series_rep.

01244                                           {
01245   return (Series_rep*) new change_precision_series_rep<C,V> (f, p);
01246 }

polynomial<C,V> mmx::change_precision ( const polynomial< C, V > &  P,
xnat  p 
) [inline]

Definition at line 1441 of file polynomial.hpp.

01441                                                                       {
01442   return binary_map_scalar<change_precision_op> (P, p); }

matrix<C,V> mmx::change_precision ( const matrix< C, V > &  m,
xnat  p 
) [inline]

Definition at line 758 of file matrix.hpp.

Referenced by change_precision_series_rep< C, V >::next().

00758                                                               {
00759   return binary_map_scalar<change_precision_op> (m, p); }

vector<C> mmx::coefficients ( const polynomial< C, V > &  P,
nat  b,
nat  e 
) [inline]

Definition at line 205 of file polynomial.hpp.

References CF().

00205                                                  {
00206   if (b >= e) return vector<C> ();
00207   vector<C> v (get_sample (CF(P)), e - b);
00208   for (nat i= 0; i < e - b; i++) v[i]= P[b+i];
00209   return v;
00210 }

vector<C> mmx::coefficients ( const polynomial< C, V > &  P  )  [inline]
C mmx::cofactor ( const matrix< C, V > &  m,
nat  i,
nat  j 
) [inline]

Definition at line 1250 of file matrix.hpp.

References cols(), first_minor(), is_non_scalar(), and rows().

01250                                          {
01251   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01252   ASSERT (cols(m) == rows(m), "square matrix expected");
01253   ASSERT (i < rows(m), "index out of range");
01254   ASSERT (j < cols(m), "index out of range");
01255   C c= first_minor (m, i, j);
01256   return ((i + j) & 1) ? -c : c;
01257 }

void mmx::col_div ( matrix< C, V > &  m,
c,
nat  i 
) [inline]
void mmx::col_mul ( matrix< C, V > &  m,
c,
nat  i 
) [inline]

Definition at line 1099 of file matrix.hpp.

01109 {

nat mmx::cols ( const matrix< C, matrix_fixed< V, RS, CS > > &  m  )  [inline]

Definition at line 306 of file matrix.hpp.

References val().

00306 { return CS::val; }

nat cols ( const matrix< C, V > &  m  )  [inline]
void mmx::cols_linsub ( matrix< C, V > &  m,
nat  i,
ci,
nat  j,
cj 
) [inline]

Definition at line 1102 of file matrix.hpp.

01109 {

vector<C> mmx::column ( const matrix< C, V > &  m,
nat  j 
) [inline]

Definition at line 1027 of file matrix.hpp.

References CF(), and rows().

Referenced by GLUE_41(), GLUE_42(), GLUE_62(), GLUE_74(), and join().

01027                                 {
01028   nat n= rows (m);
01029   nat l= default_aligned_size<C> (n);
01030   C*  a= mmx_formatted_new<C> (l, CF(m));
01031   for (nat i=0; i<n; i++) a[i]= m(i,j);
01032   return vector<C> (a, n, l, CF(m));
01033 }

matrix<C,V> mmx::column_echelon ( const matrix< C, V > &  m,
matrix< C, V > &  k,
bool  reduced = false 
) [inline]

Definition at line 1190 of file matrix.hpp.

References CF(), cols(), copy(), is_non_scalar(), Matrix, promote(), rows(), and tab().

01190                                                                  {
01191   typedef implementation<matrix_echelon,V> Mat;
01192   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01193   Matrix c= copy (m);
01194   k= Matrix (promote (0, CF(m)), cols(m), cols(m));
01195   Mat::col_echelon (tab(c), tab(k), rows(m), cols(m), false);
01196   return c;
01197 }

matrix<C,V> mmx::column_echelon ( const matrix< C, V > &  m,
bool  reduced = false 
) [inline]

Definition at line 1163 of file matrix.hpp.

References cols(), copy(), is_non_scalar(), Matrix, rows(), and tab().

Referenced by column_reduced_echelon(), GLUE_116(), GLUE_41(), GLUE_65(), and row_echelon().

01163                                                       {
01164   typedef implementation<matrix_echelon,V> Mat;
01165   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01166   Matrix c= copy (m);
01167   C* k= NULL;
01168   Mat::col_echelon (tab(c), k, rows(m), cols(m), reduced);
01169   return c;
01170 }

matrix<C,V> mmx::column_orthogonalization ( const matrix< C, V > &  m,
matrix< C, V > &  l 
) [inline]

Definition at line 1351 of file matrix.hpp.

References CF(), cols(), copy(), is_non_scalar(), Matrix, promote(), rows(), seg(), and tab().

01351                                                       {
01352   typedef implementation<matrix_orthogonalization,V> Mat;
01353   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01354   Matrix c= copy (m);
01355   vector<C> n (promote (0, CF(m)), cols(m));
01356   l= Matrix (promote (0, CF(m)), cols(m), cols(m));
01357   Mat::col_orthogonalize (tab(c), rows(m), cols(m), tab(l), seg(n));
01358   return c;
01359 }  

matrix<C,V> mmx::column_orthogonalization ( const matrix< C, V > &  m  )  [inline]

Definition at line 1330 of file matrix.hpp.

References CF(), cols(), copy(), is_non_scalar(), Matrix, promote(), rows(), seg(), and tab().

01330                                            {
01331   typedef implementation<matrix_orthogonalization,V> Mat;
01332   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01333   Matrix c= copy (m);
01334   vector<C> n (promote (0, CF(m)), cols(m));
01335   Mat::col_orthogonalize (tab(c), rows(m), cols(m), seg(n));
01336   return c;
01337 }  

matrix<C,V> mmx::column_orthonormalization ( const matrix< C, V > &  m,
matrix< C, V > &  l 
) [inline]

Definition at line 1390 of file matrix.hpp.

References CF(), cols(), copy(), is_non_scalar(), Matrix, promote(), rows(), and tab().

01390                                                        {
01391   typedef implementation<matrix_orthogonalization,V> Mat;
01392   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01393   Matrix c= copy (m);
01394   l= Matrix (promote (0, CF(m)), cols(m), cols(m));
01395   Mat::col_orthonormalize (tab(c), rows(m), cols(m), tab(l));
01396   return c;
01397 }  

matrix<C,V> mmx::column_orthonormalization ( const matrix< C, V > &  m  )  [inline]

Definition at line 1371 of file matrix.hpp.

References cols(), copy(), is_non_scalar(), Matrix, rows(), and tab().

01371                                             {
01372   typedef implementation<matrix_orthogonalization,V> Mat;
01373   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01374   Matrix c= copy (m);
01375   Mat::col_orthonormalize (tab(c), rows(m), cols(m));
01376   return c;
01377 }  

matrix<C,V> mmx::column_reduced_echelon ( const matrix< C, V > &  m,
matrix< C, V > &  k 
) [inline]

Definition at line 1200 of file matrix.hpp.

References column_echelon().

01200                                                     {
01201   return column_echelon (m, k, true);
01202 }

matrix<C,V> mmx::column_reduced_echelon ( const matrix< C, V > &  m,
permutation &  permut 
) [inline]

Definition at line 1178 of file matrix.hpp.

References cols(), copy(), is_non_scalar(), Matrix, rows(), and tab().

01178                                                               {
01179   typedef implementation<matrix_echelon,V> Mat;
01180   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01181   Matrix c= copy (m);
01182   C* k= NULL;
01183   nat* buf= mmx_new<nat> (default_aligned_size<nat> (cols(m)));
01184   Mat::col_echelon (tab(c), k, rows(m), cols(m), true, buf);
01185   permut= permutation (vector<nat> (buf, cols(m), format<nat> ()));
01186   return c;
01187 }

matrix<C,V> mmx::column_reduced_echelon ( const matrix< C, V > &  m  )  [inline]

Definition at line 1173 of file matrix.hpp.

References column_echelon().

Referenced by GLUE_118(), GLUE_43(), GLUE_67(), wrap_column_reduced_echelon_with_permutation(), and wrap_column_reduced_echelon_with_transform().

01173                                          {
01174   return column_echelon (m, true);
01175 }

Crter::base mmx::combine_crt ( const vector< typename Crter::modulus_base, W > &  src,
Crter &  crter 
) [inline]

Definition at line 353 of file crt_naive.hpp.

References C, combine_crt(), and seg().

00353                                                    {
00354   C d; combine_crt (d, seg (src), crter);
00355   return d;
00356 }

void mmx::combine_crt ( typename Crter::base &  d,
const vector< typename Crter::modulus_base, W > &  src,
Crter &  crter 
) [inline]

Definition at line 348 of file crt_naive.hpp.

References seg().

00348                                                          {
00349   crter.combine (d, seg (src));
00350 }

void mmx::combine_crt ( typename Crter::base &  d,
const typename Crter::modulus_base *  src,
Crter &  crter 
) [inline]

Definition at line 343 of file crt_naive.hpp.

Referenced by combine_crt(), and implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::tevaluate().

00343                                                {
00344   crter.combine (d, src);
00345 }

Crter::base mmx::comodulus ( const Crter &  crter,
nat  i 
) [inline]

Definition at line 318 of file crt_naive.hpp.

00318                                       {
00319   return crter.comodulus (i);
00320 }

int mmx::compare ( const series< C, V > &  f1,
const series< C, V > &  f2 
) [inline]

Definition at line 354 of file series.hpp.

References compare().

00354                                              {
00355   for (nat n=0; n< Series::get_cancel_order (); n++) {
00356     int sgn= compare (f1[n], f2[n]);
00357     if (sgn != 0) return sgn;
00358   }
00359   return 0;
00360 }

int mmx::compare ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Definition at line 377 of file polynomial.hpp.

References max(), N(), and sign().

Referenced by implementation< polynomial_linear, V, polynomial_naive >::cmp(), and compare().

00377                                                      {
00378   nat n1= N(P1), n2= N(P2), n= max (n1, n2);
00379   for (nat i=0; i<n; i++) {
00380     int s= sign (P1[i] - P2[i]);
00381     if (s != 0) return s;
00382   }
00383   return 0;
00384 }

series<C,V> mmx::COMPARE_INT_SUGAR ( template< typename C, typename V >  ,
series< C, V >   
)
Type Constraints
mmx::COMPARE_INT_SUGAR ( template< typename NT, typename DT >  ,
quotient< NT, DT >   
)
mmx::COMPARE_INT_SUGAR ( template< typename C, typename Extension >  ,
algebraic< C, Extension >   
)
series<C,V> C mmx::COMPARE_SCALAR_SUGAR ( template< typename C, typename V >  ,
series< C, V >  ,
 
)
Type Constraints
mmx::COMPARE_SCALAR_SUGAR ( template< typename NT, typename DT >  ,
quotient< NT, DT >  ,
NT   
)
mmx::COMPARE_SCALAR_SUGAR ( template< typename C, typename Extension >  ,
algebraic< C, Extension >  ,
 
)
series<C,V> C C mmx::COMPARE_SCALAR_SUGAR_BIS ( template< typename C, typename V >  ,
series< C, V >  ,
 
)
Type Constraints
mmx::COMPARE_SCALAR_SUGAR_BIS ( template< typename C, typename Extension >  ,
algebraic< C, Extension >  ,
 
)
mmx::COMPARE_SUGAR ( template< typename NT, typename DT >  ,
quotient< NT, DT >   
)
mmx::COMPARE_SUGAR ( template< typename C, typename Extension >  ,
algebraic< C, Extension >   
)
series<C> mmx::complete ( const quotient< polynomial< C, V >, polynomial< C, V > > &  f  )  [inline]

Definition at line 1284 of file series.hpp.

References complete(), denominator(), and numerator().

01284                              {
01285   return complete (numerator (f))
01286        / complete (denominator (f)); }

series<C> mmx::complete ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1275 of file series.hpp.

01275                                 {
01276   return (series_rep<C>*)
01277     new polynomial_series_rep<C,typename Series_variant (C)>
01278       (as<Polynomial> (p)); }

series<C,V> mmx::complete ( const series< C, V > &  f  )  [inline]

Definition at line 1266 of file series.hpp.

01266 { return f; }

matrix<Complete_type(C)> mmx::complete ( const matrix< C, V > &  v  )  [inline]

Definition at line 735 of file matrix.hpp.

Referenced by complete().

00735                                                  {
00736   return as<Completed_matrix> (unary_map<complete_op> (v)); }

series<C,V> mmx::compose ( const series< C, V > &  f,
const series< C, V > &  g 
) [inline]

Definition at line 1212 of file series.hpp.

01212                                            {
01213   typedef implementation<series_compose,V> Ser;
01214   return Ser::ser_compose (f, g);
01215 }

polynomial<C,V> mmx::compose ( const polynomial< C, V > &  P1,
const polynomial< K, V > &  P2 
) [inline]

Definition at line 1080 of file polynomial.hpp.

References C, CF(), compose(), N(), Polynomial, and seg().

01080                                                           {
01081   typedef implementation<polynomial_compose,V> Pol;
01082   nat n1= N(P1), n2= N(P2);
01083   if (n1 <= 1) return P1;
01084   if (n2 == 0) return P1[0];
01085   nat n= (n1-1) * (n2-1) + 1;
01086   nat l= aligned_size<C,V> (n);
01087   C* r= mmx_formatted_new<C> (l, CF(P1));
01088   Pol::compose (r, seg (P1), seg (P2), n1, n2);
01089   return Polynomial (r, n, l, CF(P1));
01090 }

algebraic_extension<C>::El mmx::compose ( const algebraic_extension< C > &  ext,
const polynomial< C > &  p,
const typename algebraic_extension< C >::El &  q 
) [inline]

Definition at line 284 of file algebraic_extension.hpp.

References deg(), Element, promote(), and rem().

Referenced by implementation< polynomial_compose, V, polynomial_naive >::compose(), compose(), GLUE_102(), GLUE_108(), GLUE_159(), GLUE_31(), GLUE_43(), GLUE_44(), reverse_series_rep< C, V >::initialize(), implementation< polynomial_compose, V, polynomial_naive >::shift(), and upgrade().

00284                                                                       {
00285   // Evaluate p at q in a given extension
00286   Element sum= promote (0, q);
00287   for (int i= deg (p); i>=0; i--) {
00288     if (i != deg (p)) sum= rem (sum * q, ext.mp);
00289     sum += p[i];
00290   }
00291   return sum;
00292 }

polynomial<C,V> mmx::conj ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1458 of file polynomial.hpp.

01458 { return unary_map<conj_op> (p); }

matrix<C,V> mmx::conj ( const matrix< C, V > &  m  )  [inline]

Definition at line 775 of file matrix.hpp.

00775 { return unary_map<conj_op> (m); }

algebraic_number mmx::conj ( const algebraic_number &  z  )  [inline]

Definition at line 417 of file algebraic_number.hpp.

References conj(), field(), and value().

00417                                  {
00418   return algebraic_number (conj (field (z)), value (z));
00419 }

algebraic_number_extension<C,Ball> mmx::conj ( const algebraic_number_extension< C, Ball > &  ext  )  [inline]

Definition at line 412 of file algebraic_number.hpp.

References Field.

Referenced by abs(), conj(), GLUE_75(), and Re().

00412                         {
00413   return Field (ext.ext, conj (ext.x));
00414 }

V C mmx::contents ( const polynomial< C, V > &  P  )  [inline]

Definition at line 787 of file polynomial.hpp.

References N(), and seg().

Referenced by GLUE_115(), GLUE_48(), and primitive_part().

00787                                {
00788   typedef implementation<polynomial_linear,V> Pol;
00789   return Pol::big_gcd (seg (P), N(P));
00790 }

V polynomial<C,V> mmx::copy ( const polynomial< C, V > &  P  ) 

Definition at line 1375 of file polynomial.hpp.

01375                                            {
01376   return unary_map<id_op> (P); }

matrix<C,V> mmx::copy ( const matrix< C, V > &  m  )  [inline]

Definition at line 572 of file matrix.hpp.

Referenced by column_echelon(), column_orthogonalization(), column_orthonormalization(), column_reduced_echelon(), implementation< polynomial_compose, V, polynomial_naive >::compose(), implementation< polynomial_vectorial, V, polynomial_naive >::copy(), implementation< polynomial_vectorial, V, polynomial_carry_naive< W > >::copy(), implementation< matrix_vectorial, V, matrix_naive >::copy(), decode_kronecker(), implementation< matrix_determinant, V, matrix_naive >::det(), implementation< matrix_determinant, V, matrix_bareiss< W > >::det(), nrelax_mul_series_rep< C, V >::direct_transform(), implementation< polynomial_exact_divide, V, polynomial_naive >::div(), div_kronecker(), implementation< polynomial_euclidean, V, polynomial_naive >::euclidean_sequence(), implementation< polynomial_gcd, V, polynomial_naive >::gcd(), implementation< polynomial_euclidean, V, polynomial_naive >::gcd(), implementation< polynomial_graeffe, V, polynomial_unrolled< W, m > >::graeffe(), implementation< matrix_image, V, matrix_naive >::image(), improve_zero(), implementation< polynomial_evaluate, V, polynomial_naive >::interpolate(), fkt_package< V >::inverse_fkt_step(), implementation< matrix_invert, V, matrix_ring_naive< W > >::invert(), implementation< matrix_invert, V, matrix_naive >::invert(), invert_lo(), implementation< matrix_kernel, V, matrix_naive >::kernel(), lshiftz(), implementation< polynomial_multiply, V, polynomial_tft_inc< W, Th > >::mul(), implementation< polynomial_multiply, V, polynomial_schonhage_triadic_inc< W, Th > >::mul(), implementation< polynomial_multiply, V, polynomial_schonhage_strassen_inc< W, Th > >::mul(), implementation< polynomial_multiply, V, polynomial_schonhage_inc< W, Th, Th_rec > >::mul(), implementation< polynomial_multiply, V, polynomial_schonhage_strassen_inc< W, Th > >::mul_negative_cyclic(), implementation< polynomial_multiply, V, polynomial_schonhage_strassen_inc< W, Th > >::mul_negative_cyclic_truncated(), implementation< polynomial_multiply, V, polynomial_schonhage_triadic_inc< W, Th > >::mul_triadic(), implementation< polynomial_evaluate, V, polynomial_naive >::multi_mod(), implementation< polynomial_evaluate, V, polynomial_naive >::multi_rem(), operator+(), operator-(), pquo(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::pquo_rem(), prem(), quo(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::quo_rem(), implementation< matrix_image, V, matrix_ring_naive< W > >::rank(), implementation< matrix_image, V, matrix_naive >::rank(), implementation< polynomial_euclidean, V, polynomial_naive >::reconstruct(), implementation< polynomial_euclidean, V, polynomial_dicho< BV > >::reconstruct(), rem(), row_orthogonalization(), row_orthonormalization(), nrelax_mul_series_rep< C, V >::Set_order(), implementation< polynomial_compose, V, polynomial_naive >::shift(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::shift(), shrink(), implementation< polynomial_multiply, V, polynomial_tft_inc< W, Th > >::square(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::tevaluate(), implementation< polynomial_evaluate, V, polynomial_naive >::tinterpolate(), tmul(), tquo(), implementation< polynomial_divide, V, polynomial_ring_dicho_inc< W > >::tquo_rem(), implementation< polynomial_divide, V, polynomial_naive >::tquo_rem(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::tquo_rem(), and trem().

00572                                    {
00573   return unary_map<id_op> (m); }

series<C,V> mmx::cos ( const series< C, V > &  f  )  [inline]

Definition at line 114 of file series_elementary.hpp.

Referenced by GLUE_23(), GLUE_40(), and GLUE_67().

00114                       {
00115   return unary_recursive_series<cos_op> (f);
00116 }

vector< series<C,V> > mmx::cos_sin ( const series< C, V > &  f  )  [inline]

Definition at line 109 of file series_elementary.hpp.

References as_series(), as_vector(), and trig().

00109                           {
00110   return as_vector (trig (as_series (vec (f))));
00111 }

permutation cycle ( nat  n,
int  plus = 1 
)

Definition at line 28 of file permutation.cpp.

References id_vector().

Referenced by GLUE_4().

00028                         {
00029   if (plus >= 0) plus= ((nat) plus) % n;
00030   else plus= (n-1) - (((nat) (-1-plus)) % n);
00031   vector<nat> v= id_vector (n);
00032   for (nat i=0; i<n; i++)
00033     if (i + plus < n) v[i]= i + plus;
00034     else v[i]= i + plus - n;
00035   return permutation (v);
00036 }

void mmx::decode_kronecker ( polynomial< C, V > *  dest,
const polynomial< C, V > &  src,
nat  n,
nat  m 
) [inline]

Definition at line 45 of file kronecker_polynomial.hpp.

References C, CF(), copy(), N(), Polynomial, seg(), and x.

00045                                                                          {
00046   typedef implementation<polynomial_linear,V> Pol;
00047   if (n == 0) return;
00048   nat l= aligned_size<C,V> (m), i, j; C* x;
00049   const C* y= seg (src);
00050   for (i= 0, j= 0; i + 1 < n && j + m < N(src); i++, j += m, y += m) {
00051     x= mmx_new<C> (l);
00052     Pol::copy (x, y, m);
00053     dest[i]= Polynomial (x, m, l, CF(src));
00054   }
00055   if (i < n && N(src) > i * m) {
00056     m= N(src) - i * m;
00057     l= aligned_size<C,V> (m);
00058     x= mmx_new<C> (l);
00059     Pol::copy (x, y, m);
00060     dest[i]= Polynomial (x, m, l, CF(src));
00061     i++;
00062   }
00063   for (; i < n; i++) dest[i]= Polynomial (C(0));
00064 }

void decode_kronecker ( integer *  dest,
nat  n,
xnat  bits,
const integer &  src 
)

Definition at line 36 of file kronecker_integer.cpp.

References decode_kronecker().

00036                                                                        {
00037   if (n == 0);
00038   else if (n == 1) dest[0]= src;
00039   else if (src > 0) {
00040     nat h= n>>1;
00041     integer aux= src >> (h*bits);
00042     if (src[h*bits-1]) aux += 1;
00043     decode_kronecker (dest+h, n-h, bits, aux);
00044     aux= src - (aux << (h*bits));
00045     decode_kronecker (dest, h, bits, aux);
00046   }
00047   else {
00048     integer bis= -src;
00049     nat h= n>>1;
00050     integer aux= bis >> (h*bits);
00051     if (bis[h*bits-1]) aux += 1;
00052     decode_kronecker (dest+h, n-h, bits, -aux);
00053     aux= bis - (aux << (h*bits));
00054     decode_kronecker (dest, h, bits, -aux);
00055   }
00056 }

void decode_kronecker ( unsigned long long int *  dest,
nat  n,
xnat  bits,
const integer &  src 
)

Definition at line 96 of file kronecker_int.cpp.

00101 {       \

void decode_kronecker ( long long int *  dest,
nat  n,
xnat  bits,
const integer &  src 
)

Definition at line 107 of file kronecker_int.cpp.

00130 {               \

void decode_kronecker ( unsigned long int *  dest,
nat  n,
xnat  bits,
const integer &  src 
)

Definition at line 95 of file kronecker_int.cpp.

00101 {       \

void decode_kronecker ( long int *  dest,
nat  n,
xnat  bits,
const integer &  src 
)

Definition at line 106 of file kronecker_int.cpp.

00130 {               \

void decode_kronecker ( unsigned int *  dest,
nat  n,
xnat  bits,
const integer &  src 
)

Definition at line 94 of file kronecker_int.cpp.

00101 {       \

void decode_kronecker ( int *  dest,
nat  n,
xnat  bits,
const integer &  src 
)

Definition at line 105 of file kronecker_int.cpp.

00130 {               \

void decode_kronecker ( unsigned short int *  dest,
nat  n,
xnat  bits,
const integer &  src 
)

Definition at line 93 of file kronecker_int.cpp.

00101 {       \

void decode_kronecker ( short int *  dest,
nat  n,
xnat  bits,
const integer &  src 
)

Definition at line 104 of file kronecker_int.cpp.

00130 {               \

void decode_kronecker ( unsigned char *  dest,
nat  n,
xnat  bits,
const integer &  src 
)

Definition at line 92 of file kronecker_int.cpp.

00101 {       \

void decode_kronecker ( signed char *  dest,
nat  n,
xnat  bits,
const integer &  src 
)
static void mmx::decode_kronecker_int ( I *  dest,
nat  n,
xnat  bits,
const integer &  src 
) [inline, static]

Definition at line 51 of file kronecker_int.cpp.

References decode_kronecker(), and I.

Referenced by decode_kronecker_uint().

00051                                                                      {
00052   static const integer mask= (integer (1) << (8 * sizeof (I))) - 1;
00053   if (n == 0);
00054   else if (n == 1) 
00055     dest[0]= src > 0 ? as<I> (src & mask) : - as<I> ((-src) & mask);
00056   else if (src > 0) {
00057     nat h= n>>1;
00058     integer aux= src >> (h*bits);
00059     if (src[h*bits-1]) aux += 1;
00060     decode_kronecker (dest+h, n-h, bits, aux);
00061     aux= src - (aux << (h*bits));
00062     decode_kronecker (dest, h, bits, aux);
00063   }
00064   else {
00065     integer bis= -src;
00066     nat h= n>>1;
00067     integer aux= bis >> (h*bits);
00068     if (bis[h*bits-1]) aux += 1;
00069     decode_kronecker (dest+h, n-h, bits, -aux);
00070     aux= bis - (aux << (h*bits));
00071     decode_kronecker (dest, h, bits, -aux);
00072   }
00073 }

void decode_kronecker_mod ( unsigned long long int *  dest,
nat  n,
xnat  bits,
const integer &  src,
const unsigned long long int &  p 
)

Definition at line 51 of file kronecker_modular_int.cpp.

00076 {                       \

void decode_kronecker_mod ( long long int *  dest,
nat  n,
xnat  bits,
const integer &  src,
const long long int &  p 
)

Definition at line 50 of file kronecker_modular_int.cpp.

00076 {                       \

void decode_kronecker_mod ( unsigned long int *  dest,
nat  n,
xnat  bits,
const integer &  src,
const unsigned long int &  p 
)

Definition at line 49 of file kronecker_modular_int.cpp.

00076 {                       \

void decode_kronecker_mod ( long int *  dest,
nat  n,
xnat  bits,
const integer &  src,
const long int &  p 
)

Definition at line 48 of file kronecker_modular_int.cpp.

00076 {                       \

void decode_kronecker_mod ( unsigned int *  dest,
nat  n,
xnat  bits,
const integer &  src,
const unsigned int &  p 
)

Definition at line 47 of file kronecker_modular_int.cpp.

00076 {                       \

void decode_kronecker_mod ( int *  dest,
nat  n,
xnat  bits,
const integer &  src,
const int &  p 
)

Definition at line 46 of file kronecker_modular_int.cpp.

00076 {                       \

void decode_kronecker_mod ( unsigned short int *  dest,
nat  n,
xnat  bits,
const integer &  src,
const unsigned short int &  p 
)

Definition at line 45 of file kronecker_modular_int.cpp.

00076 {                       \

void decode_kronecker_mod ( short int *  dest,
nat  n,
xnat  bits,
const integer &  src,
const short int &  p 
)

Definition at line 44 of file kronecker_modular_int.cpp.

00076 {                       \

void decode_kronecker_mod ( unsigned char *  dest,
nat  n,
xnat  bits,
const integer &  src,
const unsigned char &  p 
)

Definition at line 43 of file kronecker_modular_int.cpp.

00076 {                       \

void decode_kronecker_mod ( signed char *  dest,
nat  n,
xnat  bits,
const integer &  src,
const signed char &  p 
)

Definition at line 42 of file kronecker_modular_int.cpp.

Referenced by mul_kronecker_mod_int(), and square_kronecker_mod_int().

00076 {                       \

void mmx::decode_kronecker_mod_int ( I *  dest,
nat  n,
xnat  bits,
const integer &  src,
const I &  p 
) [inline]

Definition at line 24 of file kronecker_modular_int.cpp.

00025                                       {
00026   if (n == 0);
00027   else if (n == 1) dest[0]= as<I> (p == 0 ? src : src % p);
00028   else {
00029     nat h= n>>1;
00030     integer aux= src >> (h*bits);
00031     decode_kronecker_mod_int (dest+h, n-h, bits, aux, p);
00032     aux= src - (aux << (h*bits));
00033     decode_kronecker_mod_int (dest, h, bits, aux, p);
00034   }
00035 }

static void mmx::decode_kronecker_uint ( I *  dest,
nat  n,
xnat  bits,
const integer &  src 
) [inline, static]

Definition at line 76 of file kronecker_int.cpp.

References decode_kronecker_int().

00076                                                                       {
00077   if (n == 0);
00078   else if (n == 1) dest[0]= as<I> (src);
00079   else {
00080     nat h= n>>1;
00081     integer aux= src >> (h*bits);
00082     decode_kronecker_int (dest+h, n-h, bits, aux);
00083     aux= src - (aux << (h*bits));
00084     decode_kronecker_int (dest, h, bits, aux);
00085   }
00086 }

void mmx::decode_modular_int ( modular< modulus< C, V1 >, V2 > *  dest,
const D *  src,
nat  r,
nat  rr,
nat  c,
nat  cc 
) [inline]

Definition at line 98 of file matrix_modular_int.hpp.

References C, D, Modular, and Set.

00100 {
00101   typedef implementation<matrix_linear,V> Mat;
00102   typedef typename Op::nomul_op Set;
00103   C p = *Modular::get_modulus ();
00104   nat dest_rs= Mat::index (1, 0, rr, cc);
00105   nat dest_cs= Mat::index (0, 1, rr, cc);
00106   nat src_rs = Mat::index (1, 0, r, c);
00107   nat src_cs = Mat::index (0, 1, r, c);
00108   Modular* dest_row= dest;
00109   const D* src_row= src;
00110   for (nat i=0; i<r; i++, dest_row += dest_rs, src_row += src_rs) {
00111     Modular* dest_col= dest_row;
00112     const D* src_col= src_row;
00113     for (nat j=0; j<c; j++, dest_col += dest_cs, src_col += src_cs)
00114       Set::set_op (*dest_col, Modular ((*src_col) % p, true));
00115   }
00116 }

nat mmx::default_aligned_size ( nat  r,
nat  c 
) [inline]

Definition at line 82 of file matrix_naive.hpp.

00082                                     {
00083   return default_aligned_size<C> (r * c); }

mmx::DEFINE_UNARY_FORMAT_2 ( quotient   ) 
mmx::DEFINE_VARIANT ( series_rational  ,
series_relaxed< series_naive >   
)

Definition at line 21 of file series_rational.hpp.

00024                                        {
00025   typedef series_rational SV;
00026 };

mmx::DEFINE_VARIANT ( series_modular_integer  ,
series_relaxed< series_naive >   
)
mmx::DEFINE_VARIANT ( series_modular_int  ,
series_relaxed< series_naive >   
)
mmx::DEFINE_VARIANT ( series_integer  ,
series_relaxed< series_naive >   
)

Definition at line 21 of file series_integer.hpp.

00024                                       {
00025   typedef series_integer SV;
00026 };

mmx::DEFINE_VARIANT ( series_int  ,
series_relaxed< series_naive >   
)

Definition at line 21 of file series_int.hpp.

00025                                   {                             \
00026     typedef series_int SV;                                      \
00027   };
00028 
00029 DECLARE_HELPER(unsigned char)

mmx::DEFINE_VARIANT ( series_complex  ,
series_relaxed< series_naive >   
)

Definition at line 21 of file series_complex.hpp.

00024                                           {
00025   typedef series_complex SV;
00026 };

mmx::DEFINE_VARIANT ( polynomial_series_dicho  ,
polynomial_series< polynomial_dicho< polynomial_naive > >   
)
mmx::DEFINE_VARIANT ( polynomial_generic_schonhage  ,
polynomial_ring_dicho< polynomial_schonhage< polynomial_ring_naive< polynomial_naive > > >   
)
mmx::DEFINE_VARIANT ( polynomial_rational  ,
polynomial_quotient< polynomial_dicho< polynomial_naive > >   
)

Definition at line 21 of file polynomial_rational.hpp.

00027                                            {
00028   typedef polynomial_rational PV;
00029 };

mmx::DEFINE_VARIANT ( polynomial_modular_integer  ,
polynomial_modular< polynomial_dicho< polynomial_naive > >   
)
mmx::DEFINE_VARIANT ( polynomial_modular_int  ,
polynomial_dicho< polynomial_balanced< polynomial_kronecker< polynomial_naive > > >   
)
mmx::DEFINE_VARIANT ( polynomial_integer  ,
polynomial_gcd_ring_dicho< polynomial_balanced< polynomial_kronecker< polynomial_naive > > >   
)

Definition at line 27 of file polynomial_integer.hpp.

00034                                           {
00035   typedef polynomial_integer PV;
00036 };

mmx::DEFINE_VARIANT ( polynomial_int  ,
polynomial_ring_dicho< polynomial_balanced< polynomial_kronecker< polynomial_naive > > >   
)

Definition at line 27 of file polynomial_int.hpp.

00034                                             {   \
00035     typedef polynomial_int PV; };
00036 DECLARE_HELPER(signed char)

mmx::DEFINE_VARIANT ( matrix_rational  ,
matrix_quotient< matrix_naive >   
)

Definition at line 40 of file matrix_quotient.hpp.

References MV.

00044                                        {
00045   typedef matrix_rational MV;
00046 };

mmx::DEFINE_VARIANT ( matrix_modular_integer  ,
matrix_naive   
)
mmx::DEFINE_VARIANT ( matrix_modular_int  ,
matrix_strassen< matrix_threads< matrix_unrolled_4_4 > >   
)
mmx::DEFINE_VARIANT ( matrix_integer  ,
matrix_balanced< matrix_bareiss< matrix_crt< matrix_ring_naive< matrix_naive > > > >   
)

Definition at line 30 of file matrix_integer.hpp.

References MV.

00037                                       {
00038   typedef matrix_integer MV;
00039 };

mmx::DEFINE_VARIANT ( matrix_double  ,
matrix_strassen< matrix_threads< Matrix_simd_variant(double)> >   
)

Definition at line 28 of file matrix_double.hpp.

References MV.

00034                                      {
00035   typedef matrix_double MV;
00036 };

mmx::DEFINE_VARIANT ( crt_dicho_integer  ,
crt_dicho< crt_naive_integer >   
)

Definition at line 49 of file crt_integer.hpp.

00052                                          {
00053   typedef crt_dicho_integer CV; };

mmx::DEFINE_VARIANT ( crt_naive_integer  ,
crt_signed< crt_naive >   
)

Definition at line 27 of file crt_integer.hpp.

References C, I, and rem().

00031                                                        :
00032     public implementation<crt_project,crt_signed<crt_naive> >
00033 {
00034   template<typename C, typename I, typename W> static inline I
00035   mod (const C& a, const modulus<I,W>& p) {
00036     static integer r;
00037     return (I) mpz_fdiv_r_ui (*r, *a, *p); }
00038 
00039   template<typename C, typename W> static inline C
00040   mod (const C& a, const modulus<integer,W>& p) {
00041     return rem (a, *p); }
00042 };
00043 #endif
00044 
00045 STMPL
00046 struct crt_naive_variant_helper<integer> {
00047   typedef crt_naive_integer CV; };

mmx::DEFINE_VARIANT ( crt_int  ,
crt_signed< crt_naive >   
)
mmx::DEFINE_VARIANT ( base_naive_integer  ,
base_signed< base_naive >   
)
base_signed<base_dicho<base_naive> > mmx::DEFINE_VARIANT ( base_naive_uint  ,
base_naive   
)
mmx::DEFINE_VARIANT ( base_naive_int  ,
base_signed< base_naive >   
)
mmx::DEFINE_VARIANT_1 ( typename V  ,
,
polynomial_tft  ,
polynomial_dicho< polynomial_balanced_tft< polynomial_tft_inc< polynomial_karatsuba< V > > > >   
)
mmx::DEFINE_VARIANT_1 ( typename V  ,
,
polynomial_schonhage_triadic  ,
polynomial_balanced< polynomial_schonhage_triadic_inc< polynomial_karatsuba< V > > >   
)
mmx::DEFINE_VARIANT_1 ( typename V  ,
,
polynomial_schonhage_strassen  ,
polynomial_balanced_tft< polynomial_schonhage_strassen_inc< polynomial_karatsuba< V > > >   
)
mmx::DEFINE_VARIANT_1 ( typename V  ,
,
polynomial_schonhage  ,
polynomial_balanced_tft< polynomial_schonhage_inc< polynomial_karatsuba< V > > >   
)
mmx::DEFINE_VARIANT_1 ( typename V  ,
,
polynomial_gcd_ring_ducos  ,
polynomial_gcd_ring_ducos_inc< polynomial_gcd_ring_naive< V > >   
)
mmx::DEFINE_VARIANT_1 ( typename V  ,
,
polynomial_gcd_ring_naive  ,
polynomial_gcd_ring_naive_inc< polynomial_ring_naive< V > >   
)

Definition at line 60 of file polynomial_ring_naive.hpp.

00070                                     : public V {
00071   typedef typename V::Vec Vec;
00072   typedef polynomial_gcd_ring_ducos_inc<typename V::Naive> Naive;
00073   typedef polynomial_gcd_ring_ducos_inc<typename V::Positive> Positive;
00074   typedef polynomial_gcd_ring_ducos_inc<typename V::No_simd> No_simd;
00075   typedef polynomial_gcd_ring_ducos_inc<typename V::No_thread> No_thread;
00076   typedef polynomial_gcd_ring_ducos_inc<typename V::No_scaled> No_scaled;
00077 };

mmx::DEFINE_VARIANT_1 ( typename V  ,
,
polynomial_gcd_ring_dicho  ,
polynomial_gcd_ring_dicho_inc< polynomial_gcd_ring_naive< polynomial_ring_dicho< V > > >   
)
mmx::DEFINE_VARIANT_1 ( typename V  ,
,
polynomial_ring_dicho  ,
polynomial_ring_dicho_inc< polynomial_ring_naive< polynomial_dicho< V > > >   
)

Definition at line 41 of file polynomial_ring_dicho.hpp.

00052                                     :
00053   public V {};

mmx::DEFINE_VARIANT_1 ( typename I  ,
,
matrix_int_simd  ,
matrix_strassen< typename Matrix_simd_variant(I) >   
)
series<C,V> mmx::deflate ( const series< C, V > &  f,
nat  p 
) [inline]

Definition at line 1086 of file series.hpp.

References CF(), is_exact_zero(), Series, and Series_rep.

01086                                  {
01087   if (is_exact_zero (f)) return Series (CF(f));
01088   return (Series_rep*) new deflate_series_rep<C,V> (f, p);
01089 }

int deg ( const polynomial< C, V > &  P  )  [inline]
int degree ( const polynomial< C, V > &  P  )  [inline]
matrix<C,V> mmx::delete_col ( const matrix< C, V > &  m,
nat  c 
) [inline]

Definition at line 952 of file matrix.hpp.

References CF(), cols(), is_non_scalar(), Matrix, promote(), and rows().

Referenced by first_minor().

00952                                     {
00953   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
00954   ASSERT (c < cols (m), "index out of range");
00955   Matrix d (promote (0, CF(m)), rows (m), cols (m) - 1);
00956   for (nat j= 0; j < c; j++)
00957     for (nat i= 0; i < rows (m); i++) d(i,j)= m(i,j);
00958   for (nat j= c+1; j < cols (m); j++)
00959     for (nat i= 0; i < rows (m); i++) d(i,j-1)= m(i,j);
00960   return d;
00961 }

matrix<C,V> mmx::delete_row ( const matrix< C, V > &  m,
nat  r 
) [inline]

Definition at line 940 of file matrix.hpp.

References CF(), cols(), is_non_scalar(), Matrix, promote(), and rows().

Referenced by first_minor().

00940                                     {
00941   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
00942   ASSERT (r < rows (m), "index out of range");
00943   Matrix d (promote (0, CF(m)), rows (m) - 1, cols (m));
00944   for (nat i= 0; i < r; i++)
00945     for (nat j= 0; j < cols (m); j++) d(i,j)= m(i,j);
00946   for (nat i= r+1; i < rows (m); i++)
00947     for (nat j= 0; j < cols (m); j++) d(i-1,j)= m(i,j);
00948   return d;
00949 }

DT denominator ( const quotient< NT, DT > &  x  )  [inline]
Denominator_type (  )  const [inline]
series<C,V> mmx::derive ( const series< C, V > &  f  )  [inline]

Definition at line 922 of file series.hpp.

References CF(), is_exact_zero(), Series, and Series_rep.

00922                          {
00923   if (is_exact_zero (f)) return Series (CF(f));
00924   return (Series_rep*) new derive_series_rep<C,V> (f);
00925 }

quotient<NT,DT> mmx::derive ( const quotient< NT, DT > &  x,
const VT &  v 
) [inline]

Definition at line 332 of file quotient.hpp.

References denominator(), derive(), numerator(), Quotient, and square().

00332                                         {
00333   return Quotient (derive (numerator (x), v) * denominator (x) -
00334                    numerator (x) * derive (denominator (x), v),
00335                    square (denominator (x)),
00336                    true);
00337 }

NT quotient<NT,DT> mmx::derive ( const quotient< NT, DT > &  x  )  [inline]
Type Constraints

Definition at line 316 of file quotient.hpp.

References denominator(), derive(), numerator(), Quotient, and square().

00316                            {
00317   return Quotient (derive (numerator (x)) * denominator (x) -
00318                    numerator (x) * derive (denominator (x)),
00319                    square (denominator (x)),
00320                    true);
00321 }

polynomial<C,V> mmx::derive ( const polynomial< C, V > &  P,
const nat &  order 
) [inline]

Definition at line 1049 of file polynomial.hpp.

References C, CF(), derive(), N(), Polynomial, promote(), and seg().

01049                                                {
01050   typedef implementation<polynomial_linear,V> Pol;
01051   nat n= N(P);
01052   if (n <= order) return promote (0, P);
01053   nat l= aligned_size<C,V> (n-order);
01054   C* r= mmx_formatted_new<C> (l, CF(P));
01055   Pol::derive (r, seg (P), n, order);
01056   return Polynomial (r, n-order, l, CF(P));
01057 }

polynomial<C,V> mmx::derive ( const polynomial< C, V > &  P  )  [inline]

Definition at line 1038 of file polynomial.hpp.

References C, CF(), derive(), N(), Polynomial, promote(), and seg().

01038                              {
01039   typedef implementation<polynomial_linear,V> Pol;
01040   nat n= N(P);
01041   if (n <= 1) return promote (0, P);
01042   nat l= aligned_size<C,V> (n-1);
01043   C* r= mmx_formatted_new<C> (l, CF(P));
01044   Pol::derive (r, seg (P), n);
01045   return Polynomial (r, n-1, l, CF(P));
01046 }

V matrix<C,V> mmx::derive ( const matrix< C, V > &  m  ) 
series<C,V> mmx::derive_coeffs ( const series< C, V > &  f,
const T &  v 
) [inline]

Definition at line 928 of file series.hpp.

00928                                             {
00929   return binary_scalar_series<derive_op> (f, v);
00930 }

C mmx::det ( const matrix< C, V > &  m  )  [inline]

Definition at line 1231 of file matrix.hpp.

References CF(), cols(), is_non_scalar(), promote(), rows(), and tab().

Referenced by first_minor(), GLUE_114(), GLUE_39(), and GLUE_63().

01231                       {
01232   typedef implementation<matrix_determinant,V> Mat;
01233   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01234   ASSERT (cols(m) == rows(m), "square matrix expected");
01235   C r= promote (1, CF(m));
01236   Mat::det (r, tab(m), rows(m));
01237   return r;
01238 }

static nat mmx::digit_mirror_triadic ( nat  i,
nat  n 
) [static]

Definition at line 36 of file fft_roots.hpp.

Referenced by roots_triadic_helper< CC, UU, SS >::create_roots(), and roots_triadic_helper< CC, UU, SS >::create_stoor().

00036                                     {
00037   if (n == 1) return i;
00038   else return digit_mirror_triadic (i % (n / 3), n / 3) * 3 + i / (n / 3);
00039 }

series<C,V> mmx::dilate ( const series< C, V > &  f,
nat  p 
) [inline]

Definition at line 1065 of file series.hpp.

References CF(), is_exact_zero(), Series, and Series_rep.

01065                                 {
01066   if (is_exact_zero (f)) return Series (CF(f));
01067   return (Series_rep*) new dilate_series_rep<C,V> (f, p);
01068 }

polynomial<C,V> mmx::dilate ( const polynomial< C, V > &  P,
nat  p 
) [inline]

Definition at line 1120 of file polynomial.hpp.

References C, CF(), N(), Polynomial, and seg().

Referenced by GLUE_104(), GLUE_110(), GLUE_115(), GLUE_147(), GLUE_21(), GLUE_32(), GLUE_34(), GLUE_45(), and ramify().

01120                                     {
01121   typedef implementation<polynomial_linear,V> Pol;
01122   if (p == 1) return P;
01123   nat n= N(P);
01124   if (n <= 1) return P;
01125   nat k= (n-1)*p + 1;
01126   nat l= aligned_size<C,V> (k);
01127   C* r= mmx_formatted_new<C> (l, CF(P));
01128   Pol::dilate (r, seg (P), p, n);
01129   return Polynomial (r, k, l, CF(P));
01130 }

vector< typename Baser::modulus_base > mmx::direct_base ( const typename Baser::base &  s,
Baser &  baser 
) [inline]

Definition at line 175 of file base_naive.hpp.

References direct_base().

00175                                        {
00176   vector<I> dest;
00177   direct_base (dest, s, baser);
00178   return dest;
00179 }

void mmx::direct_base ( vector< typename Baser::modulus_base, W > &  dest,
const typename Baser::base &  s,
Baser &  baser 
) [inline]

Definition at line 166 of file base_naive.hpp.

References CF(), I, and size_bound().

00166                                                           {
00167   nat n= size_bound (s, baser);
00168   nat l= aligned_size<I,W> (n);
00169   I* tmp= mmx_formatted_new<I> (l, CF(dest));
00170   n= baser.direct_transform (tmp, n, s);
00171   dest= vector<I,W> (tmp, n, l, CF(dest));
00172 }

nat mmx::direct_base ( typename Baser::modulus_base *  dest,
nat  n,
const typename Baser::base &  s,
Baser &  baser 
) [inline]
vector< typename Crter::modulus_base > mmx::direct_crt ( const typename Crter::base &  s,
Crter &  crter 
) [inline]

Definition at line 336 of file crt_naive.hpp.

References direct_crt().

00336                                       {
00337   vector<I> dest;
00338   direct_crt (dest, s, crter);
00339   return dest;
00340 }

void mmx::direct_crt ( vector< typename Crter::modulus_base, W > &  dest,
const typename Crter::base &  s,
Crter &  crter 
) [inline]

Definition at line 328 of file crt_naive.hpp.

References CF(), I, and N().

00328                                                          {
00329   nat l= aligned_size<I,W> (N(crter));
00330   I* tmp= mmx_formatted_new<I> (l, CF(dest));
00331   crter.direct_transform (tmp, s);
00332   dest= vector<I,W> (tmp, N(crter), l, CF(dest));
00333 }

void mmx::direct_crt ( typename Crter::modulus_base *  dest,
const typename Crter::base &  s,
Crter &  crter 
) [inline]
void mmx::direct_fft ( C *  dest,
nat  n 
) [inline]

Definition at line 210 of file fft_naive.hpp.

References fft_naive_transformer< C, V >::direct_transform().

00210                             {
00211   if (n == 0) return;
00212   fft_naive_transformer<C> ffter (n, get_format (dest[0]));
00213   ffter.direct_transform (dest);
00214 }

void mmx::direct_fft_triadic ( C *  dest,
nat  n 
) [inline]

Definition at line 183 of file fft_triadic_naive.hpp.

References fft_triadic_naive_transformer< C, VV >::direct_transform_triadic().

00183                                     {
00184   if (n == 0) return;
00185   fft_triadic_naive_transformer<C> ffter (n, get_format (dest[0]));
00186   ffter.direct_transform_triadic (dest);
00187 }

void mmx::direct_kronecker ( integer &  dest,
const integer *  src,
nat  n,
xnat  bits 
)
C mmx::discriminant ( const polynomial< C, V > &  P  )  [inline]

Definition at line 1028 of file polynomial.hpp.

References derive(), and resultant().

Referenced by GLUE_100(), GLUE_106(), and GLUE_41().

01028                                    {
01029   typedef implementation<polynomial_subresultant,V> Pol;
01030   return resultant (derive (P), P);
01031 }

algebraic_number_extension<C,Ball>::El mmx::div ( const algebraic_number_extension< C, Ball > &  ext,
const typename algebraic_number_extension< C, Ball >::El &  p1,
const typename algebraic_number_extension< C, Ball >::El &  p2 
) [inline]

Definition at line 252 of file algebraic_number.hpp.

References div().

00252                                                              {
00253   return div (ext.ext, p1, p2);
00254 }

algebraic_number_extension<C,Ball>::El mmx::div ( const algebraic_number_extension< C, Ball > &  ext,
const C &  c1,
const typename algebraic_number_extension< C, Ball >::El &  p2 
) [inline]

Definition at line 247 of file algebraic_number.hpp.

References div().

00247                                                        {
00248   return div (ext.ext, c1, p2);
00249 }

algebraic_extension<C>::El mmx::div ( const algebraic_extension< C > &  ext,
const typename algebraic_extension< C >::El &  p1,
const typename algebraic_extension< C >::El &  p2 
) [inline]

Definition at line 119 of file algebraic_extension.hpp.

References Element, gcd(), promote(), and rem().

00119                                                                  {
00120   Element a= promote (0, p2), b= promote (0, p2), c= gcd (p2, ext.mp, a, b);
00121   return rem (p1 * a, ext.mp);
00122 }

algebraic_extension<C>::El mmx::div ( const algebraic_extension< C > &  ext,
const C &  c1,
const typename algebraic_extension< C >::El &  p2 
) [inline]
void mmx::div_kronecker ( polynomial< C, V > *  dest,
const polynomial< C, V > *  s1,
nat  n1,
const polynomial< C, V > *  s2,
nat  n2 
) [inline]

Definition at line 95 of file kronecker_polynomial.hpp.

References copy(), decode_kronecker(), encode_kronecker(), is_exact_zero(), max_polynomial_size(), and Polynomial.

Referenced by implementation< polynomial_exact_divide, V, polynomial_polynomial< W > >::div().

00097                                              {
00098   typedef implementation<polynomial_linear,V> Pol;
00099   ASSERT (n2 != 0, "division by zero");
00100   if (n1 == 0) return;
00101   nat m1= max_polynomial_size (s1, n1);
00102   nat m2= max_polynomial_size (s2, n2);
00103   nat n= n1 - n2 + 1;
00104   Polynomial x1, x2, y;
00105   encode_kronecker (x1, s1, n1, m1);
00106   encode_kronecker (x2, s2, n2, m1);
00107   y= x1 / x2;
00108   nat l= default_aligned_size<C> (n1);
00109   Polynomial* tmp= mmx_new<Polynomial> (l);
00110   decode_kronecker (tmp, y, n1, m1);
00111   while (n1 > 0 && is_exact_zero (tmp[n1-1])) n1--;
00112   nat m= max_polynomial_size (tmp, n1);
00113   if (n1 <= n && m1 != m + m2 - 1) {
00114     mmx_delete<Polynomial> (tmp, l);
00115     ERROR ("unexact division");
00116   }
00117   Pol::copy (dest, tmp, n);
00118   mmx_delete<Polynomial> (tmp, l); }

bool mmx::divides ( const series< C, V > &  f,
const series< C, V > &  g 
) [inline]

Definition at line 1157 of file series.hpp.

References val().

01157                                            {
01158   return val (f) <= val (g);
01159 }

bool mmx::divides ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Definition at line 684 of file polynomial.hpp.

References rem().

Referenced by GLUE_102(), GLUE_155(), GLUE_27(), GLUE_37(), GLUE_40(), and GLUE_96().

00684                                                      {
00685   return rem (P2, P1) == 0;
00686 }

list<Monomial > mmx::dominant_monomials ( const quotient_series< Series, Monomial > &  f  )  [inline]

Definition at line 128 of file quotient_series.hpp.

00128                                                          {
00129   return stair_mul (f->m, dominant_monomials (f->f)); }

polynomial<C,V> mmx::duplicate ( const polynomial< C, V > &  P  )  [inline]

Definition at line 1377 of file polynomial.hpp.

01377                                                 {
01378   return unary_map<duplicate_op> (P); }

matrix<C,V> mmx::duplicate ( const matrix< C, V > &  m  )  [inline]

Definition at line 574 of file matrix.hpp.

00574                                         {
00575   return unary_map<duplicate_op> (m); }

void mmx::encode_kronecker ( integer &  dest,
const unsigned short *  src,
nat  n,
xnat  bits 
)

Definition at line 39 of file kronecker_int.cpp.

00051 {

void mmx::encode_kronecker ( polynomial< C, V > &  dest,
const polynomial< C, V > *  src,
nat  n,
nat  m 
) [inline]

Definition at line 33 of file kronecker_polynomial.hpp.

References C, CF(), Polynomial, and x.

00033                                                                          {
00034   if (n == 0) return;
00035   nat p= n * m;
00036   nat l= aligned_size<C,V> (p);
00037   C* x= mmx_new<C> (l); C* y= x;
00038   for (nat i= 0; i < n; i++, x += m, src++)
00039     for (nat j= 0; j < m; j++)
00040       x[j]= (*src)[j];
00041   dest= Polynomial (y, p, l, CF(src[0]));
00042 }

void encode_kronecker ( integer &  dest,
const integer *  src,
nat  n,
xnat  bits 
)

Definition at line 23 of file kronecker_integer.cpp.

References encode_kronecker().

00023                                                                        {
00024   if (n == 0) dest= 0;
00025   else if (n == 1) dest= src[0];
00026   else {
00027     nat h= n>>1;
00028     integer aux;
00029     encode_kronecker (aux , src+h, n-h, bits);
00030     encode_kronecker (dest, src  , h  , bits);
00031     dest += (aux << (h*bits));
00032   }
00033 }

void encode_kronecker ( integer &  dest,
const unsigned long long int *  src,
nat  n,
xnat  bits 
)

Definition at line 42 of file kronecker_int.cpp.

00051 {

void encode_kronecker ( integer &  dest,
const long long int *  src,
nat  n,
xnat  bits 
)

Definition at line 47 of file kronecker_int.cpp.

00051 {

void encode_kronecker ( integer &  dest,
const unsigned long int *  src,
nat  n,
xnat  bits 
)

Definition at line 41 of file kronecker_int.cpp.

00051 {

void encode_kronecker ( integer &  dest,
const long int *  src,
nat  n,
xnat  bits 
)

Definition at line 46 of file kronecker_int.cpp.

00051 {

void encode_kronecker ( integer &  dest,
const unsigned int *  src,
nat  n,
xnat  bits 
)

Definition at line 40 of file kronecker_int.cpp.

00051 {

void encode_kronecker ( integer &  dest,
const int *  src,
nat  n,
xnat  bits 
)

Definition at line 45 of file kronecker_int.cpp.

00051 {

void mmx::encode_kronecker ( integer &  dest,
const unsigned short int *  src,
nat  n,
xnat  bits 
)
void encode_kronecker ( integer &  dest,
const short int *  src,
nat  n,
xnat  bits 
)

Definition at line 44 of file kronecker_int.cpp.

00051 {

void encode_kronecker ( integer &  dest,
const unsigned char *  src,
nat  n,
xnat  bits 
)

Definition at line 38 of file kronecker_int.cpp.

00051 {

void encode_kronecker ( integer &  dest,
const signed char *  src,
nat  n,
xnat  bits 
)
static void mmx::encode_kronecker_int ( integer &  dest,
const I *  src,
nat  n,
xnat  bits 
) [inline, static]

Definition at line 22 of file kronecker_int.cpp.

00022                                                                      {
00023   if (n == 0) dest= 0;
00024   else if (n == 1) dest= src[0];
00025   else {
00026     nat h= n>>1;
00027     integer aux;
00028     encode_kronecker_int (aux , src+h, n-h, bits);
00029     encode_kronecker_int (dest, src  , h  , bits);
00030     dest += (aux << (h*bits));
00031   }
00032 }

void mmx::encode_modular_int ( D *  dest,
const modular< modulus< C, V1 >, V2 > *  src,
nat  r,
nat  rr,
nat  c,
nat  cc 
) [inline]

Definition at line 78 of file matrix_modular_int.hpp.

References D, and Modular.

00080 {
00081   typedef implementation<matrix_linear,V> Mat;
00082   nat dest_rs= Mat::index (1, 0, r, c);
00083   nat dest_cs= Mat::index (0, 1, r, c);
00084   nat src_rs = Mat::index (1, 0, rr, cc);
00085   nat src_cs = Mat::index (0, 1, rr, cc);
00086   D* dest_row= dest;
00087   const Modular* src_row= src;
00088   for (nat i=0; i<r; i++, dest_row += dest_rs, src_row += src_rs) {
00089     D* dest_col= dest_row;
00090     const Modular* src_col= src_row;
00091     for (nat j=0; j<c; j++, dest_col += dest_cs, src_col += src_cs)
00092       *dest_col= (D) (*(*src_col));
00093   }
00094 }

mmx::EQUAL_INT_SUGAR ( template< typename C, typename V >  ,
series< C, V >   
)
mmx::EQUAL_INT_SUGAR ( template< typename NT, typename DT >  ,
quotient< NT, DT >   
)
mmx::EQUAL_INT_SUGAR ( template< typename C, typename Extension >  ,
algebraic< C, Extension >   
)
mmx::EQUAL_SCALAR_SUGAR ( template< typename NT, typename DT >  ,
quotient< NT, DT >  ,
NT   
)
mmx::EQUAL_SCALAR_SUGAR ( template< typename C, typename Extension >  ,
algebraic< C, Extension >  ,
 
)
mmx::EQUAL_SCALAR_SUGAR_BIS ( template< typename C, typename Extension >  ,
algebraic< C, Extension >  ,
 
)
vector<C> mmx::eval ( const polynomial< C, V > &  p,
const vector< C > &  x 
) [inline]

Definition at line 1199 of file polynomial.hpp.

References evaluate().

01199                                             {
01200   return evaluate (p, x);
01201 }

C mmx::eval ( const polynomial< C, V > &  p,
const C &  x 
) [inline]

Definition at line 1174 of file polynomial.hpp.

References evaluate().

01174                                        {
01175   return evaluate (p, x);
01176 }

Ball mmx::eval ( const algebraic_number_extension< C, Ball > &  ext1,
const algebraic_number_extension< C, Ball > &  ext2,
const vector< C > &  v 
) [inline]

Definition at line 201 of file algebraic_number.hpp.

References Ball, deg(), and increase_precision().

00201                                                                 {
00202   increase_precision (ext1);
00203   increase_precision (ext2);
00204   Ball sum1= 0;
00205   for (int i1=deg(ext1.ext.mp)-1; i1>=0; i1--) {
00206     Ball sum2= 0;
00207     for (int i2=deg(ext2.ext.mp)-1; i2>=0; i2--) {
00208       sum2 *= ext2.x;
00209       sum2 += as<Ball> (v[i1*deg(ext2.ext.mp) + i2]);
00210     }
00211     sum1 *= ext1.x;
00212     sum1 += sum2;
00213   }
00214   return sum1;
00215 }

Ball mmx::eval ( const algebraic_number_extension< C, Ball > &  ext,
const typename algebraic_number_extension< C, Ball >::El &  p1 
) [inline]

Definition at line 190 of file algebraic_number.hpp.

References Ball, deg(), and increase_precision().

00190                                            {
00191   increase_precision (ext);
00192   Ball sum= 0;
00193   for (int i=deg(p1); i>=0; i--) {
00194     sum *= ext.x;
00195     sum += as<Ball> (p1[i]);
00196   }
00197   return sum;
00198 }

K mmx::eval ( const polynomial< C, V > &  p,
const K &  x 
) [inline]

Definition at line 117 of file algebraic_number.hpp.

References deg().

Referenced by as_ball(), ser_polynomial_regular_root_op::def(), ser_carry_polynomial_regular_root_op::def(), improve_zero(), is_zero(), join(), normalize(), polynomial_modular_root(), and sign().

00117                                             {
00118   K sum= 0;
00119   for (int i=deg(p); i>=0; i--) {
00120     sum *= x;
00121     sum += as<K> (p[i]);
00122   }
00123   return sum;
00124 }

vector<C> mmx::evaluate ( const polynomial< C, V > &  p,
const vector< C > &  x 
) [inline]

Definition at line 1193 of file polynomial.hpp.

References evaluate().

01193                                                 {
01194   typedef implementation<polynomial_evaluate,V> Pol;
01195   return Pol::evaluate (p, x);
01196 }

C mmx::evaluate ( const polynomial< C, V > &  p,
const C &  x 
) [inline]

Definition at line 1162 of file polynomial.hpp.

References evaluate(), N(), and seg().

01162                                            {
01163   typedef implementation<polynomial_evaluate,V> Pol;
01164   return Pol::evaluate (seg (p), x, N(p));
01165 }

matrix<Evaluate_type(C,K)> mmx::evaluate ( const matrix< C, V > &  v,
const K &  x 
) [inline]
bool mmx::exact_eq ( const quotient_series< Series, Monomial > &  f,
const quotient_series< Series, Monomial > &  g 
) [inline]

Definition at line 102 of file quotient_series.hpp.

References exact_eq().

00102                                                               {
00103   return exact_eq (f->f, g->f) && exact_eq (f->m, g->m); }

bool mmx::exact_eq ( const quotient< NT, DT > &  x1,
const quotient< NT, DT > &  x2 
) [inline]

Definition at line 149 of file quotient.hpp.

References denominator(), exact_eq(), and numerator().

00149                                                                    {
00150   return exact_eq (numerator (x1), numerator (x2)) &&
00151          exact_eq (denominator (x1), denominator (x2)); }

bool mmx::exact_eq ( const algebraic_number_extension< C, Ball > &  x,
const algebraic_number_extension< C, Ball > &  y 
) [inline]

Definition at line 82 of file algebraic_number.hpp.

References exact_eq().

00082                                                            {
00083   return exact_eq (*x, *y); }

bool mmx::exact_eq ( const algebraic_extension< C > &  x,
const algebraic_extension< C > &  y 
) [inline]

Definition at line 62 of file algebraic_extension.hpp.

References exact_eq().

00062                                                                    {
00063   return exact_eq (*x, *y); }

bool mmx::exact_eq ( const algebraic< C, Extension > &  x1,
const algebraic< C, Extension > &  x2 
) [inline]

Definition at line 111 of file algebraic.hpp.

References field(), and value().

Referenced by implementation< polynomial_vectorial, V, polynomial_naive >::exact_eq(), exact_eq(), and exact_neq().

00111                                                                      {
00112   return exact_eq (value (x1), value (x2)) &&
00113          exact_eq (field (x1), field (x2)); }

nat mmx::exact_hash ( const quotient_series< Series, Monomial > &  f  )  [inline]

Definition at line 99 of file quotient_series.hpp.

References exact_hash().

00099                                                       {
00100   return exact_hash (f->f) ^ exact_hash (f->m); }

nat mmx::exact_hash ( const quotient< NT, DT > &  x  )  [inline]

Definition at line 138 of file quotient.hpp.

References denominator(), exact_hash(), and numerator().

00138                                                {
00139   nat h= exact_hash (numerator (x));
00140   return (h<<1) ^ (h<<5) ^ (h>>29) ^ exact_hash (denominator (x)); }

nat mmx::exact_hash ( const algebraic_number_extension< C, Ball > &  x  )  [inline]

Definition at line 76 of file algebraic_number.hpp.

References exact_hash().

00076 { return exact_hash (*x); }

nat mmx::exact_hash ( const algebraic_extension< C > &  x  )  [inline]

Definition at line 56 of file algebraic_extension.hpp.

References exact_hash().

00056 { return exact_hash (*x); }

nat mmx::exact_hash ( const algebraic< C, Extension > &  x  )  [inline]

Definition at line 105 of file algebraic.hpp.

References field(), and value().

Referenced by exact_hash().

00105                                                 {
00106   nat h= exact_hash (value (x));
00107   return (h<<1) ^ (h<<5) ^ (h>>29) ^ exact_hash (field (x)); }

bool mmx::exact_neq ( const quotient_series< Series, Monomial > &  f,
const quotient_series< Series, Monomial > &  g 
) [inline]

Definition at line 105 of file quotient_series.hpp.

References exact_eq().

00105                                                                {
00106   return !exact_eq (f, g); }

bool mmx::exact_neq ( const quotient< NT, DT > &  x1,
const quotient< NT, DT > &  x2 
) [inline]

Definition at line 152 of file quotient.hpp.

References exact_eq().

00152                                                                     {
00153   return !exact_eq (x1, x2); }

bool mmx::exact_neq ( const algebraic_number_extension< C, Ball > &  x,
const algebraic_number_extension< C, Ball > &  y 
) [inline]

Definition at line 84 of file algebraic_number.hpp.

References exact_neq().

00084                                                             {
00085   return exact_neq (*x, *y); }

bool mmx::exact_neq ( const algebraic_extension< C > &  x,
const algebraic_extension< C > &  y 
) [inline]

Definition at line 64 of file algebraic_extension.hpp.

References exact_neq().

00064                                                                     {
00065   return exact_neq (*x, *y); }

bool mmx::exact_neq ( const algebraic< C, Extension > &  x1,
const algebraic< C, Extension > &  x2 
) [inline]

Definition at line 114 of file algebraic.hpp.

References exact_eq().

Referenced by exact_neq(), mul_series_rep< C, V >::next(), and mul_series_rep< M, V >::next().

00114                                                                       {
00115   return !exact_eq (x1, x2); }

series<C,V> mmx::exp ( const series< C, V > &  f  )  [inline]

Definition at line 40 of file series_elementary.hpp.

Referenced by GLUE_21(), GLUE_38(), GLUE_65(), primitive_root_helper< C >::op(), pow(), and ramify().

00040                       {
00041   return unary_recursive_series<exp_op> (f);
00042 }

vector< polynomial<C,V> > mmx::expand ( const polynomial< C, V > &  p,
const vector< C > &  v,
const vector< nat > &  mu 
) [inline]

Definition at line 1232 of file polynomial.hpp.

References C, CF(), N(), Polynomial, and seg().

01232                                                                      {
01233   typedef implementation<polynomial_evaluate,V> Pol;
01234   nat k= N(v);
01235   ASSERT (N(mu) == k, "dimensions don't match");
01236   C** r= mmx_new<C*> (k);
01237   for (nat i=0; i<k; i++)
01238     r[i]= mmx_formatted_new<C> (aligned_size<C,V> (mu[i]), CF(p));
01239   Pol::expand (r, seg (p), seg (v), seg (mu), N (p), k);
01240   nat l= default_aligned_size<Polynomial > (k);
01241   Polynomial* ret= mmx_formatted_new<Polynomial > (l, get_format (p));
01242   for (nat i=0; i<k; i++)
01243     ret[i]= Polynomial (r[i], mu[i], aligned_size<C,V> (mu[i]), CF(p));
01244   mmx_delete<C*> (r, k);
01245   return vector<Polynomial > (ret, k, l);
01246 }

xint mmx::exponent ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1446 of file polynomial.hpp.

01446                                                 {
01447   return big<max_exponent_op> (p); }

xint mmx::exponent ( const matrix< C, V > &  m  )  [inline]

Definition at line 763 of file matrix.hpp.

00763                                             {
00764   return big<max_exponent_op> (m); }

matrix<C,V> mmx::extend ( const matrix< C, V > &  m,
const matrix< C2, V2 > &  n 
) [inline]

Definition at line 200 of file matrix.hpp.

References cols(), is_a_scalar(), is_non_scalar(), Matrix, and rows().

Referenced by binary_map(), binary_test(), base_dicho_transformer< C, S, V >::direct_transform(), base_dicho_transformer< C, S, V >::inverse_transform(), polynomial< C, V >::operator+=(), coprime_moduli_sequence< M, V >::operator[](), and unary_set().

00200                                                  {
00201   VERIFY (is_a_scalar (m), "scalar matrix expected");
00202   VERIFY (is_non_scalar (n), "non-scalar matrix expected");
00203   return Matrix (m.scalar(), rows (n), cols (n)); }

polynomial<C,V> mmx::extract_mod ( const polynomial< C, V > &  P,
nat  k,
nat  p 
) [inline]

Definition at line 1262 of file polynomial.hpp.

References C, CF(), N(), and Polynomial.

01262                                                 {
01263   typedef implementation<polynomial_linear,V> Pol;
01264   nat n= (N(P) - k + p - 1) / p;
01265   nat l= aligned_size<C,V> (n);
01266   C* r= mmx_formatted_new<C> (l, CF(P));
01267   for (nat i=0; i<n; i++) r[i]= P[i*p+k];
01268   return Polynomial (r, n, l, CF(P));
01269 }

void mmx::fft_mul ( double *  dest,
const double *  s1,
const double *  s2,
nat  n1,
nat  n2 
)

Definition at line 34 of file fft_double.cpp.

References mul().

00034                                                                            {
00035   typedef polynomial_dicho<
00036             polynomial_tft<
00037               polynomial_karatsuba<
00038                 polynomial_naive> > > PV;
00039   typedef implementation<vector_linear,PV> Vec;
00040   typedef implementation<polynomial_multiply,PV> Pol;
00041   //mmout << "s1= "; Vec::print (mmout, s1, n1); mmout << "\n";
00042   //mmout << "s2= "; Vec::print (mmout, s2, n2); mmout << "\n";
00043   nat nd = n1 + n2 - 1;
00044   nat spc= n1 + n2 + nd;
00045   complex<double>* m1= mmx_new<complex<double> > (spc);
00046   complex<double>* m2= m1 + n1;
00047   complex<double>* md= m2 + n2;
00048   Vec::cast (m1, s1, n1);
00049   Vec::cast (m2, s2, n2);
00050   Pol::mul (md, m1, m2, n1, n2);
00051   Vec::vec_unary<Re_op> (dest, md, nd);
00052   mmx_delete<complex<double> > (m1, spc);
00053   //mmout << "dd= "; Vec::print (mmout, dest, nd); mmout << "\n";
00054 }

Extension mmx::field ( const algebraic< C, Extension > &  x  )  [inline]
polynomial<C> mmx::field_modulus ( const algebraic< C, Extension > &  x  )  [inline]

Definition at line 96 of file algebraic.hpp.

00096 { return x.ext.mp; }

matrix<C> mmx::fill_matrix ( const C &  x,
const int &  r,
const int &  c 
) [inline]

Definition at line 805 of file matrix.hpp.

References promote().

Referenced by GLUE_17(), GLUE_18(), GLUE_47(), and GLUE_86().

00805                                                      {
00806   matrix<C> m (promote (0, x), (nat) r, (nat) c);
00807   for (nat i=0; i<((nat) r); i++)
00808     for (nat j=0; j<((nat) c); j++)
00809       m (i, j)= x;
00810   return m;
00811 }

C mmx::first_minor ( const matrix< C, V > &  m,
nat  i,
nat  j 
) [inline]

Definition at line 1241 of file matrix.hpp.

References cols(), delete_col(), delete_row(), det(), is_non_scalar(), and rows().

Referenced by cofactor().

01241                                             {
01242   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01243   ASSERT (cols(m) == rows(m), "square matrix expected");
01244   ASSERT (i < rows(m), "index out of range");
01245   ASSERT (j < cols(m), "index out of range");
01246   return det (delete_col (delete_row (m, i), j));
01247 }

series<C> mmx::fixed_point_series ( const routine &  fun,
const C &  c 
) [inline]

Definition at line 58 of file series_sugar.hpp.

References fixed_point_series().

00058                                                     {
00059   return fixed_point_series (fun, vec<C> (c));
00060 }

series<C> mmx::fixed_point_series ( const routine &  fun,
const vector< C > &  c 
) [inline]

Definition at line 52 of file series_sugar.hpp.

References recursive().

Referenced by fixed_point_series(), GLUE_173(), GLUE_50(), GLUE_81(), and integrate_series().

00052                                                             {
00053   series_rep<C>* rep= new fixed_point_series_rep<C> (fun, c);
00054   return recursive (series<C> (rep));
00055 }

series<vector<C> > mmx::fixed_point_series_vector ( const routine &  fun,
const vector< C > &  c 
) [inline]

Definition at line 99 of file series_sugar.hpp.

References fixed_point_series_vector().

00099                                                                    {
00100   return fixed_point_series_vector (fun, vec<vector<C> > (c));
00101 }

series<vector<C> > mmx::fixed_point_series_vector ( const routine &  fun,
const vector< vector< C > > &  c 
) [inline]

Definition at line 88 of file series_sugar.hpp.

References recursive().

Referenced by fixed_point_series_vector(), and fixed_point_vector_series().

00088                                                                             {
00089   series_rep<vector<C> >* rep= new fixed_point_vector_series_rep<C> (fun, c);
00090   return recursive (series<vector<C> > (rep));
00091 }

vector<series<C> > mmx::fixed_point_vector_series ( const routine &  fun,
const vector< C > &  c 
) [inline]

Definition at line 103 of file series_sugar.hpp.

References fixed_point_vector_series().

00103                                                                    {
00104   return fixed_point_vector_series (fun, vec<vector<C> > (c));
00105 }

vector<series<C> > mmx::fixed_point_vector_series ( const routine &  fun,
const vector< vector< C > > &  c 
) [inline]

Definition at line 94 of file series_sugar.hpp.

References as_vector(), and fixed_point_series_vector().

Referenced by fixed_point_vector_series(), and gen_fixed_point_vector_series().

00094                                                                             {
00095   return as_vector (fixed_point_series_vector (fun, c));
00096 }

syntactic mmx::flatten ( const vector< series< C, V >, W > &  v,
const syntactic &  z 
) [inline]

Definition at line 85 of file series_vector.hpp.

References flatten(), and N().

00085                                                      {
00086   syntactic g;
00087   nat i, n= N(v);
00088   vector<syntactic,W> r (g, n);
00089   for (i=0; i<n; i++)
00090     r[i]= flatten (v[i], z);
00091   return flatten (r);
00092 }

syntactic mmx::flatten ( const matrix< series< C, V >, U > &  m,
const syntactic &  z 
) [inline]

Definition at line 76 of file series_matrix.hpp.

References cols(), flatten(), and rows().

00076                                                      {
00077   syntactic g;
00078   nat i, j, nr= rows (m), nc= cols (m);
00079   matrix<syntactic,U> r (g, nr, nc);
00080   for (i=0; i<nr; i++)
00081     for (j=0; j<nc; j++)
00082       r (i, j)= flatten (m (i, j), z);
00083   return flatten (r);
00084 }

syntactic mmx::flatten ( const unknown< C, V > &  c  )  [inline]

Definition at line 149 of file series_implicit.hpp.

References access(), and flatten().

00149                       {
00150   syntactic sum= flatten (c->b);
00151   for (nat i=c->i1; i<c->i2; i++) {
00152     nat k= i / c->f->m;
00153     nat j= i % c->f->m;
00154     sum= sum + flatten (c->s[i-c->i1]) *
00155                access (c->f->name_component (j), flatten (k));
00156   }
00157   return sum;
00158 }

syntactic mmx::flatten ( const series< C, V > &  f  )  [inline]

Definition at line 329 of file series.hpp.

References flatten(), and var().

00329                           {
00330   return flatten (f, as_syntactic (var (f)));
00331 }

syntactic flatten ( const series< C, V > &  f,
const syntactic &  z 
) [inline]

Definition at line 315 of file series.hpp.

References C, flatten(), and pow().

00315                                               {
00316   if (Series::get_formula_output ()) return f->expression (z);
00317   syntactic s= 0;
00318   nat order= Series::get_output_order ();
00319   for (nat i=0; i<order; i++) {
00320     (void) f[order-1];
00321     C coeff= f[i];
00322     s= s + flatten (coeff) * pow (z, i);
00323   }
00324   s= s + apply ("O", pow (z, syntactic (order)));
00325   return s;
00326 }

syntactic mmx::flatten ( const quotient_series< Series, Monomial > &  f  )  [inline]

Definition at line 108 of file quotient_series.hpp.

References flatten().

00108                                                          {
00109   return flatten (f->f) * flatten (f->m); }

NT syntactic mmx::flatten ( const quotient< NT, DT > &  x  )  [inline]
Type Constraints

Definition at line 165 of file quotient.hpp.

References denominator(), flatten(), and numerator().

00165                             {
00166   return flatten (numerator (x)) / flatten (denominator (x));
00167 }

syntactic mmx::flatten ( const polynomial< C, V > &  P  )  [inline]

Definition at line 323 of file polynomial.hpp.

References flatten(), and var().

00323                               {
00324   return flatten (P, as_syntactic (var (P)));
00325 }

syntactic mmx::flatten ( const polynomial< C, V > &  P,
const syntactic &  v 
) [inline]

Definition at line 314 of file polynomial.hpp.

References deg(), flatten(), and pow().

00314                                                   {
00315   int i, len= deg(P);
00316   syntactic s= 0;
00317   for (i=len; i>=0; i--)
00318     s= s + flatten (P[i]) * pow (v, i);
00319   return s;
00320 }

syntactic mmx::flatten ( const permutation &  p  )  [inline]

Definition at line 65 of file permutation.hpp.

References flatten(), and iterate().

00065                                {
00066   return flatten (syntactic ("permutation"), iterate (*p));
00067 }

syntactic mmx::flatten ( const modulus< polynomial< C, PV >, MV > &  c  )  [inline]

Definition at line 85 of file modular_polynomial.hpp.

References flatten(), polynomial< C, V >::get_variable_name(), and x.

00085                                                   {
00086   generic x= polynomial<C, PV>::get_variable_name ();
00087   generic a= gen (GEN_PRIME, x);
00088   if (x == "x") a= "a";
00089   if (x == "y") a= "b";
00090   if (x == "z") a= "c";
00091   return flatten (*c, as_syntactic (a)); 
00092 }

syntactic mmx::flatten ( const modular< modulus< polynomial< C, PV >, MW >, MV > &  c  )  [inline]

Definition at line 75 of file modular_polynomial.hpp.

References flatten(), polynomial< C, V >::get_variable_name(), and x.

00075                                                                {
00076   generic x= polynomial<C, PV>::get_variable_name ();
00077   generic a= gen (GEN_PRIME, x);
00078   if (x == "x") a= "a";
00079   if (x == "y") a= "b";
00080   if (x == "z") a= "c";
00081   return flatten (*c, as_syntactic (a)); 
00082 }

syntactic mmx::flatten ( const matrix< C, V > &  m  )  [inline]

Definition at line 350 of file matrix.hpp.

References cols(), flatten(), is_a_scalar(), and rows().

00350                           {
00351   if (is_a_scalar (m)) return flatten (m.scalar());
00352   int i, j, nr= rows(m), nc= cols(m);
00353   vector<syntactic> v;
00354   for (i=0; i<nr; i++) {
00355     vector<syntactic> h;
00356     for (j=0; j<nc; j++)
00357       h << flatten (m (i, j));
00358     v << apply (GEN_ROW, h);
00359   }
00360   return apply (GEN_SQTUPLE, v);
00361 }

syntactic mmx::flatten ( const algebraic_number_extension< C, Ball > &  x  )  [inline]

Definition at line 91 of file algebraic_number.hpp.

References flatten().

00091                                                {
00092   return syn ("Field", flatten (x.ext.mp), flatten (x.x)); }

syntactic mmx::flatten ( const algebraic_extension< C > &  x  )  [inline]

Definition at line 71 of file algebraic_extension.hpp.

References flatten().

00071                                                    {
00072   return syn ("Extension", flatten (x.mp)); }

syntactic mmx::flatten ( const algebraic< C, Extension > &  x  )  [inline]

Definition at line 140 of file algebraic.hpp.

References field(), and value().

Referenced by lshiftz_series_vector_rep< C, V, W >::expression(), vector_series_rep< C, V, W >::expression(), vector_access_series_rep< C, V, W >::expression(), implicit_vector_series_rep< C, V >::expression(), implicit_series_rep< C, V >::expression(), fixed_point_vector_series_rep< C >::expression(), fixed_point_series_rep< C >::expression(), mul_series_rep< C, V >::expression(), reverse_series_rep< C, V >::expression(), compose_series_rep< C, V >::expression(), binary_series_rep< Op, C, V >::expression(), unary_series_rep< Op, C, V >::expression(), binary_scalar_recursive_series_rep< Op, C, V, X >::expression(), binary_recursive_series_rep< Op, C, V >::expression(), unary_polynomial_recursive_series_rep< Op, C, V, L >::expression(), unary_recursive_series_rep< Op, C, V >::expression(), nullary_recursive_series_rep< Op, C, V >::expression(), unary_map_as_series_rep< Op, C, V, S, SV >::expression(), ternary_scalar_series_rep< Op, C, V, X, Y >::expression(), binary_scalar_series_rep< Op, C, V, X >::expression(), matrix_series_rep< C, V, U >::expression(), matrix_access_series_rep< C, V, U >::expression(), solver_container_series_rep< C, V >::expression(), known_series_rep< C, V, UV >::expression(), nrelax_mul_series_rep< C, V >::expression(), div_series_rep< M, V >::expression(), rdiv_sc_series_rep< M, V, X >::expression(), carry_mul_sc_series_rep< M, V, X >::expression(), binary_series_rep< Op, M, V >::expression(), unary_series_rep< Op, M, V >::expression(), binary_scalar_series_rep< Op, M, V, X >::expression(), ldiv_mat_monoblock_series_rep< M, V >::expression(), ldiv_vec_monoblock_series_rep< M, V >::expression(), ldiv_mat_series_rep< M, V >::expression(), ldiv_sc_mat_series_rep< M, V >::expression(), matrix_carry_mul_rem_series_rep< M, V >::expression(), matrix_carry_mul_quo_series_rep< M, V, X >::expression(), ldiv_vec_series_rep< M, V >::expression(), ldiv_sc_vec_series_rep< M, V >::expression(), vector_carry_mul_rem_series_rep< M, V >::expression(), vector_carry_mul_quo_series_rep< M, V, X >::expression(), lshiftz_series_matrix_rep< M, V >::expression(), mul_series_rep< M, V >::expression(), binary_scalar_recursive_monoblock_series_rep< Op, M, V, s, BV, t, X >::expression(), unary_polynomial_recursive_monoblock_series_rep< Op, M, V, s, BV, t, L >::expression(), truncate_mul_monoblock_series_rep< M, V, s, BV, t >::expression(), binary_monoblock_series_rep< Op, M, V, s, BV, t >::expression(), change_precision_series_rep< C, V >::expression(), deflate_series_rep< C, V >::expression(), dilate_series_rep< C, V >::expression(), q_difference_series_rep< C, V >::expression(), shift_series_rep< C, V >::expression(), integrate_series_rep< C, V >::expression(), xderive_series_rep< C, V >::expression(), derive_series_rep< C, V >::expression(), piecewise_series_rep< C, V >::expression(), restrict_series_rep< C, V >::expression(), lshiftz_series_rep< C, V >::expression(), lcm_series_rep< C, V >::expression(), gcd_series_rep< C, V >::expression(), map_series_rep< C, V, S, SV, Fun >::expression(), cast_series_rep< C, V, K, W >::expression(), slow_series_rep< C, V >::expression(), fast_series_rep< C, V >::expression(), polynomial_series_rep< C, V >::expression(), scalar_series_rep< C, V >::expression(), zero_series_rep::expression(), recursive_container_series_rep< C, V >::expression(), inv_mod_polynomial_series_rep< C, U, V, W >::expression(), flatten(), and solver_series_rep< C, V >::name_component().

00140                              {
00141   return apply ("algebraic", flatten (value (x)), flatten (field (x)));
00142 }

series< matrix<C,U> ,V> mmx::from_matrix ( const matrix< series< C, V >, U > &  m  )  [inline]

Definition at line 123 of file series_matrix.hpp.

00123                                      {
00124   return (series_rep<Matrix,V>*) new matrix_series_rep<C,V,U> (m);
00125 }

series<M,V> mmx::from_monoblock ( const series< modular< modulus< Lift_type(M)>, modular_global_series_carry_monoblock< M, s, BV > >, BV > &  f,
const series_carry_monoblock_transformer< M, V, s, BV > &  blocker 
) [inline]
series< vector<C,W> ,V> mmx::from_vector ( const vector< series< C, V >, W > &  v  )  [inline]

Definition at line 129 of file series_vector.hpp.

Referenced by fixed_point_vector_series_rep< C >::initialize().

00129                                      {
00130   return (series_rep<Vector,V>*) new vector_series_rep<C,V,W> (v);
00131 }

algebraic_number mmx::gaussian ( const algebraic_real &  x,
const algebraic_real &  y 
) [inline]

Definition at line 407 of file algebraic_number.hpp.

References times_i().

Referenced by GLUE_71().

00407                                                             {
00408   return algebraic_number (x) + times_i (algebraic_number (y));
00409 }

series<C,V> mmx::gcd ( const series< C, V > &  f,
const series< C, V > &  g 
) [inline]

Definition at line 797 of file series.hpp.

References Series_rep.

00797                                        {
00798   return (Series_rep*) new gcd_series_rep<C,V> (f, g);
00799 }

static vector< polynomial<C,V> > mmx::gcd ( const polynomial< C, V > &  p,
const vector< polynomial< C, V > > &  q 
) [inline, static]

Definition at line 831 of file polynomial.hpp.

00831                                                        {
00832   typedef implementation<polynomial_evaluate,V> Pol;
00833   return Pol::multi_gcd (p, q);
00834 }

polynomial<C,V> mmx::gcd ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Definition at line 825 of file polynomial.hpp.

References gcd().

00825                                                  {
00826   typedef implementation<polynomial_gcd,V> Pol;
00827   return Pol::gcd (P1, P2);
00828 }

polynomial<C,V> mmx::gcd ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2,
polynomial< C, V > &  U1 
) [inline]

Definition at line 819 of file polynomial.hpp.

References CF(), gcd(), Polynomial, and promote().

00819                                                                  {
00820   Polynomial U2(0); U1= promote (1, CF(P1));
00821   return gcd (P1, P2, U1, U2);
00822 }

polynomial<C,V> mmx::gcd ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2,
polynomial< C, V > &  U1,
polynomial< C, V > &  U2 
) [inline]
mmx::GCD_SUGAR ( template< typename NT, typename DT >  ,
quotient< NT, DT >   
)
vector<generic> mmx::gen_fixed_point_vector_series ( const routine &  fun,
const vector< C > &  c 
) [inline]

Definition at line 108 of file series_sugar.hpp.

References fixed_point_vector_series().

Referenced by gen_integrate_vector_series(), GLUE_170(), GLUE_174(), and GLUE_51().

00108                                                                        {
00109   return as<vector<generic> > (fixed_point_vector_series (fun, c));
00110 }

vector<generic> mmx::gen_implicit_vector_series ( const routine &  fun,
const vector< C > &  c 
) [inline]

Definition at line 201 of file series_sugar.hpp.

References implicit_vector_series().

Referenced by GLUE_172(), GLUE_178(), and GLUE_55().

00201                                                                     {
00202   return as<vector<generic> > (implicit_vector_series (fun, c));
00203 }

vector<generic> mmx::gen_integrate_vector_series ( const routine &  fun,
const vector< C > &  c 
) [inline]

Definition at line 113 of file series_sugar.hpp.

References gen_fixed_point_vector_series(), and integrate().

Referenced by GLUE_171(), GLUE_176(), and GLUE_53().

00113                                                                      {
00114   return gen_fixed_point_vector_series (integrate (fun), c);
00115 }

format< matrix<C,U> > mmx::get_matrix_format ( const matrix< series< C, V >, U > &  m  )  [inline]

Definition at line 87 of file series_matrix.hpp.

References C, CF(), cols(), Matrix, promote(), and rows().

00087                                            {
00088   format<Series > fm1= CF(m);
00089   format<C> fm2= get_format1 (fm1);
00090   C zero= promote (0, fm2);
00091   Matrix r (zero, rows (m), cols (m));
00092   return get_format (r);
00093 }

format< vector<C,W> > mmx::get_vector_format ( const vector< series< C, V >, W > &  v  )  [inline]

Definition at line 95 of file series_vector.hpp.

References C, CF(), N(), promote(), and Vector.

00095                                            {
00096   format<Series > fm1= CF(v);
00097   format<C> fm2= get_format1 (fm1);
00098   C zero= promote (0, fm2);
00099   Vector r (zero, N(v));
00100   return get_format (r);
00101 }

static void mmx::GLUE_1 ( const series< rational > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 64 of file glue_series_rational.cpp.

References arg_2, and set_variable_name().

00064                                                                {
00065     set_variable_name (arg_1, arg_2);
00066   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_1 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 57 of file glue_quotient_polynomial_rational.cpp.

References simple_quotient.

00057                                                                                 {
00058     return (simple_quotient(polynomial<rational> ) (arg_1, arg_2));
00059   }

static polynomial<rational> mmx::GLUE_1 ( const tuple< rational > &  arg_1  )  [static]

Definition at line 25 of file glue_vector_rational.cpp.

References as_vector().

00025                                         {
00026     return vector<rational > (as_vector (arg_1));
00027   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_1 ( const tuple< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1  )  [static]

Definition at line 70 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_1, as_vector(), and polynomial_reverse().

00070                                                                      {
00071     return polynomial_reverse (as_vector (arg_1));
00072   }

static polynomial<integer> mmx::GLUE_1 ( const tuple< integer > &  arg_1  )  [static]

Definition at line 20 of file glue_vector_integer.cpp.

References as_vector().

00020                                        {
00021     return vector<integer > (as_vector (arg_1));
00022   }

static vector<generic> mmx::GLUE_1 ( const vector< generic > &  arg_1  )  [static]

Definition at line 12 of file glue_vector_generic.cpp.

00012                                         {
00013     return -arg_1;
00014   }

static permutation mmx::GLUE_1 ( const tuple< int > &  arg_1  )  [static]

Definition at line 14 of file glue_vector_int.cpp.

References as_vector().

00014                                    {
00015     return vector<int > (as_vector (arg_1));
00016   }

static polynomial< mmx_modular(integer) , polynomial_carry_variant_helper< mmx_modular(integer) >::PV> mmx::GLUE_1 ( const tuple< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 23 of file glue_vector_modular_integer.cpp.

References arg_1, and as_vector().

00023                                                      {
00024     return vector<mmx_modular(integer) > (as_vector (arg_1));
00025   }

static void mmx::GLUE_1 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 39 of file glue_p_adic_modular_integer.cpp.

References arg_2, and set_variable_name().

00039                                                                                    {
00040     set_variable_name (arg_1, arg_2);
00041   }

static matrix<rational> mmx::GLUE_1 ( const int &  arg_1  )  [static]

Definition at line 56 of file glue_series_generic.cpp.

References integer_construct.

00056                             {
00057     return integer_construct (arg_1);
00058   }

static row_tuple<generic> mmx::GLUE_1 ( const row_tuple< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 81 of file glue_matrix_modular_integer.cpp.

References arg_1.

00081                                                          {
00082     return as<row_tuple<generic> > (arg_1);
00083   }

static generic mmx::GLUE_1 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 60 of file glue_series_modular_integer.cpp.

References old_integer_pow.

00060                                                       {
00061     return old_integer_pow (arg_1, arg_2);
00062   }

static bool mmx::GLUE_1 ( const generic &  arg_1  )  [static]

Definition at line 80 of file glue_matrix_generic.cpp.

References arg_1.

00080                                 {
00081     return generic_is_string (arg_1);
00082   }

static algebraic_real mmx::GLUE_1 ( const rational &  arg_1  )  [static]

Definition at line 63 of file glue_algebraic_number.cpp.

00063                                  {
00064     return algebraic_real (arg_1);
00065   }

static algebraic<generic> mmx::GLUE_1 ( const polynomial< generic > &  arg_1  )  [static]
static alias<vector<rational> > mmx::GLUE_10 ( const alias< vector< rational > > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 70 of file glue_vector_rational.cpp.

References arg_1.

00070                                                                                  {
00071     return alias_write (arg_1, arg_2);
00072   }

static alias<vector<integer> > mmx::GLUE_10 ( const alias< vector< integer > > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 65 of file glue_vector_integer.cpp.

References arg_1.

00065                                                                                {
00066     return alias_write (arg_1, arg_2);
00067   }

static alias<vector<int> > mmx::GLUE_10 ( const alias< vector< int > > &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 59 of file glue_vector_int.cpp.

References arg_1.

00059                                                                        {
00060     return alias_write (arg_1, arg_2);
00061   }

static polynomial<rational> mmx::GLUE_10 ( const series< rational > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 109 of file glue_series_rational.cpp.

References range().

00109                                                                               {
00110     return range (arg_1, arg_2, arg_3);
00111   }

static iterator<generic> mmx::GLUE_10 ( const series< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 105 of file glue_series_modular_integer.cpp.

References arg_1, and iterate().

00105                                                        {
00106     return as<iterator<generic> > (iterate (arg_1));
00107   }

static iterator<generic> mmx::GLUE_10 ( const series< integer > &  arg_1  )  [static]

Definition at line 101 of file glue_series_integer.cpp.

References iterate().

00101                                          {
00102     return as<iterator<generic> > (iterate (arg_1));
00103   }

static polynomial<generic> mmx::GLUE_10 ( const series< generic > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 101 of file glue_series_generic.cpp.

References range().

00101                                                                              {
00102     return range (arg_1, arg_2, arg_3);
00103   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_10 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1,
const quotient< polynomial< rational >, polynomial< rational > > &  arg_2 
) [static]

Definition at line 102 of file glue_quotient_polynomial_rational.cpp.

00102                                                                                                                      {
00103     return arg_1 - arg_2;
00104   }

static polynomial<rational> mmx::GLUE_10 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 101 of file glue_polynomial_rational.cpp.

References square().

00101                                               {
00102     return square (arg_1);
00103   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_10 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1  )  [static]

Definition at line 115 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_1, and square().

00115                                                                            {
00116     return square (arg_1);
00117   }

static polynomial<integer> mmx::GLUE_10 ( const polynomial< integer > &  arg_1  )  [static]

Definition at line 92 of file glue_polynomial_integer.cpp.

References square().

00092                                              {
00093     return square (arg_1);
00094   }

static bool mmx::GLUE_10 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 57 of file glue_vector_generic.cpp.

00057                                                                        {
00058     return arg_1 != arg_2;
00059   }

static permutation mmx::GLUE_10 ( const permutation &  arg_1,
const permutation &  arg_2 
) [static]

Definition at line 59 of file glue_permutation.cpp.

00059                                                                {
00060     return arg_1 * arg_2;
00061   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_10 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1  )  [static]

Definition at line 84 of file glue_p_adic_modular_integer.cpp.

00084                                                               {
00085     return -arg_1;
00086   }

static alias<rational> mmx::GLUE_10 ( const alias< matrix< rational > > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 128 of file glue_matrix_rational.cpp.

References arg_1.

00128                                                                                       {
00129     return alias_access<rational > (arg_1, arg_2, arg_3);
00130   }

static integer mmx::GLUE_10 ( const matrix< integer > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 125 of file glue_matrix_integer.cpp.

References arg_1.

00125                                                                              {
00126     return arg_1 (arg_2, arg_3);
00127   }

static bool mmx::GLUE_10 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 125 of file glue_matrix_generic.cpp.

00125                                                      {
00126     return arg_1 >= arg_2;
00127   }

static algebraic_real mmx::GLUE_10 ( const algebraic_real &  arg_1,
const algebraic_real &  arg_2 
) [static]

Definition at line 108 of file glue_algebraic_number.cpp.

00108                                                                      {
00109     return arg_1 - arg_2;
00110   }

static algebraic<generic> mmx::GLUE_10 ( const algebraic< generic > &  arg_1,
const algebraic< generic > &  arg_2 
) [static]
static bool mmx::GLUE_100 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 520 of file glue_vector_rational.cpp.

00520                                                                   {
00521     return arg_1 > arg_2;
00522   }

static series<complex<rational> > mmx::GLUE_100 ( const series< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 559 of file glue_series_rational.cpp.

References arg_1.

00559                                                                                      {
00560     return arg_1 + arg_2;
00561   }

static complex<rational> mmx::GLUE_100 ( const polynomial< complex< rational > > &  arg_1  )  [static]

Definition at line 551 of file glue_polynomial_rational.cpp.

References discriminant().

00551                                                          {
00552     return discriminant (arg_1);
00553   }

static polynomial<generic> mmx::GLUE_100 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]

Definition at line 541 of file glue_polynomial_generic.cpp.

References quo().

00541                                                                                 {
00542     return quo (arg_1, arg_2);
00543   }

static matrix<complex<rational> > mmx::GLUE_100 ( const matrix< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 578 of file glue_matrix_rational.cpp.

References arg_1.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), glue_series_rational(), and glue_vector_rational().

00578                                                                                      {
00579     return arg_1 - arg_2;
00580   }

static vector<rational> mmx::GLUE_101 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 525 of file glue_vector_rational.cpp.

00525                                                                           {
00526     return inf (arg_1, arg_2);
00527   }

static series<complex<rational> > mmx::GLUE_101 ( const complex< rational > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 564 of file glue_series_rational.cpp.

References arg_2.

00564                                                                                      {
00565     return arg_1 - arg_2;
00566   }

static polynomial<complex<rational> > mmx::GLUE_101 ( const polynomial< complex< rational > > &  arg_1  )  [static]

Definition at line 556 of file glue_polynomial_rational.cpp.

References integrate().

00556                                                          {
00557     return integrate (arg_1);
00558   }

static polynomial<generic> mmx::GLUE_101 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]

Definition at line 546 of file glue_polynomial_generic.cpp.

References rem().

00546                                                                                 {
00547     return rem (arg_1, arg_2);
00548   }

static matrix<complex<rational> > mmx::GLUE_101 ( const complex< rational > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 583 of file glue_matrix_rational.cpp.

References arg_2.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), glue_series_rational(), and glue_vector_rational().

00583                                                                                      {
00584     return arg_1 * arg_2;
00585   }

static vector<rational> mmx::GLUE_102 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 530 of file glue_vector_rational.cpp.

00530                                                                           {
00531     return sup (arg_1, arg_2);
00532   }

static series<complex<rational> > mmx::GLUE_102 ( const series< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 569 of file glue_series_rational.cpp.

References arg_1.

00569                                                                                      {
00570     return arg_1 - arg_2;
00571   }

static polynomial<complex<rational> > mmx::GLUE_102 ( const polynomial< complex< rational > > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 561 of file glue_polynomial_rational.cpp.

References arg_2, and compose().

00561                                                                                                       {
00562     return compose (arg_1, arg_2);
00563   }

static bool mmx::GLUE_102 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]

Definition at line 551 of file glue_polynomial_generic.cpp.

References divides().

00551                                                                                 {
00552     return divides (arg_1, arg_2);
00553   }

static matrix<complex<rational> > mmx::GLUE_102 ( const matrix< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 588 of file glue_matrix_rational.cpp.

References arg_1.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), glue_series_rational(), and glue_vector_rational().

00588                                                                                      {
00589     return arg_1 * arg_2;
00590   }

static vector<rational> mmx::GLUE_103 ( const vector< rational > &  arg_1  )  [static]

Definition at line 535 of file glue_vector_rational.cpp.

References abs().

00535                                            {
00536     return abs (arg_1);
00537   }

static series<complex<rational> > mmx::GLUE_103 ( const complex< rational > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 574 of file glue_series_rational.cpp.

References arg_2.

00574                                                                                      {
00575     return arg_1 * arg_2;
00576   }

static polynomial<complex<rational> > mmx::GLUE_103 ( const polynomial< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 566 of file glue_polynomial_rational.cpp.

References q_difference().

00566                                                                                          {
00567     return q_difference (arg_1, arg_2);
00568   }

static polynomial<generic> mmx::GLUE_103 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2,
const int &  arg_3 
) [static]

Definition at line 556 of file glue_polynomial_generic.cpp.

References subresultant().

00556                                                                                                   {
00557     return subresultant (arg_1, arg_2, arg_3);
00558   }

static vector<complex<rational> > mmx::GLUE_103 ( const matrix< complex< rational > > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 593 of file glue_matrix_rational.cpp.

References arg_1, and arg_2.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), glue_series_rational(), and glue_vector_rational().

00593                                                                                               {
00594     return arg_1 * arg_2;
00595   }

static vector<complex<rational> > mmx::GLUE_104 ( const vector< rational > &  arg_1  )  [static]

Definition at line 540 of file glue_vector_rational.cpp.

00540                                            {
00541     return as<vector<complex<rational> > > (arg_1);
00542   }

static series<complex<rational> > mmx::GLUE_104 ( const series< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 579 of file glue_series_rational.cpp.

References arg_1.

00579                                                                                      {
00580     return arg_1 * arg_2;
00581   }

static polynomial<complex<rational> > mmx::GLUE_104 ( const polynomial< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 571 of file glue_polynomial_rational.cpp.

References dilate().

00571                                                                            {
00572     return dilate (arg_1, arg_2);
00573   }

static vector<generic> mmx::GLUE_104 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]

Definition at line 561 of file glue_polynomial_generic.cpp.

References wrap_subresultants().

00561                                                                                 {
00562     return wrap_subresultants (arg_1, arg_2);
00563   }

static vector<complex<rational> > mmx::GLUE_104 ( const vector< complex< rational > > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 598 of file glue_matrix_rational.cpp.

References arg_1, and arg_2.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), glue_series_rational(), and glue_vector_rational().

00598                                                                                               {
00599     return arg_1 * arg_2;
00600   }

static series<complex<rational> > mmx::GLUE_105 ( const series< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 584 of file glue_series_rational.cpp.

References arg_1, and binpow().

00584                                                                        {
00585     return binpow (arg_1, arg_2);
00586   }

static polynomial<complex<rational> > mmx::GLUE_105 ( const vector< complex< rational > > &  arg_1  )  [static]

Definition at line 576 of file glue_polynomial_rational.cpp.

References annulator().

00576                                                      {
00577     return annulator (arg_1);
00578   }

static generic mmx::GLUE_105 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]

Definition at line 566 of file glue_polynomial_generic.cpp.

References resultant().

00566                                                                                 {
00567     return resultant (arg_1, arg_2);
00568   }

static bool mmx::GLUE_105 ( const matrix< complex< rational > > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 603 of file glue_matrix_rational.cpp.

References arg_1, and arg_2.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), and glue_series_rational().

00603                                                                                               {
00604     return arg_1 == arg_2;
00605   }

static series<complex<rational> > mmx::GLUE_106 ( const series< complex< rational > > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 589 of file glue_series_rational.cpp.

References arg_1, and binpow().

00589                                                                            {
00590     return binpow (arg_1, arg_2);
00591   }

static polynomial<complex<rational> > mmx::GLUE_106 ( const vector< complex< rational > > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 581 of file glue_polynomial_rational.cpp.

References arg_2, and interpolate().

00581                                                                                               {
00582     return interpolate (arg_1, arg_2);
00583   }

static generic mmx::GLUE_106 ( const polynomial< generic > &  arg_1  )  [static]

Definition at line 571 of file glue_polynomial_generic.cpp.

References discriminant().

00571                                               {
00572     return discriminant (arg_1);
00573   }

static bool mmx::GLUE_106 ( const matrix< complex< rational > > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 608 of file glue_matrix_rational.cpp.

References arg_1, and arg_2.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), and glue_series_rational().

00608                                                                                               {
00609     return arg_1 != arg_2;
00610   }

static bool mmx::GLUE_107 ( const series< complex< rational > > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 594 of file glue_series_rational.cpp.

References arg_1, and arg_2.

00594                                                                                               {
00595     return arg_1 == arg_2;
00596   }

static polynomial<complex<rational> > mmx::GLUE_107 ( const polynomial< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 586 of file glue_polynomial_rational.cpp.

References shift().

00586                                                                                          {
00587     return shift (arg_1, arg_2);
00588   }

static polynomial<generic> mmx::GLUE_107 ( const polynomial< generic > &  arg_1  )  [static]

Definition at line 576 of file glue_polynomial_generic.cpp.

References integrate().

00576                                               {
00577     return integrate (arg_1);
00578   }

static bool mmx::GLUE_107 ( const matrix< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 613 of file glue_matrix_rational.cpp.

References arg_1.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), and glue_series_rational().

00613                                                                                      {
00614     return arg_1 == arg_2;
00615   }

static bool mmx::GLUE_108 ( const series< complex< rational > > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 599 of file glue_series_rational.cpp.

References arg_1, and arg_2.

00599                                                                                               {
00600     return arg_1 != arg_2;
00601   }

static polynomial<complex<rational> > mmx::GLUE_108 ( const polynomial< complex< rational > > &  arg_1  )  [static]

Definition at line 591 of file glue_polynomial_rational.cpp.

References graeffe().

00591                                                          {
00592     return graeffe (arg_1);
00593   }

static polynomial<generic> mmx::GLUE_108 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]

Definition at line 581 of file glue_polynomial_generic.cpp.

References compose().

00581                                                                                 {
00582     return compose (arg_1, arg_2);
00583   }

static bool mmx::GLUE_108 ( const matrix< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 618 of file glue_matrix_rational.cpp.

References arg_1.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), and glue_series_rational().

00618                                                                                      {
00619     return arg_1 != arg_2;
00620   }

static bool mmx::GLUE_109 ( const series< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 604 of file glue_series_rational.cpp.

References arg_1.

00604                                                                                      {
00605     return arg_1 == arg_2;
00606   }

static polynomial<complex<rational> > mmx::GLUE_109 ( const polynomial< integer > &  arg_1  )  [static]

Definition at line 596 of file glue_polynomial_rational.cpp.

00596                                               {
00597     return as<polynomial<complex<rational> > > (arg_1);
00598   }

static polynomial<generic> mmx::GLUE_109 ( const polynomial< generic > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 586 of file glue_polynomial_generic.cpp.

References arg_2, and q_difference().

00586                                                                     {
00587     return q_difference (arg_1, arg_2);
00588   }

static bool mmx::GLUE_109 ( const complex< rational > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 623 of file glue_matrix_rational.cpp.

References arg_2.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), and glue_series_rational().

00623                                                                                      {
00624     return arg_1 == arg_2;
00625   }

static vector<rational> mmx::GLUE_11 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 75 of file glue_vector_rational.cpp.

00075                                                                  {
00076     return cons (arg_1, arg_2);
00077   }

static vector<integer> mmx::GLUE_11 ( const integer &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 70 of file glue_vector_integer.cpp.

00070                                                                {
00071     return cons (arg_1, arg_2);
00072   }

static vector<int> mmx::GLUE_11 ( const int &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 64 of file glue_vector_int.cpp.

00064                                                        {
00065     return cons (arg_1, arg_2);
00066   }

static series<rational> mmx::GLUE_11 ( const series< rational > &  arg_1  )  [static]

Definition at line 114 of file glue_series_rational.cpp.

00114                                           {
00115     return -arg_1;
00116   }

static integer mmx::GLUE_11 ( const series< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 106 of file glue_series_integer.cpp.

00106                                                            {
00107     return arg_1[arg_2];
00108   }

static series<generic> mmx::GLUE_11 ( const series< generic > &  arg_1  )  [static]

Definition at line 106 of file glue_series_generic.cpp.

00106                                          {
00107     return -arg_1;
00108   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_11 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1,
const quotient< polynomial< rational >, polynomial< rational > > &  arg_2 
) [static]

Definition at line 107 of file glue_quotient_polynomial_rational.cpp.

00107                                                                                                                      {
00108     return arg_1 * arg_2;
00109   }

static polynomial<rational> mmx::GLUE_11 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 106 of file glue_polynomial_rational.cpp.

00106                                                                                  {
00107     return arg_1 + arg_2;
00108   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_11 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 120 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_1, and arg_2.

00120                                                                                                                                            {
00121     return arg_1 + arg_2;
00122   }

static polynomial<integer> mmx::GLUE_11 ( const polynomial< integer > &  arg_1,
const polynomial< integer > &  arg_2 
) [static]

Definition at line 97 of file glue_polynomial_integer.cpp.

00097                                                                                {
00098     return arg_1 + arg_2;
00099   }

static vector<generic> mmx::GLUE_11 ( const vector< generic > &  arg_1  )  [static]

Definition at line 62 of file glue_vector_generic.cpp.

References invert().

00062                                          {
00063     return invert (arg_1);
00064   }

static permutation mmx::GLUE_11 ( const permutation &  arg_1  )  [static]

Definition at line 64 of file glue_permutation.cpp.

References invert().

00064                                      {
00065     return invert (arg_1);
00066   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_11 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1  )  [static]

Definition at line 89 of file glue_p_adic_modular_integer.cpp.

References square().

00089                                                               {
00090     return square (arg_1);
00091   }

static matrix<rational> mmx::GLUE_11 ( const matrix< rational > &  arg_1,
const int &  arg_2,
const int &  arg_3,
const int &  arg_4,
const int &  arg_5 
) [static]

Definition at line 133 of file glue_matrix_rational.cpp.

References range().

00133                                                                                                                   {
00134     return range (arg_1, arg_2, arg_3, arg_4, arg_5);
00135   }

static alias<integer> mmx::GLUE_11 ( const alias< matrix< integer > > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 130 of file glue_matrix_integer.cpp.

References arg_1.

00130                                                                                      {
00131     return alias_access<integer > (arg_1, arg_2, arg_3);
00132   }

static bool mmx::GLUE_11 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 130 of file glue_matrix_generic.cpp.

00130                                                      {
00131     return starts (arg_1, arg_2);
00132   }

static algebraic_real mmx::GLUE_11 ( const algebraic_real &  arg_1,
const algebraic_real &  arg_2 
) [static]

Definition at line 113 of file glue_algebraic_number.cpp.

00113                                                                      {
00114     return arg_1 * arg_2;
00115   }

static algebraic<generic> mmx::GLUE_11 ( const algebraic< generic > &  arg_1,
const algebraic< generic > &  arg_2 
) [static]
static bool mmx::GLUE_110 ( const series< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 609 of file glue_series_rational.cpp.

References arg_1.

00609                                                                                      {
00610     return arg_1 != arg_2;
00611   }

static polynomial<complex<rational> > mmx::GLUE_110 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 601 of file glue_polynomial_rational.cpp.

00601                                                {
00602     return as<polynomial<complex<rational> > > (arg_1);
00603   }

static polynomial<generic> mmx::GLUE_110 ( const polynomial< generic > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 591 of file glue_polynomial_generic.cpp.

References dilate().

00591                                                                 {
00592     return dilate (arg_1, arg_2);
00593   }

static bool mmx::GLUE_110 ( const complex< rational > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 628 of file glue_matrix_rational.cpp.

References arg_2.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), and glue_series_rational().

00628                                                                                      {
00629     return arg_1 != arg_2;
00630   }

static bool mmx::GLUE_111 ( const complex< rational > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 614 of file glue_series_rational.cpp.

References arg_2.

00614                                                                                      {
00615     return arg_1 == arg_2;
00616   }

static polynomial<generic> mmx::GLUE_111 ( const polynomial< complex< rational > > &  arg_1  )  [static]

Definition at line 606 of file glue_polynomial_rational.cpp.

00606                                                          {
00607     return as<polynomial<generic> > (arg_1);
00608   }

static polynomial<generic> mmx::GLUE_111 ( const vector< generic > &  arg_1  )  [static]

Definition at line 596 of file glue_polynomial_generic.cpp.

References annulator().

00596                                           {
00597     return annulator (arg_1);
00598   }

static matrix<complex<rational> > mmx::GLUE_111 ( const complex< rational > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 633 of file glue_matrix_rational.cpp.

References arg_2.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), and glue_series_rational().

00633                                                                                      {
00634     return arg_1 / arg_2;
00635   }

static bool mmx::GLUE_112 ( const complex< rational > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 619 of file glue_series_rational.cpp.

References arg_2.

00619                                                                                      {
00620     return arg_1 != arg_2;
00621   }

static polynomial<generic> mmx::GLUE_112 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 601 of file glue_polynomial_generic.cpp.

References interpolate().

00601                                                                         {
00602     return interpolate (arg_1, arg_2);
00603   }

static matrix<complex<rational> > mmx::GLUE_112 ( const matrix< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 638 of file glue_matrix_rational.cpp.

References arg_1.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), and glue_series_rational().

00638                                                                                      {
00639     return arg_1 / arg_2;
00640   }

static series<complex<rational> > mmx::GLUE_113 ( const series< complex< rational > > &  arg_1  )  [static]

Definition at line 624 of file glue_series_rational.cpp.

References arg_1, and derive().

00624                                                      {
00625     return derive (arg_1);
00626   }

static polynomial<generic> mmx::GLUE_113 ( const polynomial< generic > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 606 of file glue_polynomial_generic.cpp.

References arg_2, and shift().

00606                                                                     {
00607     return shift (arg_1, arg_2);
00608   }

static matrix<complex<rational> > mmx::GLUE_113 ( const matrix< complex< rational > > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 643 of file glue_matrix_rational.cpp.

References arg_1, arg_2, and krylov().

Referenced by glue_matrix_rational(), glue_polynomial_generic(), and glue_series_rational().

00643                                                                                               {
00644     return krylov (arg_1, arg_2);
00645   }

static series<complex<rational> > mmx::GLUE_114 ( const series< complex< rational > > &  arg_1  )  [static]

Definition at line 629 of file glue_series_rational.cpp.

References arg_1, and xderive().

00629                                                      {
00630     return xderive (arg_1);
00631   }

static polynomial<generic> mmx::GLUE_114 ( const polynomial< generic > &  arg_1  )  [static]

Definition at line 611 of file glue_polynomial_generic.cpp.

References graeffe().

00611                                               {
00612     return graeffe (arg_1);
00613   }

static complex<rational> mmx::GLUE_114 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 648 of file glue_matrix_rational.cpp.

References arg_1, and det().

Referenced by glue_matrix_rational(), glue_polynomial_generic(), and glue_series_rational().

00648                                                      {
00649     return det (arg_1);
00650   }

static series<complex<rational> > mmx::GLUE_115 ( const series< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 634 of file glue_series_rational.cpp.

References arg_1, and dilate().

00634                                                                        {
00635     return dilate (arg_1, arg_2);
00636   }

static generic mmx::GLUE_115 ( const polynomial< generic > &  arg_1  )  [static]

Definition at line 616 of file glue_polynomial_generic.cpp.

References contents().

00616                                               {
00617     return contents (arg_1);
00618   }

static matrix<complex<rational> > mmx::GLUE_115 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 653 of file glue_matrix_rational.cpp.

References arg_1, and row_echelon().

Referenced by glue_matrix_rational(), glue_polynomial_generic(), and glue_series_rational().

00653                                                      {
00654     return row_echelon (arg_1);
00655   }

static series<complex<rational> > mmx::GLUE_116 ( const series< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 639 of file glue_series_rational.cpp.

References arg_1, and lshiftz().

00639                                                                        {
00640     return lshiftz (arg_1, arg_2);
00641   }

static polynomial<generic> mmx::GLUE_116 ( const polynomial< generic > &  arg_1  )  [static]

Definition at line 621 of file glue_polynomial_generic.cpp.

References primitive_part().

00621                                               {
00622     return primitive_part (arg_1);
00623   }

static matrix<complex<rational> > mmx::GLUE_116 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 658 of file glue_matrix_rational.cpp.

References arg_1, and column_echelon().

Referenced by glue_matrix_rational(), glue_polynomial_generic(), and glue_series_rational().

00658                                                      {
00659     return column_echelon (arg_1);
00660   }

static series<complex<rational> > mmx::GLUE_117 ( const series< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 644 of file glue_series_rational.cpp.

References arg_1, and rshiftz().

00644                                                                        {
00645     return rshiftz (arg_1, arg_2);
00646   }

static polynomial<generic> mmx::GLUE_117 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]

Definition at line 626 of file glue_polynomial_generic.cpp.

References gcd().

00626                                                                                 {
00627     return gcd (arg_1, arg_2);
00628   }

static matrix<complex<rational> > mmx::GLUE_117 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 663 of file glue_matrix_rational.cpp.

References arg_1, and row_reduced_echelon().

Referenced by glue_matrix_rational(), glue_polynomial_generic(), and glue_series_rational().

00663                                                      {
00664     return row_reduced_echelon (arg_1);
00665   }

static void mmx::GLUE_118 ( const series< unknown< rational > > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 649 of file glue_series_rational.cpp.

References arg_1, arg_2, and set_variable_name().

00649                                                                            {
00650     set_variable_name (arg_1, arg_2);
00651   }

static polynomial<generic> mmx::GLUE_118 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]

Definition at line 631 of file glue_polynomial_generic.cpp.

References lcm().

00631                                                                                 {
00632     return lcm (arg_1, arg_2);
00633   }

static matrix<complex<rational> > mmx::GLUE_118 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 668 of file glue_matrix_rational.cpp.

References arg_1, and column_reduced_echelon().

Referenced by glue_matrix_rational(), glue_polynomial_generic(), and glue_series_rational().

00668                                                      {
00669     return column_reduced_echelon (arg_1);
00670   }

static void mmx::GLUE_119 ( const series< unknown< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 654 of file glue_series_rational.cpp.

References arg_1, and set_output_order().

00654                                                                        {
00655     set_output_order (arg_1, arg_2);
00656   }

static vector<generic> mmx::GLUE_119 ( const matrix< complex< rational > > &  arg_1  )  [static]
static rational mmx::GLUE_12 ( const vector< rational > &  arg_1  )  [static]

Definition at line 80 of file glue_vector_rational.cpp.

References car().

00080                                           {
00081     return car (arg_1);
00082   }

static integer mmx::GLUE_12 ( const vector< integer > &  arg_1  )  [static]

Definition at line 75 of file glue_vector_integer.cpp.

References car().

00075                                          {
00076     return car (arg_1);
00077   }

static int mmx::GLUE_12 ( const vector< int > &  arg_1  )  [static]

Definition at line 69 of file glue_vector_int.cpp.

References car().

00069                                      {
00070     return car (arg_1);
00071   }

static series<rational> mmx::GLUE_12 ( const series< rational > &  arg_1  )  [static]

Definition at line 119 of file glue_series_rational.cpp.

References square().

00119                                           {
00120     return square (arg_1);
00121   }

static polynomial<integer> mmx::GLUE_12 ( const series< integer > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 111 of file glue_series_integer.cpp.

References range().

00111                                                                              {
00112     return range (arg_1, arg_2, arg_3);
00113   }

static series<generic> mmx::GLUE_12 ( const series< generic > &  arg_1  )  [static]

Definition at line 111 of file glue_series_generic.cpp.

References square().

00111                                          {
00112     return square (arg_1);
00113   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_12 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1,
const quotient< polynomial< rational >, polynomial< rational > > &  arg_2 
) [static]

Definition at line 112 of file glue_quotient_polynomial_rational.cpp.

00112                                                                                                                      {
00113     return arg_1 / arg_2;
00114   }

static polynomial<rational> mmx::GLUE_12 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 111 of file glue_polynomial_rational.cpp.

00111                                                                                  {
00112     return arg_1 - arg_2;
00113   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_12 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 125 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_1, and arg_2.

00125                                                                                                                                            {
00126     return arg_1 - arg_2;
00127   }

static polynomial<integer> mmx::GLUE_12 ( const polynomial< integer > &  arg_1,
const polynomial< integer > &  arg_2 
) [static]

Definition at line 102 of file glue_polynomial_integer.cpp.

00102                                                                                {
00103     return arg_1 - arg_2;
00104   }

static vector<generic> mmx::GLUE_12 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 67 of file glue_vector_generic.cpp.

00067                                                                        {
00068     return arg_1 / arg_2;
00069   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_12 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 94 of file glue_p_adic_modular_integer.cpp.

00094                                                                                                                  {
00095     return arg_1 + arg_2;
00096   }

static matrix<rational> mmx::GLUE_12 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 138 of file glue_matrix_rational.cpp.

References transpose().

00138                                           {
00139     return transpose (arg_1);
00140   }

static matrix<integer> mmx::GLUE_12 ( const matrix< integer > &  arg_1,
const int &  arg_2,
const int &  arg_3,
const int &  arg_4,
const int &  arg_5 
) [static]

Definition at line 135 of file glue_matrix_integer.cpp.

References range().

00135                                                                                                                  {
00136     return range (arg_1, arg_2, arg_3, arg_4, arg_5);
00137   }

static bool mmx::GLUE_12 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 135 of file glue_matrix_generic.cpp.

00135                                                      {
00136     return ends (arg_1, arg_2);
00137   }

static algebraic_real mmx::GLUE_12 ( const algebraic_real &  arg_1,
const algebraic_real &  arg_2 
) [static]

Definition at line 118 of file glue_algebraic_number.cpp.

00118                                                                      {
00119     return arg_1 / arg_2;
00120   }

static algebraic<generic> mmx::GLUE_12 ( const algebraic< generic > &  arg_1,
const algebraic< generic > &  arg_2 
) [static]
static void mmx::GLUE_120 ( const series< unknown< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 659 of file glue_series_rational.cpp.

References arg_1, and set_cancel_order().

00659                                                                        {
00660     set_cancel_order (arg_1, arg_2);
00661   }

static vector<generic> mmx::GLUE_120 ( const matrix< complex< rational > > &  arg_1  )  [static]
static void mmx::GLUE_121 ( const series< unknown< rational > > &  arg_1,
const bool &  arg_2 
) [static]

Definition at line 664 of file glue_series_rational.cpp.

References arg_1, and set_formula_output().

00664                                                                         {
00665     set_formula_output (arg_1, arg_2);
00666   }

static vector<generic> mmx::GLUE_121 ( const matrix< complex< rational > > &  arg_1  )  [static]
static series<unknown<rational> > mmx::GLUE_122 ( const tuple< unknown< rational > > &  arg_1  )  [static]

Definition at line 669 of file glue_series_rational.cpp.

References arg_1, and as_vector().

00669                                                     {
00670     return series<unknown<rational> > (as_vector (arg_1));
00671   }

static matrix<complex<rational> > mmx::GLUE_122 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 688 of file glue_matrix_rational.cpp.

References arg_1, and kernel().

Referenced by glue_matrix_rational(), and glue_series_rational().

00688                                                      {
00689     return kernel (arg_1);
00690   }

static series<unknown<rational> > mmx::GLUE_123 ( const unknown< rational > &  arg_1  )  [static]

Definition at line 674 of file glue_series_rational.cpp.

00674                                             {
00675     return series<unknown<rational> > (arg_1);
00676   }

static matrix<complex<rational> > mmx::GLUE_123 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 693 of file glue_matrix_rational.cpp.

References arg_1, and image().

Referenced by glue_matrix_rational(), and glue_series_rational().

00693                                                      {
00694     return image (arg_1);
00695   }

static iterator<generic> mmx::GLUE_124 ( const series< unknown< rational > > &  arg_1  )  [static]

Definition at line 679 of file glue_series_rational.cpp.

References arg_1, and iterate().

00679                                                      {
00680     return as<iterator<generic> > (iterate (arg_1));
00681   }

static int mmx::GLUE_124 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 698 of file glue_matrix_rational.cpp.

References arg_1, and rank().

Referenced by glue_matrix_rational(), and glue_series_rational().

00698                                                      {
00699     return rank (arg_1);
00700   }

static unknown<rational> mmx::GLUE_125 ( const series< unknown< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 684 of file glue_series_rational.cpp.

References arg_1.

00684                                                                        {
00685     return arg_1[arg_2];
00686   }

static matrix<complex<rational> > mmx::GLUE_125 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 703 of file glue_matrix_rational.cpp.

References arg_1, and invert().

Referenced by glue_matrix_rational(), and glue_series_rational().

00703                                                      {
00704     return invert (arg_1);
00705   }

static series<unknown<rational> > mmx::GLUE_126 ( const series< unknown< rational > > &  arg_1  )  [static]

Definition at line 689 of file glue_series_rational.cpp.

References arg_1.

00689                                                      {
00690     return -arg_1;
00691   }

static matrix<rational> mmx::GLUE_126 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 708 of file glue_matrix_rational.cpp.

References abs().

Referenced by glue_matrix_rational(), and glue_series_rational().

00708                                            {
00709     return abs (arg_1);
00710   }

static series<unknown<rational> > mmx::GLUE_127 ( const series< unknown< rational > > &  arg_1  )  [static]

Definition at line 694 of file glue_series_rational.cpp.

References arg_1, and square().

00694                                                      {
00695     return square (arg_1);
00696   }

static row_tuple<complex<rational> > mmx::GLUE_127 ( const row_tuple< rational > &  arg_1  )  [static]

Definition at line 713 of file glue_matrix_rational.cpp.

Referenced by glue_matrix_rational(), and glue_series_rational().

00713                                               {
00714     return as<row_tuple<complex<rational> > > (arg_1);
00715   }

static series<unknown<rational> > mmx::GLUE_128 ( const series< unknown< rational > > &  arg_1,
const series< unknown< rational > > &  arg_2 
) [static]

Definition at line 699 of file glue_series_rational.cpp.

References arg_1, and arg_2.

00699                                                                                               {
00700     return arg_1 + arg_2;
00701   }

static matrix<complex<rational> > mmx::GLUE_128 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 718 of file glue_matrix_rational.cpp.

Referenced by glue_matrix_rational(), and glue_series_rational().

00718                                            {
00719     return as<matrix<complex<rational> > > (arg_1);
00720   }

static series<unknown<rational> > mmx::GLUE_129 ( const series< unknown< rational > > &  arg_1,
const series< unknown< rational > > &  arg_2 
) [static]

Definition at line 704 of file glue_series_rational.cpp.

References arg_1, and arg_2.

Referenced by glue_series_rational().

00704                                                                                               {
00705     return arg_1 - arg_2;
00706   }

static vector<rational> mmx::GLUE_13 ( const vector< rational > &  arg_1  )  [static]

Definition at line 85 of file glue_vector_rational.cpp.

References cdr().

00085                                           {
00086     return cdr (arg_1);
00087   }

static vector<integer> mmx::GLUE_13 ( const vector< integer > &  arg_1  )  [static]

Definition at line 80 of file glue_vector_integer.cpp.

References cdr().

00080                                          {
00081     return cdr (arg_1);
00082   }

static vector<int> mmx::GLUE_13 ( const vector< int > &  arg_1  )  [static]

Definition at line 74 of file glue_vector_int.cpp.

References cdr().

00074                                      {
00075     return cdr (arg_1);
00076   }

static series<rational> mmx::GLUE_13 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 124 of file glue_series_rational.cpp.

00124                                                                          {
00125     return arg_1 + arg_2;
00126   }

static series<integer> mmx::GLUE_13 ( const series< integer > &  arg_1  )  [static]

Definition at line 116 of file glue_series_integer.cpp.

00116                                          {
00117     return -arg_1;
00118   }

static series<generic> mmx::GLUE_13 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 116 of file glue_series_generic.cpp.

00116                                                                        {
00117     return arg_1 + arg_2;
00118   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_13 ( const polynomial< rational > &  arg_1,
const quotient< polynomial< rational >, polynomial< rational > > &  arg_2 
) [static]

Definition at line 117 of file glue_quotient_polynomial_rational.cpp.

00117                                                                                                    {
00118     return arg_1 + arg_2;
00119   }

static polynomial<rational> mmx::GLUE_13 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 116 of file glue_polynomial_rational.cpp.

00116                                                                                  {
00117     return arg_1 * arg_2;
00118   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_13 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 130 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_1, and arg_2.

00130                                                                                                                                            {
00131     return arg_1 * arg_2;
00132   }

static polynomial<integer> mmx::GLUE_13 ( const polynomial< integer > &  arg_1,
const polynomial< integer > &  arg_2 
) [static]

Definition at line 107 of file glue_polynomial_integer.cpp.

00107                                                                                {
00108     return arg_1 * arg_2;
00109   }

static bool mmx::GLUE_13 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 72 of file glue_vector_generic.cpp.

00072                                                                        {
00073     return arg_1 <= arg_2;
00074   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_13 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 99 of file glue_p_adic_modular_integer.cpp.

00099                                                                                                                  {
00100     return arg_1 - arg_2;
00101   }

static matrix<rational> mmx::GLUE_13 ( const matrix< rational > &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 143 of file glue_matrix_rational.cpp.

References horizontal_join().

00143                                                                          {
00144     return horizontal_join (arg_1, arg_2);
00145   }

static matrix<integer> mmx::GLUE_13 ( const matrix< integer > &  arg_1  )  [static]

Definition at line 140 of file glue_matrix_integer.cpp.

References transpose().

00140                                          {
00141     return transpose (arg_1);
00142   }

static string mmx::GLUE_13 ( const string &  arg_1,
const string &  arg_2,
const string &  arg_3 
) [static]

Definition at line 140 of file glue_matrix_generic.cpp.

00140                                                                           {
00141     return replace (arg_1, arg_2, arg_3);
00142   }

static algebraic_real mmx::GLUE_13 ( const rational &  arg_1,
const algebraic_real &  arg_2 
) [static]

Definition at line 123 of file glue_algebraic_number.cpp.

00123                                                                {
00124     return arg_1 + arg_2;
00125   }

static bool mmx::GLUE_13 ( const algebraic< generic > &  arg_1,
const algebraic< generic > &  arg_2 
) [static]
static series<unknown<rational> > mmx::GLUE_130 ( const series< unknown< rational > > &  arg_1,
const series< unknown< rational > > &  arg_2 
) [static]

Definition at line 709 of file glue_series_rational.cpp.

References arg_1, and arg_2.

Referenced by glue_series_rational().

00709                                                                                               {
00710     return arg_1 * arg_2;
00711   }

static series<unknown<rational> > mmx::GLUE_131 ( const unknown< rational > &  arg_1,
const series< unknown< rational > > &  arg_2 
) [static]

Definition at line 714 of file glue_series_rational.cpp.

References arg_2.

Referenced by glue_series_rational().

00714                                                                                      {
00715     return arg_1 + arg_2;
00716   }

static series<unknown<rational> > mmx::GLUE_132 ( const series< unknown< rational > > &  arg_1,
const unknown< rational > &  arg_2 
) [static]

Definition at line 719 of file glue_series_rational.cpp.

References arg_1.

Referenced by glue_series_rational().

00719                                                                                      {
00720     return arg_1 + arg_2;
00721   }

static series<unknown<rational> > mmx::GLUE_133 ( const unknown< rational > &  arg_1,
const series< unknown< rational > > &  arg_2 
) [static]

Definition at line 724 of file glue_series_rational.cpp.

References arg_2.

Referenced by glue_series_rational().

00724                                                                                      {
00725     return arg_1 - arg_2;
00726   }

static series<unknown<rational> > mmx::GLUE_134 ( const series< unknown< rational > > &  arg_1,
const unknown< rational > &  arg_2 
) [static]

Definition at line 729 of file glue_series_rational.cpp.

References arg_1.

Referenced by glue_series_rational().

00729                                                                                      {
00730     return arg_1 - arg_2;
00731   }

static series<unknown<rational> > mmx::GLUE_135 ( const unknown< rational > &  arg_1,
const series< unknown< rational > > &  arg_2 
) [static]

Definition at line 734 of file glue_series_rational.cpp.

References arg_2.

Referenced by glue_series_rational().

00734                                                                                      {
00735     return arg_1 * arg_2;
00736   }

static series<unknown<rational> > mmx::GLUE_136 ( const series< unknown< rational > > &  arg_1,
const unknown< rational > &  arg_2 
) [static]

Definition at line 739 of file glue_series_rational.cpp.

References arg_1.

Referenced by glue_series_rational().

00739                                                                                      {
00740     return arg_1 * arg_2;
00741   }

static series<unknown<rational> > mmx::GLUE_137 ( const series< unknown< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 744 of file glue_series_rational.cpp.

References arg_1, and binpow().

Referenced by glue_series_rational().

00744                                                                        {
00745     return binpow (arg_1, arg_2);
00746   }

static series<unknown<rational> > mmx::GLUE_138 ( const series< unknown< rational > > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 749 of file glue_series_rational.cpp.

References arg_1, and binpow().

Referenced by glue_series_rational().

00749                                                                            {
00750     return binpow (arg_1, arg_2);
00751   }

static bool mmx::GLUE_139 ( const series< unknown< rational > > &  arg_1,
const series< unknown< rational > > &  arg_2 
) [static]

Definition at line 754 of file glue_series_rational.cpp.

References arg_1, and arg_2.

Referenced by glue_series_rational().

00754                                                                                               {
00755     return arg_1 == arg_2;
00756   }

static bool mmx::GLUE_14 ( const vector< rational > &  arg_1  )  [static]

Definition at line 90 of file glue_vector_rational.cpp.

00090                                           {
00091     return is_nil (arg_1);
00092   }

static bool mmx::GLUE_14 ( const vector< integer > &  arg_1  )  [static]

Definition at line 85 of file glue_vector_integer.cpp.

00085                                          {
00086     return is_nil (arg_1);
00087   }

static bool mmx::GLUE_14 ( const vector< int > &  arg_1  )  [static]

Definition at line 79 of file glue_vector_int.cpp.

00079                                      {
00080     return is_nil (arg_1);
00081   }

static series<rational> mmx::GLUE_14 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 129 of file glue_series_rational.cpp.

00129                                                                          {
00130     return arg_1 - arg_2;
00131   }

static series<integer> mmx::GLUE_14 ( const series< integer > &  arg_1  )  [static]

Definition at line 121 of file glue_series_integer.cpp.

References square().

00121                                          {
00122     return square (arg_1);
00123   }

static series<generic> mmx::GLUE_14 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 121 of file glue_series_generic.cpp.

00121                                                                        {
00122     return arg_1 - arg_2;
00123   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_14 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 122 of file glue_quotient_polynomial_rational.cpp.

00122                                                                                                    {
00123     return arg_1 + arg_2;
00124   }

static polynomial<rational> mmx::GLUE_14 ( const rational &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 121 of file glue_polynomial_rational.cpp.

00121                                                                      {
00122     return arg_1 + arg_2;
00123   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_14 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 135 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_2.

00135                                                                                                                               {
00136     return arg_1 + arg_2;
00137   }

static polynomial<integer> mmx::GLUE_14 ( const integer &  arg_1,
const polynomial< integer > &  arg_2 
) [static]

Definition at line 112 of file glue_polynomial_integer.cpp.

00112                                                                    {
00113     return arg_1 + arg_2;
00114   }

static bool mmx::GLUE_14 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 77 of file glue_vector_generic.cpp.

00077                                                                        {
00078     return arg_1 >= arg_2;
00079   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_14 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 104 of file glue_p_adic_modular_integer.cpp.

00104                                                                                                                  {
00105     return arg_1 * arg_2;
00106   }

static matrix<rational> mmx::GLUE_14 ( const matrix< rational > &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 148 of file glue_matrix_rational.cpp.

References vertical_join().

00148                                                                          {
00149     return vertical_join (arg_1, arg_2);
00150   }

static matrix<integer> mmx::GLUE_14 ( const matrix< integer > &  arg_1,
const matrix< integer > &  arg_2 
) [static]

Definition at line 145 of file glue_matrix_integer.cpp.

References horizontal_join().

00145                                                                        {
00146     return horizontal_join (arg_1, arg_2);
00147   }

static int mmx::GLUE_14 ( const string &  arg_1,
const string &  arg_2,
const int &  arg_3 
) [static]

Definition at line 145 of file glue_matrix_generic.cpp.

00145                                                                        {
00146     return search_forwards (arg_1, arg_2, arg_3);
00147   }

static algebraic_real mmx::GLUE_14 ( const algebraic_real &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 128 of file glue_algebraic_number.cpp.

00128                                                                {
00129     return arg_1 + arg_2;
00130   }

static bool mmx::GLUE_14 ( const algebraic< generic > &  arg_1,
const algebraic< generic > &  arg_2 
) [static]
static bool mmx::GLUE_140 ( const series< unknown< rational > > &  arg_1,
const series< unknown< rational > > &  arg_2 
) [static]

Definition at line 759 of file glue_series_rational.cpp.

References arg_1, and arg_2.

Referenced by glue_series_rational().

00759                                                                                               {
00760     return arg_1 != arg_2;
00761   }

static bool mmx::GLUE_141 ( const series< unknown< rational > > &  arg_1,
const unknown< rational > &  arg_2 
) [static]

Definition at line 764 of file glue_series_rational.cpp.

References arg_1.

Referenced by glue_series_rational().

00764                                                                                      {
00765     return arg_1 == arg_2;
00766   }

static bool mmx::GLUE_142 ( const series< unknown< rational > > &  arg_1,
const unknown< rational > &  arg_2 
) [static]

Definition at line 769 of file glue_series_rational.cpp.

References arg_1.

Referenced by glue_series_rational().

00769                                                                                      {
00770     return arg_1 != arg_2;
00771   }

static bool mmx::GLUE_143 ( const unknown< rational > &  arg_1,
const series< unknown< rational > > &  arg_2 
) [static]

Definition at line 774 of file glue_series_rational.cpp.

References arg_2.

Referenced by glue_series_rational().

00774                                                                                      {
00775     return arg_1 == arg_2;
00776   }

static bool mmx::GLUE_144 ( const unknown< rational > &  arg_1,
const series< unknown< rational > > &  arg_2 
) [static]

Definition at line 779 of file glue_series_rational.cpp.

References arg_2.

Referenced by glue_series_rational().

00779                                                                                      {
00780     return arg_1 != arg_2;
00781   }

static series<unknown<rational> > mmx::GLUE_145 ( const series< unknown< rational > > &  arg_1  )  [static]

Definition at line 784 of file glue_series_rational.cpp.

References arg_1, and derive().

Referenced by glue_series_rational().

00784                                                      {
00785     return derive (arg_1);
00786   }

static series<unknown<rational> > mmx::GLUE_146 ( const series< unknown< rational > > &  arg_1  )  [static]

Definition at line 789 of file glue_series_rational.cpp.

References arg_1, and xderive().

Referenced by glue_series_rational().

00789                                                      {
00790     return xderive (arg_1);
00791   }

static series<unknown<rational> > mmx::GLUE_147 ( const series< unknown< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 794 of file glue_series_rational.cpp.

References arg_1, and dilate().

Referenced by glue_series_rational().

00794                                                                        {
00795     return dilate (arg_1, arg_2);
00796   }

static series<unknown<rational> > mmx::GLUE_148 ( const series< unknown< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 799 of file glue_series_rational.cpp.

References arg_1, and lshiftz().

Referenced by glue_series_rational().

00799                                                                        {
00800     return lshiftz (arg_1, arg_2);
00801   }

static series<unknown<rational> > mmx::GLUE_149 ( const series< unknown< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 804 of file glue_series_rational.cpp.

References arg_1, and rshiftz().

Referenced by glue_series_rational().

00804                                                                        {
00805     return rshiftz (arg_1, arg_2);
00806   }

static bool mmx::GLUE_15 ( const vector< rational > &  arg_1  )  [static]

Definition at line 95 of file glue_vector_rational.cpp.

00095                                           {
00096     return is_atom (arg_1);
00097   }

static bool mmx::GLUE_15 ( const vector< integer > &  arg_1  )  [static]

Definition at line 90 of file glue_vector_integer.cpp.

00090                                          {
00091     return is_atom (arg_1);
00092   }

static bool mmx::GLUE_15 ( const vector< int > &  arg_1  )  [static]

Definition at line 84 of file glue_vector_int.cpp.

00084                                      {
00085     return is_atom (arg_1);
00086   }

static series<rational> mmx::GLUE_15 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 134 of file glue_series_rational.cpp.

00134                                                                          {
00135     return arg_1 * arg_2;
00136   }

static series<integer> mmx::GLUE_15 ( const series< integer > &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 126 of file glue_series_integer.cpp.

00126                                                                        {
00127     return arg_1 + arg_2;
00128   }

static series<generic> mmx::GLUE_15 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 126 of file glue_series_generic.cpp.

00126                                                                        {
00127     return arg_1 * arg_2;
00128   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_15 ( const polynomial< rational > &  arg_1,
const quotient< polynomial< rational >, polynomial< rational > > &  arg_2 
) [static]

Definition at line 127 of file glue_quotient_polynomial_rational.cpp.

00127                                                                                                    {
00128     return arg_1 - arg_2;
00129   }

static polynomial<rational> mmx::GLUE_15 ( const polynomial< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 126 of file glue_polynomial_rational.cpp.

00126                                                                      {
00127     return arg_1 + arg_2;
00128   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_15 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 140 of file glue_polynomial_p_adic_modular_integer.cpp.

00140                                                                                                                               {
00141     return arg_1 + arg_2;
00142   }

static polynomial<integer> mmx::GLUE_15 ( const polynomial< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 117 of file glue_polynomial_integer.cpp.

00117                                                                    {
00118     return arg_1 + arg_2;
00119   }

static bool mmx::GLUE_15 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 82 of file glue_vector_generic.cpp.

00082                                                                        {
00083     return arg_1 < arg_2;
00084   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_15 ( const mmx_modular(integer)&  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 109 of file glue_p_adic_modular_integer.cpp.

00109                                                                                                  {
00110     return arg_1 + arg_2;
00111   }

static matrix<rational> mmx::GLUE_15 ( const matrix< rational > &  arg_1,
const permutation &  arg_2 
) [static]

Definition at line 153 of file glue_matrix_rational.cpp.

00153                                                                     {
00154     return arg_1 * arg_2;
00155   }

static matrix<integer> mmx::GLUE_15 ( const matrix< integer > &  arg_1,
const matrix< integer > &  arg_2 
) [static]

Definition at line 150 of file glue_matrix_integer.cpp.

References vertical_join().

00150                                                                        {
00151     return vertical_join (arg_1, arg_2);
00152   }

static int mmx::GLUE_15 ( const string &  arg_1,
const string &  arg_2,
const int &  arg_3 
) [static]

Definition at line 150 of file glue_matrix_generic.cpp.

00150                                                                        {
00151     return search_backwards (arg_1, arg_2, arg_3);
00152   }

static algebraic_real mmx::GLUE_15 ( const rational &  arg_1,
const algebraic_real &  arg_2 
) [static]
static series<complex<rational> > mmx::GLUE_150 ( const series< complex< rational > > &  arg_1  )  [static]

Definition at line 809 of file glue_series_rational.cpp.

References arg_1, and invert().

Referenced by glue_series_rational().

00809                                                      {
00810     return invert (arg_1);
00811   }

static series<complex<rational> > mmx::GLUE_151 ( const series< complex< rational > > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 814 of file glue_series_rational.cpp.

References arg_1, and arg_2.

Referenced by glue_series_rational().

00814                                                                                               {
00815     return arg_1 / arg_2;
00816   }

static series<complex<rational> > mmx::GLUE_152 ( const complex< rational > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 819 of file glue_series_rational.cpp.

References arg_2.

Referenced by glue_series_rational().

00819                                                                                      {
00820     return arg_1 / arg_2;
00821   }

static series<complex<rational> > mmx::GLUE_153 ( const series< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 824 of file glue_series_rational.cpp.

References arg_1.

Referenced by glue_series_rational().

00824                                                                                      {
00825     return arg_1 / arg_2;
00826   }

static series<complex<rational> > mmx::GLUE_154 ( const series< complex< rational > > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 829 of file glue_series_rational.cpp.

References arg_1, and arg_2.

Referenced by glue_series_rational().

00829                                                                                               {
00830     return arg_1 / arg_2;
00831   }

static bool mmx::GLUE_155 ( const series< complex< rational > > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 834 of file glue_series_rational.cpp.

References arg_1, arg_2, and divides().

Referenced by glue_series_rational().

00834                                                                                               {
00835     return divides (arg_1, arg_2);
00836   }

static series<complex<rational> > mmx::GLUE_156 ( const series< complex< rational > > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 839 of file glue_series_rational.cpp.

References arg_1, arg_2, and gcd().

Referenced by glue_series_rational().

00839                                                                                               {
00840     return gcd (arg_1, arg_2);
00841   }

static series<complex<rational> > mmx::GLUE_157 ( const series< complex< rational > > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 844 of file glue_series_rational.cpp.

References arg_1, arg_2, and lcm().

Referenced by glue_series_rational().

00844                                                                                               {
00845     return lcm (arg_1, arg_2);
00846   }

static series<complex<rational> > mmx::GLUE_158 ( const series< complex< rational > > &  arg_1  )  [static]

Definition at line 849 of file glue_series_rational.cpp.

References arg_1, and integrate().

Referenced by glue_series_rational().

00849                                                      {
00850     return integrate (arg_1);
00851   }

static series<complex<rational> > mmx::GLUE_159 ( const series< complex< rational > > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 854 of file glue_series_rational.cpp.

References arg_1, arg_2, and compose().

Referenced by glue_series_rational().

00854                                                                                               {
00855     return compose (arg_1, arg_2);
00856   }

static vector<rational> mmx::GLUE_16 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 100 of file glue_vector_rational.cpp.

00100                                                                  {
00101     return insert (arg_1, arg_2);
00102   }

static vector<integer> mmx::GLUE_16 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 95 of file glue_vector_integer.cpp.

00095                                                                {
00096     return insert (arg_1, arg_2);
00097   }

static vector<int> mmx::GLUE_16 ( const vector< int > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 89 of file glue_vector_int.cpp.

00089                                                        {
00090     return insert (arg_1, arg_2);
00091   }

static series<rational> mmx::GLUE_16 ( const rational &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 139 of file glue_series_rational.cpp.

00139                                                                  {
00140     return arg_1 + arg_2;
00141   }

static series<integer> mmx::GLUE_16 ( const series< integer > &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 131 of file glue_series_integer.cpp.

00131                                                                        {
00132     return arg_1 - arg_2;
00133   }

static series<generic> mmx::GLUE_16 ( const series< generic > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 131 of file glue_series_generic.cpp.

References binpow().

00131                                                            {
00132     return binpow (arg_1, arg_2);
00133   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_16 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 132 of file glue_quotient_polynomial_rational.cpp.

00132                                                                                                    {
00133     return arg_1 - arg_2;
00134   }

static polynomial<rational> mmx::GLUE_16 ( const rational &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 131 of file glue_polynomial_rational.cpp.

00131                                                                      {
00132     return arg_1 - arg_2;
00133   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_16 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 145 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_2.

00145                                                                                                                               {
00146     return arg_1 - arg_2;
00147   }

static polynomial<integer> mmx::GLUE_16 ( const integer &  arg_1,
const polynomial< integer > &  arg_2 
) [static]

Definition at line 122 of file glue_polynomial_integer.cpp.

00122                                                                    {
00123     return arg_1 - arg_2;
00124   }

static bool mmx::GLUE_16 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 87 of file glue_vector_generic.cpp.

00087                                                                        {
00088     return arg_1 > arg_2;
00089   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_16 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const mmx_modular(integer)&  arg_2 
) [static]

Definition at line 114 of file glue_p_adic_modular_integer.cpp.

00114                                                                                                  {
00115     return arg_1 + arg_2;
00116   }

static matrix<rational> mmx::GLUE_16 ( const permutation &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 158 of file glue_matrix_rational.cpp.

00158                                                                     {
00159     return arg_1 * arg_2;
00160   }

static matrix<integer> mmx::GLUE_16 ( const matrix< integer > &  arg_1,
const permutation &  arg_2 
) [static]

Definition at line 155 of file glue_matrix_integer.cpp.

00155                                                                    {
00156     return arg_1 * arg_2;
00157   }

static string mmx::GLUE_16 ( const string &  arg_1  )  [static]

Definition at line 155 of file glue_matrix_generic.cpp.

00155                                 {
00156     return upcase (arg_1);
00157   }

static algebraic_real mmx::GLUE_16 ( const algebraic_real &  arg_1,
const rational &  arg_2 
) [static]
static series<complex<rational> > mmx::GLUE_160 ( const series< complex< rational > > &  arg_1  )  [static]

Definition at line 859 of file glue_series_rational.cpp.

References arg_1, and reverse().

Referenced by glue_series_rational().

00859                                                      {
00860     return reverse (arg_1);
00861   }

static series<complex<rational> > mmx::GLUE_161 ( const series< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 864 of file glue_series_rational.cpp.

References arg_1, and q_difference().

Referenced by glue_series_rational().

00864                                                                                      {
00865     return q_difference (arg_1, arg_2);
00866   }

static series<complex<rational> > mmx::GLUE_162 ( const series< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 869 of file glue_series_rational.cpp.

References arg_1, and series_shift_default().

Referenced by glue_series_rational().

00869                                                                                      {
00870     return series_shift_default (arg_1, arg_2);
00871   }

static series<complex<rational> > mmx::GLUE_163 ( const series< complex< rational > > &  arg_1,
const complex< rational > &  arg_2,
const int &  arg_3 
) [static]

Definition at line 874 of file glue_series_rational.cpp.

References arg_1, and shift().

Referenced by glue_series_rational().

00874                                                                                                        {
00875     return shift (arg_1, arg_2, arg_3);
00876   }

static series<complex<rational> > mmx::GLUE_164 ( const series< integer > &  arg_1  )  [static]

Definition at line 879 of file glue_series_rational.cpp.

Referenced by glue_series_rational().

00879                                           {
00880     return as<series<complex<rational> > > (arg_1);
00881   }

static series<unknown<rational> > mmx::GLUE_165 ( const series< integer > &  arg_1  )  [static]

Definition at line 884 of file glue_series_rational.cpp.

Referenced by glue_series_rational().

00884                                           {
00885     return as<series<unknown<rational> > > (arg_1);
00886   }

static series<complex<rational> > mmx::GLUE_166 ( const series< rational > &  arg_1  )  [static]

Definition at line 889 of file glue_series_rational.cpp.

Referenced by glue_series_rational().

00889                                            {
00890     return as<series<complex<rational> > > (arg_1);
00891   }

static series<unknown<rational> > mmx::GLUE_167 ( const series< rational > &  arg_1  )  [static]

Definition at line 894 of file glue_series_rational.cpp.

Referenced by glue_series_rational().

00894                                            {
00895     return as<series<unknown<rational> > > (arg_1);
00896   }

static series<generic> mmx::GLUE_168 ( const series< complex< rational > > &  arg_1  )  [static]

Definition at line 899 of file glue_series_rational.cpp.

References arg_1.

Referenced by glue_series_rational().

00899                                                      {
00900     return as<series<generic> > (arg_1);
00901   }

static series<generic> mmx::GLUE_169 ( const series< unknown< rational > > &  arg_1  )  [static]

Definition at line 904 of file glue_series_rational.cpp.

References arg_1.

Referenced by glue_series_rational().

00904                                                      {
00905     return as<series<generic> > (arg_1);
00906   }

static int mmx::GLUE_17 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 105 of file glue_vector_rational.cpp.

00105                                                                  {
00106     return find (arg_1, arg_2);
00107   }

static int mmx::GLUE_17 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 100 of file glue_vector_integer.cpp.

00100                                                                {
00101     return find (arg_1, arg_2);
00102   }

static int mmx::GLUE_17 ( const vector< int > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 94 of file glue_vector_int.cpp.

00094                                                        {
00095     return find (arg_1, arg_2);
00096   }

static series<rational> mmx::GLUE_17 ( const series< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 144 of file glue_series_rational.cpp.

00144                                                                  {
00145     return arg_1 + arg_2;
00146   }

static series<integer> mmx::GLUE_17 ( const series< integer > &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 136 of file glue_series_integer.cpp.

00136                                                                        {
00137     return arg_1 * arg_2;
00138   }

static bool mmx::GLUE_17 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 136 of file glue_series_generic.cpp.

00136                                                                        {
00137     return arg_1 == arg_2;
00138   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_17 ( const polynomial< rational > &  arg_1,
const quotient< polynomial< rational >, polynomial< rational > > &  arg_2 
) [static]

Definition at line 137 of file glue_quotient_polynomial_rational.cpp.

00137                                                                                                    {
00138     return arg_1 * arg_2;
00139   }

static polynomial<rational> mmx::GLUE_17 ( const polynomial< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 136 of file glue_polynomial_rational.cpp.

00136                                                                      {
00137     return arg_1 - arg_2;
00138   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_17 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 150 of file glue_polynomial_p_adic_modular_integer.cpp.

00150                                                                                                                               {
00151     return arg_1 - arg_2;
00152   }

static polynomial<integer> mmx::GLUE_17 ( const polynomial< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 127 of file glue_polynomial_integer.cpp.

00127                                                                    {
00128     return arg_1 - arg_2;
00129   }

static vector<generic> mmx::GLUE_17 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 92 of file glue_vector_generic.cpp.

00092                                                                        {
00093     return inf (arg_1, arg_2);
00094   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_17 ( const mmx_modular(integer)&  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 119 of file glue_p_adic_modular_integer.cpp.

00119                                                                                                  {
00120     return arg_1 - arg_2;
00121   }

static matrix<rational> mmx::GLUE_17 ( const rational &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 163 of file glue_matrix_rational.cpp.

References fill_matrix().

00163                                                                       {
00164     return fill_matrix (arg_1, arg_2, arg_3);
00165   }

static matrix<integer> mmx::GLUE_17 ( const permutation &  arg_1,
const matrix< integer > &  arg_2 
) [static]

Definition at line 160 of file glue_matrix_integer.cpp.

00160                                                                    {
00161     return arg_1 * arg_2;
00162   }

static string mmx::GLUE_17 ( const string &  arg_1  )  [static]

Definition at line 160 of file glue_matrix_generic.cpp.

00160                                 {
00161     return locase (arg_1);
00162   }

static algebraic_real mmx::GLUE_17 ( const rational &  arg_1,
const algebraic_real &  arg_2 
) [static]
static vector<generic> mmx::GLUE_170 ( const routine &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 909 of file glue_series_rational.cpp.

References gen_fixed_point_vector_series().

Referenced by glue_series_rational().

00909                                                                  {
00910     return gen_fixed_point_vector_series (arg_1, arg_2);
00911   }

static vector<generic> mmx::GLUE_171 ( const routine &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 914 of file glue_series_rational.cpp.

References gen_integrate_vector_series().

Referenced by glue_series_rational().

00914                                                                  {
00915     return gen_integrate_vector_series (arg_1, arg_2);
00916   }

static vector<generic> mmx::GLUE_172 ( const routine &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 919 of file glue_series_rational.cpp.

References gen_implicit_vector_series().

Referenced by glue_series_rational().

00919                                                                  {
00920     return gen_implicit_vector_series (arg_1, arg_2);
00921   }

static series<complex<rational> > mmx::GLUE_173 ( const routine &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 924 of file glue_series_rational.cpp.

References fixed_point_series().

Referenced by glue_series_rational().

00924                                                                   {
00925     return fixed_point_series (arg_1, arg_2);
00926   }

static vector<generic> mmx::GLUE_174 ( const routine &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 929 of file glue_series_rational.cpp.

References arg_2, and gen_fixed_point_vector_series().

Referenced by glue_series_rational().

00929                                                                            {
00930     return gen_fixed_point_vector_series (arg_1, arg_2);
00931   }

static series<complex<rational> > mmx::GLUE_175 ( const routine &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 934 of file glue_series_rational.cpp.

References integrate_series().

Referenced by glue_series_rational().

00934                                                                   {
00935     return integrate_series (arg_1, arg_2);
00936   }

static vector<generic> mmx::GLUE_176 ( const routine &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 939 of file glue_series_rational.cpp.

References arg_2, and gen_integrate_vector_series().

Referenced by glue_series_rational().

00939                                                                            {
00940     return gen_integrate_vector_series (arg_1, arg_2);
00941   }

static series<complex<rational> > mmx::GLUE_177 ( const routine &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 944 of file glue_series_rational.cpp.

References implicit_series().

Referenced by glue_series_rational().

00944                                                                   {
00945     return implicit_series (arg_1, arg_2);
00946   }

static vector<generic> mmx::GLUE_178 ( const routine &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 949 of file glue_series_rational.cpp.

References arg_2, and gen_implicit_vector_series().

Referenced by glue_series_rational().

00949                                                                            {
00950     return gen_implicit_vector_series (arg_1, arg_2);
00951   }

static bool mmx::GLUE_18 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 110 of file glue_vector_rational.cpp.

00110                                                                  {
00111     return contains (arg_1, arg_2);
00112   }

static bool mmx::GLUE_18 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 105 of file glue_vector_integer.cpp.

00105                                                                {
00106     return contains (arg_1, arg_2);
00107   }

static bool mmx::GLUE_18 ( const vector< int > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 99 of file glue_vector_int.cpp.

00099                                                        {
00100     return contains (arg_1, arg_2);
00101   }

static series<rational> mmx::GLUE_18 ( const rational &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 149 of file glue_series_rational.cpp.

00149                                                                  {
00150     return arg_1 - arg_2;
00151   }

static series<integer> mmx::GLUE_18 ( const integer &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 141 of file glue_series_integer.cpp.

00141                                                                {
00142     return arg_1 + arg_2;
00143   }

static bool mmx::GLUE_18 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 141 of file glue_series_generic.cpp.

00141                                                                        {
00142     return arg_1 != arg_2;
00143   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_18 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 142 of file glue_quotient_polynomial_rational.cpp.

00142                                                                                                    {
00143     return arg_1 * arg_2;
00144   }

static polynomial<rational> mmx::GLUE_18 ( const rational &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 141 of file glue_polynomial_rational.cpp.

00141                                                                      {
00142     return arg_1 * arg_2;
00143   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_18 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 155 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_2.

00155                                                                                                                               {
00156     return arg_1 * arg_2;
00157   }

static polynomial<integer> mmx::GLUE_18 ( const integer &  arg_1,
const polynomial< integer > &  arg_2 
) [static]

Definition at line 132 of file glue_polynomial_integer.cpp.

00132                                                                    {
00133     return arg_1 * arg_2;
00134   }

static vector<generic> mmx::GLUE_18 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 97 of file glue_vector_generic.cpp.

00097                                                                        {
00098     return sup (arg_1, arg_2);
00099   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_18 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const mmx_modular(integer)&  arg_2 
) [static]

Definition at line 124 of file glue_p_adic_modular_integer.cpp.

00124                                                                                                  {
00125     return arg_1 - arg_2;
00126   }

static matrix<rational> mmx::GLUE_18 ( const rational &  arg_1,
const int &  arg_2 
) [static]

Definition at line 168 of file glue_matrix_rational.cpp.

References jordan_matrix().

00168                                                     {
00169     return jordan_matrix (arg_1, arg_2);
00170   }

static matrix<integer> mmx::GLUE_18 ( const integer &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 165 of file glue_matrix_integer.cpp.

References fill_matrix().

00165                                                                      {
00166     return fill_matrix (arg_1, arg_2, arg_3);
00167   }

static string mmx::GLUE_18 ( const string &  arg_1  )  [static]

Definition at line 165 of file glue_matrix_generic.cpp.

00165                                 {
00166     return upcase_first (arg_1);
00167   }

static algebraic_real mmx::GLUE_18 ( const algebraic_real &  arg_1,
const rational &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_19 ( const tuple< complex< rational > > &  arg_1  )  [static]

Definition at line 115 of file glue_vector_rational.cpp.

References arg_1, and as_vector().

00115                                                    {
00116     return vector<complex<rational> > (as_vector (arg_1));
00117   }

static vector<generic> mmx::GLUE_19 ( const vector< integer > &  arg_1  )  [static]

Definition at line 110 of file glue_vector_integer.cpp.

00110                                          {
00111     return as<vector<generic> > (arg_1);
00112   }

static vector<generic> mmx::GLUE_19 ( const vector< int > &  arg_1  )  [static]

Definition at line 104 of file glue_vector_int.cpp.

00104                                      {
00105     return as<vector<generic> > (arg_1);
00106   }

static series<rational> mmx::GLUE_19 ( const series< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 154 of file glue_series_rational.cpp.

00154                                                                  {
00155     return arg_1 - arg_2;
00156   }

static series<integer> mmx::GLUE_19 ( const series< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 146 of file glue_series_integer.cpp.

00146                                                                {
00147     return arg_1 + arg_2;
00148   }

static series<generic> mmx::GLUE_19 ( const series< generic > &  arg_1  )  [static]

Definition at line 146 of file glue_series_generic.cpp.

References derive().

00146                                          {
00147     return derive (arg_1);
00148   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_19 ( const polynomial< rational > &  arg_1,
const quotient< polynomial< rational >, polynomial< rational > > &  arg_2 
) [static]

Definition at line 147 of file glue_quotient_polynomial_rational.cpp.

00147                                                                                                    {
00148     return arg_1 / arg_2;
00149   }

static polynomial<rational> mmx::GLUE_19 ( const polynomial< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 146 of file glue_polynomial_rational.cpp.

00146                                                                      {
00147     return arg_1 * arg_2;
00148   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_19 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 160 of file glue_polynomial_p_adic_modular_integer.cpp.

00160                                                                                                                               {
00161     return arg_1 * arg_2;
00162   }

static polynomial<integer> mmx::GLUE_19 ( const polynomial< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 137 of file glue_polynomial_integer.cpp.

00137                                                                    {
00138     return arg_1 * arg_2;
00139   }

static vector<generic> mmx::GLUE_19 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 102 of file glue_vector_generic.cpp.

References pow().

00102                                                                        {
00103     return pow (arg_1, arg_2);
00104   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_19 ( const mmx_modular(integer)&  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 129 of file glue_p_adic_modular_integer.cpp.

00129                                                                                                  {
00130     return arg_1 * arg_2;
00131   }

static matrix<rational> mmx::GLUE_19 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 173 of file glue_matrix_rational.cpp.

00173                                           {
00174     return -arg_1;
00175   }

static matrix<integer> mmx::GLUE_19 ( const integer &  arg_1,
const int &  arg_2 
) [static]

Definition at line 170 of file glue_matrix_integer.cpp.

References jordan_matrix().

00170                                                    {
00171     return jordan_matrix (arg_1, arg_2);
00172   }

static string mmx::GLUE_19 ( const string &  arg_1  )  [static]

Definition at line 170 of file glue_matrix_generic.cpp.

00170                                 {
00171     return locase_first (arg_1);
00172   }

static algebraic_real mmx::GLUE_19 ( const rational &  arg_1,
const algebraic_real &  arg_2 
) [static]
static vector<int> mmx::GLUE_2 ( const tuple< int > &  arg_1  )  [static]

Definition at line 19 of file glue_vector_int.cpp.

References as_vector().

00019                                    {
00020     return vector<int > (as_vector (arg_1));
00021   }

static void mmx::GLUE_2 ( const series< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 69 of file glue_series_rational.cpp.

References set_output_order().

00069                                                            {
00070     set_output_order (arg_1, arg_2);
00071   }

static series<generic> mmx::GLUE_2 ( const series< generic > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 65 of file glue_series_modular_integer.cpp.

References binpow().

00065                                                               {
00066     return binpow (arg_1, arg_2);
00067   }

static void mmx::GLUE_2 ( const series< generic > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 61 of file glue_series_generic.cpp.

References arg_2, and set_variable_name().

00061                                                               {
00062     set_variable_name (arg_1, arg_2);
00063   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_2 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 62 of file glue_quotient_polynomial_rational.cpp.

References simple_quotient.

00062                                              {
00063     return (simple_quotient(polynomial<rational> ) (arg_1));
00064   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_2 ( const tuple< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1  )  [static]

Definition at line 75 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_1, and as_vector().

00075                                                                      {
00076     return polynomial<simple_p_adic(mmx_modular(integer) ) > (as_vector (arg_1));
00077   }

static polynomial<mmx_modular(integer) > mmx::GLUE_2 ( const tuple< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 28 of file glue_vector_modular_integer.cpp.

References arg_1, and as_vector().

00028                                                      {
00029     return vector<mmx_modular(integer) > (as_vector (arg_1));
00030   }

static polynomial<integer> mmx::GLUE_2 ( const tuple< integer > &  arg_1  )  [static]

Definition at line 25 of file glue_vector_integer.cpp.

References as_vector().

00025                                        {
00026     return vector<integer > (as_vector (arg_1));
00027   }

static vector<generic> mmx::GLUE_2 ( const vector< generic > &  arg_1  )  [static]

Definition at line 17 of file glue_vector_generic.cpp.

References square().

00017                                         {
00018     return square (arg_1);
00019   }

static void mmx::GLUE_2 ( const polynomial< mmx_modular(integer), polynomial_carry_variant_helper< mmx_modular(integer) >::PV > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 40 of file glue_p_expansion_modular_integer.cpp.

References arg_2, and set_variable_name().

00040                                                                                         {
00041     set_variable_name (arg_1, arg_2);
00042   }

static void mmx::GLUE_2 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 44 of file glue_p_adic_modular_integer.cpp.

References set_output_order().

00044                                                                                {
00045     set_output_order (arg_1, arg_2);
00046   }

static row_tuple<rational> mmx::GLUE_2 ( const tuple< rational > &  arg_1  )  [static]

Definition at line 30 of file glue_vector_rational.cpp.

References as_vector().

00030                                         {
00031     return vector<rational > (as_vector (arg_1));
00032   }

static matrix<generic> mmx::GLUE_2 ( const matrix< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 86 of file glue_matrix_modular_integer.cpp.

References arg_1.

00086                                                       {
00087     return as<matrix<generic> > (arg_1);
00088   }

static matrix<integer> mmx::GLUE_2 ( const int &  arg_1  )  [static]

Definition at line 19 of file glue_permutation.cpp.

00019                             {
00020     return permutation (arg_1);
00021   }

static int mmx::GLUE_2 ( const string &  arg_1  )  [static]

Definition at line 85 of file glue_matrix_generic.cpp.

References N().

00085                                {
00086     return N (arg_1);
00087   }

static mmx_floating mmx::GLUE_2 ( const algebraic_real &  arg_1  )  [static]

Definition at line 68 of file glue_algebraic_number.cpp.

References as_floating().

00068                                        {
00069     return as_floating (arg_1);
00070   }

static algebraic<generic> mmx::GLUE_2 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_20 ( const tuple< complex< rational > > &  arg_1  )  [static]

Definition at line 120 of file glue_vector_rational.cpp.

References arg_1, and as_vector().

00120                                                    {
00121     return vector<complex<rational> > (as_vector (arg_1));
00122   }

static vector<integer> mmx::GLUE_20 ( const vector< integer > &  arg_1  )  [static]

Definition at line 115 of file glue_vector_integer.cpp.

00115                                          {
00116     return -arg_1;
00117   }

static vector<int> mmx::GLUE_20 ( const vector< int > &  arg_1  )  [static]

Definition at line 109 of file glue_vector_int.cpp.

00109                                      {
00110     return -arg_1;
00111   }

static series<rational> mmx::GLUE_20 ( const rational &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 159 of file glue_series_rational.cpp.

00159                                                                  {
00160     return arg_1 * arg_2;
00161   }

static series<integer> mmx::GLUE_20 ( const integer &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 151 of file glue_series_integer.cpp.

00151                                                                {
00152     return arg_1 - arg_2;
00153   }

static series<generic> mmx::GLUE_20 ( const series< generic > &  arg_1  )  [static]

Definition at line 151 of file glue_series_generic.cpp.

References xderive().

00151                                          {
00152     return xderive (arg_1);
00153   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_20 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 152 of file glue_quotient_polynomial_rational.cpp.

00152                                                                                                    {
00153     return arg_1 / arg_2;
00154   }

static polynomial<rational> mmx::GLUE_20 ( const polynomial< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 151 of file glue_polynomial_rational.cpp.

References binpow().

00151                                                                 {
00152     return binpow (arg_1, arg_2);
00153   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_20 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 165 of file glue_polynomial_p_adic_modular_integer.cpp.

References binpow().

00165                                                                                              {
00166     return binpow (arg_1, arg_2);
00167   }

static polynomial<integer> mmx::GLUE_20 ( const polynomial< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 142 of file glue_polynomial_integer.cpp.

References binpow().

00142                                                                {
00143     return binpow (arg_1, arg_2);
00144   }

static vector<generic> mmx::GLUE_20 ( const vector< generic > &  arg_1  )  [static]

Definition at line 107 of file glue_vector_generic.cpp.

References sqrt().

00107                                          {
00108     return sqrt (arg_1);
00109   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_20 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const mmx_modular(integer)&  arg_2 
) [static]

Definition at line 134 of file glue_p_adic_modular_integer.cpp.

00134                                                                                                  {
00135     return arg_1 * arg_2;
00136   }

static matrix<rational> mmx::GLUE_20 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 178 of file glue_matrix_rational.cpp.

References square().

00178                                           {
00179     return square (arg_1);
00180   }

static matrix<integer> mmx::GLUE_20 ( const matrix< integer > &  arg_1  )  [static]

Definition at line 175 of file glue_matrix_integer.cpp.

00175                                          {
00176     return -arg_1;
00177   }

static string mmx::GLUE_20 ( const string &  arg_1  )  [static]

Definition at line 175 of file glue_matrix_generic.cpp.

00175                                 {
00176     return quote (arg_1);
00177   }

static algebraic_real mmx::GLUE_20 ( const algebraic_real &  arg_1,
const rational &  arg_2 
) [static]
static iterator<generic> mmx::GLUE_21 ( const vector< complex< rational > > &  arg_1  )  [static]

Definition at line 125 of file glue_vector_rational.cpp.

References arg_1, and iterate().

00125                                                     {
00126     return as<iterator<generic> > (iterate (arg_1));
00127   }

static vector<integer> mmx::GLUE_21 ( const vector< integer > &  arg_1  )  [static]

Definition at line 120 of file glue_vector_integer.cpp.

References square().

00120                                          {
00121     return square (arg_1);
00122   }

static vector<int> mmx::GLUE_21 ( const vector< int > &  arg_1  )  [static]

Definition at line 114 of file glue_vector_int.cpp.

References square().

00114                                      {
00115     return square (arg_1);
00116   }

static series<rational> mmx::GLUE_21 ( const series< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 164 of file glue_series_rational.cpp.

00164                                                                  {
00165     return arg_1 * arg_2;
00166   }

static series<integer> mmx::GLUE_21 ( const series< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 156 of file glue_series_integer.cpp.

00156                                                                {
00157     return arg_1 - arg_2;
00158   }

static series<generic> mmx::GLUE_21 ( const series< generic > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 156 of file glue_series_generic.cpp.

References dilate().

00156                                                            {
00157     return dilate (arg_1, arg_2);
00158   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_21 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 157 of file glue_quotient_polynomial_rational.cpp.

00157                                                                                   {
00158     return powint (arg_1, arg_2);
00159   }

static polynomial<rational> mmx::GLUE_21 ( const polynomial< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 156 of file glue_polynomial_rational.cpp.

References lshiftz().

00156                                                                 {
00157     return lshiftz (arg_1, arg_2);
00158   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_21 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 170 of file glue_polynomial_p_adic_modular_integer.cpp.

References lshiftz().

00170                                                                                              {
00171     return lshiftz (arg_1, arg_2);
00172   }

static polynomial<integer> mmx::GLUE_21 ( const polynomial< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 147 of file glue_polynomial_integer.cpp.

References lshiftz().

00147                                                                {
00148     return lshiftz (arg_1, arg_2);
00149   }

static vector<generic> mmx::GLUE_21 ( const vector< generic > &  arg_1  )  [static]

Definition at line 112 of file glue_vector_generic.cpp.

References exp().

00112                                          {
00113     return exp (arg_1);
00114   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_21 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 139 of file glue_p_adic_modular_integer.cpp.

References binpow().

00139                                                                                 {
00140     return binpow (arg_1, arg_2);
00141   }

static matrix<rational> mmx::GLUE_21 ( const matrix< rational > &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 183 of file glue_matrix_rational.cpp.

00183                                                                          {
00184     return arg_1 + arg_2;
00185   }

static matrix<integer> mmx::GLUE_21 ( const matrix< integer > &  arg_1  )  [static]

Definition at line 180 of file glue_matrix_integer.cpp.

References square().

00180                                          {
00181     return square (arg_1);
00182   }

static string mmx::GLUE_21 ( const string &  arg_1  )  [static]

Definition at line 180 of file glue_matrix_generic.cpp.

00180                                 {
00181     return unquote (arg_1);
00182   }

static algebraic_real mmx::GLUE_21 ( const algebraic_real &  arg_1  )  [static]
static int mmx::GLUE_22 ( const vector< complex< rational > > &  arg_1  )  [static]

Definition at line 130 of file glue_vector_rational.cpp.

References arg_1, and N().

00130                                                     {
00131     return N (arg_1);
00132   }

static vector<integer> mmx::GLUE_22 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 125 of file glue_vector_integer.cpp.

00125                                                                        {
00126     return arg_1 + arg_2;
00127   }

static vector<int> mmx::GLUE_22 ( const vector< int > &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 119 of file glue_vector_int.cpp.

00119                                                                {
00120     return arg_1 + arg_2;
00121   }

static series<rational> mmx::GLUE_22 ( const series< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 169 of file glue_series_rational.cpp.

References binpow().

00169                                                             {
00170     return binpow (arg_1, arg_2);
00171   }

static series<integer> mmx::GLUE_22 ( const integer &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 161 of file glue_series_integer.cpp.

00161                                                                {
00162     return arg_1 * arg_2;
00163   }

static series<generic> mmx::GLUE_22 ( const series< generic > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 161 of file glue_series_generic.cpp.

References lshiftz().

00161                                                            {
00162     return lshiftz (arg_1, arg_2);
00163   }

static bool mmx::GLUE_22 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1,
const quotient< polynomial< rational >, polynomial< rational > > &  arg_2 
) [static]

Definition at line 162 of file glue_quotient_polynomial_rational.cpp.

00162                                                                                                                      {
00163     return arg_1 == arg_2;
00164   }

static polynomial<rational> mmx::GLUE_22 ( const polynomial< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 161 of file glue_polynomial_rational.cpp.

References rshiftz().

00161                                                                 {
00162     return rshiftz (arg_1, arg_2);
00163   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_22 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 175 of file glue_polynomial_p_adic_modular_integer.cpp.

References rshiftz().

00175                                                                                              {
00176     return rshiftz (arg_1, arg_2);
00177   }

static polynomial<integer> mmx::GLUE_22 ( const polynomial< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 152 of file glue_polynomial_integer.cpp.

References rshiftz().

00152                                                                {
00153     return rshiftz (arg_1, arg_2);
00154   }

static vector<generic> mmx::GLUE_22 ( const vector< generic > &  arg_1  )  [static]

Definition at line 117 of file glue_vector_generic.cpp.

References log().

00117                                          {
00118     return log (arg_1);
00119   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_22 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 144 of file glue_p_adic_modular_integer.cpp.

References lshiftz().

00144                                                                                 {
00145     return lshiftz (arg_1, arg_2);
00146   }

static matrix<rational> mmx::GLUE_22 ( const matrix< rational > &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 188 of file glue_matrix_rational.cpp.

00188                                                                          {
00189     return arg_1 - arg_2;
00190   }

static matrix<integer> mmx::GLUE_22 ( const matrix< integer > &  arg_1,
const matrix< integer > &  arg_2 
) [static]

Definition at line 185 of file glue_matrix_integer.cpp.

00185                                                                        {
00186     return arg_1 + arg_2;
00187   }

static string mmx::GLUE_22 ( const int &  arg_1  )  [static]

Definition at line 185 of file glue_matrix_generic.cpp.

00185                              {
00186     return charcode_as_string (arg_1);
00187   }

static algebraic_real mmx::GLUE_22 ( const algebraic_real &  arg_1,
const int &  arg_2 
) [static]
static complex<rational> mmx::GLUE_23 ( const vector< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 135 of file glue_vector_rational.cpp.

References arg_1.

00135                                                                       {
00136     return arg_1[arg_2];
00137   }

static vector<integer> mmx::GLUE_23 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 130 of file glue_vector_integer.cpp.

00130                                                                        {
00131     return arg_1 - arg_2;
00132   }

static vector<int> mmx::GLUE_23 ( const vector< int > &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 124 of file glue_vector_int.cpp.

00124                                                                {
00125     return arg_1 - arg_2;
00126   }

static series<rational> mmx::GLUE_23 ( const series< rational > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 174 of file glue_series_rational.cpp.

References binpow().

00174                                                                 {
00175     return binpow (arg_1, arg_2);
00176   }

static series<integer> mmx::GLUE_23 ( const series< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 166 of file glue_series_integer.cpp.

00166                                                                {
00167     return arg_1 * arg_2;
00168   }

static series<generic> mmx::GLUE_23 ( const series< generic > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 166 of file glue_series_generic.cpp.

References rshiftz().

00166                                                            {
00167     return rshiftz (arg_1, arg_2);
00168   }

static bool mmx::GLUE_23 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1,
const quotient< polynomial< rational >, polynomial< rational > > &  arg_2 
) [static]

Definition at line 167 of file glue_quotient_polynomial_rational.cpp.

00167                                                                                                                      {
00168     return arg_1 != arg_2;
00169   }

static bool mmx::GLUE_23 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 166 of file glue_polynomial_rational.cpp.

00166                                                                                  {
00167     return arg_1 == arg_2;
00168   }

static bool mmx::GLUE_23 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 180 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_2.

00180                                                                                                                                            {
00181     return arg_1 == arg_2;
00182   }

static bool mmx::GLUE_23 ( const polynomial< integer > &  arg_1,
const polynomial< integer > &  arg_2 
) [static]

Definition at line 157 of file glue_polynomial_integer.cpp.

00157                                                                                {
00158     return arg_1 == arg_2;
00159   }

static vector<generic> mmx::GLUE_23 ( const vector< generic > &  arg_1  )  [static]

Definition at line 122 of file glue_vector_generic.cpp.

References cos().

00122                                          {
00123     return cos (arg_1);
00124   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_23 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 149 of file glue_p_adic_modular_integer.cpp.

References rshiftz().

00149                                                                                 {
00150     return rshiftz (arg_1, arg_2);
00151   }

static matrix<rational> mmx::GLUE_23 ( const matrix< rational > &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 193 of file glue_matrix_rational.cpp.

00193                                                                          {
00194     return arg_1 * arg_2;
00195   }

static matrix<integer> mmx::GLUE_23 ( const matrix< integer > &  arg_1,
const matrix< integer > &  arg_2 
) [static]

Definition at line 190 of file glue_matrix_integer.cpp.

00190                                                                        {
00191     return arg_1 - arg_2;
00192   }

static int mmx::GLUE_23 ( const string &  arg_1  )  [static]

Definition at line 190 of file glue_matrix_generic.cpp.

00190                                 {
00191     return string_as_charcode (arg_1);
00192   }

static int mmx::GLUE_23 ( const algebraic_real &  arg_1  )  [static]
static alias<complex<rational> > mmx::GLUE_24 ( const alias< vector< complex< rational > > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 140 of file glue_vector_rational.cpp.

References arg_1.

00140                                                                               {
00141     return alias_access<complex<rational> > (arg_1, arg_2);
00142   }

static vector<integer> mmx::GLUE_24 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 135 of file glue_vector_integer.cpp.

00135                                                                        {
00136     return arg_1 * arg_2;
00137   }

static vector<int> mmx::GLUE_24 ( const vector< int > &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 129 of file glue_vector_int.cpp.

00129                                                                {
00130     return arg_1 * arg_2;
00131   }

static bool mmx::GLUE_24 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 179 of file glue_series_rational.cpp.

00179                                                                          {
00180     return arg_1 == arg_2;
00181   }

static series<integer> mmx::GLUE_24 ( const series< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 171 of file glue_series_integer.cpp.

References binpow().

00171                                                            {
00172     return binpow (arg_1, arg_2);
00173   }

static series<generic> mmx::GLUE_24 ( const series< generic > &  arg_1  )  [static]

Definition at line 171 of file glue_series_generic.cpp.

References invert().

00171                                          {
00172     return invert (arg_1);
00173   }

static bool mmx::GLUE_24 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 172 of file glue_quotient_polynomial_rational.cpp.

00172                                                                                                    {
00173     return arg_1 == arg_2;
00174   }

static bool mmx::GLUE_24 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 171 of file glue_polynomial_rational.cpp.

00171                                                                                  {
00172     return arg_1 != arg_2;
00173   }

static bool mmx::GLUE_24 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 185 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_2.

00185                                                                                                                                            {
00186     return arg_1 != arg_2;
00187   }

static bool mmx::GLUE_24 ( const polynomial< integer > &  arg_1,
const polynomial< integer > &  arg_2 
) [static]

Definition at line 162 of file glue_polynomial_integer.cpp.

00162                                                                                {
00163     return arg_1 != arg_2;
00164   }

static vector<generic> mmx::GLUE_24 ( const vector< generic > &  arg_1  )  [static]

Definition at line 127 of file glue_vector_generic.cpp.

References sin().

00127                                          {
00128     return sin (arg_1);
00129   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_24 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 154 of file glue_p_adic_modular_integer.cpp.

00154                                                                                                                  {
00155     return arg_1 / arg_2;
00156   }

static matrix<rational> mmx::GLUE_24 ( const rational &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 198 of file glue_matrix_rational.cpp.

00198                                                                  {
00199     return arg_1 + arg_2;
00200   }

static matrix<integer> mmx::GLUE_24 ( const matrix< integer > &  arg_1,
const matrix< integer > &  arg_2 
) [static]

Definition at line 195 of file glue_matrix_integer.cpp.

00195                                                                        {
00196     return arg_1 * arg_2;
00197   }

static bool mmx::GLUE_24 ( const generic &  arg_1  )  [static]

Definition at line 195 of file glue_matrix_generic.cpp.

References arg_1, and is_generic_literal.

00195                                  {
00196     return is_generic_literal (arg_1);
00197   }

static bool mmx::GLUE_24 ( const algebraic_real &  arg_1,
const algebraic_real &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_25 ( const vector< complex< rational > > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 145 of file glue_vector_rational.cpp.

References arg_1, and range().

00145                                                                                         {
00146     return range (arg_1, arg_2, arg_3);
00147   }

static vector<integer> mmx::GLUE_25 ( const integer &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 140 of file glue_vector_integer.cpp.

00140                                                                {
00141     return arg_1 + arg_2;
00142   }

static vector<int> mmx::GLUE_25 ( const int &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 134 of file glue_vector_int.cpp.

00134                                                        {
00135     return arg_1 + arg_2;
00136   }

static bool mmx::GLUE_25 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 184 of file glue_series_rational.cpp.

00184                                                                          {
00185     return arg_1 != arg_2;
00186   }

static series<integer> mmx::GLUE_25 ( const series< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 176 of file glue_series_integer.cpp.

References binpow().

00176                                                                {
00177     return binpow (arg_1, arg_2);
00178   }

static series<generic> mmx::GLUE_25 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 176 of file glue_series_generic.cpp.

00176                                                                        {
00177     return arg_1 / arg_2;
00178   }

static bool mmx::GLUE_25 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 177 of file glue_quotient_polynomial_rational.cpp.

00177                                                                                                    {
00178     return arg_1 != arg_2;
00179   }

static bool mmx::GLUE_25 ( const polynomial< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 176 of file glue_polynomial_rational.cpp.

00176                                                                      {
00177     return arg_1 == arg_2;
00178   }

static bool mmx::GLUE_25 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 190 of file glue_polynomial_p_adic_modular_integer.cpp.

00190                                                                                                                               {
00191     return arg_1 == arg_2;
00192   }

static bool mmx::GLUE_25 ( const polynomial< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 167 of file glue_polynomial_integer.cpp.

00167                                                                    {
00168     return arg_1 == arg_2;
00169   }

static vector<generic> mmx::GLUE_25 ( const vector< generic > &  arg_1  )  [static]

Definition at line 132 of file glue_vector_generic.cpp.

References tan().

00132                                          {
00133     return tan (arg_1);
00134   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_25 ( const mmx_modular(integer)&  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 159 of file glue_p_adic_modular_integer.cpp.

00159                                                                                                  {
00160     return arg_1 / arg_2;
00161   }

static matrix<rational> mmx::GLUE_25 ( const matrix< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 203 of file glue_matrix_rational.cpp.

00203                                                                  {
00204     return arg_1 + arg_2;
00205   }

static matrix<integer> mmx::GLUE_25 ( const integer &  arg_1,
const matrix< integer > &  arg_2 
) [static]

Definition at line 200 of file glue_matrix_integer.cpp.

00200                                                                {
00201     return arg_1 + arg_2;
00202   }

static generic mmx::GLUE_25 ( const literal &  arg_1,
const tuple< generic > &  arg_2 
) [static]

Definition at line 200 of file glue_matrix_generic.cpp.

References as_vector(), and gen_literal_apply.

00200                                                               {
00201     return gen_literal_apply (arg_1, as_vector (arg_2));
00202   }

static bool mmx::GLUE_25 ( const algebraic_real &  arg_1,
const algebraic_real &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_26 ( const vector< complex< rational > > &  arg_1  )  [static]

Definition at line 150 of file glue_vector_rational.cpp.

References arg_1, and reverse().

00150                                                     {
00151     return reverse (arg_1);
00152   }

static vector<integer> mmx::GLUE_26 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 145 of file glue_vector_integer.cpp.

00145                                                                {
00146     return arg_1 + arg_2;
00147   }

static vector<int> mmx::GLUE_26 ( const vector< int > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 139 of file glue_vector_int.cpp.

00139                                                        {
00140     return arg_1 + arg_2;
00141   }

static bool mmx::GLUE_26 ( const series< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 189 of file glue_series_rational.cpp.

00189                                                                  {
00190     return arg_1 == arg_2;
00191   }

static bool mmx::GLUE_26 ( const series< integer > &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 181 of file glue_series_integer.cpp.

00181                                                                        {
00182     return arg_1 == arg_2;
00183   }

static series<generic> mmx::GLUE_26 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 181 of file glue_series_generic.cpp.

00181                                                                        {
00182     return arg_1 / arg_2;
00183   }

static bool mmx::GLUE_26 ( const polynomial< rational > &  arg_1,
const quotient< polynomial< rational >, polynomial< rational > > &  arg_2 
) [static]

Definition at line 182 of file glue_quotient_polynomial_rational.cpp.

00182                                                                                                    {
00183     return arg_1 == arg_2;
00184   }

static bool mmx::GLUE_26 ( const polynomial< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 181 of file glue_polynomial_rational.cpp.

00181                                                                      {
00182     return arg_1 != arg_2;
00183   }

static bool mmx::GLUE_26 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 195 of file glue_polynomial_p_adic_modular_integer.cpp.

00195                                                                                                                               {
00196     return arg_1 != arg_2;
00197   }

static bool mmx::GLUE_26 ( const polynomial< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 172 of file glue_polynomial_integer.cpp.

00172                                                                    {
00173     return arg_1 != arg_2;
00174   }

static vector<generic> mmx::GLUE_26 ( const vector< generic > &  arg_1  )  [static]

Definition at line 137 of file glue_vector_generic.cpp.

References acos().

00137                                          {
00138     return acos (arg_1);
00139   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_26 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const mmx_modular(integer)&  arg_2 
) [static]

Definition at line 164 of file glue_p_adic_modular_integer.cpp.

00164                                                                                                  {
00165     return arg_1 / arg_2;
00166   }

static matrix<rational> mmx::GLUE_26 ( const rational &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 208 of file glue_matrix_rational.cpp.

00208                                                                  {
00209     return arg_1 - arg_2;
00210   }

static matrix<integer> mmx::GLUE_26 ( const matrix< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 205 of file glue_matrix_integer.cpp.

00205                                                                {
00206     return arg_1 + arg_2;
00207   }

static generic mmx::GLUE_26 ( const literal &  arg_1,
const tuple< generic > &  arg_2 
) [static]

Definition at line 205 of file glue_matrix_generic.cpp.

References as_vector(), and gen_literal_access.

00205                                                               {
00206     return gen_literal_access (arg_1, as_vector (arg_2));
00207   }

static bool mmx::GLUE_26 ( const algebraic_real &  arg_1,
const algebraic_real &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_27 ( const vector< complex< rational > > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 155 of file glue_vector_rational.cpp.

References arg_1, and arg_2.

00155                                                                                              {
00156     return append (arg_1, arg_2);
00157   }

static vector<integer> mmx::GLUE_27 ( const integer &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 150 of file glue_vector_integer.cpp.

00150                                                                {
00151     return arg_1 - arg_2;
00152   }

static vector<int> mmx::GLUE_27 ( const int &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 144 of file glue_vector_int.cpp.

00144                                                        {
00145     return arg_1 - arg_2;
00146   }

static bool mmx::GLUE_27 ( const series< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 194 of file glue_series_rational.cpp.

00194                                                                  {
00195     return arg_1 != arg_2;
00196   }

static bool mmx::GLUE_27 ( const series< integer > &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 186 of file glue_series_integer.cpp.

00186                                                                        {
00187     return arg_1 != arg_2;
00188   }

static bool mmx::GLUE_27 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 186 of file glue_series_generic.cpp.

References divides().

00186                                                                        {
00187     return divides (arg_1, arg_2);
00188   }

static bool mmx::GLUE_27 ( const polynomial< rational > &  arg_1,
const quotient< polynomial< rational >, polynomial< rational > > &  arg_2 
) [static]

Definition at line 187 of file glue_quotient_polynomial_rational.cpp.

00187                                                                                                    {
00188     return arg_1 != arg_2;
00189   }

static bool mmx::GLUE_27 ( const rational &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 186 of file glue_polynomial_rational.cpp.

00186                                                                      {
00187     return arg_1 == arg_2;
00188   }

static bool mmx::GLUE_27 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 200 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_2.

00200                                                                                                                               {
00201     return arg_1 == arg_2;
00202   }

static bool mmx::GLUE_27 ( const integer &  arg_1,
const polynomial< integer > &  arg_2 
) [static]

Definition at line 177 of file glue_polynomial_integer.cpp.

00177                                                                    {
00178     return arg_1 == arg_2;
00179   }

static vector<generic> mmx::GLUE_27 ( const vector< generic > &  arg_1  )  [static]

Definition at line 142 of file glue_vector_generic.cpp.

References asin().

00142                                          {
00143     return asin (arg_1);
00144   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_27 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 169 of file glue_p_adic_modular_integer.cpp.

References gcd().

00169                                                                                                                  {
00170     return gcd (arg_1, arg_2);
00171   }

static matrix<rational> mmx::GLUE_27 ( const matrix< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 213 of file glue_matrix_rational.cpp.

00213                                                                  {
00214     return arg_1 - arg_2;
00215   }

static matrix<integer> mmx::GLUE_27 ( const integer &  arg_1,
const matrix< integer > &  arg_2 
) [static]

Definition at line 210 of file glue_matrix_integer.cpp.

00210                                                                {
00211     return arg_1 - arg_2;
00212   }

static literal mmx::GLUE_27 ( const string &  arg_1  )  [static]

Definition at line 210 of file glue_matrix_generic.cpp.

00210                                 {
00211     return literal (arg_1);
00212   }

static bool mmx::GLUE_27 ( const algebraic_real &  arg_1,
const algebraic_real &  arg_2 
) [static]
static alias<vector<complex<rational> > > mmx::GLUE_28 ( const alias< vector< complex< rational > > > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 160 of file glue_vector_rational.cpp.

References arg_1, and arg_2.

00160                                                                                                      {
00161     return alias_write (arg_1, arg_2);
00162   }

static vector<integer> mmx::GLUE_28 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 155 of file glue_vector_integer.cpp.

00155                                                                {
00156     return arg_1 - arg_2;
00157   }

static vector<int> mmx::GLUE_28 ( const vector< int > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 149 of file glue_vector_int.cpp.

00149                                                        {
00150     return arg_1 - arg_2;
00151   }

static bool mmx::GLUE_28 ( const rational &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 199 of file glue_series_rational.cpp.

00199                                                                  {
00200     return arg_1 == arg_2;
00201   }

static bool mmx::GLUE_28 ( const series< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 191 of file glue_series_integer.cpp.

00191                                                                {
00192     return arg_1 == arg_2;
00193   }

static series<generic> mmx::GLUE_28 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 191 of file glue_series_generic.cpp.

References gcd().

00191                                                                        {
00192     return gcd (arg_1, arg_2);
00193   }

static bool mmx::GLUE_28 ( const rational &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 191 of file glue_polynomial_rational.cpp.

00191                                                                      {
00192     return arg_1 != arg_2;
00193   }

static bool mmx::GLUE_28 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 205 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_2.

00205                                                                                                                               {
00206     return arg_1 != arg_2;
00207   }

static bool mmx::GLUE_28 ( const integer &  arg_1,
const polynomial< integer > &  arg_2 
) [static]

Definition at line 182 of file glue_polynomial_integer.cpp.

00182                                                                    {
00183     return arg_1 != arg_2;
00184   }

static vector<generic> mmx::GLUE_28 ( const vector< generic > &  arg_1  )  [static]

Definition at line 147 of file glue_vector_generic.cpp.

References atan().

00147                                          {
00148     return atan (arg_1);
00149   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_28 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 174 of file glue_p_adic_modular_integer.cpp.

References lcm().

00174                                                                                                                  {
00175     return lcm (arg_1, arg_2);
00176   }

static matrix<rational> mmx::GLUE_28 ( const rational &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 218 of file glue_matrix_rational.cpp.

00218                                                                  {
00219     return arg_1 * arg_2;
00220   }

static matrix<integer> mmx::GLUE_28 ( const matrix< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 215 of file glue_matrix_integer.cpp.

00215                                                                {
00216     return arg_1 - arg_2;
00217   }

static string mmx::GLUE_28 ( const literal &  arg_1  )  [static]

Definition at line 215 of file glue_matrix_generic.cpp.

00215                                  {
00216     return *arg_1;
00217   }

static bool mmx::GLUE_28 ( const algebraic_real &  arg_1,
const algebraic_real &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_29 ( const complex< rational > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 165 of file glue_vector_rational.cpp.

References arg_2.

00165                                                                                     {
00166     return cons (arg_1, arg_2);
00167   }

static vector<integer> mmx::GLUE_29 ( const integer &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 160 of file glue_vector_integer.cpp.

00160                                                                {
00161     return arg_1 * arg_2;
00162   }

static vector<int> mmx::GLUE_29 ( const int &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 154 of file glue_vector_int.cpp.

00154                                                        {
00155     return arg_1 * arg_2;
00156   }

static bool mmx::GLUE_29 ( const rational &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 204 of file glue_series_rational.cpp.

00204                                                                  {
00205     return arg_1 != arg_2;
00206   }

static bool mmx::GLUE_29 ( const series< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 196 of file glue_series_integer.cpp.

00196                                                                {
00197     return arg_1 != arg_2;
00198   }

static series<generic> mmx::GLUE_29 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 196 of file glue_series_generic.cpp.

References lcm().

00196                                                                        {
00197     return lcm (arg_1, arg_2);
00198   }

static polynomial<rational> mmx::GLUE_29 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 196 of file glue_polynomial_rational.cpp.

References derive().

00196                                               {
00197     return derive (arg_1);
00198   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_29 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1  )  [static]

Definition at line 210 of file glue_polynomial_p_adic_modular_integer.cpp.

References derive().

00210                                                                            {
00211     return derive (arg_1);
00212   }

static polynomial<integer> mmx::GLUE_29 ( const polynomial< integer > &  arg_1  )  [static]

Definition at line 187 of file glue_polynomial_integer.cpp.

References derive().

00187                                              {
00188     return derive (arg_1);
00189   }

static vector<generic> mmx::GLUE_29 ( const vector< generic > &  arg_1  )  [static]

Definition at line 152 of file glue_vector_generic.cpp.

References derive().

00152                                          {
00153     return derive (arg_1);
00154   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_29 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 179 of file glue_p_adic_modular_integer.cpp.

References separable_root().

00179                                                                                 {
00180     return separable_root (arg_1, arg_2);
00181   }

static matrix<rational> mmx::GLUE_29 ( const matrix< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 223 of file glue_matrix_rational.cpp.

00223                                                                  {
00224     return arg_1 * arg_2;
00225   }

static matrix<integer> mmx::GLUE_29 ( const integer &  arg_1,
const matrix< integer > &  arg_2 
) [static]

Definition at line 220 of file glue_matrix_integer.cpp.

00220                                                                {
00221     return arg_1 * arg_2;
00222   }

static generic mmx::GLUE_29 ( const int &  arg_1  )  [static]

Definition at line 220 of file glue_matrix_generic.cpp.

References integer_construct.

00220                              {
00221     return integer_construct (arg_1);
00222   }

static bool mmx::GLUE_29 ( const algebraic_real &  arg_1,
const algebraic_real &  arg_2 
) [static]
static iterator<generic> mmx::GLUE_3 ( const vector< rational > &  arg_1  )  [static]

Definition at line 35 of file glue_vector_rational.cpp.

References iterate().

00035                                          {
00036     return as<iterator<generic> > (iterate (arg_1));
00037   }

static iterator<generic> mmx::GLUE_3 ( const vector< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 33 of file glue_vector_modular_integer.cpp.

References arg_1, and iterate().

00033                                                       {
00034     return as<iterator<generic> > (iterate (arg_1));
00035   }

static iterator<generic> mmx::GLUE_3 ( const vector< integer > &  arg_1  )  [static]

Definition at line 30 of file glue_vector_integer.cpp.

References iterate().

00030                                         {
00031     return as<iterator<generic> > (iterate (arg_1));
00032   }

static iterator<generic> mmx::GLUE_3 ( const vector< int > &  arg_1  )  [static]

Definition at line 24 of file glue_vector_int.cpp.

References iterate().

00024                                     {
00025     return as<iterator<generic> > (iterate (arg_1));
00026   }

static void mmx::GLUE_3 ( const series< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 74 of file glue_series_rational.cpp.

References set_cancel_order().

00074                                                            {
00075     set_cancel_order (arg_1, arg_2);
00076   }

static void mmx::GLUE_3 ( const series< mmx_modular(integer) > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 70 of file glue_series_modular_integer.cpp.

References arg_1, arg_2, and set_variable_name().

00070                                                                             {
00071     set_variable_name (arg_1, arg_2);
00072   }

static void mmx::GLUE_3 ( const series< integer > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 66 of file glue_series_integer.cpp.

References arg_2, and set_variable_name().

00066                                                               {
00067     set_variable_name (arg_1, arg_2);
00068   }

static void mmx::GLUE_3 ( const series< generic > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 66 of file glue_series_generic.cpp.

References set_output_order().

00066                                                           {
00067     set_output_order (arg_1, arg_2);
00068   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_3 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 67 of file glue_quotient_polynomial_rational.cpp.

References simple_quotient.

00067                                                                                 {
00068     return (simple_quotient(polynomial<rational> ) (arg_1, arg_2));
00069   }

static void mmx::GLUE_3 ( const polynomial< rational > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 66 of file glue_polynomial_rational.cpp.

References arg_2, and set_variable_name().

00066                                                                    {
00067     set_variable_name (arg_1, arg_2);
00068   }

static void mmx::GLUE_3 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 80 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_1, arg_2, and set_variable_name().

00080                                                                                                 {
00081     set_variable_name (arg_1, arg_2);
00082   }

static void mmx::GLUE_3 ( const polynomial< mmx_modular(integer) > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 62 of file glue_polynomial_modular_integer.cpp.

References arg_1, arg_2, and set_variable_name().

00062                                                                                 {
00063     set_variable_name (arg_1, arg_2);
00064   }

static void mmx::GLUE_3 ( const polynomial< integer > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 57 of file glue_polynomial_integer.cpp.

References arg_2, and set_variable_name().

00057                                                                   {
00058     set_variable_name (arg_1, arg_2);
00059   }

static vector<generic> mmx::GLUE_3 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 22 of file glue_vector_generic.cpp.

00022                                                                       {
00023     return arg_1 + arg_2;
00024   }

static permutation mmx::GLUE_3 ( const int &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 24 of file glue_permutation.cpp.

References transposition().

00024                                                                 {
00025     return transposition (arg_1, arg_2, arg_3);
00026   }

static iterator<generic> mmx::GLUE_3 ( const polynomial< mmx_modular(integer), polynomial_carry_variant_helper< mmx_modular(integer) >::PV > &  arg_1  )  [static]

Definition at line 45 of file glue_p_expansion_modular_integer.cpp.

References iterate().

00045                                                                   {
00046     return as<iterator<generic> > (iterate (arg_1));
00047   }

static void mmx::GLUE_3 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 49 of file glue_p_adic_modular_integer.cpp.

References set_cancel_order().

00049                                                                                {
00050     set_cancel_order (arg_1, arg_2);
00051   }

static matrix<rational> mmx::GLUE_3 ( const tuple< rational > &  arg_1  )  [static]

Definition at line 93 of file glue_matrix_rational.cpp.

References as_vector(), and matrix_new().

00093                                         {
00094     return matrix_new (as_vector (arg_1));
00095   }

static row_tuple<mmx_modular(integer) > mmx::GLUE_3 ( const tuple< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 91 of file glue_matrix_modular_integer.cpp.

References arg_1, and as_vector().

00091                                                      {
00092     return row_tuple<mmx_modular(integer) > (as_vector (arg_1));
00093   }

static row_tuple<integer> mmx::GLUE_3 ( const tuple< integer > &  arg_1  )  [static]

Definition at line 90 of file glue_matrix_integer.cpp.

References as_vector().

00090                                        {
00091     return row_tuple<integer > (as_vector (arg_1));
00092   }

static string mmx::GLUE_3 ( const string &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 90 of file glue_matrix_generic.cpp.

References arg_1.

00090                                                                    {
00091     return arg_1 (arg_2, arg_3);
00092   }

static algebraic_real mmx::GLUE_3 ( const algebraic_real &  arg_1,
const algebraic_real &  arg_2 
) [static]

Definition at line 73 of file glue_algebraic_number.cpp.

References lcommon().

00073                                                                     {
00074     return lcommon (arg_1, arg_2);
00075   }

static algebraic<generic> mmx::GLUE_3 ( const algebraic< generic > &  arg_1,
const algebraic< generic > &  arg_2 
) [static]
static complex<rational> mmx::GLUE_30 ( const vector< complex< rational > > &  arg_1  )  [static]

Definition at line 170 of file glue_vector_rational.cpp.

References arg_1, and car().

00170                                                     {
00171     return car (arg_1);
00172   }

static vector<integer> mmx::GLUE_30 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 165 of file glue_vector_integer.cpp.

00165                                                                {
00166     return arg_1 * arg_2;
00167   }

static vector<int> mmx::GLUE_30 ( const vector< int > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 159 of file glue_vector_int.cpp.

00159                                                        {
00160     return arg_1 * arg_2;
00161   }

static series<rational> mmx::GLUE_30 ( const series< rational > &  arg_1  )  [static]

Definition at line 209 of file glue_series_rational.cpp.

References derive().

00209                                           {
00210     return derive (arg_1);
00211   }

static bool mmx::GLUE_30 ( const integer &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 201 of file glue_series_integer.cpp.

00201                                                                {
00202     return arg_1 == arg_2;
00203   }

static series<generic> mmx::GLUE_30 ( const series< generic > &  arg_1  )  [static]

Definition at line 201 of file glue_series_generic.cpp.

References integrate().

00201                                          {
00202     return integrate (arg_1);
00203   }

static polynomial<rational> mmx::GLUE_30 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 201 of file glue_polynomial_rational.cpp.

References xderive().

00201                                               {
00202     return xderive (arg_1);
00203   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_30 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1  )  [static]

Definition at line 215 of file glue_polynomial_p_adic_modular_integer.cpp.

References xderive().

00215                                                                            {
00216     return xderive (arg_1);
00217   }

static polynomial<integer> mmx::GLUE_30 ( const polynomial< integer > &  arg_1  )  [static]

Definition at line 192 of file glue_polynomial_integer.cpp.

References xderive().

00192                                              {
00193     return xderive (arg_1);
00194   }

static vector<generic> mmx::GLUE_30 ( const vector< generic > &  arg_1  )  [static]

Definition at line 157 of file glue_vector_generic.cpp.

References integrate().

00157                                          {
00158     return integrate (arg_1);
00159   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_30 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1  )  [static]

Definition at line 184 of file glue_p_adic_modular_integer.cpp.

References pth_root().

00184                                                               {
00185     return pth_root (arg_1);
00186   }

static bool mmx::GLUE_30 ( const matrix< rational > &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 228 of file glue_matrix_rational.cpp.

00228                                                                          {
00229     return arg_1 == arg_2;
00230   }

static matrix<integer> mmx::GLUE_30 ( const matrix< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 225 of file glue_matrix_integer.cpp.

00225                                                                {
00226     return arg_1 * arg_2;
00227   }

static row_tuple<generic> mmx::GLUE_30 ( const tuple< generic > &  arg_1  )  [static]

Definition at line 225 of file glue_matrix_generic.cpp.

References as_vector().

00225                                         {
00226     return row_tuple<generic > (as_vector (arg_1));
00227   }

static bool mmx::GLUE_30 ( const algebraic_real &  arg_1,
const rational &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_31 ( const vector< complex< rational > > &  arg_1  )  [static]

Definition at line 175 of file glue_vector_rational.cpp.

References arg_1, and cdr().

00175                                                     {
00176     return cdr (arg_1);
00177   }

static integer mmx::GLUE_31 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 170 of file glue_vector_integer.cpp.

References dot().

00170                                                                        {
00171     return dot (arg_1, arg_2);
00172   }

static int mmx::GLUE_31 ( const vector< int > &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 164 of file glue_vector_int.cpp.

References dot().

00164                                                                {
00165     return dot (arg_1, arg_2);
00166   }

static series<rational> mmx::GLUE_31 ( const series< rational > &  arg_1  )  [static]

Definition at line 214 of file glue_series_rational.cpp.

References xderive().

00214                                           {
00215     return xderive (arg_1);
00216   }

static bool mmx::GLUE_31 ( const integer &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 206 of file glue_series_integer.cpp.

00206                                                                {
00207     return arg_1 != arg_2;
00208   }

static series<generic> mmx::GLUE_31 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 206 of file glue_series_generic.cpp.

References compose().

00206                                                                        {
00207     return compose (arg_1, arg_2);
00208   }

static rational mmx::GLUE_31 ( const polynomial< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 206 of file glue_polynomial_rational.cpp.

References evaluate().

00206                                                                      {
00207     return evaluate (arg_1, arg_2);
00208   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_31 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 220 of file glue_polynomial_p_adic_modular_integer.cpp.

References evaluate().

00220                                                                                                                               {
00221     return evaluate (arg_1, arg_2);
00222   }

static integer mmx::GLUE_31 ( const polynomial< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 197 of file glue_polynomial_integer.cpp.

References evaluate().

00197                                                                    {
00198     return evaluate (arg_1, arg_2);
00199   }

static bool mmx::GLUE_31 ( const generic &  arg_1  )  [static]

Definition at line 196 of file glue_polynomial_generic.cpp.

References arg_1.

00196                                  {
00197     return generic_is_string (arg_1);
00198   }

static bool mmx::GLUE_31 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 189 of file glue_p_adic_modular_integer.cpp.

00189                                                                                                                  {
00190     return arg_1 == arg_2;
00191   }

static bool mmx::GLUE_31 ( const matrix< rational > &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 233 of file glue_matrix_rational.cpp.

00233                                                                          {
00234     return arg_1 != arg_2;
00235   }

static bool mmx::GLUE_31 ( const matrix< integer > &  arg_1,
const matrix< integer > &  arg_2 
) [static]

Definition at line 230 of file glue_matrix_integer.cpp.

00230                                                                        {
00231     return arg_1 == arg_2;
00232   }

static matrix<generic> mmx::GLUE_31 ( const tuple< generic > &  arg_1  )  [static]

Definition at line 230 of file glue_matrix_generic.cpp.

References as_vector(), and matrix_new().

00230                                         {
00231     return matrix_new (as_vector (arg_1));
00232   }

static bool mmx::GLUE_31 ( const algebraic_real &  arg_1,
const rational &  arg_2 
) [static]
static bool mmx::GLUE_32 ( const vector< complex< rational > > &  arg_1  )  [static]

Definition at line 180 of file glue_vector_rational.cpp.

References arg_1.

00180                                                     {
00181     return is_nil (arg_1);
00182   }

static integer mmx::GLUE_32 ( const vector< integer > &  arg_1  )  [static]

Definition at line 175 of file glue_vector_integer.cpp.

References big_mul().

00175                                          {
00176     return big_mul (arg_1);
00177   }

static int mmx::GLUE_32 ( const vector< int > &  arg_1  )  [static]

Definition at line 169 of file glue_vector_int.cpp.

References big_mul().

00169                                      {
00170     return big_mul (arg_1);
00171   }

static series<rational> mmx::GLUE_32 ( const series< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 219 of file glue_series_rational.cpp.

References dilate().

00219                                                             {
00220     return dilate (arg_1, arg_2);
00221   }

static series<integer> mmx::GLUE_32 ( const series< integer > &  arg_1  )  [static]

Definition at line 211 of file glue_series_integer.cpp.

References derive().

00211                                          {
00212     return derive (arg_1);
00213   }

static series<generic> mmx::GLUE_32 ( const series< generic > &  arg_1  )  [static]

Definition at line 211 of file glue_series_generic.cpp.

References reverse().

00211                                          {
00212     return reverse (arg_1);
00213   }

static rational mmx::GLUE_32 ( const polynomial< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 211 of file glue_polynomial_rational.cpp.

References evaluate().

00211                                                                      {
00212     return evaluate (arg_1, arg_2);
00213   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_32 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 225 of file glue_polynomial_p_adic_modular_integer.cpp.

References evaluate().

00225                                                                                                                               {
00226     return evaluate (arg_1, arg_2);
00227   }

static integer mmx::GLUE_32 ( const polynomial< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 202 of file glue_polynomial_integer.cpp.

References evaluate().

00202                                                                    {
00203     return evaluate (arg_1, arg_2);
00204   }

static int mmx::GLUE_32 ( const string &  arg_1  )  [static]

Definition at line 201 of file glue_polynomial_generic.cpp.

References N().

00201                                 {
00202     return N (arg_1);
00203   }

static bool mmx::GLUE_32 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 194 of file glue_p_adic_modular_integer.cpp.

00194                                                                                                                  {
00195     return arg_1 != arg_2;
00196   }

static bool mmx::GLUE_32 ( const matrix< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 238 of file glue_matrix_rational.cpp.

00238                                                                  {
00239     return arg_1 == arg_2;
00240   }

static bool mmx::GLUE_32 ( const matrix< integer > &  arg_1,
const matrix< integer > &  arg_2 
) [static]

Definition at line 235 of file glue_matrix_integer.cpp.

00235                                                                        {
00236     return arg_1 != arg_2;
00237   }

static matrix<generic> mmx::GLUE_32 ( const tuple< row_tuple< generic > > &  arg_1  )  [static]

Definition at line 235 of file glue_matrix_generic.cpp.

References arg_1, as_vector(), and matrix_new().

00235                                                     {
00236     return matrix_new (as_vector (arg_1));
00237   }

static bool mmx::GLUE_32 ( const algebraic_real &  arg_1,
const rational &  arg_2 
) [static]
static bool mmx::GLUE_33 ( const vector< complex< rational > > &  arg_1  )  [static]

Definition at line 185 of file glue_vector_rational.cpp.

References arg_1.

00185                                                     {
00186     return is_atom (arg_1);
00187   }

static integer mmx::GLUE_33 ( const vector< integer > &  arg_1  )  [static]

Definition at line 180 of file glue_vector_integer.cpp.

References big_add().

00180                                          {
00181     return big_add (arg_1);
00182   }

static int mmx::GLUE_33 ( const vector< int > &  arg_1  )  [static]

Definition at line 174 of file glue_vector_int.cpp.

References big_add().

00174                                      {
00175     return big_add (arg_1);
00176   }

static series<rational> mmx::GLUE_33 ( const series< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 224 of file glue_series_rational.cpp.

References lshiftz().

00224                                                             {
00225     return lshiftz (arg_1, arg_2);
00226   }

static series<integer> mmx::GLUE_33 ( const series< integer > &  arg_1  )  [static]

Definition at line 216 of file glue_series_integer.cpp.

References xderive().

00216                                          {
00217     return xderive (arg_1);
00218   }

static series<generic> mmx::GLUE_33 ( const series< generic > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 216 of file glue_series_generic.cpp.

References arg_2, and q_difference().

00216                                                                {
00217     return q_difference (arg_1, arg_2);
00218   }

static polynomial<rational> mmx::GLUE_33 ( const polynomial< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 216 of file glue_polynomial_rational.cpp.

00216                                                                      {
00217     return arg_1 / arg_2;
00218   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_33 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 230 of file glue_polynomial_p_adic_modular_integer.cpp.

00230                                                                                                                               {
00231     return arg_1 / arg_2;
00232   }

static polynomial<generic> mmx::GLUE_33 ( const polynomial< integer > &  arg_1  )  [static]

Definition at line 207 of file glue_polynomial_integer.cpp.

00207                                              {
00208     return as<polynomial<generic> > (arg_1);
00209   }

static string mmx::GLUE_33 ( const string &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 206 of file glue_polynomial_generic.cpp.

References arg_1.

00206                                                                     {
00207     return arg_1 (arg_2, arg_3);
00208   }

static bool mmx::GLUE_33 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const mmx_modular(integer)&  arg_2 
) [static]

Definition at line 199 of file glue_p_adic_modular_integer.cpp.

00199                                                                                                  {
00200     return arg_1 == arg_2;
00201   }

static bool mmx::GLUE_33 ( const matrix< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 243 of file glue_matrix_rational.cpp.

00243                                                                  {
00244     return arg_1 != arg_2;
00245   }

static bool mmx::GLUE_33 ( const matrix< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 240 of file glue_matrix_integer.cpp.

00240                                                                {
00241     return arg_1 == arg_2;
00242   }

static matrix<generic> mmx::GLUE_33 ( const tuple< row_tuple< generic > > &  arg_1  )  [static]

Definition at line 240 of file glue_matrix_generic.cpp.

References arg_1, as_vector(), and matrix_new().

00240                                                     {
00241     return matrix_new (as_vector (arg_1));
00242   }

static bool mmx::GLUE_33 ( const algebraic_real &  arg_1,
const rational &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_34 ( const vector< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 190 of file glue_vector_rational.cpp.

References arg_1.

00190                                                                                     {
00191     return insert (arg_1, arg_2);
00192   }

static bool mmx::GLUE_34 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 185 of file glue_vector_integer.cpp.

00185                                                                        {
00186     return arg_1 == arg_2;
00187   }

static bool mmx::GLUE_34 ( const vector< int > &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 179 of file glue_vector_int.cpp.

00179                                                                {
00180     return arg_1 == arg_2;
00181   }

static series<rational> mmx::GLUE_34 ( const series< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 229 of file glue_series_rational.cpp.

References rshiftz().

00229                                                             {
00230     return rshiftz (arg_1, arg_2);
00231   }

static series<integer> mmx::GLUE_34 ( const series< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 221 of file glue_series_integer.cpp.

References dilate().

00221                                                            {
00222     return dilate (arg_1, arg_2);
00223   }

static series<generic> mmx::GLUE_34 ( const series< generic > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 221 of file glue_series_generic.cpp.

References arg_2, and series_shift_default().

00221                                                                {
00222     return series_shift_default (arg_1, arg_2);
00223   }

static polynomial<rational> mmx::GLUE_34 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 221 of file glue_polynomial_rational.cpp.

00221                                                                                  {
00222     return arg_1 / arg_2;
00223   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_34 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 235 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_2.

00235                                                                                                                                            {
00236     return arg_1 / arg_2;
00237   }

static vector<integer> mmx::GLUE_34 ( const polynomial< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 212 of file glue_polynomial_integer.cpp.

References evaluate().

00212                                                                            {
00213     return evaluate (arg_1, arg_2);
00214   }

static string mmx::GLUE_34 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 211 of file glue_polynomial_generic.cpp.

00211                                                      {
00212     return arg_1 * arg_2;
00213   }

static bool mmx::GLUE_34 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const mmx_modular(integer)&  arg_2 
) [static]

Definition at line 204 of file glue_p_adic_modular_integer.cpp.

00204                                                                                                  {
00205     return arg_1 != arg_2;
00206   }

static bool mmx::GLUE_34 ( const rational &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 248 of file glue_matrix_rational.cpp.

00248                                                                  {
00249     return arg_1 == arg_2;
00250   }

static bool mmx::GLUE_34 ( const matrix< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 245 of file glue_matrix_integer.cpp.

00245                                                                {
00246     return arg_1 != arg_2;
00247   }

static int mmx::GLUE_34 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 245 of file glue_matrix_generic.cpp.

References N().

00245                                          {
00246     return N (arg_1);
00247   }

static bool mmx::GLUE_34 ( const algebraic_real &  arg_1,
const rational &  arg_2 
) [static]
static int mmx::GLUE_35 ( const vector< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 195 of file glue_vector_rational.cpp.

References arg_1.

00195                                                                                     {
00196     return find (arg_1, arg_2);
00197   }

static bool mmx::GLUE_35 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 190 of file glue_vector_integer.cpp.

00190                                                                        {
00191     return arg_1 != arg_2;
00192   }

static bool mmx::GLUE_35 ( const vector< int > &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 184 of file glue_vector_int.cpp.

00184                                                                {
00185     return arg_1 != arg_2;
00186   }

static series<rational> mmx::GLUE_35 ( const series< rational > &  arg_1  )  [static]

Definition at line 234 of file glue_series_rational.cpp.

References invert().

00234                                           {
00235     return invert (arg_1);
00236   }

static series<integer> mmx::GLUE_35 ( const series< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 226 of file glue_series_integer.cpp.

References lshiftz().

00226                                                            {
00227     return lshiftz (arg_1, arg_2);
00228   }

static series<generic> mmx::GLUE_35 ( const series< generic > &  arg_1,
const generic &  arg_2,
const int &  arg_3 
) [static]

Definition at line 226 of file glue_series_generic.cpp.

References arg_2, and shift().

00226                                                                                  {
00227     return shift (arg_1, arg_2, arg_3);
00228   }

static polynomial<rational> mmx::GLUE_35 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 226 of file glue_polynomial_rational.cpp.

References quo().

00226                                                                                  {
00227     return quo (arg_1, arg_2);
00228   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_35 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 240 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_2, and quo().

00240                                                                                                                                            {
00241     return quo (arg_1, arg_2);
00242   }

static vector<integer> mmx::GLUE_35 ( const polynomial< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 217 of file glue_polynomial_integer.cpp.

References evaluate().

00217                                                                            {
00218     return evaluate (arg_1, arg_2);
00219   }

static string mmx::GLUE_35 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 216 of file glue_polynomial_generic.cpp.

00216                                                      {
00217     return arg_1 * arg_2;
00218   }

static bool mmx::GLUE_35 ( const mmx_modular(integer)&  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 209 of file glue_p_adic_modular_integer.cpp.

00209                                                                                                  {
00210     return arg_1 == arg_2;
00211   }

static bool mmx::GLUE_35 ( const rational &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 253 of file glue_matrix_rational.cpp.

00253                                                                  {
00254     return arg_1 != arg_2;
00255   }

static bool mmx::GLUE_35 ( const integer &  arg_1,
const matrix< integer > &  arg_2 
) [static]

Definition at line 250 of file glue_matrix_integer.cpp.

00250                                                                {
00251     return arg_1 == arg_2;
00252   }

static int mmx::GLUE_35 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 250 of file glue_matrix_generic.cpp.

References rows().

00250                                          {
00251     return rows (arg_1);
00252   }

static bool mmx::GLUE_35 ( const algebraic_real &  arg_1,
const rational &  arg_2 
) [static]
static bool mmx::GLUE_36 ( const vector< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 200 of file glue_vector_rational.cpp.

References arg_1.

00200                                                                                     {
00201     return contains (arg_1, arg_2);
00202   }

static bool mmx::GLUE_36 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 195 of file glue_vector_integer.cpp.

00195                                                                {
00196     return arg_1 == arg_2;
00197   }

static bool mmx::GLUE_36 ( const vector< int > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 189 of file glue_vector_int.cpp.

00189                                                        {
00190     return arg_1 == arg_2;
00191   }

static series<rational> mmx::GLUE_36 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 239 of file glue_series_rational.cpp.

00239                                                                          {
00240     return arg_1 / arg_2;
00241   }

static series<integer> mmx::GLUE_36 ( const series< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 231 of file glue_series_integer.cpp.

References rshiftz().

00231                                                            {
00232     return rshiftz (arg_1, arg_2);
00233   }

static series<generic> mmx::GLUE_36 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 231 of file glue_series_generic.cpp.

References pow().

00231                                                                        {
00232     return pow (arg_1, arg_2);
00233   }

static polynomial<rational> mmx::GLUE_36 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 231 of file glue_polynomial_rational.cpp.

References rem().

00231                                                                                  {
00232     return rem (arg_1, arg_2);
00233   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_36 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 245 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_2, and rem().

00245                                                                                                                                            {
00246     return rem (arg_1, arg_2);
00247   }

static alias<string> mmx::GLUE_36 ( const alias< string > &  arg_1,
const string &  arg_2 
) [static]

Definition at line 221 of file glue_polynomial_generic.cpp.

00221                                                             {
00222     return alias_write (arg_1, arg_2);
00223   }

static bool mmx::GLUE_36 ( const mmx_modular(integer)&  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 214 of file glue_p_adic_modular_integer.cpp.

00214                                                                                                  {
00215     return arg_1 != arg_2;
00216   }

static matrix<rational> mmx::GLUE_36 ( const rational &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 258 of file glue_matrix_rational.cpp.

00258                                                                  {
00259     return arg_1 / arg_2;
00260   }

static bool mmx::GLUE_36 ( const integer &  arg_1,
const matrix< integer > &  arg_2 
) [static]

Definition at line 255 of file glue_matrix_integer.cpp.

00255                                                                {
00256     return arg_1 != arg_2;
00257   }

static int mmx::GLUE_36 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 255 of file glue_matrix_generic.cpp.

References cols().

00255                                          {
00256     return cols (arg_1);
00257   }

static bool mmx::GLUE_36 ( const rational &  arg_1,
const algebraic_real &  arg_2 
) [static]
static vector<rational> mmx::GLUE_37 ( const vector< integer > &  arg_1  )  [static]

Definition at line 205 of file glue_vector_rational.cpp.

00205                                          {
00206     return as<vector<rational> > (arg_1);
00207   }

static bool mmx::GLUE_37 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 200 of file glue_vector_integer.cpp.

00200                                                                {
00201     return arg_1 != arg_2;
00202   }

static bool mmx::GLUE_37 ( const vector< int > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 194 of file glue_vector_int.cpp.

00194                                                        {
00195     return arg_1 != arg_2;
00196   }

static series<rational> mmx::GLUE_37 ( const rational &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 244 of file glue_series_rational.cpp.

00244                                                                  {
00245     return arg_1 / arg_2;
00246   }

static bool mmx::GLUE_37 ( const series< integer > &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 236 of file glue_series_integer.cpp.

00236                                                                        {
00237     return arg_1 < arg_2;
00238   }

static series<generic> mmx::GLUE_37 ( const series< generic > &  arg_1  )  [static]

Definition at line 236 of file glue_series_generic.cpp.

References sqrt().

00236                                          {
00237     return sqrt (arg_1);
00238   }

static bool mmx::GLUE_37 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 236 of file glue_polynomial_rational.cpp.

References divides().

00236                                                                                  {
00237     return divides (arg_1, arg_2);
00238   }

static bool mmx::GLUE_37 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 250 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_2, and divides().

00250                                                                                                                                            {
00251     return divides (arg_1, arg_2);
00252   }

static bool mmx::GLUE_37 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 226 of file glue_polynomial_generic.cpp.

00226                                                      {
00227     return arg_1 < arg_2;
00228   }

static matrix<rational> mmx::GLUE_37 ( const matrix< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 263 of file glue_matrix_rational.cpp.

00263                                                                  {
00264     return arg_1 / arg_2;
00265   }

static row_tuple<generic> mmx::GLUE_37 ( const row_tuple< integer > &  arg_1  )  [static]

Definition at line 260 of file glue_matrix_integer.cpp.

00260                                             {
00261     return as<row_tuple<generic> > (arg_1);
00262   }

static generic mmx::GLUE_37 ( const matrix< generic > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 260 of file glue_matrix_generic.cpp.

References arg_1.

00260                                                                              {
00261     return arg_1 (arg_2, arg_3);
00262   }

static bool mmx::GLUE_37 ( const rational &  arg_1,
const algebraic_real &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_38 ( const vector< integer > &  arg_1  )  [static]

Definition at line 210 of file glue_vector_rational.cpp.

00210                                          {
00211     return as<vector<complex<rational> > > (arg_1);
00212   }

static bool mmx::GLUE_38 ( const integer &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 205 of file glue_vector_integer.cpp.

00205                                                                {
00206     return arg_1 == arg_2;
00207   }

static bool mmx::GLUE_38 ( const int &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 199 of file glue_vector_int.cpp.

00199                                                        {
00200     return arg_1 == arg_2;
00201   }

static series<rational> mmx::GLUE_38 ( const series< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 249 of file glue_series_rational.cpp.

00249                                                                  {
00250     return arg_1 / arg_2;
00251   }

static bool mmx::GLUE_38 ( const series< integer > &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 241 of file glue_series_integer.cpp.

00241                                                                        {
00242     return arg_1 > arg_2;
00243   }

static series<generic> mmx::GLUE_38 ( const series< generic > &  arg_1  )  [static]

Definition at line 241 of file glue_series_generic.cpp.

References exp().

00241                                          {
00242     return exp (arg_1);
00243   }

static polynomial<rational> mmx::GLUE_38 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2,
const int &  arg_3 
) [static]

Definition at line 241 of file glue_polynomial_rational.cpp.

References subresultant().

00241                                                                                                    {
00242     return subresultant (arg_1, arg_2, arg_3);
00243   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_38 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2,
const int &  arg_3 
) [static]

Definition at line 255 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_2, and subresultant().

00255                                                                                                                                                              {
00256     return subresultant (arg_1, arg_2, arg_3);
00257   }

static bool mmx::GLUE_38 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 231 of file glue_polynomial_generic.cpp.

00231                                                      {
00232     return arg_1 <= arg_2;
00233   }

static matrix<rational> mmx::GLUE_38 ( const matrix< rational > &  arg_1,
const matrix< rational > &  arg_2 
) [static]

Definition at line 268 of file glue_matrix_rational.cpp.

References krylov().

00268                                                                          {
00269     return krylov (arg_1, arg_2);
00270   }

static matrix<generic> mmx::GLUE_38 ( const matrix< integer > &  arg_1  )  [static]

Definition at line 265 of file glue_matrix_integer.cpp.

00265                                          {
00266     return as<matrix<generic> > (arg_1);
00267   }

static alias<generic> mmx::GLUE_38 ( const alias< matrix< generic > > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 265 of file glue_matrix_generic.cpp.

References arg_1.

00265                                                                                      {
00266     return alias_access<generic > (arg_1, arg_2, arg_3);
00267   }

static bool mmx::GLUE_38 ( const rational &  arg_1,
const algebraic_real &  arg_2 
) [static]
static vector<generic> mmx::GLUE_39 ( const vector< rational > &  arg_1  )  [static]

Definition at line 215 of file glue_vector_rational.cpp.

00215                                           {
00216     return as<vector<generic> > (arg_1);
00217   }

static bool mmx::GLUE_39 ( const integer &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 210 of file glue_vector_integer.cpp.

00210                                                                {
00211     return arg_1 != arg_2;
00212   }

static bool mmx::GLUE_39 ( const int &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 204 of file glue_vector_int.cpp.

00204                                                        {
00205     return arg_1 != arg_2;
00206   }

static series<rational> mmx::GLUE_39 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 254 of file glue_series_rational.cpp.

00254                                                                          {
00255     return arg_1 / arg_2;
00256   }

static bool mmx::GLUE_39 ( const series< integer > &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 246 of file glue_series_integer.cpp.

00246                                                                        {
00247     return arg_1 <= arg_2;
00248   }

static series<generic> mmx::GLUE_39 ( const series< generic > &  arg_1  )  [static]

Definition at line 246 of file glue_series_generic.cpp.

References log().

00246                                          {
00247     return log (arg_1);
00248   }

static vector<generic> mmx::GLUE_39 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 246 of file glue_polynomial_rational.cpp.

References wrap_subresultants().

00246                                                                                  {
00247     return wrap_subresultants (arg_1, arg_2);
00248   }

static vector<generic> mmx::GLUE_39 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 260 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_2, and wrap_subresultants().

00260                                                                                                                                            {
00261     return wrap_subresultants (arg_1, arg_2);
00262   }

static bool mmx::GLUE_39 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 236 of file glue_polynomial_generic.cpp.

00236                                                      {
00237     return arg_1 > arg_2;
00238   }

static rational mmx::GLUE_39 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 273 of file glue_matrix_rational.cpp.

References det().

00273                                           {
00274     return det (arg_1);
00275   }

static vector<integer> mmx::GLUE_39 ( const vector< int > &  arg_1  )  [static]

Definition at line 270 of file glue_matrix_integer.cpp.

00270                                      {
00271     return as<vector<integer> > (arg_1);
00272   }

static matrix<generic> mmx::GLUE_39 ( const matrix< generic > &  arg_1,
const int &  arg_2,
const int &  arg_3,
const int &  arg_4,
const int &  arg_5 
) [static]

Definition at line 270 of file glue_matrix_generic.cpp.

References range().

00270                                                                                                                  {
00271     return range (arg_1, arg_2, arg_3, arg_4, arg_5);
00272   }

static bool mmx::GLUE_39 ( const rational &  arg_1,
const algebraic_real &  arg_2 
) [static]
static int mmx::GLUE_4 ( const vector< rational > &  arg_1  )  [static]

Definition at line 40 of file glue_vector_rational.cpp.

References N().

00040                                          {
00041     return N (arg_1);
00042   }

static int mmx::GLUE_4 ( const vector< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 38 of file glue_vector_modular_integer.cpp.

References arg_1, and N().

00038                                                       {
00039     return N (arg_1);
00040   }

static int mmx::GLUE_4 ( const vector< integer > &  arg_1  )  [static]

Definition at line 35 of file glue_vector_integer.cpp.

References N().

00035                                         {
00036     return N (arg_1);
00037   }

static int mmx::GLUE_4 ( const vector< int > &  arg_1  )  [static]

Definition at line 29 of file glue_vector_int.cpp.

References N().

00029                                     {
00030     return N (arg_1);
00031   }

static void mmx::GLUE_4 ( const series< rational > &  arg_1,
const bool &  arg_2 
) [static]

Definition at line 79 of file glue_series_rational.cpp.

References set_formula_output().

00079                                                             {
00080     set_formula_output (arg_1, arg_2);
00081   }

static void mmx::GLUE_4 ( const series< mmx_modular(integer) > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 75 of file glue_series_modular_integer.cpp.

References arg_1, and set_output_order().

00075                                                                         {
00076     set_output_order (arg_1, arg_2);
00077   }

static void mmx::GLUE_4 ( const series< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 71 of file glue_series_integer.cpp.

References set_output_order().

00071                                                           {
00072     set_output_order (arg_1, arg_2);
00073   }

static void mmx::GLUE_4 ( const series< generic > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 71 of file glue_series_generic.cpp.

References set_cancel_order().

00071                                                           {
00072     set_cancel_order (arg_1, arg_2);
00073   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_4 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 72 of file glue_quotient_polynomial_rational.cpp.

References simple_quotient.

00072                                              {
00073     return (simple_quotient(polynomial<rational> ) (arg_1));
00074   }

static polynomial<rational> mmx::GLUE_4 ( const rational &  arg_1  )  [static]

Definition at line 71 of file glue_polynomial_rational.cpp.

00071                                  {
00072     return polynomial<rational > (arg_1);
00073   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_4 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1  )  [static]

Definition at line 85 of file glue_polynomial_p_adic_modular_integer.cpp.

00085                                                              {
00086     return polynomial<simple_p_adic(mmx_modular(integer) ) > (arg_1);
00087   }

static polynomial<mmx_modular(integer) > mmx::GLUE_4 ( const mmx_modular(integer)&  arg_1  )  [static]

Definition at line 67 of file glue_polynomial_modular_integer.cpp.

00067                                              {
00068     return polynomial<mmx_modular(integer) > (arg_1);
00069   }

static polynomial<integer> mmx::GLUE_4 ( const integer &  arg_1  )  [static]

Definition at line 62 of file glue_polynomial_integer.cpp.

00062                                 {
00063     return polynomial<integer > (arg_1);
00064   }

static vector<generic> mmx::GLUE_4 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 27 of file glue_vector_generic.cpp.

00027                                                                       {
00028     return arg_1 - arg_2;
00029   }

static permutation mmx::GLUE_4 ( const int &  arg_1,
const int &  arg_2 
) [static]

Definition at line 29 of file glue_permutation.cpp.

References cycle().

00029                                               {
00030     return cycle (arg_1, arg_2);
00031   }

static int mmx::GLUE_4 ( const polynomial< mmx_modular(integer), polynomial_carry_variant_helper< mmx_modular(integer) >::PV > &  arg_1  )  [static]

Definition at line 50 of file glue_p_expansion_modular_integer.cpp.

References N().

00050                                                                   {
00051     return N (arg_1);
00052   }

static void mmx::GLUE_4 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const bool &  arg_2 
) [static]

Definition at line 54 of file glue_p_adic_modular_integer.cpp.

References set_formula_output().

00054                                                                                 {
00055     set_formula_output (arg_1, arg_2);
00056   }

static matrix<rational> mmx::GLUE_4 ( const tuple< row_tuple< rational > > &  arg_1  )  [static]

Definition at line 98 of file glue_matrix_rational.cpp.

References arg_1, as_vector(), and matrix_new().

00098                                                     {
00099     return matrix_new (as_vector (arg_1));
00100   }

static matrix<mmx_modular(integer) > mmx::GLUE_4 ( const tuple< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 96 of file glue_matrix_modular_integer.cpp.

References arg_1, as_vector(), and matrix_new().

00096                                                      {
00097     return matrix_new (as_vector (arg_1));
00098   }

static matrix<integer> mmx::GLUE_4 ( const tuple< integer > &  arg_1  )  [static]

Definition at line 95 of file glue_matrix_integer.cpp.

References as_vector(), and matrix_new().

00095                                        {
00096     return matrix_new (as_vector (arg_1));
00097   }

static string mmx::GLUE_4 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 95 of file glue_matrix_generic.cpp.

00095                                                     {
00096     return arg_1 * arg_2;
00097   }

static algebraic_real mmx::GLUE_4 ( const algebraic_real &  arg_1,
const algebraic_real &  arg_2 
) [static]

Definition at line 78 of file glue_algebraic_number.cpp.

References rcommon().

00078                                                                     {
00079     return rcommon (arg_1, arg_2);
00080   }

static algebraic<generic> mmx::GLUE_4 ( const algebraic< generic > &  arg_1,
const algebraic< generic > &  arg_2 
) [static]
static vector<generic> mmx::GLUE_40 ( const vector< complex< rational > > &  arg_1  )  [static]

Definition at line 220 of file glue_vector_rational.cpp.

References arg_1.

00220                                                     {
00221     return as<vector<generic> > (arg_1);
00222   }

static bool mmx::GLUE_40 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 215 of file glue_vector_integer.cpp.

00215                                                                        {
00216     return arg_1 <= arg_2;
00217   }

static bool mmx::GLUE_40 ( const vector< int > &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 209 of file glue_vector_int.cpp.

00209                                                                {
00210     return arg_1 <= arg_2;
00211   }

static bool mmx::GLUE_40 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 259 of file glue_series_rational.cpp.

References divides().

00259                                                                          {
00260     return divides (arg_1, arg_2);
00261   }

static bool mmx::GLUE_40 ( const series< integer > &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 251 of file glue_series_integer.cpp.

00251                                                                        {
00252     return arg_1 >= arg_2;
00253   }

static series<generic> mmx::GLUE_40 ( const series< generic > &  arg_1  )  [static]

Definition at line 251 of file glue_series_generic.cpp.

References cos().

00251                                          {
00252     return cos (arg_1);
00253   }

static rational mmx::GLUE_40 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 251 of file glue_polynomial_rational.cpp.

References resultant().

00251                                                                                  {
00252     return resultant (arg_1, arg_2);
00253   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_40 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 265 of file glue_polynomial_p_adic_modular_integer.cpp.

References resultant().

00265                                                                                                                                            {
00266     return resultant (arg_1, arg_2);
00267   }

static bool mmx::GLUE_40 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 241 of file glue_polynomial_generic.cpp.

00241                                                      {
00242     return arg_1 >= arg_2;
00243   }

static matrix<rational> mmx::GLUE_40 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 278 of file glue_matrix_rational.cpp.

References row_echelon().

00278                                           {
00279     return row_echelon (arg_1);
00280   }

static vector<int> mmx::GLUE_40 ( const vector< integer > &  arg_1  )  [static]

Definition at line 275 of file glue_matrix_integer.cpp.

00275                                          {
00276     return as<vector<int> > (arg_1);
00277   }

static vector<generic> mmx::GLUE_40 ( const matrix< generic > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 275 of file glue_matrix_generic.cpp.

References row().

00275                                                            {
00276     return row (arg_1, arg_2);
00277   }

static bool mmx::GLUE_40 ( const rational &  arg_1,
const algebraic_real &  arg_2 
) [static]
static vector<rational> mmx::GLUE_41 ( const vector< rational > &  arg_1  )  [static]

Definition at line 225 of file glue_vector_rational.cpp.

00225                                           {
00226     return -arg_1;
00227   }

static bool mmx::GLUE_41 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 220 of file glue_vector_integer.cpp.

00220                                                                        {
00221     return arg_1 >= arg_2;
00222   }

static bool mmx::GLUE_41 ( const vector< int > &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 214 of file glue_vector_int.cpp.

00214                                                                {
00215     return arg_1 >= arg_2;
00216   }

static series<rational> mmx::GLUE_41 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 264 of file glue_series_rational.cpp.

References gcd().

00264                                                                          {
00265     return gcd (arg_1, arg_2);
00266   }

static bool mmx::GLUE_41 ( const series< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 256 of file glue_series_integer.cpp.

00256                                                                {
00257     return arg_1 < arg_2;
00258   }

static series<generic> mmx::GLUE_41 ( const series< generic > &  arg_1  )  [static]

Definition at line 256 of file glue_series_generic.cpp.

References sin().

00256                                          {
00257     return sin (arg_1);
00258   }

static rational mmx::GLUE_41 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 256 of file glue_polynomial_rational.cpp.

References discriminant().

00256                                               {
00257     return discriminant (arg_1);
00258   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_41 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1  )  [static]

Definition at line 270 of file glue_polynomial_p_adic_modular_integer.cpp.

References discriminant().

00270                                                                            {
00271     return discriminant (arg_1);
00272   }

static bool mmx::GLUE_41 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 246 of file glue_polynomial_generic.cpp.

00246                                                      {
00247     return starts (arg_1, arg_2);
00248   }

static matrix<rational> mmx::GLUE_41 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 283 of file glue_matrix_rational.cpp.

References column_echelon().

00283                                           {
00284     return column_echelon (arg_1);
00285   }

static vector<integer> mmx::GLUE_41 ( const matrix< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 280 of file glue_matrix_integer.cpp.

References row().

00280                                                            {
00281     return row (arg_1, arg_2);
00282   }

static vector<generic> mmx::GLUE_41 ( const matrix< generic > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 280 of file glue_matrix_generic.cpp.

References column().

00280                                                            {
00281     return column (arg_1, arg_2);
00282   }

static bool mmx::GLUE_41 ( const rational &  arg_1,
const algebraic_real &  arg_2 
) [static]
static vector<rational> mmx::GLUE_42 ( const vector< rational > &  arg_1  )  [static]

Definition at line 230 of file glue_vector_rational.cpp.

References square().

00230                                           {
00231     return square (arg_1);
00232   }

static bool mmx::GLUE_42 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 225 of file glue_vector_integer.cpp.

00225                                                                        {
00226     return arg_1 < arg_2;
00227   }

static bool mmx::GLUE_42 ( const vector< int > &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 219 of file glue_vector_int.cpp.

00219                                                                {
00220     return arg_1 < arg_2;
00221   }

static series<rational> mmx::GLUE_42 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 269 of file glue_series_rational.cpp.

References lcm().

00269                                                                          {
00270     return lcm (arg_1, arg_2);
00271   }

static bool mmx::GLUE_42 ( const series< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 261 of file glue_series_integer.cpp.

00261                                                                {
00262     return arg_1 > arg_2;
00263   }

static series<generic> mmx::GLUE_42 ( const series< generic > &  arg_1  )  [static]

Definition at line 261 of file glue_series_generic.cpp.

References tan().

00261                                          {
00262     return tan (arg_1);
00263   }

static polynomial<rational> mmx::GLUE_42 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 261 of file glue_polynomial_rational.cpp.

References integrate().

00261                                               {
00262     return integrate (arg_1);
00263   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_42 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1  )  [static]

Definition at line 275 of file glue_polynomial_p_adic_modular_integer.cpp.

References integrate().

00275                                                                            {
00276     return integrate (arg_1);
00277   }

static bool mmx::GLUE_42 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 251 of file glue_polynomial_generic.cpp.

00251                                                      {
00252     return ends (arg_1, arg_2);
00253   }

static matrix<rational> mmx::GLUE_42 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 288 of file glue_matrix_rational.cpp.

References row_reduced_echelon().

00288                                           {
00289     return row_reduced_echelon (arg_1);
00290   }

static vector<integer> mmx::GLUE_42 ( const matrix< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 285 of file glue_matrix_integer.cpp.

References column().

00285                                                            {
00286     return column (arg_1, arg_2);
00287   }

static matrix<generic> mmx::GLUE_42 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 285 of file glue_matrix_generic.cpp.

References transpose().

00285                                          {
00286     return transpose (arg_1);
00287   }

static algebraic_number mmx::GLUE_42 ( const rational &  arg_1  )  [static]
static vector<rational> mmx::GLUE_43 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 235 of file glue_vector_rational.cpp.

00235                                                                          {
00236     return arg_1 + arg_2;
00237   }

static bool mmx::GLUE_43 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 230 of file glue_vector_integer.cpp.

00230                                                                        {
00231     return arg_1 > arg_2;
00232   }

static bool mmx::GLUE_43 ( const vector< int > &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 224 of file glue_vector_int.cpp.

00224                                                                {
00225     return arg_1 > arg_2;
00226   }

static series<rational> mmx::GLUE_43 ( const series< rational > &  arg_1  )  [static]

Definition at line 274 of file glue_series_rational.cpp.

References integrate().

00274                                           {
00275     return integrate (arg_1);
00276   }

static bool mmx::GLUE_43 ( const series< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 266 of file glue_series_integer.cpp.

00266                                                                {
00267     return arg_1 <= arg_2;
00268   }

static series<generic> mmx::GLUE_43 ( const series< generic > &  arg_1  )  [static]

Definition at line 266 of file glue_series_generic.cpp.

References acos().

00266                                          {
00267     return acos (arg_1);
00268   }

static polynomial<rational> mmx::GLUE_43 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 266 of file glue_polynomial_rational.cpp.

References compose().

00266                                                                                  {
00267     return compose (arg_1, arg_2);
00268   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_43 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_2 
) [static]

Definition at line 280 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_2, and compose().

00280                                                                                                                                            {
00281     return compose (arg_1, arg_2);
00282   }

static string mmx::GLUE_43 ( const string &  arg_1,
const string &  arg_2,
const string &  arg_3 
) [static]

Definition at line 256 of file glue_polynomial_generic.cpp.

00256                                                                           {
00257     return replace (arg_1, arg_2, arg_3);
00258   }

static matrix<rational> mmx::GLUE_43 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 293 of file glue_matrix_rational.cpp.

References column_reduced_echelon().

00293                                           {
00294     return column_reduced_echelon (arg_1);
00295   }

static matrix<integer> mmx::GLUE_43 ( const vector< integer > &  arg_1  )  [static]

Definition at line 290 of file glue_matrix_integer.cpp.

References toeplitz_matrix().

00290                                          {
00291     return toeplitz_matrix (arg_1);
00292   }

static matrix<generic> mmx::GLUE_43 ( const matrix< generic > &  arg_1,
const matrix< generic > &  arg_2 
) [static]

Definition at line 290 of file glue_matrix_generic.cpp.

References horizontal_join().

00290                                                                        {
00291     return horizontal_join (arg_1, arg_2);
00292   }

static algebraic_number mmx::GLUE_43 ( const algebraic_real &  arg_1  )  [static]
static vector<rational> mmx::GLUE_44 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 240 of file glue_vector_rational.cpp.

00240                                                                          {
00241     return arg_1 - arg_2;
00242   }

static bool mmx::GLUE_44 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 235 of file glue_vector_integer.cpp.

00235                                                                {
00236     return arg_1 <= arg_2;
00237   }

static bool mmx::GLUE_44 ( const vector< int > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 229 of file glue_vector_int.cpp.

00229                                                        {
00230     return arg_1 <= arg_2;
00231   }

static series<rational> mmx::GLUE_44 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 279 of file glue_series_rational.cpp.

References compose().

00279                                                                          {
00280     return compose (arg_1, arg_2);
00281   }

static bool mmx::GLUE_44 ( const series< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 271 of file glue_series_integer.cpp.

00271                                                                {
00272     return arg_1 >= arg_2;
00273   }

static series<generic> mmx::GLUE_44 ( const series< generic > &  arg_1  )  [static]

Definition at line 271 of file glue_series_generic.cpp.

References asin().

00271                                          {
00272     return asin (arg_1);
00273   }

static polynomial<rational> mmx::GLUE_44 ( const polynomial< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 271 of file glue_polynomial_rational.cpp.

References q_difference().

00271                                                                      {
00272     return q_difference (arg_1, arg_2);
00273   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_44 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 285 of file glue_polynomial_p_adic_modular_integer.cpp.

References q_difference().

00285                                                                                                                               {
00286     return q_difference (arg_1, arg_2);
00287   }

static int mmx::GLUE_44 ( const string &  arg_1,
const string &  arg_2,
const int &  arg_3 
) [static]

Definition at line 261 of file glue_polynomial_generic.cpp.

00261                                                                        {
00262     return search_forwards (arg_1, arg_2, arg_3);
00263   }

static vector<generic> mmx::GLUE_44 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 298 of file glue_matrix_rational.cpp.

References wrap_row_reduced_echelon_with_transform().

00298                                           {
00299     return wrap_row_reduced_echelon_with_transform (arg_1);
00300   }

static matrix<integer> mmx::GLUE_44 ( const vector< integer > &  arg_1  )  [static]

Definition at line 295 of file glue_matrix_integer.cpp.

References hankel_matrix().

00295                                          {
00296     return hankel_matrix (arg_1);
00297   }

static matrix<generic> mmx::GLUE_44 ( const matrix< generic > &  arg_1,
const matrix< generic > &  arg_2 
) [static]

Definition at line 295 of file glue_matrix_generic.cpp.

References vertical_join().

00295                                                                        {
00296     return vertical_join (arg_1, arg_2);
00297   }

static complex<mmx_floating> mmx::GLUE_44 ( const algebraic_number &  arg_1  )  [static]
static vector<rational> mmx::GLUE_45 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 245 of file glue_vector_rational.cpp.

00245                                                                          {
00246     return arg_1 * arg_2;
00247   }

static bool mmx::GLUE_45 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 240 of file glue_vector_integer.cpp.

00240                                                                {
00241     return arg_1 >= arg_2;
00242   }

static bool mmx::GLUE_45 ( const vector< int > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 234 of file glue_vector_int.cpp.

00234                                                        {
00235     return arg_1 >= arg_2;
00236   }

static series<rational> mmx::GLUE_45 ( const series< rational > &  arg_1  )  [static]

Definition at line 284 of file glue_series_rational.cpp.

References reverse().

00284                                           {
00285     return reverse (arg_1);
00286   }

static bool mmx::GLUE_45 ( const integer &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 276 of file glue_series_integer.cpp.

00276                                                                {
00277     return arg_1 < arg_2;
00278   }

static series<generic> mmx::GLUE_45 ( const series< generic > &  arg_1  )  [static]

Definition at line 276 of file glue_series_generic.cpp.

References atan().

00276                                          {
00277     return atan (arg_1);
00278   }

static polynomial<rational> mmx::GLUE_45 ( const polynomial< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 276 of file glue_polynomial_rational.cpp.

References dilate().

00276                                                                 {
00277     return dilate (arg_1, arg_2);
00278   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_45 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 290 of file glue_polynomial_p_adic_modular_integer.cpp.

References dilate().

00290                                                                                              {
00291     return dilate (arg_1, arg_2);
00292   }

static int mmx::GLUE_45 ( const string &  arg_1,
const string &  arg_2,
const int &  arg_3 
) [static]

Definition at line 266 of file glue_polynomial_generic.cpp.

00266                                                                        {
00267     return search_backwards (arg_1, arg_2, arg_3);
00268   }

static vector<generic> mmx::GLUE_45 ( const matrix< rational > &  arg_1  )  [static]
static matrix<integer> mmx::GLUE_45 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 300 of file glue_matrix_integer.cpp.

References tensor_matrix().

00300                                                                        {
00301     return tensor_matrix (arg_1, arg_2);
00302   }

static matrix<generic> mmx::GLUE_45 ( const matrix< generic > &  arg_1,
const permutation &  arg_2 
) [static]

Definition at line 300 of file glue_matrix_generic.cpp.

00300                                                                    {
00301     return arg_1 * arg_2;
00302   }

static algebraic_number mmx::GLUE_45 ( const algebraic_number &  arg_1,
const algebraic_number &  arg_2 
) [static]
static vector<rational> mmx::GLUE_46 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 250 of file glue_vector_rational.cpp.

00250                                                                  {
00251     return arg_1 + arg_2;
00252   }

static bool mmx::GLUE_46 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 245 of file glue_vector_integer.cpp.

00245                                                                {
00246     return arg_1 < arg_2;
00247   }

static bool mmx::GLUE_46 ( const vector< int > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 239 of file glue_vector_int.cpp.

00239                                                        {
00240     return arg_1 < arg_2;
00241   }

static series<rational> mmx::GLUE_46 ( const series< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 289 of file glue_series_rational.cpp.

References q_difference().

00289                                                                  {
00290     return q_difference (arg_1, arg_2);
00291   }

static bool mmx::GLUE_46 ( const integer &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 281 of file glue_series_integer.cpp.

00281                                                                {
00282     return arg_1 > arg_2;
00283   }

static bool mmx::GLUE_46 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 281 of file glue_series_generic.cpp.

00281                                                                        {
00282     return arg_1 < arg_2;
00283   }

static polynomial<rational> mmx::GLUE_46 ( const polynomial< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 281 of file glue_polynomial_rational.cpp.

References shift().

00281                                                                      {
00282     return shift (arg_1, arg_2);
00283   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_46 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_2 
) [static]

Definition at line 295 of file glue_polynomial_p_adic_modular_integer.cpp.

References shift().

00295                                                                                                                               {
00296     return shift (arg_1, arg_2);
00297   }

static string mmx::GLUE_46 ( const string &  arg_1  )  [static]

Definition at line 271 of file glue_polynomial_generic.cpp.

00271                                 {
00272     return upcase (arg_1);
00273   }

static vector<generic> mmx::GLUE_46 ( const matrix< rational > &  arg_1  )  [static]
static matrix<integer> mmx::GLUE_46 ( const vector< integer > &  arg_1  )  [static]

Definition at line 305 of file glue_matrix_integer.cpp.

References vandermonde().

00305                                          {
00306     return vandermonde (arg_1);
00307   }

static matrix<generic> mmx::GLUE_46 ( const permutation &  arg_1,
const matrix< generic > &  arg_2 
) [static]

Definition at line 305 of file glue_matrix_generic.cpp.

00305                                                                    {
00306     return arg_1 * arg_2;
00307   }

static algebraic_number mmx::GLUE_46 ( const algebraic_number &  arg_1,
const algebraic_number &  arg_2 
) [static]
static vector<rational> mmx::GLUE_47 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 255 of file glue_vector_rational.cpp.

00255                                                                  {
00256     return arg_1 + arg_2;
00257   }

static bool mmx::GLUE_47 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 250 of file glue_vector_integer.cpp.

00250                                                                {
00251     return arg_1 > arg_2;
00252   }

static bool mmx::GLUE_47 ( const vector< int > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 244 of file glue_vector_int.cpp.

00244                                                        {
00245     return arg_1 > arg_2;
00246   }

static series<rational> mmx::GLUE_47 ( const series< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 294 of file glue_series_rational.cpp.

References series_shift_default().

00294                                                                  {
00295     return series_shift_default (arg_1, arg_2);
00296   }

static bool mmx::GLUE_47 ( const integer &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 286 of file glue_series_integer.cpp.

00286                                                                {
00287     return arg_1 <= arg_2;
00288   }

static bool mmx::GLUE_47 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 286 of file glue_series_generic.cpp.

00286                                                                        {
00287     return arg_1 > arg_2;
00288   }

static polynomial<rational> mmx::GLUE_47 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 286 of file glue_polynomial_rational.cpp.

References graeffe().

00286                                               {
00287     return graeffe (arg_1);
00288   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_47 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1  )  [static]

Definition at line 300 of file glue_polynomial_p_adic_modular_integer.cpp.

References graeffe().

00300                                                                            {
00301     return graeffe (arg_1);
00302   }

static string mmx::GLUE_47 ( const string &  arg_1  )  [static]

Definition at line 276 of file glue_polynomial_generic.cpp.

00276                                 {
00277     return locase (arg_1);
00278   }

static matrix<rational> mmx::GLUE_47 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 313 of file glue_matrix_rational.cpp.

References kernel().

00313                                           {
00314     return kernel (arg_1);
00315   }

static vector<integer> mmx::GLUE_47 ( const matrix< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 310 of file glue_matrix_integer.cpp.

00310                                                                        {
00311     return arg_1 * arg_2;
00312   }

static matrix<generic> mmx::GLUE_47 ( const generic &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 310 of file glue_matrix_generic.cpp.

References arg_1, and fill_matrix().

00310                                                                      {
00311     return fill_matrix (arg_1, arg_2, arg_3);
00312   }

static polynomial<rational> mmx::GLUE_47 ( const algebraic_number &  arg_1  )  [static]
static vector<rational> mmx::GLUE_48 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 260 of file glue_vector_rational.cpp.

00260                                                                  {
00261     return arg_1 - arg_2;
00262   }

static bool mmx::GLUE_48 ( const integer &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 255 of file glue_vector_integer.cpp.

00255                                                                {
00256     return arg_1 <= arg_2;
00257   }

static bool mmx::GLUE_48 ( const int &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 249 of file glue_vector_int.cpp.

00249                                                        {
00250     return arg_1 <= arg_2;
00251   }

static series<rational> mmx::GLUE_48 ( const series< rational > &  arg_1,
const rational &  arg_2,
const int &  arg_3 
) [static]

Definition at line 299 of file glue_series_rational.cpp.

References shift().

00299                                                                                    {
00300     return shift (arg_1, arg_2, arg_3);
00301   }

static bool mmx::GLUE_48 ( const integer &  arg_1,
const series< integer > &  arg_2 
) [static]

Definition at line 291 of file glue_series_integer.cpp.

00291                                                                {
00292     return arg_1 >= arg_2;
00293   }

static bool mmx::GLUE_48 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 291 of file glue_series_generic.cpp.

00291                                                                        {
00292     return arg_1 <= arg_2;
00293   }

static rational mmx::GLUE_48 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 291 of file glue_polynomial_rational.cpp.

References contents().

00291                                               {
00292     return contents (arg_1);
00293   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_48 ( const polynomial< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 305 of file glue_polynomial_p_adic_modular_integer.cpp.

00305                                                            {
00306     return as<polynomial<simple_p_adic(mmx_modular(integer) ) > > (arg_1);
00307   }

static string mmx::GLUE_48 ( const string &  arg_1  )  [static]

Definition at line 281 of file glue_polynomial_generic.cpp.

00281                                 {
00282     return upcase_first (arg_1);
00283   }

static matrix<rational> mmx::GLUE_48 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 318 of file glue_matrix_rational.cpp.

References image().

00318                                           {
00319     return image (arg_1);
00320   }

static vector<integer> mmx::GLUE_48 ( const vector< integer > &  arg_1,
const matrix< integer > &  arg_2 
) [static]

Definition at line 315 of file glue_matrix_integer.cpp.

00315                                                                        {
00316     return arg_1 * arg_2;
00317   }

static matrix<generic> mmx::GLUE_48 ( const generic &  arg_1,
const int &  arg_2 
) [static]

Definition at line 315 of file glue_matrix_generic.cpp.

References arg_1, and jordan_matrix().

00315                                                    {
00316     return jordan_matrix (arg_1, arg_2);
00317   }

static algebraic_number mmx::GLUE_48 ( const algebraic_number &  arg_1  )  [static]
static vector<rational> mmx::GLUE_49 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 265 of file glue_vector_rational.cpp.

00265                                                                  {
00266     return arg_1 - arg_2;
00267   }

static bool mmx::GLUE_49 ( const integer &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 260 of file glue_vector_integer.cpp.

00260                                                                {
00261     return arg_1 >= arg_2;
00262   }

static bool mmx::GLUE_49 ( const int &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 254 of file glue_vector_int.cpp.

00254                                                        {
00255     return arg_1 >= arg_2;
00256   }

static bool mmx::GLUE_49 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 304 of file glue_series_rational.cpp.

00304                                                                          {
00305     return arg_1 < arg_2;
00306   }

static series<generic> mmx::GLUE_49 ( const series< integer > &  arg_1  )  [static]

Definition at line 296 of file glue_series_integer.cpp.

00296                                          {
00297     return as<series<generic> > (arg_1);
00298   }

static bool mmx::GLUE_49 ( const series< generic > &  arg_1,
const series< generic > &  arg_2 
) [static]

Definition at line 296 of file glue_series_generic.cpp.

00296                                                                        {
00297     return arg_1 >= arg_2;
00298   }

static polynomial<rational> mmx::GLUE_49 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 296 of file glue_polynomial_rational.cpp.

References primitive_part().

00296                                               {
00297     return primitive_part (arg_1);
00298   }

static polynomial<generic> mmx::GLUE_49 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1  )  [static]

Definition at line 310 of file glue_polynomial_p_adic_modular_integer.cpp.

00310                                                                            {
00311     return as<polynomial<generic> > (arg_1);
00312   }

static string mmx::GLUE_49 ( const string &  arg_1  )  [static]

Definition at line 286 of file glue_polynomial_generic.cpp.

00286                                 {
00287     return locase_first (arg_1);
00288   }

static int mmx::GLUE_49 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 323 of file glue_matrix_rational.cpp.

References rank().

00323                                           {
00324     return rank (arg_1);
00325   }

static matrix<generic> mmx::GLUE_49 ( const vector< generic > &  arg_1  )  [static]

Definition at line 320 of file glue_matrix_generic.cpp.

References toeplitz_matrix().

00320                                          {
00321     return toeplitz_matrix (arg_1);
00322   }

static algebraic_number mmx::GLUE_49 ( const algebraic_number &  arg_1  )  [static]
static rational mmx::GLUE_5 ( const vector< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 45 of file glue_vector_rational.cpp.

00045                                                            {
00046     return arg_1[arg_2];
00047   }

static integer mmx::GLUE_5 ( const vector< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 40 of file glue_vector_integer.cpp.

00040                                                           {
00041     return arg_1[arg_2];
00042   }

static int mmx::GLUE_5 ( const vector< int > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 34 of file glue_vector_int.cpp.

00034                                                       {
00035     return arg_1[arg_2];
00036   }

static series<rational> mmx::GLUE_5 ( const tuple< rational > &  arg_1  )  [static]

Definition at line 84 of file glue_series_rational.cpp.

References as_vector().

00084                                         {
00085     return series<rational > (as_vector (arg_1));
00086   }

static void mmx::GLUE_5 ( const series< mmx_modular(integer) > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 80 of file glue_series_modular_integer.cpp.

References arg_1, and set_cancel_order().

00080                                                                         {
00081     set_cancel_order (arg_1, arg_2);
00082   }

static void mmx::GLUE_5 ( const series< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 76 of file glue_series_integer.cpp.

References set_cancel_order().

00076                                                           {
00077     set_cancel_order (arg_1, arg_2);
00078   }

static void mmx::GLUE_5 ( const series< generic > &  arg_1,
const bool &  arg_2 
) [static]

Definition at line 76 of file glue_series_generic.cpp.

References set_formula_output().

00076                                                            {
00077     set_formula_output (arg_1, arg_2);
00078   }

static polynomial<rational> mmx::GLUE_5 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1  )  [static]

Definition at line 77 of file glue_quotient_polynomial_rational.cpp.

References numerator().

00077                                                                {
00078     return numerator (arg_1);
00079   }

static iterator<generic> mmx::GLUE_5 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 76 of file glue_polynomial_rational.cpp.

References iterate().

00076                                              {
00077     return as<iterator<generic> > (iterate (arg_1));
00078   }

static iterator<generic> mmx::GLUE_5 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1  )  [static]

Definition at line 90 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_1, and iterate().

00090                                                                           {
00091     return as<iterator<generic> > (iterate (arg_1));
00092   }

static iterator<generic> mmx::GLUE_5 ( const polynomial< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 72 of file glue_polynomial_modular_integer.cpp.

References arg_1, and iterate().

00072                                                           {
00073     return as<iterator<generic> > (iterate (arg_1));
00074   }

static iterator<generic> mmx::GLUE_5 ( const polynomial< integer > &  arg_1  )  [static]

Definition at line 67 of file glue_polynomial_integer.cpp.

References iterate().

00067                                             {
00068     return as<iterator<generic> > (iterate (arg_1));
00069   }

static vector<generic> mmx::GLUE_5 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 32 of file glue_vector_generic.cpp.

00032                                                                       {
00033     return arg_1 * arg_2;
00034   }

static vector<int> mmx::GLUE_5 ( const permutation &  arg_1  )  [static]

Definition at line 34 of file glue_permutation.cpp.

00034                                     {
00035     return as_vector_int (arg_1);
00036   }

static int mmx::GLUE_5 ( const polynomial< mmx_modular(integer), polynomial_carry_variant_helper< mmx_modular(integer) >::PV > &  arg_1  )  [static]

Definition at line 55 of file glue_p_expansion_modular_integer.cpp.

References deg().

00055                                                                   {
00056     return deg (arg_1);
00057   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_5 ( const tuple< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 59 of file glue_p_adic_modular_integer.cpp.

References as_vector(), mmx_modular(), and simple_p_adic.

00059                                                      {
00060     return (simple_p_adic(mmx_modular(integer) ) (as_vector (arg_1)));
00061   }

static matrix<rational> mmx::GLUE_5 ( const tuple< row_tuple< rational > > &  arg_1  )  [static]

Definition at line 103 of file glue_matrix_rational.cpp.

References arg_1, as_vector(), and matrix_new().

00103                                                     {
00104     return matrix_new (as_vector (arg_1));
00105   }

static matrix<mmx_modular(integer) > mmx::GLUE_5 ( const tuple< row_tuple< mmx_modular(integer) > > &  arg_1  )  [static]

Definition at line 101 of file glue_matrix_modular_integer.cpp.

References arg_1, as_vector(), and matrix_new().

00101                                                                  {
00102     return matrix_new (as_vector (arg_1));
00103   }

static matrix<integer> mmx::GLUE_5 ( const tuple< row_tuple< integer > > &  arg_1  )  [static]

Definition at line 100 of file glue_matrix_integer.cpp.

References arg_1, as_vector(), and matrix_new().

00100                                                    {
00101     return matrix_new (as_vector (arg_1));
00102   }

static string mmx::GLUE_5 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 100 of file glue_matrix_generic.cpp.

00100                                                     {
00101     return arg_1 * arg_2;
00102   }

static polynomial<rational> mmx::GLUE_5 ( const algebraic_real &  arg_1  )  [static]

Definition at line 83 of file glue_algebraic_number.cpp.

References annihilator().

00083                                        {
00084     return annihilator (arg_1);
00085   }

static polynomial<generic> mmx::GLUE_5 ( const algebraic< generic > &  arg_1  )  [static]
static vector<rational> mmx::GLUE_50 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 270 of file glue_vector_rational.cpp.

00270                                                                  {
00271     return arg_1 * arg_2;
00272   }

static bool mmx::GLUE_50 ( const integer &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 265 of file glue_vector_integer.cpp.

00265                                                                {
00266     return arg_1 < arg_2;
00267   }

static bool mmx::GLUE_50 ( const int &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 259 of file glue_vector_int.cpp.

00259                                                        {
00260     return arg_1 < arg_2;
00261   }

static bool mmx::GLUE_50 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 309 of file glue_series_rational.cpp.

00309                                                                          {
00310     return arg_1 > arg_2;
00311   }

static series<generic> mmx::GLUE_50 ( const routine &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 301 of file glue_series_generic.cpp.

References arg_2, and fixed_point_series().

00301                                                        {
00302     return fixed_point_series (arg_1, arg_2);
00303   }

static polynomial<rational> mmx::GLUE_50 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 301 of file glue_polynomial_rational.cpp.

References gcd().

00301                                                                                  {
00302     return gcd (arg_1, arg_2);
00303   }

static string mmx::GLUE_50 ( const string &  arg_1  )  [static]

Definition at line 291 of file glue_polynomial_generic.cpp.

00291                                 {
00292     return quote (arg_1);
00293   }

static matrix<rational> mmx::GLUE_50 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 328 of file glue_matrix_rational.cpp.

References invert().

00328                                           {
00329     return invert (arg_1);
00330   }

static matrix<generic> mmx::GLUE_50 ( const vector< generic > &  arg_1  )  [static]

Definition at line 325 of file glue_matrix_generic.cpp.

References hankel_matrix().

00325                                          {
00326     return hankel_matrix (arg_1);
00327   }

static algebraic_number mmx::GLUE_50 ( const algebraic_number &  arg_1  )  [static]
static vector<rational> mmx::GLUE_51 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 275 of file glue_vector_rational.cpp.

00275                                                                  {
00276     return arg_1 * arg_2;
00277   }

static bool mmx::GLUE_51 ( const integer &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 270 of file glue_vector_integer.cpp.

00270                                                                {
00271     return arg_1 > arg_2;
00272   }

static bool mmx::GLUE_51 ( const int &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 264 of file glue_vector_int.cpp.

00264                                                        {
00265     return arg_1 > arg_2;
00266   }

static bool mmx::GLUE_51 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 314 of file glue_series_rational.cpp.

00314                                                                          {
00315     return arg_1 <= arg_2;
00316   }

static vector<generic> mmx::GLUE_51 ( const routine &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 306 of file glue_series_generic.cpp.

References gen_fixed_point_vector_series().

00306                                                                {
00307     return gen_fixed_point_vector_series (arg_1, arg_2);
00308   }

static polynomial<rational> mmx::GLUE_51 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2 
) [static]

Definition at line 306 of file glue_polynomial_rational.cpp.

References lcm().

00306                                                                                  {
00307     return lcm (arg_1, arg_2);
00308   }

static string mmx::GLUE_51 ( const string &  arg_1  )  [static]

Definition at line 296 of file glue_polynomial_generic.cpp.

00296                                 {
00297     return unquote (arg_1);
00298   }

static row_tuple<rational> mmx::GLUE_51 ( const row_tuple< integer > &  arg_1  )  [static]

Definition at line 333 of file glue_matrix_rational.cpp.

00333                                             {
00334     return as<row_tuple<rational> > (arg_1);
00335   }

static matrix<generic> mmx::GLUE_51 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 330 of file glue_matrix_generic.cpp.

References tensor_matrix().

00330                                                                        {
00331     return tensor_matrix (arg_1, arg_2);
00332   }

static algebraic_number mmx::GLUE_51 ( const algebraic_number &  arg_1,
const algebraic_number &  arg_2 
) [static]
static rational mmx::GLUE_52 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 280 of file glue_vector_rational.cpp.

References dot().

00280                                                                          {
00281     return dot (arg_1, arg_2);
00282   }

static vector<integer> mmx::GLUE_52 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 275 of file glue_vector_integer.cpp.

00275                                                                        {
00276     return inf (arg_1, arg_2);
00277   }

static vector<int> mmx::GLUE_52 ( const vector< int > &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 269 of file glue_vector_int.cpp.

00269                                                                {
00270     return inf (arg_1, arg_2);
00271   }

static bool mmx::GLUE_52 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 319 of file glue_series_rational.cpp.

00319                                                                          {
00320     return arg_1 >= arg_2;
00321   }

static series<generic> mmx::GLUE_52 ( const routine &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 311 of file glue_series_generic.cpp.

References arg_2, and integrate_series().

00311                                                        {
00312     return integrate_series (arg_1, arg_2);
00313   }

static polynomial<rational> mmx::GLUE_52 ( const polynomial< integer > &  arg_1  )  [static]

Definition at line 311 of file glue_polynomial_rational.cpp.

00311                                              {
00312     return as<polynomial<rational> > (arg_1);
00313   }

static string mmx::GLUE_52 ( const int &  arg_1  )  [static]

Definition at line 301 of file glue_polynomial_generic.cpp.

00301                              {
00302     return charcode_as_string (arg_1);
00303   }

static matrix<rational> mmx::GLUE_52 ( const matrix< integer > &  arg_1  )  [static]

Definition at line 338 of file glue_matrix_rational.cpp.

00338                                          {
00339     return as<matrix<rational> > (arg_1);
00340   }

static matrix<generic> mmx::GLUE_52 ( const vector< generic > &  arg_1  )  [static]

Definition at line 335 of file glue_matrix_generic.cpp.

References vandermonde().

00335                                          {
00336     return vandermonde (arg_1);
00337   }

static algebraic_number mmx::GLUE_52 ( const algebraic_number &  arg_1,
const algebraic_number &  arg_2 
) [static]
static rational mmx::GLUE_53 ( const vector< rational > &  arg_1  )  [static]

Definition at line 285 of file glue_vector_rational.cpp.

References big_mul().

00285                                           {
00286     return big_mul (arg_1);
00287   }

static vector<integer> mmx::GLUE_53 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 280 of file glue_vector_integer.cpp.

00280                                                                        {
00281     return sup (arg_1, arg_2);
00282   }

static vector<int> mmx::GLUE_53 ( const vector< int > &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 274 of file glue_vector_int.cpp.

00274                                                                {
00275     return sup (arg_1, arg_2);
00276   }

static bool mmx::GLUE_53 ( const series< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 324 of file glue_series_rational.cpp.

00324                                                                  {
00325     return arg_1 < arg_2;
00326   }

static vector<generic> mmx::GLUE_53 ( const routine &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 316 of file glue_series_generic.cpp.

References gen_integrate_vector_series().

00316                                                                {
00317     return gen_integrate_vector_series (arg_1, arg_2);
00318   }

static polynomial<generic> mmx::GLUE_53 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 316 of file glue_polynomial_rational.cpp.

00316                                               {
00317     return as<polynomial<generic> > (arg_1);
00318   }

static int mmx::GLUE_53 ( const string &  arg_1  )  [static]

Definition at line 306 of file glue_polynomial_generic.cpp.

00306                                 {
00307     return string_as_charcode (arg_1);
00308   }

static row_tuple<complex<rational> > mmx::GLUE_53 ( const row_tuple< integer > &  arg_1  )  [static]

Definition at line 343 of file glue_matrix_rational.cpp.

00343                                             {
00344     return as<row_tuple<complex<rational> > > (arg_1);
00345   }

static matrix<generic> mmx::GLUE_53 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 340 of file glue_matrix_generic.cpp.

00340                                          {
00341     return -arg_1;
00342   }

static algebraic_number mmx::GLUE_53 ( const algebraic_number &  arg_1,
const algebraic_number &  arg_2 
) [static]
static rational mmx::GLUE_54 ( const vector< rational > &  arg_1  )  [static]

Definition at line 290 of file glue_vector_rational.cpp.

References big_add().

00290                                           {
00291     return big_add (arg_1);
00292   }

static bool mmx::GLUE_54 ( const series< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 329 of file glue_series_rational.cpp.

00329                                                                  {
00330     return arg_1 > arg_2;
00331   }

static series<generic> mmx::GLUE_54 ( const routine &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 321 of file glue_series_generic.cpp.

References arg_2, and implicit_series().

00321                                                        {
00322     return implicit_series (arg_1, arg_2);
00323   }

static vector<rational> mmx::GLUE_54 ( const polynomial< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 321 of file glue_polynomial_rational.cpp.

References evaluate().

00321                                                                              {
00322     return evaluate (arg_1, arg_2);
00323   }

static bool mmx::GLUE_54 ( const generic &  arg_1  )  [static]

Definition at line 311 of file glue_polynomial_generic.cpp.

References arg_1, and is_generic_literal.

00311                                  {
00312     return is_generic_literal (arg_1);
00313   }

static matrix<complex<rational> > mmx::GLUE_54 ( const matrix< integer > &  arg_1  )  [static]

Definition at line 348 of file glue_matrix_rational.cpp.

00348                                          {
00349     return as<matrix<complex<rational> > > (arg_1);
00350   }

static matrix<generic> mmx::GLUE_54 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 345 of file glue_matrix_generic.cpp.

References square().

00345                                          {
00346     return square (arg_1);
00347   }

static algebraic_number mmx::GLUE_54 ( const algebraic_number &  arg_1,
const algebraic_number &  arg_2 
) [static]
static bool mmx::GLUE_55 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 295 of file glue_vector_rational.cpp.

00295                                                                          {
00296     return arg_1 == arg_2;
00297   }

static bool mmx::GLUE_55 ( const series< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 334 of file glue_series_rational.cpp.

00334                                                                  {
00335     return arg_1 <= arg_2;
00336   }

static vector<generic> mmx::GLUE_55 ( const routine &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 326 of file glue_series_generic.cpp.

References gen_implicit_vector_series().

00326                                                                {
00327     return gen_implicit_vector_series (arg_1, arg_2);
00328   }

static vector<rational> mmx::GLUE_55 ( const polynomial< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 326 of file glue_polynomial_rational.cpp.

References evaluate().

00326                                                                              {
00327     return evaluate (arg_1, arg_2);
00328   }

static generic mmx::GLUE_55 ( const literal &  arg_1,
const tuple< generic > &  arg_2 
) [static]

Definition at line 316 of file glue_polynomial_generic.cpp.

References as_vector(), and gen_literal_apply.

00316                                                               {
00317     return gen_literal_apply (arg_1, as_vector (arg_2));
00318   }

static row_tuple<generic> mmx::GLUE_55 ( const row_tuple< rational > &  arg_1  )  [static]

Definition at line 353 of file glue_matrix_rational.cpp.

00353                                              {
00354     return as<row_tuple<generic> > (arg_1);
00355   }

static matrix<generic> mmx::GLUE_55 ( const matrix< generic > &  arg_1,
const matrix< generic > &  arg_2 
) [static]

Definition at line 350 of file glue_matrix_generic.cpp.

00350                                                                        {
00351     return arg_1 + arg_2;
00352   }

static algebraic_number mmx::GLUE_55 ( const rational &  arg_1,
const algebraic_number &  arg_2 
) [static]
static bool mmx::GLUE_56 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 300 of file glue_vector_rational.cpp.

00300                                                                          {
00301     return arg_1 != arg_2;
00302   }

static bool mmx::GLUE_56 ( const series< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 339 of file glue_series_rational.cpp.

00339                                                                  {
00340     return arg_1 >= arg_2;
00341   }

static polynomial<complex<rational> > mmx::GLUE_56 ( const tuple< complex< rational > > &  arg_1  )  [static]

Definition at line 331 of file glue_polynomial_rational.cpp.

References as_vector(), and polynomial_reverse().

00331                                                    {
00332     return polynomial_reverse (as_vector (arg_1));
00333   }

static generic mmx::GLUE_56 ( const literal &  arg_1,
const tuple< generic > &  arg_2 
) [static]

Definition at line 321 of file glue_polynomial_generic.cpp.

References as_vector(), and gen_literal_access.

00321                                                               {
00322     return gen_literal_access (arg_1, as_vector (arg_2));
00323   }

static matrix<generic> mmx::GLUE_56 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 358 of file glue_matrix_rational.cpp.

00358                                           {
00359     return as<matrix<generic> > (arg_1);
00360   }

static matrix<generic> mmx::GLUE_56 ( const matrix< generic > &  arg_1,
const matrix< generic > &  arg_2 
) [static]

Definition at line 355 of file glue_matrix_generic.cpp.

00355                                                                        {
00356     return arg_1 - arg_2;
00357   }

static algebraic_number mmx::GLUE_56 ( const algebraic_number &  arg_1,
const rational &  arg_2 
) [static]
static bool mmx::GLUE_57 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 305 of file glue_vector_rational.cpp.

00305                                                                  {
00306     return arg_1 == arg_2;
00307   }

static bool mmx::GLUE_57 ( const rational &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 344 of file glue_series_rational.cpp.

00344                                                                  {
00345     return arg_1 < arg_2;
00346   }

static polynomial<complex<rational> > mmx::GLUE_57 ( const tuple< complex< rational > > &  arg_1  )  [static]

Definition at line 336 of file glue_polynomial_rational.cpp.

References as_vector().

00336                                                    {
00337     return polynomial<complex<rational> > (as_vector (arg_1));
00338   }

static literal mmx::GLUE_57 ( const string &  arg_1  )  [static]

Definition at line 326 of file glue_polynomial_generic.cpp.

00326                                 {
00327     return literal (arg_1);
00328   }

static row_tuple<generic> mmx::GLUE_57 ( const row_tuple< complex< rational > > &  arg_1  )  [static]

Definition at line 363 of file glue_matrix_rational.cpp.

References arg_1.

00363                                                        {
00364     return as<row_tuple<generic> > (arg_1);
00365   }

static matrix<generic> mmx::GLUE_57 ( const matrix< generic > &  arg_1,
const matrix< generic > &  arg_2 
) [static]

Definition at line 360 of file glue_matrix_generic.cpp.

00360                                                                        {
00361     return arg_1 * arg_2;
00362   }

static algebraic_number mmx::GLUE_57 ( const rational &  arg_1,
const algebraic_number &  arg_2 
) [static]
static bool mmx::GLUE_58 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 310 of file glue_vector_rational.cpp.

00310                                                                  {
00311     return arg_1 != arg_2;
00312   }

static bool mmx::GLUE_58 ( const rational &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 349 of file glue_series_rational.cpp.

00349                                                                  {
00350     return arg_1 > arg_2;
00351   }

static void mmx::GLUE_58 ( const polynomial< complex< rational > > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 341 of file glue_polynomial_rational.cpp.

References arg_2, and set_variable_name().

00341                                                                               {
00342     set_variable_name (arg_1, arg_2);
00343   }

static string mmx::GLUE_58 ( const literal &  arg_1  )  [static]

Definition at line 331 of file glue_polynomial_generic.cpp.

00331                                  {
00332     return *arg_1;
00333   }

static matrix<generic> mmx::GLUE_58 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 368 of file glue_matrix_rational.cpp.

References arg_1.

00368                                                     {
00369     return as<matrix<generic> > (arg_1);
00370   }

static vector<generic> mmx::GLUE_58 ( const matrix< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 365 of file glue_matrix_generic.cpp.

00365                                                                        {
00366     return arg_1 * arg_2;
00367   }

static algebraic_number mmx::GLUE_58 ( const algebraic_number &  arg_1,
const rational &  arg_2 
) [static]
static bool mmx::GLUE_59 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 315 of file glue_vector_rational.cpp.

00315                                                                  {
00316     return arg_1 == arg_2;
00317   }

static bool mmx::GLUE_59 ( const rational &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 354 of file glue_series_rational.cpp.

00354                                                                  {
00355     return arg_1 <= arg_2;
00356   }

static polynomial<complex<rational> > mmx::GLUE_59 ( const complex< rational > &  arg_1  )  [static]

Definition at line 346 of file glue_polynomial_rational.cpp.

00346                                            {
00347     return polynomial<complex<rational> > (arg_1);
00348   }

static bool mmx::GLUE_59 ( const generic &  arg_1  )  [static]

Definition at line 336 of file glue_polynomial_generic.cpp.

References arg_1, and is_generic_compound.

00336                                  {
00337     return is_generic_compound (arg_1);
00338   }

static vector<rational> mmx::GLUE_59 ( const vector< int > &  arg_1  )  [static]

Definition at line 373 of file glue_matrix_rational.cpp.

00373                                      {
00374     return as<vector<rational> > (arg_1);
00375   }

static vector<generic> mmx::GLUE_59 ( const vector< generic > &  arg_1,
const matrix< generic > &  arg_2 
) [static]

Definition at line 370 of file glue_matrix_generic.cpp.

00370                                                                        {
00371     return arg_1 * arg_2;
00372   }

static algebraic_number mmx::GLUE_59 ( const rational &  arg_1,
const algebraic_number &  arg_2 
) [static]
static alias<rational> mmx::GLUE_6 ( const alias< vector< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 50 of file glue_vector_rational.cpp.

References arg_1.

00050                                                                    {
00051     return alias_access<rational > (arg_1, arg_2);
00052   }

static alias<integer> mmx::GLUE_6 ( const alias< vector< integer > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 45 of file glue_vector_integer.cpp.

References arg_1.

00045                                                                   {
00046     return alias_access<integer > (arg_1, arg_2);
00047   }

static alias<int> mmx::GLUE_6 ( const alias< vector< int > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 39 of file glue_vector_int.cpp.

References arg_1.

00039                                                               {
00040     return alias_access<int > (arg_1, arg_2);
00041   }

static series<rational> mmx::GLUE_6 ( const rational &  arg_1  )  [static]

Definition at line 89 of file glue_series_rational.cpp.

00089                                  {
00090     return series<rational > (arg_1);
00091   }

static void mmx::GLUE_6 ( const series< mmx_modular(integer) > &  arg_1,
const bool &  arg_2 
) [static]

Definition at line 85 of file glue_series_modular_integer.cpp.

References arg_1, and set_formula_output().

00085                                                                          {
00086     set_formula_output (arg_1, arg_2);
00087   }

static void mmx::GLUE_6 ( const series< integer > &  arg_1,
const bool &  arg_2 
) [static]

Definition at line 81 of file glue_series_integer.cpp.

References set_formula_output().

00081                                                            {
00082     set_formula_output (arg_1, arg_2);
00083   }

static series<generic> mmx::GLUE_6 ( const tuple< generic > &  arg_1  )  [static]

Definition at line 81 of file glue_series_generic.cpp.

References as_vector().

00081                                        {
00082     return series<generic > (as_vector (arg_1));
00083   }

static polynomial<rational> mmx::GLUE_6 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1  )  [static]

Definition at line 82 of file glue_quotient_polynomial_rational.cpp.

References denominator().

00082                                                                {
00083     return denominator (arg_1);
00084   }

static int mmx::GLUE_6 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 81 of file glue_polynomial_rational.cpp.

References N().

00081                                              {
00082     return N (arg_1);
00083   }

static int mmx::GLUE_6 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1  )  [static]

Definition at line 95 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_1, and N().

00095                                                                           {
00096     return N (arg_1);
00097   }

static int mmx::GLUE_6 ( const polynomial< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 77 of file glue_polynomial_modular_integer.cpp.

References arg_1, and N().

00077                                                           {
00078     return N (arg_1);
00079   }

static int mmx::GLUE_6 ( const polynomial< integer > &  arg_1  )  [static]

Definition at line 72 of file glue_polynomial_integer.cpp.

References N().

00072                                             {
00073     return N (arg_1);
00074   }

static generic mmx::GLUE_6 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 37 of file glue_vector_generic.cpp.

References dot().

00037                                                                       {
00038     return dot (arg_1, arg_2);
00039   }

static iterator<generic> mmx::GLUE_6 ( const permutation &  arg_1  )  [static]

Definition at line 39 of file glue_permutation.cpp.

References iterate_int().

00039                                     {
00040     return as<iterator<generic> > (iterate_int (arg_1));
00041   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_6 ( const mmx_modular(integer)&  arg_1  )  [static]

Definition at line 64 of file glue_p_adic_modular_integer.cpp.

References mmx_modular(), and simple_p_adic.

00064                                              {
00065     return (simple_p_adic(mmx_modular(integer) ) (arg_1));
00066   }

static int mmx::GLUE_6 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 108 of file glue_matrix_rational.cpp.

References N().

00108                                          {
00109     return N (arg_1);
00110   }

static matrix<mmx_modular(integer) > mmx::GLUE_6 ( const tuple< row_tuple< mmx_modular(integer) > > &  arg_1  )  [static]

Definition at line 106 of file glue_matrix_modular_integer.cpp.

References arg_1, as_vector(), and matrix_new().

00106                                                                  {
00107     return matrix_new (as_vector (arg_1));
00108   }

static matrix<integer> mmx::GLUE_6 ( const tuple< row_tuple< integer > > &  arg_1  )  [static]

Definition at line 105 of file glue_matrix_integer.cpp.

References arg_1, as_vector(), and matrix_new().

00105                                                    {
00106     return matrix_new (as_vector (arg_1));
00107   }

static alias<string> mmx::GLUE_6 ( const alias< string > &  arg_1,
const string &  arg_2 
) [static]

Definition at line 105 of file glue_matrix_generic.cpp.

00105                                                            {
00106     return alias_write (arg_1, arg_2);
00107   }

static algebraic_real mmx::GLUE_6 ( const algebraic_real &  arg_1  )  [static]

Definition at line 88 of file glue_algebraic_number.cpp.

References normalize().

00088                                        {
00089     return normalize (arg_1);
00090   }

static algebraic<generic> mmx::GLUE_6 ( const algebraic< generic > &  arg_1  )  [static]
static bool mmx::GLUE_60 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 320 of file glue_vector_rational.cpp.

00320                                                                  {
00321     return arg_1 != arg_2;
00322   }

static bool mmx::GLUE_60 ( const rational &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 359 of file glue_series_rational.cpp.

00359                                                                  {
00360     return arg_1 >= arg_2;
00361   }

static iterator<generic> mmx::GLUE_60 ( const polynomial< complex< rational > > &  arg_1  )  [static]

Definition at line 351 of file glue_polynomial_rational.cpp.

References iterate().

00351                                                         {
00352     return as<iterator<generic> > (iterate (arg_1));
00353   }

static generic mmx::GLUE_60 ( const compound &  arg_1,
const tuple< generic > &  arg_2 
) [static]

Definition at line 341 of file glue_polynomial_generic.cpp.

References as_vector(), and gen_compound_apply.

00341                                                                {
00342     return gen_compound_apply (arg_1, as_vector (arg_2));
00343   }

static vector<complex<rational> > mmx::GLUE_60 ( const vector< int > &  arg_1  )  [static]

Definition at line 378 of file glue_matrix_rational.cpp.

00378                                      {
00379     return as<vector<complex<rational> > > (arg_1);
00380   }

static bool mmx::GLUE_60 ( const matrix< generic > &  arg_1,
const matrix< generic > &  arg_2 
) [static]

Definition at line 375 of file glue_matrix_generic.cpp.

00375                                                                        {
00376     return arg_1 == arg_2;
00377   }

static algebraic_number mmx::GLUE_60 ( const algebraic_number &  arg_1,
const rational &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_61 ( const vector< complex< rational > > &  arg_1  )  [static]

Definition at line 325 of file glue_vector_rational.cpp.

References arg_1.

00325                                                     {
00326     return -arg_1;
00327   }

static series<rational> mmx::GLUE_61 ( const series< integer > &  arg_1  )  [static]

Definition at line 364 of file glue_series_rational.cpp.

00364                                          {
00365     return as<series<rational> > (arg_1);
00366   }

static int mmx::GLUE_61 ( const polynomial< complex< rational > > &  arg_1  )  [static]

Definition at line 356 of file glue_polynomial_rational.cpp.

References N().

00356                                                         {
00357     return N (arg_1);
00358   }

static compound mmx::GLUE_61 ( const tuple< generic > &  arg_1  )  [static]

Definition at line 346 of file glue_polynomial_generic.cpp.

References as_vector().

00346                                         {
00347     return compound (as_vector (arg_1));
00348   }

static vector<rational> mmx::GLUE_61 ( const matrix< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 383 of file glue_matrix_rational.cpp.

References row().

00383                                                             {
00384     return row (arg_1, arg_2);
00385   }

static bool mmx::GLUE_61 ( const matrix< generic > &  arg_1,
const matrix< generic > &  arg_2 
) [static]

Definition at line 380 of file glue_matrix_generic.cpp.

00380                                                                        {
00381     return arg_1 != arg_2;
00382   }

static algebraic_number mmx::GLUE_61 ( const rational &  arg_1,
const algebraic_number &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_62 ( const vector< complex< rational > > &  arg_1  )  [static]

Definition at line 330 of file glue_vector_rational.cpp.

References arg_1, and square().

00330                                                     {
00331     return square (arg_1);
00332   }

static series<generic> mmx::GLUE_62 ( const series< rational > &  arg_1  )  [static]

Definition at line 369 of file glue_series_rational.cpp.

00369                                           {
00370     return as<series<generic> > (arg_1);
00371   }

static int mmx::GLUE_62 ( const polynomial< complex< rational > > &  arg_1  )  [static]

Definition at line 361 of file glue_polynomial_rational.cpp.

References deg().

00361                                                         {
00362     return deg (arg_1);
00363   }

static compound mmx::GLUE_62 ( const vector< generic > &  arg_1  )  [static]

Definition at line 351 of file glue_polynomial_generic.cpp.

00351                                          {
00352     return compound (arg_1);
00353   }

static vector<rational> mmx::GLUE_62 ( const matrix< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 388 of file glue_matrix_rational.cpp.

References column().

00388                                                             {
00389     return column (arg_1, arg_2);
00390   }

static matrix<generic> mmx::GLUE_62 ( const matrix< generic > &  arg_1,
const matrix< generic > &  arg_2 
) [static]

Definition at line 385 of file glue_matrix_generic.cpp.

References krylov().

00385                                                                        {
00386     return krylov (arg_1, arg_2);
00387   }

static algebraic_number mmx::GLUE_62 ( const algebraic_number &  arg_1,
const rational &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_63 ( const vector< complex< rational > > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 335 of file glue_vector_rational.cpp.

References arg_1, and arg_2.

00335                                                                                              {
00336     return arg_1 + arg_2;
00337   }

static series<rational> mmx::GLUE_63 ( const series< rational > &  arg_1,
const series< rational > &  arg_2 
) [static]

Definition at line 374 of file glue_series_rational.cpp.

References pow().

00374                                                                          {
00375     return pow (arg_1, arg_2);
00376   }

static complex<rational> mmx::GLUE_63 ( const polynomial< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 366 of file glue_polynomial_rational.cpp.

00366                                                                           {
00367     return arg_1[arg_2];
00368   }

static vector<generic> mmx::GLUE_63 ( const compound &  arg_1  )  [static]

Definition at line 356 of file glue_polynomial_generic.cpp.

References as_vector().

00356                                   {
00357     return as_vector (arg_1);
00358   }

static row_tuple<complex<rational> > mmx::GLUE_63 ( const tuple< complex< rational > > &  arg_1  )  [static]

Definition at line 393 of file glue_matrix_rational.cpp.

References arg_1, and as_vector().

00393                                                    {
00394     return row_tuple<complex<rational> > (as_vector (arg_1));
00395   }

static generic mmx::GLUE_63 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 390 of file glue_matrix_generic.cpp.

References det().

00390                                          {
00391     return det (arg_1);
00392   }

static algebraic_number mmx::GLUE_63 ( const algebraic_number &  arg_1  )  [static]
static vector<complex<rational> > mmx::GLUE_64 ( const vector< complex< rational > > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 340 of file glue_vector_rational.cpp.

References arg_1, and arg_2.

00340                                                                                              {
00341     return arg_1 - arg_2;
00342   }

static series<rational> mmx::GLUE_64 ( const series< rational > &  arg_1  )  [static]

Definition at line 379 of file glue_series_rational.cpp.

References sqrt().

00379                                           {
00380     return sqrt (arg_1);
00381   }

static polynomial<complex<rational> > mmx::GLUE_64 ( const polynomial< complex< rational > > &  arg_1  )  [static]

Definition at line 371 of file glue_polynomial_rational.cpp.

00371                                                         {
00372     return -arg_1;
00373   }

static int mmx::GLUE_64 ( const compound &  arg_1  )  [static]

Definition at line 361 of file glue_polynomial_generic.cpp.

References N().

00361                                   {
00362     return N (arg_1);
00363   }

static matrix<complex<rational> > mmx::GLUE_64 ( const tuple< complex< rational > > &  arg_1  )  [static]

Definition at line 398 of file glue_matrix_rational.cpp.

References arg_1, as_vector(), and matrix_new().

00398                                                    {
00399     return matrix_new (as_vector (arg_1));
00400   }

static matrix<generic> mmx::GLUE_64 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 395 of file glue_matrix_generic.cpp.

References row_echelon().

00395                                          {
00396     return row_echelon (arg_1);
00397   }

static algebraic_number mmx::GLUE_64 ( const algebraic_number &  arg_1,
const int &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_65 ( const vector< complex< rational > > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 345 of file glue_vector_rational.cpp.

References arg_1, and arg_2.

00345                                                                                              {
00346     return arg_1 * arg_2;
00347   }

static series<rational> mmx::GLUE_65 ( const series< rational > &  arg_1  )  [static]

Definition at line 384 of file glue_series_rational.cpp.

References exp().

00384                                           {
00385     return exp (arg_1);
00386   }

static polynomial<complex<rational> > mmx::GLUE_65 ( const polynomial< complex< rational > > &  arg_1  )  [static]

Definition at line 376 of file glue_polynomial_rational.cpp.

References square().

00376                                                         {
00377     return square (arg_1);
00378   }

static generic mmx::GLUE_65 ( const compound &  arg_1,
const int &  arg_2 
) [static]

Definition at line 366 of file glue_polynomial_generic.cpp.

00366                                                     {
00367     return arg_1[arg_2];
00368   }

static matrix<complex<rational> > mmx::GLUE_65 ( const tuple< row_tuple< complex< rational > > > &  arg_1  )  [static]

Definition at line 403 of file glue_matrix_rational.cpp.

References arg_1, as_vector(), and matrix_new().

00403                                                                {
00404     return matrix_new (as_vector (arg_1));
00405   }

static matrix<generic> mmx::GLUE_65 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 400 of file glue_matrix_generic.cpp.

References column_echelon().

00400                                          {
00401     return column_echelon (arg_1);
00402   }

static bool mmx::GLUE_65 ( const algebraic_number &  arg_1,
const algebraic_number &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_66 ( const complex< rational > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 350 of file glue_vector_rational.cpp.

References arg_2.

00350                                                                                     {
00351     return arg_1 + arg_2;
00352   }

static series<rational> mmx::GLUE_66 ( const series< rational > &  arg_1  )  [static]

Definition at line 389 of file glue_series_rational.cpp.

References log().

00389                                           {
00390     return log (arg_1);
00391   }

static polynomial<complex<rational> > mmx::GLUE_66 ( const polynomial< complex< rational > > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 381 of file glue_polynomial_rational.cpp.

References arg_2.

00381                                                                                                      {
00382     return arg_1 + arg_2;
00383   }

static vector<generic> mmx::GLUE_66 ( const compound &  arg_1  )  [static]

Definition at line 371 of file glue_polynomial_generic.cpp.

References as_vector().

00371                                   {
00372     return as_vector (arg_1);
00373   }

static matrix<complex<rational> > mmx::GLUE_66 ( const tuple< row_tuple< complex< rational > > > &  arg_1  )  [static]

Definition at line 408 of file glue_matrix_rational.cpp.

References arg_1, as_vector(), and matrix_new().

00408                                                                {
00409     return matrix_new (as_vector (arg_1));
00410   }

static matrix<generic> mmx::GLUE_66 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 405 of file glue_matrix_generic.cpp.

References row_reduced_echelon().

00405                                          {
00406     return row_reduced_echelon (arg_1);
00407   }

static bool mmx::GLUE_66 ( const algebraic_number &  arg_1,
const algebraic_number &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_67 ( const vector< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 355 of file glue_vector_rational.cpp.

References arg_1.

00355                                                                                     {
00356     return arg_1 + arg_2;
00357   }

static series<rational> mmx::GLUE_67 ( const series< rational > &  arg_1  )  [static]

Definition at line 394 of file glue_series_rational.cpp.

References cos().

00394                                           {
00395     return cos (arg_1);
00396   }

static polynomial<complex<rational> > mmx::GLUE_67 ( const polynomial< complex< rational > > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 386 of file glue_polynomial_rational.cpp.

References arg_2.

00386                                                                                                      {
00387     return arg_1 - arg_2;
00388   }

static vector<generic> mmx::GLUE_67 ( const compound &  arg_1  )  [static]

Definition at line 376 of file glue_polynomial_generic.cpp.

References compound_arguments.

00376                                   {
00377     return compound_arguments (arg_1);
00378   }

static int mmx::GLUE_67 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 413 of file glue_matrix_rational.cpp.

References arg_1, and N().

00413                                                     {
00414     return N (arg_1);
00415   }

static matrix<generic> mmx::GLUE_67 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 410 of file glue_matrix_generic.cpp.

References column_reduced_echelon().

00410                                          {
00411     return column_reduced_echelon (arg_1);
00412   }

static bool mmx::GLUE_67 ( const algebraic_number &  arg_1,
const rational &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_68 ( const complex< rational > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 360 of file glue_vector_rational.cpp.

References arg_2.

00360                                                                                     {
00361     return arg_1 - arg_2;
00362   }

static series<rational> mmx::GLUE_68 ( const series< rational > &  arg_1  )  [static]

Definition at line 399 of file glue_series_rational.cpp.

References sin().

00399                                           {
00400     return sin (arg_1);
00401   }

static polynomial<complex<rational> > mmx::GLUE_68 ( const polynomial< complex< rational > > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 391 of file glue_polynomial_rational.cpp.

References arg_2.

00391                                                                                                      {
00392     return arg_1 * arg_2;
00393   }

static bool mmx::GLUE_68 ( const generic &  arg_1  )  [static]

Definition at line 381 of file glue_polynomial_generic.cpp.

References arg_1.

00381                                  {
00382     return generic_is_boolean (arg_1);
00383   }

static int mmx::GLUE_68 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 418 of file glue_matrix_rational.cpp.

References arg_1, and rows().

00418                                                     {
00419     return rows (arg_1);
00420   }

static vector<generic> mmx::GLUE_68 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 415 of file glue_matrix_generic.cpp.

References wrap_row_reduced_echelon_with_transform().

00415                                          {
00416     return wrap_row_reduced_echelon_with_transform (arg_1);
00417   }

static bool mmx::GLUE_68 ( const algebraic_number &  arg_1,
const rational &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_69 ( const vector< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 365 of file glue_vector_rational.cpp.

References arg_1.

00365                                                                                     {
00366     return arg_1 - arg_2;
00367   }

static series<rational> mmx::GLUE_69 ( const series< rational > &  arg_1  )  [static]

Definition at line 404 of file glue_series_rational.cpp.

References tan().

00404                                           {
00405     return tan (arg_1);
00406   }

static polynomial<complex<rational> > mmx::GLUE_69 ( const complex< rational > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 396 of file glue_polynomial_rational.cpp.

References arg_2.

00396                                                                                         {
00397     return arg_1 + arg_2;
00398   }

static bool mmx::GLUE_69 ( const generic &  arg_1  )  [static]

Definition at line 386 of file glue_polynomial_generic.cpp.

References arg_1.

00386                                  {
00387     return generic_is_int (arg_1);
00388   }

static int mmx::GLUE_69 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 423 of file glue_matrix_rational.cpp.

References arg_1, and cols().

00423                                                     {
00424     return cols (arg_1);
00425   }

static vector<generic> mmx::GLUE_69 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 420 of file glue_matrix_generic.cpp.

References wrap_column_reduced_echelon_with_transform().

00420                                          {
00421     return wrap_column_reduced_echelon_with_transform (arg_1);
00422   }

static bool mmx::GLUE_69 ( const rational &  arg_1,
const algebraic_number &  arg_2 
) [static]
static vector<rational> mmx::GLUE_7 ( const vector< rational > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 55 of file glue_vector_rational.cpp.

References range().

00055                                                                              {
00056     return range (arg_1, arg_2, arg_3);
00057   }

static vector<integer> mmx::GLUE_7 ( const vector< integer > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 50 of file glue_vector_integer.cpp.

References range().

00050                                                                             {
00051     return range (arg_1, arg_2, arg_3);
00052   }

static vector<int> mmx::GLUE_7 ( const vector< int > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 44 of file glue_vector_int.cpp.

References range().

00044                                                                         {
00045     return range (arg_1, arg_2, arg_3);
00046   }

static series<mmx_modular(integer) > mmx::GLUE_7 ( const tuple< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 90 of file glue_series_modular_integer.cpp.

References arg_1, and as_vector().

00090                                                      {
00091     return series<mmx_modular(integer) > (as_vector (arg_1));
00092   }

static series<integer> mmx::GLUE_7 ( const tuple< integer > &  arg_1  )  [static]

Definition at line 86 of file glue_series_integer.cpp.

References as_vector().

00086                                        {
00087     return series<integer > (as_vector (arg_1));
00088   }

static series<generic> mmx::GLUE_7 ( const polynomial< generic > &  arg_1  )  [static]

Definition at line 86 of file glue_series_generic.cpp.

00086                                             {
00087     return series<generic > (arg_1);
00088   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_7 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1  )  [static]

Definition at line 87 of file glue_quotient_polynomial_rational.cpp.

00087                                                                {
00088     return -arg_1;
00089   }

static int mmx::GLUE_7 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 94 of file glue_series_rational.cpp.

00094                                              {
00095     return series<rational > (arg_1);
00096   }

static int mmx::GLUE_7 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1  )  [static]

Definition at line 100 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_1, and deg().

00100                                                                           {
00101     return deg (arg_1);
00102   }

static int mmx::GLUE_7 ( const polynomial< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 82 of file glue_polynomial_modular_integer.cpp.

References arg_1, and deg().

00082                                                           {
00083     return deg (arg_1);
00084   }

static int mmx::GLUE_7 ( const polynomial< integer > &  arg_1  )  [static]

Definition at line 77 of file glue_polynomial_integer.cpp.

References deg().

00077                                             {
00078     return deg (arg_1);
00079   }

static generic mmx::GLUE_7 ( const vector< generic > &  arg_1  )  [static]

Definition at line 42 of file glue_vector_generic.cpp.

References big_mul().

00042                                         {
00043     return big_mul (arg_1);
00044   }

static int mmx::GLUE_7 ( const permutation &  arg_1  )  [static]

Definition at line 44 of file glue_permutation.cpp.

References N().

00044                                     {
00045     return N (arg_1);
00046   }

static iterator<generic> mmx::GLUE_7 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1  )  [static]

Definition at line 69 of file glue_p_adic_modular_integer.cpp.

References iterate().

00069                                                              {
00070     return as<iterator<generic> > (iterate (arg_1));
00071   }

static int mmx::GLUE_7 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 113 of file glue_matrix_rational.cpp.

References rows().

00113                                          {
00114     return rows (arg_1);
00115   }

static int mmx::GLUE_7 ( const matrix< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 111 of file glue_matrix_modular_integer.cpp.

References arg_1, and N().

00111                                                       {
00112     return N (arg_1);
00113   }

static int mmx::GLUE_7 ( const matrix< integer > &  arg_1  )  [static]

Definition at line 110 of file glue_matrix_integer.cpp.

References N().

00110                                         {
00111     return N (arg_1);
00112   }

static bool mmx::GLUE_7 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 110 of file glue_matrix_generic.cpp.

00110                                                     {
00111     return arg_1 < arg_2;
00112   }

static algebraic_real mmx::GLUE_7 ( const algebraic_real &  arg_1  )  [static]

Definition at line 93 of file glue_algebraic_number.cpp.

00093                                        {
00094     return -arg_1;
00095   }

static algebraic<generic> mmx::GLUE_7 ( const algebraic< generic > &  arg_1  )  [static]
static vector<complex<rational> > mmx::GLUE_70 ( const complex< rational > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 370 of file glue_vector_rational.cpp.

References arg_2.

00370                                                                                     {
00371     return arg_1 * arg_2;
00372   }

static series<rational> mmx::GLUE_70 ( const series< rational > &  arg_1  )  [static]

Definition at line 409 of file glue_series_rational.cpp.

References acos().

00409                                           {
00410     return acos (arg_1);
00411   }

static polynomial<complex<rational> > mmx::GLUE_70 ( const polynomial< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 401 of file glue_polynomial_rational.cpp.

00401                                                                                         {
00402     return arg_1 + arg_2;
00403   }

static bool mmx::GLUE_70 ( const generic &  arg_1  )  [static]

Definition at line 391 of file glue_polynomial_generic.cpp.

References arg_1.

00391                                  {
00392     return generic_is_double (arg_1);
00393   }

static complex<rational> mmx::GLUE_70 ( const matrix< complex< rational > > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 428 of file glue_matrix_rational.cpp.

References arg_1.

00428                                                                                         {
00429     return arg_1 (arg_2, arg_3);
00430   }

static vector<generic> mmx::GLUE_70 ( const matrix< generic > &  arg_1  )  [static]
static bool mmx::GLUE_70 ( const rational &  arg_1,
const algebraic_number &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_71 ( const vector< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 375 of file glue_vector_rational.cpp.

References arg_1.

00375                                                                                     {
00376     return arg_1 * arg_2;
00377   }

static series<rational> mmx::GLUE_71 ( const series< rational > &  arg_1  )  [static]

Definition at line 414 of file glue_series_rational.cpp.

References asin().

00414                                           {
00415     return asin (arg_1);
00416   }

static polynomial<complex<rational> > mmx::GLUE_71 ( const complex< rational > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 406 of file glue_polynomial_rational.cpp.

References arg_2.

00406                                                                                         {
00407     return arg_1 - arg_2;
00408   }

static generic mmx::GLUE_71 ( const string &  arg_1,
const bool &  arg_2 
) [static]

Definition at line 396 of file glue_polynomial_generic.cpp.

00396                                                    {
00397     return parse_lisp (arg_1, arg_2);
00398   }

static alias<complex<rational> > mmx::GLUE_71 ( const alias< matrix< complex< rational > > > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 433 of file glue_matrix_rational.cpp.

References arg_1.

00433                                                                                                 {
00434     return alias_access<complex<rational> > (arg_1, arg_2, arg_3);
00435   }

static matrix<generic> mmx::GLUE_71 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 430 of file glue_matrix_generic.cpp.

References kernel().

00430                                          {
00431     return kernel (arg_1);
00432   }

static algebraic_number mmx::GLUE_71 ( const algebraic_real &  arg_1,
const algebraic_real &  arg_2 
) [static]
static complex<rational> mmx::GLUE_72 ( const vector< complex< rational > > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 380 of file glue_vector_rational.cpp.

References arg_1, arg_2, and dot().

00380                                                                                              {
00381     return dot (arg_1, arg_2);
00382   }

static series<rational> mmx::GLUE_72 ( const series< rational > &  arg_1  )  [static]

Definition at line 419 of file glue_series_rational.cpp.

References atan().

00419                                           {
00420     return atan (arg_1);
00421   }

static polynomial<complex<rational> > mmx::GLUE_72 ( const polynomial< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 411 of file glue_polynomial_rational.cpp.

00411                                                                                         {
00412     return arg_1 - arg_2;
00413   }

static string mmx::GLUE_72 ( const generic &  arg_1,
const bool &  arg_2 
) [static]

Definition at line 401 of file glue_polynomial_generic.cpp.

References arg_1.

00401                                                     {
00402     return as_lisp (arg_1, arg_2);
00403   }

static matrix<complex<rational> > mmx::GLUE_72 ( const matrix< complex< rational > > &  arg_1,
const int &  arg_2,
const int &  arg_3,
const int &  arg_4,
const int &  arg_5 
) [static]

Definition at line 438 of file glue_matrix_rational.cpp.

References arg_1, and range().

00438                                                                                                                             {
00439     return range (arg_1, arg_2, arg_3, arg_4, arg_5);
00440   }

static matrix<generic> mmx::GLUE_72 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 435 of file glue_matrix_generic.cpp.

References image().

00435                                          {
00436     return image (arg_1);
00437   }

static algebraic_real mmx::GLUE_72 ( const algebraic_number &  arg_1  )  [static]
static complex<rational> mmx::GLUE_73 ( const vector< complex< rational > > &  arg_1  )  [static]

Definition at line 385 of file glue_vector_rational.cpp.

References arg_1, and big_mul().

00385                                                     {
00386     return big_mul (arg_1);
00387   }

static unknown<rational> mmx::GLUE_73 ( const rational &  arg_1  )  [static]

Definition at line 424 of file glue_series_rational.cpp.

00424                                   {
00425     return unknown<rational > (arg_1);
00426   }

static polynomial<complex<rational> > mmx::GLUE_73 ( const complex< rational > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 416 of file glue_polynomial_rational.cpp.

References arg_2.

00416                                                                                         {
00417     return arg_1 * arg_2;
00418   }

static string mmx::GLUE_73 ( const generic &  arg_1  )  [static]

Definition at line 406 of file glue_polynomial_generic.cpp.

References arg_1.

00406                                  {
00407     return flatten_as_mmx (arg_1);
00408   }

static vector<complex<rational> > mmx::GLUE_73 ( const matrix< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 443 of file glue_matrix_rational.cpp.

References arg_1, and row().

00443                                                                       {
00444     return row (arg_1, arg_2);
00445   }

static int mmx::GLUE_73 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 440 of file glue_matrix_generic.cpp.

References rank().

00440                                          {
00441     return rank (arg_1);
00442   }

static algebraic_real mmx::GLUE_73 ( const algebraic_number &  arg_1  )  [static]
static complex<rational> mmx::GLUE_74 ( const vector< complex< rational > > &  arg_1  )  [static]

Definition at line 390 of file glue_vector_rational.cpp.

References arg_1, and big_add().

00390                                                     {
00391     return big_add (arg_1);
00392   }

static unknown<rational> mmx::GLUE_74 ( const unknown< rational > &  arg_1  )  [static]

Definition at line 429 of file glue_series_rational.cpp.

00429                                            {
00430     return -arg_1;
00431   }

static polynomial<complex<rational> > mmx::GLUE_74 ( const polynomial< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 421 of file glue_polynomial_rational.cpp.

00421                                                                                         {
00422     return arg_1 * arg_2;
00423   }

static string mmx::GLUE_74 ( const generic &  arg_1  )  [static]

Definition at line 411 of file glue_polynomial_generic.cpp.

References arg_1.

00411                                  {
00412     return flatten_as_cpp (arg_1);
00413   }

static vector<complex<rational> > mmx::GLUE_74 ( const matrix< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 448 of file glue_matrix_rational.cpp.

References arg_1, and column().

00448                                                                       {
00449     return column (arg_1, arg_2);
00450   }

static matrix<generic> mmx::GLUE_74 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 445 of file glue_matrix_generic.cpp.

References invert().

00445                                          {
00446     return invert (arg_1);
00447   }

static algebraic_real mmx::GLUE_74 ( const algebraic_number &  arg_1  )  [static]
static bool mmx::GLUE_75 ( const vector< complex< rational > > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 395 of file glue_vector_rational.cpp.

References arg_1, and arg_2.

00395                                                                                              {
00396     return arg_1 == arg_2;
00397   }

static unknown<rational> mmx::GLUE_75 ( const unknown< rational > &  arg_1  )  [static]

Definition at line 434 of file glue_series_rational.cpp.

References square().

00434                                            {
00435     return square (arg_1);
00436   }

static polynomial<complex<rational> > mmx::GLUE_75 ( const polynomial< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 426 of file glue_polynomial_rational.cpp.

References binpow().

00426                                                                           {
00427     return binpow (arg_1, arg_2);
00428   }

static bool mmx::GLUE_75 ( const bool &  arg_1  )  [static]

Definition at line 416 of file glue_polynomial_generic.cpp.

00416                               {
00417     return set_frac_flag (arg_1);
00418   }

static matrix<complex<rational> > mmx::GLUE_75 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 453 of file glue_matrix_rational.cpp.

References arg_1, and transpose().

00453                                                     {
00454     return transpose (arg_1);
00455   }

static matrix<generic> mmx::GLUE_75 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 450 of file glue_matrix_generic.cpp.

References derive().

00450                                          {
00451     return derive (arg_1);
00452   }

static algebraic_number mmx::GLUE_75 ( const algebraic_number &  arg_1  )  [static]
static bool mmx::GLUE_76 ( const vector< complex< rational > > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 400 of file glue_vector_rational.cpp.

References arg_1, and arg_2.

00400                                                                                              {
00401     return arg_1 != arg_2;
00402   }

static unknown<rational> mmx::GLUE_76 ( const unknown< rational > &  arg_1,
const unknown< rational > &  arg_2 
) [static]

Definition at line 439 of file glue_series_rational.cpp.

00439                                                                            {
00440     return arg_1 + arg_2;
00441   }

static polynomial<complex<rational> > mmx::GLUE_76 ( const polynomial< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 431 of file glue_polynomial_rational.cpp.

References lshiftz().

00431                                                                           {
00432     return lshiftz (arg_1, arg_2);
00433   }

static polynomial<generic> mmx::GLUE_76 ( const tuple< generic > &  arg_1  )  [static]

Definition at line 421 of file glue_polynomial_generic.cpp.

References as_vector(), and polynomial_reverse().

00421                                         {
00422     return polynomial_reverse (as_vector (arg_1));
00423   }

static matrix<complex<rational> > mmx::GLUE_76 ( const matrix< complex< rational > > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 458 of file glue_matrix_rational.cpp.

References arg_1, arg_2, and horizontal_join().

00458                                                                                              {
00459     return horizontal_join (arg_1, arg_2);
00460   }

static matrix<generic> mmx::GLUE_76 ( const matrix< generic > &  arg_1  )  [static]

Definition at line 455 of file glue_matrix_generic.cpp.

References integrate().

00455                                          {
00456     return integrate (arg_1);
00457   }

static algebraic_number mmx::GLUE_76 ( const algebraic_number &  arg_1  )  [static]
static bool mmx::GLUE_77 ( const vector< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 405 of file glue_vector_rational.cpp.

References arg_1.

00405                                                                                     {
00406     return arg_1 == arg_2;
00407   }

static unknown<rational> mmx::GLUE_77 ( const unknown< rational > &  arg_1,
const unknown< rational > &  arg_2 
) [static]

Definition at line 444 of file glue_series_rational.cpp.

00444                                                                            {
00445     return arg_1 - arg_2;
00446   }

static polynomial<complex<rational> > mmx::GLUE_77 ( const polynomial< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 436 of file glue_polynomial_rational.cpp.

References rshiftz().

00436                                                                           {
00437     return rshiftz (arg_1, arg_2);
00438   }

static polynomial<generic> mmx::GLUE_77 ( const tuple< generic > &  arg_1  )  [static]

Definition at line 426 of file glue_polynomial_generic.cpp.

References as_vector().

00426                                         {
00427     return polynomial<generic > (as_vector (arg_1));
00428   }

static matrix<complex<rational> > mmx::GLUE_77 ( const matrix< complex< rational > > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 463 of file glue_matrix_rational.cpp.

References arg_1, arg_2, and vertical_join().

00463                                                                                              {
00464     return vertical_join (arg_1, arg_2);
00465   }

static algebraic_number mmx::GLUE_77 ( const algebraic_number &  arg_1  )  [static]
static bool mmx::GLUE_78 ( const vector< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 410 of file glue_vector_rational.cpp.

References arg_1.

00410                                                                                     {
00411     return arg_1 != arg_2;
00412   }

static unknown<rational> mmx::GLUE_78 ( const rational &  arg_1,
const unknown< rational > &  arg_2 
) [static]

Definition at line 449 of file glue_series_rational.cpp.

00449                                                                   {
00450     return arg_1 * arg_2;
00451   }

static bool mmx::GLUE_78 ( const polynomial< complex< rational > > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 441 of file glue_polynomial_rational.cpp.

References arg_2.

00441                                                                                                      {
00442     return arg_1 == arg_2;
00443   }

static void mmx::GLUE_78 ( const polynomial< generic > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 431 of file glue_polynomial_generic.cpp.

References arg_2, and set_variable_name().

00431                                                                    {
00432     set_variable_name (arg_1, arg_2);
00433   }

static matrix<complex<rational> > mmx::GLUE_78 ( const matrix< complex< rational > > &  arg_1,
const permutation &  arg_2 
) [static]

Definition at line 468 of file glue_matrix_rational.cpp.

References arg_1.

00468                                                                               {
00469     return arg_1 * arg_2;
00470   }

static algebraic_real mmx::GLUE_78 ( const polynomial< rational > &  arg_1,
const mmx_ball(mmx_floating, mmx_floating)&  arg_2 
) [static]
static bool mmx::GLUE_79 ( const complex< rational > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 415 of file glue_vector_rational.cpp.

References arg_2.

00415                                                                                     {
00416     return arg_1 == arg_2;
00417   }

static unknown<rational> mmx::GLUE_79 ( const unknown< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 454 of file glue_series_rational.cpp.

00454                                                                   {
00455     return arg_1 * arg_2;
00456   }

static bool mmx::GLUE_79 ( const polynomial< complex< rational > > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 446 of file glue_polynomial_rational.cpp.

References arg_2.

00446                                                                                                      {
00447     return arg_1 != arg_2;
00448   }

static iterator<generic> mmx::GLUE_79 ( const polynomial< generic > &  arg_1  )  [static]

Definition at line 436 of file glue_polynomial_generic.cpp.

References iterate().

00436                                              {
00437     return iterate (arg_1);
00438   }

static matrix<complex<rational> > mmx::GLUE_79 ( const permutation &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 473 of file glue_matrix_rational.cpp.

References arg_2.

00473                                                                               {
00474     return arg_1 * arg_2;
00475   }

static algebraic_real mmx::GLUE_79 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2,
const mmx_ball(mmx_floating, mmx_floating)&  arg_3 
) [static]
static vector<rational> mmx::GLUE_8 ( const vector< rational > &  arg_1  )  [static]

Definition at line 60 of file glue_vector_rational.cpp.

References reverse().

00060                                          {
00061     return reverse (arg_1);
00062   }

static vector<integer> mmx::GLUE_8 ( const vector< integer > &  arg_1  )  [static]

Definition at line 55 of file glue_vector_integer.cpp.

References reverse().

00055                                         {
00056     return reverse (arg_1);
00057   }

static vector<int> mmx::GLUE_8 ( const vector< int > &  arg_1  )  [static]

Definition at line 49 of file glue_vector_int.cpp.

References reverse().

00049                                     {
00050     return reverse (arg_1);
00051   }

static iterator<generic> mmx::GLUE_8 ( const series< rational > &  arg_1  )  [static]

Definition at line 99 of file glue_series_rational.cpp.

References iterate().

00099                                          {
00100     return as<iterator<generic> > (iterate (arg_1));
00101   }

static series<mmx_modular(integer) > mmx::GLUE_8 ( const mmx_modular(integer)&  arg_1  )  [static]

Definition at line 95 of file glue_series_modular_integer.cpp.

00095                                              {
00096     return series<mmx_modular(integer) > (arg_1);
00097   }

static series<integer> mmx::GLUE_8 ( const integer &  arg_1  )  [static]

Definition at line 91 of file glue_series_integer.cpp.

00091                                 {
00092     return series<integer > (arg_1);
00093   }

static iterator<generic> mmx::GLUE_8 ( const series< generic > &  arg_1  )  [static]

Definition at line 91 of file glue_series_generic.cpp.

References iterate().

00091                                         {
00092     return iterate (arg_1);
00093   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_8 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1  )  [static]

Definition at line 92 of file glue_quotient_polynomial_rational.cpp.

References square().

00092                                                                {
00093     return square (arg_1);
00094   }

static rational mmx::GLUE_8 ( const polynomial< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 91 of file glue_polynomial_rational.cpp.

00091                                                                {
00092     return arg_1[arg_2];
00093   }

static series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> mmx::GLUE_8 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 105 of file glue_polynomial_p_adic_modular_integer.cpp.

00105                                                                                             {
00106     return arg_1[arg_2];
00107   }

static integer mmx::GLUE_8 ( const polynomial< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 82 of file glue_polynomial_integer.cpp.

00082                                                               {
00083     return arg_1[arg_2];
00084   }

static generic mmx::GLUE_8 ( const vector< generic > &  arg_1  )  [static]

Definition at line 47 of file glue_vector_generic.cpp.

References big_add().

00047                                         {
00048     return big_add (arg_1);
00049   }

static int mmx::GLUE_8 ( const permutation &  arg_1,
const int &  arg_2 
) [static]

Definition at line 49 of file glue_permutation.cpp.

References arg_1.

00049                                                       {
00050     return arg_1 (arg_2);
00051   }

polynomial_carry_variant_helper< mmx_modular(integer) >::PV mmx::GLUE_8 ( const integer &  arg_1,
const modulus< integer > &  arg_2 
)
Type Constraints

Definition at line 70 of file glue_p_expansion_modular_integer.cpp.

References integer_as_p_expansion().

00070                                                                {
00071     return integer_as_p_expansion (arg_1, arg_2);
00072   }

static int mmx::GLUE_8 ( const matrix< rational > &  arg_1  )  [static]

Definition at line 118 of file glue_matrix_rational.cpp.

References cols().

00118                                          {
00119     return cols (arg_1);
00120   }

static int mmx::GLUE_8 ( const matrix< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 116 of file glue_matrix_modular_integer.cpp.

References arg_1, and rows().

00116                                                       {
00117     return rows (arg_1);
00118   }

static int mmx::GLUE_8 ( const matrix< integer > &  arg_1  )  [static]

Definition at line 115 of file glue_matrix_integer.cpp.

References rows().

00115                                         {
00116     return rows (arg_1);
00117   }

static bool mmx::GLUE_8 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 115 of file glue_matrix_generic.cpp.

00115                                                     {
00116     return arg_1 <= arg_2;
00117   }

static algebraic_real mmx::GLUE_8 ( const algebraic_real &  arg_1  )  [static]

Definition at line 98 of file glue_algebraic_number.cpp.

References square().

00098                                        {
00099     return square (arg_1);
00100   }

static algebraic<generic> mmx::GLUE_8 ( const algebraic< generic > &  arg_1  )  [static]
static bool mmx::GLUE_80 ( const complex< rational > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 420 of file glue_vector_rational.cpp.

References arg_2.

00420                                                                                     {
00421     return arg_1 != arg_2;
00422   }

static unknown<rational> mmx::GLUE_80 ( const unknown< rational > &  arg_1,
const unknown< rational > &  arg_2 
) [static]

Definition at line 459 of file glue_series_rational.cpp.

00459                                                                            {
00460     return arg_1 * arg_2;
00461   }

static bool mmx::GLUE_80 ( const polynomial< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 451 of file glue_polynomial_rational.cpp.

00451                                                                                         {
00452     return arg_1 == arg_2;
00453   }

static int mmx::GLUE_80 ( const polynomial< generic > &  arg_1  )  [static]

Definition at line 441 of file glue_polynomial_generic.cpp.

References N().

00441                                              {
00442     return N (arg_1);
00443   }

static matrix<rational> mmx::GLUE_80 ( const vector< rational > &  arg_1  )  [static]
static series<rational> mmx::GLUE_81 ( const routine &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 464 of file glue_series_rational.cpp.

References fixed_point_series().

00464                                                         {
00465     return fixed_point_series (arg_1, arg_2);
00466   }

static bool mmx::GLUE_81 ( const polynomial< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 456 of file glue_polynomial_rational.cpp.

00456                                                                                         {
00457     return arg_1 != arg_2;
00458   }

static int mmx::GLUE_81 ( const polynomial< generic > &  arg_1  )  [static]

Definition at line 446 of file glue_polynomial_generic.cpp.

References deg().

00446                                              {
00447     return deg (arg_1);
00448   }

static matrix<rational> mmx::GLUE_81 ( const vector< rational > &  arg_1  )  [static]

Definition at line 425 of file glue_vector_rational.cpp.

References invert().

00425                                           {
00426     return invert (arg_1);
00427   }

static algebraic_number mmx::GLUE_81 ( const polynomial< rational > &  arg_1,
const mmx_ball(mmx_floating, complex< mmx_floating >)&  arg_2 
) [static]
static series<rational> mmx::GLUE_82 ( const routine &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 469 of file glue_series_rational.cpp.

References integrate_series().

00469                                                         {
00470     return integrate_series (arg_1, arg_2);
00471   }

static bool mmx::GLUE_82 ( const complex< rational > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 461 of file glue_polynomial_rational.cpp.

References arg_2.

00461                                                                                         {
00462     return arg_1 == arg_2;
00463   }

static generic mmx::GLUE_82 ( const polynomial< generic > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 451 of file glue_polynomial_generic.cpp.

00451                                                                {
00452     return arg_1[arg_2];
00453   }

static matrix<rational> mmx::GLUE_82 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 430 of file glue_vector_rational.cpp.

00430                                                                          {
00431     return arg_1 / arg_2;
00432   }

static algebraic_number mmx::GLUE_82 ( const polynomial< rational > &  arg_1,
const polynomial< rational > &  arg_2,
const mmx_ball(mmx_floating, complex< mmx_floating >)&  arg_3 
) [static]
static vector<rational> mmx::GLUE_83 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 435 of file glue_vector_rational.cpp.

00435                                                                  {
00436     return arg_1 / arg_2;
00437   }

static series<rational> mmx::GLUE_83 ( const routine &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 474 of file glue_series_rational.cpp.

References implicit_series().

00474                                                         {
00475     return implicit_series (arg_1, arg_2);
00476   }

static bool mmx::GLUE_83 ( const complex< rational > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 466 of file glue_polynomial_rational.cpp.

References arg_2.

00466                                                                                         {
00467     return arg_1 != arg_2;
00468   }

static polynomial<generic> mmx::GLUE_83 ( const polynomial< generic > &  arg_1  )  [static]

Definition at line 456 of file glue_polynomial_generic.cpp.

00456                                              {
00457     return -arg_1;
00458   }

static matrix<rational> mmx::GLUE_83 ( const vector< rational > &  arg_1  )  [static]
static vector<rational> mmx::GLUE_84 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 440 of file glue_vector_rational.cpp.

00440                                                                  {
00441     return arg_1 / arg_2;
00442   }

static void mmx::GLUE_84 ( const series< complex< rational > > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 479 of file glue_series_rational.cpp.

References arg_1, arg_2, and set_variable_name().

00479                                                                           {
00480     set_variable_name (arg_1, arg_2);
00481   }

static polynomial<complex<rational> > mmx::GLUE_84 ( const polynomial< complex< rational > > &  arg_1  )  [static]

Definition at line 471 of file glue_polynomial_rational.cpp.

References derive().

00471                                                         {
00472     return derive (arg_1);
00473   }

static polynomial<generic> mmx::GLUE_84 ( const polynomial< generic > &  arg_1  )  [static]

Definition at line 461 of file glue_polynomial_generic.cpp.

References square().

00461                                              {
00462     return square (arg_1);
00463   }

static vector<rational> mmx::GLUE_84 ( const matrix< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_85 ( const vector< complex< rational > > &  arg_1  )  [static]

Definition at line 445 of file glue_vector_rational.cpp.

References arg_1, and invert().

00445                                                     {
00446     return invert (arg_1);
00447   }

static void mmx::GLUE_85 ( const series< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 484 of file glue_series_rational.cpp.

References arg_1, and set_output_order().

00484                                                                       {
00485     set_output_order (arg_1, arg_2);
00486   }

static polynomial<complex<rational> > mmx::GLUE_85 ( const polynomial< complex< rational > > &  arg_1  )  [static]

Definition at line 476 of file glue_polynomial_rational.cpp.

References xderive().

00476                                                         {
00477     return xderive (arg_1);
00478   }

static polynomial<generic> mmx::GLUE_85 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]

Definition at line 466 of file glue_polynomial_generic.cpp.

00466                                                                                {
00467     return arg_1 + arg_2;
00468   }

static vector<rational> mmx::GLUE_85 ( const vector< rational > &  arg_1,
const matrix< rational > &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_86 ( const vector< complex< rational > > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 450 of file glue_vector_rational.cpp.

References arg_1, and arg_2.

00450                                                                                              {
00451     return arg_1 / arg_2;
00452   }

static void mmx::GLUE_86 ( const series< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 489 of file glue_series_rational.cpp.

References arg_1, and set_cancel_order().

00489                                                                       {
00490     set_cancel_order (arg_1, arg_2);
00491   }

static complex<rational> mmx::GLUE_86 ( const polynomial< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 481 of file glue_polynomial_rational.cpp.

References evaluate().

00481                                                                                         {
00482     return evaluate (arg_1, arg_2);
00483   }

static polynomial<generic> mmx::GLUE_86 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]

Definition at line 471 of file glue_polynomial_generic.cpp.

00471                                                                                {
00472     return arg_1 - arg_2;
00473   }

static matrix<complex<rational> > mmx::GLUE_86 ( const complex< rational > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]
static vector<complex<rational> > mmx::GLUE_87 ( const complex< rational > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 455 of file glue_vector_rational.cpp.

References arg_2.

00455                                                                                     {
00456     return arg_1 / arg_2;
00457   }

static void mmx::GLUE_87 ( const series< complex< rational > > &  arg_1,
const bool &  arg_2 
) [static]

Definition at line 494 of file glue_series_rational.cpp.

References arg_1, and set_formula_output().

00494                                                                        {
00495     set_formula_output (arg_1, arg_2);
00496   }

static vector<complex<rational> > mmx::GLUE_87 ( const polynomial< complex< rational > > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 486 of file glue_polynomial_rational.cpp.

References arg_2, and evaluate().

00486                                                                                                  {
00487     return evaluate (arg_1, arg_2);
00488   }

static polynomial<generic> mmx::GLUE_87 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]

Definition at line 476 of file glue_polynomial_generic.cpp.

00476                                                                                {
00477     return arg_1 * arg_2;
00478   }

static matrix<complex<rational> > mmx::GLUE_87 ( const complex< rational > &  arg_1,
const int &  arg_2 
) [static]
static vector<complex<rational> > mmx::GLUE_88 ( const vector< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 460 of file glue_vector_rational.cpp.

References arg_1.

00460                                                                                     {
00461     return arg_1 / arg_2;
00462   }

static series<complex<rational> > mmx::GLUE_88 ( const tuple< complex< rational > > &  arg_1  )  [static]

Definition at line 499 of file glue_series_rational.cpp.

References arg_1, and as_vector().

00499                                                    {
00500     return series<complex<rational> > (as_vector (arg_1));
00501   }

static complex<rational> mmx::GLUE_88 ( const polynomial< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 491 of file glue_polynomial_rational.cpp.

References evaluate().

00491                                                                                         {
00492     return evaluate (arg_1, arg_2);
00493   }

static polynomial<generic> mmx::GLUE_88 ( const polynomial< generic > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 481 of file glue_polynomial_generic.cpp.

References binpow().

00481                                                                {
00482     return binpow (arg_1, arg_2);
00483   }

static matrix<complex<rational> > mmx::GLUE_88 ( const vector< complex< rational > > &  arg_1  )  [static]
static bool mmx::GLUE_89 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 465 of file glue_vector_rational.cpp.

00465                                                                          {
00466     return arg_1 <= arg_2;
00467   }

static series<complex<rational> > mmx::GLUE_89 ( const complex< rational > &  arg_1  )  [static]

Definition at line 504 of file glue_series_rational.cpp.

00504                                            {
00505     return series<complex<rational> > (arg_1);
00506   }

static vector<complex<rational> > mmx::GLUE_89 ( const polynomial< complex< rational > > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]

Definition at line 496 of file glue_polynomial_rational.cpp.

References arg_2, and evaluate().

00496                                                                                                  {
00497     return evaluate (arg_1, arg_2);
00498   }

static polynomial<generic> mmx::GLUE_89 ( const polynomial< generic > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 486 of file glue_polynomial_generic.cpp.

References lshiftz().

00486                                                                {
00487     return lshiftz (arg_1, arg_2);
00488   }

static matrix<complex<rational> > mmx::GLUE_89 ( const vector< complex< rational > > &  arg_1  )  [static]
static vector<rational> mmx::GLUE_9 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 65 of file glue_vector_rational.cpp.

00065                                                                         {
00066     return append (arg_1, arg_2);
00067   }

static vector<integer> mmx::GLUE_9 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 60 of file glue_vector_integer.cpp.

00060                                                                       {
00061     return append (arg_1, arg_2);
00062   }

static vector<int> mmx::GLUE_9 ( const vector< int > &  arg_1,
const vector< int > &  arg_2 
) [static]

Definition at line 54 of file glue_vector_int.cpp.

00054                                                               {
00055     return append (arg_1, arg_2);
00056   }

static rational mmx::GLUE_9 ( const series< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 104 of file glue_series_rational.cpp.

00104                                                            {
00105     return arg_1[arg_2];
00106   }

static series<mmx_modular(integer) > mmx::GLUE_9 ( const polynomial< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 100 of file glue_series_modular_integer.cpp.

References arg_1.

00100                                                           {
00101     return series<mmx_modular(integer) > (arg_1);
00102   }

static generic mmx::GLUE_9 ( const series< generic > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 96 of file glue_series_generic.cpp.

00096                                                           {
00097     return arg_1[arg_2];
00098   }

static quotient< polynomial<rational> , polynomial<rational> > mmx::GLUE_9 ( const quotient< polynomial< rational >, polynomial< rational > > &  arg_1,
const quotient< polynomial< rational >, polynomial< rational > > &  arg_2 
) [static]

Definition at line 97 of file glue_quotient_polynomial_rational.cpp.

00097                                                                                                                     {
00098     return arg_1 + arg_2;
00099   }

static polynomial<rational> mmx::GLUE_9 ( const polynomial< rational > &  arg_1  )  [static]

Definition at line 96 of file glue_polynomial_rational.cpp.

00096                                              {
00097     return -arg_1;
00098   }

static polynomial<series< mmx_modular(integer) , series_carry_variant_helper< mmx_modular(integer) >::SV> > mmx::GLUE_9 ( const polynomial< series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > > &  arg_1  )  [static]

Definition at line 110 of file glue_polynomial_p_adic_modular_integer.cpp.

References arg_1.

00110                                                                           {
00111     return -arg_1;
00112   }

static polynomial<integer> mmx::GLUE_9 ( const polynomial< integer > &  arg_1  )  [static]

Definition at line 96 of file glue_series_integer.cpp.

00096                                             {
00097     return series<integer > (arg_1);
00098   }

static bool mmx::GLUE_9 ( const vector< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 52 of file glue_vector_generic.cpp.

00052                                                                       {
00053     return arg_1 == arg_2;
00054   }

static int mmx::GLUE_9 ( const permutation &  arg_1  )  [static]

Definition at line 54 of file glue_permutation.cpp.

References nr_transpositions().

00054                                     {
00055     return nr_transpositions (arg_1);
00056   }

polynomial_carry_variant_helper< mmx_modular(integer) >::PV mmx::GLUE_9 ( const series< mmx_modular(integer), series_carry_variant_helper< mmx_modular(integer) >::SV > &  arg_1,
const int &  arg_2,
const int &  arg_3 
)
Type Constraints

Definition at line 79 of file glue_p_adic_modular_integer.cpp.

References range().

00079                                                                                                  {
00080     return range (arg_1, arg_2, arg_3);
00081   }

static rational mmx::GLUE_9 ( const matrix< rational > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 123 of file glue_matrix_rational.cpp.

References arg_1.

00123                                                                              {
00124     return arg_1 (arg_2, arg_3);
00125   }

static int mmx::GLUE_9 ( const matrix< mmx_modular(integer) > &  arg_1  )  [static]

Definition at line 121 of file glue_matrix_modular_integer.cpp.

References arg_1, and cols().

00121                                                       {
00122     return cols (arg_1);
00123   }

static int mmx::GLUE_9 ( const matrix< integer > &  arg_1  )  [static]

Definition at line 120 of file glue_matrix_integer.cpp.

References cols().

00120                                         {
00121     return cols (arg_1);
00122   }

static bool mmx::GLUE_9 ( const string &  arg_1,
const string &  arg_2 
) [static]

Definition at line 120 of file glue_matrix_generic.cpp.

00120                                                     {
00121     return arg_1 > arg_2;
00122   }

static algebraic_real mmx::GLUE_9 ( const algebraic_real &  arg_1,
const algebraic_real &  arg_2 
) [static]

Definition at line 103 of file glue_algebraic_number.cpp.

00103                                                                     {
00104     return arg_1 + arg_2;
00105   }

static algebraic<generic> mmx::GLUE_9 ( const algebraic< generic > &  arg_1,
const algebraic< generic > &  arg_2 
) [static]
static bool mmx::GLUE_90 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 470 of file glue_vector_rational.cpp.

00470                                                                          {
00471     return arg_1 >= arg_2;
00472   }

static series<complex<rational> > mmx::GLUE_90 ( const polynomial< complex< rational > > &  arg_1  )  [static]

Definition at line 509 of file glue_series_rational.cpp.

References arg_1.

00509                                                         {
00510     return series<complex<rational> > (arg_1);
00511   }

static polynomial<rational> mmx::GLUE_90 ( const vector< rational > &  arg_1  )  [static]

Definition at line 501 of file glue_polynomial_rational.cpp.

References annulator().

00501                                           {
00502     return annulator (arg_1);
00503   }

static polynomial<generic> mmx::GLUE_90 ( const polynomial< generic > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 491 of file glue_polynomial_generic.cpp.

References rshiftz().

00491                                                                {
00492     return rshiftz (arg_1, arg_2);
00493   }

static matrix<complex<rational> > mmx::GLUE_90 ( const vector< complex< rational > > &  arg_1,
const vector< complex< rational > > &  arg_2 
) [static]
static iterator<generic> mmx::GLUE_91 ( const series< complex< rational > > &  arg_1  )  [static]

Definition at line 514 of file glue_series_rational.cpp.

References arg_1, and iterate().

00514                                                     {
00515     return as<iterator<generic> > (iterate (arg_1));
00516   }

static polynomial<rational> mmx::GLUE_91 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 475 of file glue_vector_rational.cpp.

00475                                                                          {
00476     return arg_1 < arg_2;
00477   }

static bool mmx::GLUE_91 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]

Definition at line 496 of file glue_polynomial_generic.cpp.

00496                                                                                {
00497     return arg_1 == arg_2;
00498   }

static matrix<complex<rational> > mmx::GLUE_91 ( const vector< complex< rational > > &  arg_1  )  [static]
static bool mmx::GLUE_92 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 480 of file glue_vector_rational.cpp.

00480                                                                          {
00481     return arg_1 > arg_2;
00482   }

static complex<rational> mmx::GLUE_92 ( const series< complex< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 519 of file glue_series_rational.cpp.

References arg_1.

00519                                                                       {
00520     return arg_1[arg_2];
00521   }

static polynomial<complex<rational> > mmx::GLUE_92 ( const polynomial< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 511 of file glue_polynomial_rational.cpp.

00511                                                                                         {
00512     return arg_1 / arg_2;
00513   }

static bool mmx::GLUE_92 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]

Definition at line 501 of file glue_polynomial_generic.cpp.

00501                                                                                {
00502     return arg_1 != arg_2;
00503   }

static matrix<complex<rational> > mmx::GLUE_92 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 538 of file glue_matrix_rational.cpp.

References arg_1.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), glue_series_rational(), and glue_vector_rational().

00538                                                     {
00539     return -arg_1;
00540   }

static bool mmx::GLUE_93 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 485 of file glue_vector_rational.cpp.

00485                                                                  {
00486     return arg_1 <= arg_2;
00487   }

static polynomial<complex<rational> > mmx::GLUE_93 ( const series< complex< rational > > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 524 of file glue_series_rational.cpp.

References arg_1, and range().

00524                                                                                         {
00525     return range (arg_1, arg_2, arg_3);
00526   }

static polynomial<complex<rational> > mmx::GLUE_93 ( const polynomial< complex< rational > > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 516 of file glue_polynomial_rational.cpp.

References arg_2.

00516                                                                                                      {
00517     return arg_1 / arg_2;
00518   }

static polynomial<generic> mmx::GLUE_93 ( const polynomial< generic > &  arg_1  )  [static]

Definition at line 506 of file glue_polynomial_generic.cpp.

References derive().

00506                                              {
00507     return derive (arg_1);
00508   }

static matrix<complex<rational> > mmx::GLUE_93 ( const matrix< complex< rational > > &  arg_1  )  [static]

Definition at line 543 of file glue_matrix_rational.cpp.

References arg_1, and square().

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), glue_series_rational(), and glue_vector_rational().

00543                                                     {
00544     return square (arg_1);
00545   }

static bool mmx::GLUE_94 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 490 of file glue_vector_rational.cpp.

00490                                                                  {
00491     return arg_1 >= arg_2;
00492   }

static series<complex<rational> > mmx::GLUE_94 ( const series< complex< rational > > &  arg_1  )  [static]

Definition at line 529 of file glue_series_rational.cpp.

References arg_1.

00529                                                     {
00530     return -arg_1;
00531   }

static polynomial<complex<rational> > mmx::GLUE_94 ( const polynomial< complex< rational > > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 521 of file glue_polynomial_rational.cpp.

References arg_2, and quo().

00521                                                                                                      {
00522     return quo (arg_1, arg_2);
00523   }

static polynomial<generic> mmx::GLUE_94 ( const polynomial< generic > &  arg_1  )  [static]

Definition at line 511 of file glue_polynomial_generic.cpp.

References xderive().

00511                                              {
00512     return xderive (arg_1);
00513   }

static matrix<complex<rational> > mmx::GLUE_94 ( const matrix< complex< rational > > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 548 of file glue_matrix_rational.cpp.

References arg_1, and arg_2.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), glue_series_rational(), and glue_vector_rational().

00548                                                                                              {
00549     return arg_1 + arg_2;
00550   }

static bool mmx::GLUE_95 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 495 of file glue_vector_rational.cpp.

00495                                                                  {
00496     return arg_1 < arg_2;
00497   }

static series<complex<rational> > mmx::GLUE_95 ( const series< complex< rational > > &  arg_1  )  [static]

Definition at line 534 of file glue_series_rational.cpp.

References arg_1, and square().

00534                                                     {
00535     return square (arg_1);
00536   }

static polynomial<complex<rational> > mmx::GLUE_95 ( const polynomial< complex< rational > > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 526 of file glue_polynomial_rational.cpp.

References arg_2, and rem().

00526                                                                                                      {
00527     return rem (arg_1, arg_2);
00528   }

static generic mmx::GLUE_95 ( const polynomial< generic > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 516 of file glue_polynomial_generic.cpp.

References arg_2, and evaluate().

00516                                                                    {
00517     return evaluate (arg_1, arg_2);
00518   }

static matrix<complex<rational> > mmx::GLUE_95 ( const matrix< complex< rational > > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 553 of file glue_matrix_rational.cpp.

References arg_1, and arg_2.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), glue_series_rational(), and glue_vector_rational().

00553                                                                                              {
00554     return arg_1 - arg_2;
00555   }

static bool mmx::GLUE_96 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 500 of file glue_vector_rational.cpp.

00500                                                                  {
00501     return arg_1 > arg_2;
00502   }

static series<complex<rational> > mmx::GLUE_96 ( const series< complex< rational > > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 539 of file glue_series_rational.cpp.

References arg_1, and arg_2.

00539                                                                                              {
00540     return arg_1 + arg_2;
00541   }

static bool mmx::GLUE_96 ( const polynomial< complex< rational > > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 531 of file glue_polynomial_rational.cpp.

References arg_2, and divides().

00531                                                                                                      {
00532     return divides (arg_1, arg_2);
00533   }

static vector<generic> mmx::GLUE_96 ( const polynomial< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 521 of file glue_polynomial_generic.cpp.

References evaluate().

00521                                                                            {
00522     return evaluate (arg_1, arg_2);
00523   }

static matrix<complex<rational> > mmx::GLUE_96 ( const matrix< complex< rational > > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 558 of file glue_matrix_rational.cpp.

References arg_1, and arg_2.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), glue_series_rational(), and glue_vector_rational().

00558                                                                                              {
00559     return arg_1 * arg_2;
00560   }

static bool mmx::GLUE_97 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 505 of file glue_vector_rational.cpp.

00505                                                                  {
00506     return arg_1 <= arg_2;
00507   }

static series<complex<rational> > mmx::GLUE_97 ( const series< complex< rational > > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 544 of file glue_series_rational.cpp.

References arg_1, and arg_2.

00544                                                                                              {
00545     return arg_1 - arg_2;
00546   }

static polynomial<complex<rational> > mmx::GLUE_97 ( const polynomial< complex< rational > > &  arg_1,
const polynomial< complex< rational > > &  arg_2,
const int &  arg_3 
) [static]

Definition at line 536 of file glue_polynomial_rational.cpp.

References arg_2, and subresultant().

00536                                                                                                                        {
00537     return subresultant (arg_1, arg_2, arg_3);
00538   }

static generic mmx::GLUE_97 ( const polynomial< generic > &  arg_1,
const generic &  arg_2 
) [static]

Definition at line 526 of file glue_polynomial_generic.cpp.

References arg_2, and evaluate().

00526                                                                    {
00527     return evaluate (arg_1, arg_2);
00528   }

static matrix<complex<rational> > mmx::GLUE_97 ( const complex< rational > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 563 of file glue_matrix_rational.cpp.

References arg_2.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), glue_series_rational(), and glue_vector_rational().

00563                                                                                     {
00564     return arg_1 + arg_2;
00565   }

static bool mmx::GLUE_98 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 510 of file glue_vector_rational.cpp.

00510                                                                  {
00511     return arg_1 >= arg_2;
00512   }

static series<complex<rational> > mmx::GLUE_98 ( const series< complex< rational > > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 549 of file glue_series_rational.cpp.

References arg_1, and arg_2.

00549                                                                                              {
00550     return arg_1 * arg_2;
00551   }

static vector<generic> mmx::GLUE_98 ( const polynomial< complex< rational > > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 541 of file glue_polynomial_rational.cpp.

References arg_2, and wrap_subresultants().

00541                                                                                                      {
00542     return wrap_subresultants (arg_1, arg_2);
00543   }

static vector<generic> mmx::GLUE_98 ( const polynomial< generic > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 531 of file glue_polynomial_generic.cpp.

References evaluate().

00531                                                                            {
00532     return evaluate (arg_1, arg_2);
00533   }

static matrix<complex<rational> > mmx::GLUE_98 ( const matrix< complex< rational > > &  arg_1,
const complex< rational > &  arg_2 
) [static]

Definition at line 568 of file glue_matrix_rational.cpp.

References arg_1.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), glue_series_rational(), and glue_vector_rational().

00568                                                                                     {
00569     return arg_1 + arg_2;
00570   }

static bool mmx::GLUE_99 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 515 of file glue_vector_rational.cpp.

00515                                                                  {
00516     return arg_1 < arg_2;
00517   }

static series<complex<rational> > mmx::GLUE_99 ( const complex< rational > &  arg_1,
const series< complex< rational > > &  arg_2 
) [static]

Definition at line 554 of file glue_series_rational.cpp.

References arg_2.

00554                                                                                     {
00555     return arg_1 + arg_2;
00556   }

static complex<rational> mmx::GLUE_99 ( const polynomial< complex< rational > > &  arg_1,
const polynomial< complex< rational > > &  arg_2 
) [static]

Definition at line 546 of file glue_polynomial_rational.cpp.

References arg_2, and resultant().

00546                                                                                                      {
00547     return resultant (arg_1, arg_2);
00548   }

static polynomial<generic> mmx::GLUE_99 ( const polynomial< generic > &  arg_1,
const polynomial< generic > &  arg_2 
) [static]

Definition at line 536 of file glue_polynomial_generic.cpp.

00536                                                                                {
00537     return arg_1 / arg_2;
00538   }

static matrix<complex<rational> > mmx::GLUE_99 ( const complex< rational > &  arg_1,
const matrix< complex< rational > > &  arg_2 
) [static]

Definition at line 573 of file glue_matrix_rational.cpp.

References arg_2.

Referenced by glue_matrix_rational(), glue_polynomial_generic(), glue_polynomial_rational(), glue_series_rational(), and glue_vector_rational().

00573                                                                                     {
00574     return arg_1 - arg_2;
00575   }

void glue_algebraic_generic (  ) 

Referenced by glue_algebramix().

void glue_algebraic_number (  ) 

Referenced by glue_algebramix().

void mmx::glue_algebramix (  ) 

Definition at line 34 of file glue_algebramix.cpp.

References glue_algebraic_generic(), glue_algebraic_number(), glue_matrix_generic(), glue_matrix_integer(), glue_matrix_modular_integer(), glue_matrix_rational(), glue_p_adic_modular_integer(), glue_p_expansion_modular_integer(), glue_permutation(), glue_polynomial_generic(), glue_polynomial_integer(), glue_polynomial_modular_integer(), glue_polynomial_p_adic_modular_integer(), glue_polynomial_rational(), glue_quotient_generic(), glue_quotient_polynomial_rational(), glue_series_generic(), glue_series_integer(), glue_series_modular_integer(), glue_series_rational(), glue_table_generic(), glue_vector_generic(), glue_vector_int(), glue_vector_integer(), glue_vector_modular_integer(), and glue_vector_rational().

00034                      {
00035     static bool done = false;
00036     if (done) return;
00037     done = true;
00038     register_glue (string ("glue_algebraic_generic"), (& (glue_algebraic_generic)));
00039     register_glue (string ("glue_algebraic_number"), (& (glue_algebraic_number)));
00040     register_glue (string ("glue_matrix_generic"), (& (glue_matrix_generic)));
00041     register_glue (string ("glue_matrix_integer"), (& (glue_matrix_integer)));
00042     register_glue (string ("glue_matrix_modular_integer"), (& (glue_matrix_modular_integer)));
00043     register_glue (string ("glue_matrix_rational"), (& (glue_matrix_rational)));
00044     register_glue (string ("glue_p_adic_modular_integer"), (& (glue_p_adic_modular_integer)));
00045     register_glue (string ("glue_p_expansion_modular_integer"), (& (glue_p_expansion_modular_integer)));
00046     register_glue (string ("glue_permutation"), (& (glue_permutation)));
00047     register_glue (string ("glue_polynomial_generic"), (& (glue_polynomial_generic)));
00048     register_glue (string ("glue_polynomial_integer"), (& (glue_polynomial_integer)));
00049     register_glue (string ("glue_polynomial_modular_integer"), (& (glue_polynomial_modular_integer)));
00050     register_glue (string ("glue_polynomial_p_adic_modular_integer"), (& (glue_polynomial_p_adic_modular_integer)));
00051     register_glue (string ("glue_polynomial_rational"), (& (glue_polynomial_rational)));
00052     register_glue (string ("glue_quotient_generic"), (& (glue_quotient_generic)));
00053     register_glue (string ("glue_quotient_polynomial_rational"), (& (glue_quotient_polynomial_rational)));
00054     register_glue (string ("glue_series_generic"), (& (glue_series_generic)));
00055     register_glue (string ("glue_series_integer"), (& (glue_series_integer)));
00056     register_glue (string ("glue_series_modular_integer"), (& (glue_series_modular_integer)));
00057     register_glue (string ("glue_series_rational"), (& (glue_series_rational)));
00058     register_glue (string ("glue_table_generic"), (& (glue_table_generic)));
00059     register_glue (string ("glue_vector_generic"), (& (glue_vector_generic)));
00060     register_glue (string ("glue_vector_int"), (& (glue_vector_int)));
00061     register_glue (string ("glue_vector_integer"), (& (glue_vector_integer)));
00062     register_glue (string ("glue_vector_modular_integer"), (& (glue_vector_modular_integer)));
00063     register_glue (string ("glue_vector_rational"), (& (glue_vector_rational)));
00064     register_glue (string ("glue_algebramix"), (& (glue_algebramix)));
00065     dl_link ("numerix");
00066     glue_algebraic_generic ();
00067     glue_algebraic_number ();
00068     glue_matrix_generic ();
00069     glue_matrix_integer ();
00070     glue_matrix_modular_integer ();
00071     glue_matrix_rational ();
00072     glue_p_adic_modular_integer ();
00073     glue_p_expansion_modular_integer ();
00074     glue_permutation ();
00075     glue_polynomial_generic ();
00076     glue_polynomial_integer ();
00077     glue_polynomial_modular_integer ();
00078     glue_polynomial_p_adic_modular_integer ();
00079     glue_polynomial_rational ();
00080     glue_quotient_generic ();
00081     glue_quotient_polynomial_rational ();
00082     glue_series_generic ();
00083     glue_series_integer ();
00084     glue_series_modular_integer ();
00085     glue_series_rational ();
00086     glue_table_generic ();
00087     glue_vector_generic ();
00088     glue_vector_int ();
00089     glue_vector_integer ();
00090     glue_vector_modular_integer ();
00091     glue_vector_rational ();
00092   }

void glue_matrix_generic (  ) 

Definition at line 460 of file glue_matrix_generic.cpp.

References GLUE_1(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_39(), GLUE_4(), GLUE_40(), GLUE_41(), GLUE_42(), GLUE_43(), GLUE_44(), GLUE_45(), GLUE_46(), GLUE_47(), GLUE_48(), GLUE_49(), GLUE_5(), GLUE_50(), GLUE_51(), GLUE_52(), GLUE_53(), GLUE_54(), GLUE_55(), GLUE_56(), GLUE_57(), GLUE_58(), GLUE_59(), GLUE_6(), GLUE_60(), GLUE_61(), GLUE_62(), GLUE_63(), GLUE_64(), GLUE_65(), GLUE_66(), GLUE_67(), GLUE_68(), GLUE_69(), GLUE_7(), GLUE_70(), GLUE_71(), GLUE_72(), GLUE_73(), GLUE_74(), GLUE_75(), GLUE_76(), GLUE_8(), and GLUE_9().

Referenced by glue_algebramix().

00460                          {
00461     static bool done = false;
00462     if (done) return;
00463     done = true;
00464     call_glue (string ("glue_basix_vector_generic"));
00465     call_glue (string ("glue_vector_int"));
00466     call_glue (string ("glue_permutation"));
00467     define ("string?", GLUE_1);
00468     define ("#", GLUE_2);
00469     define (".[]", GLUE_3);
00470     define ("*", GLUE_4);
00471     define ("><", GLUE_5);
00472     define ("<<", GLUE_6);
00473     define ("<", GLUE_7);
00474     define ("<=", GLUE_8);
00475     define (">", GLUE_9);
00476     define (">=", GLUE_10);
00477     define ("starts?", GLUE_11);
00478     define ("ends?", GLUE_12);
00479     define ("replace", GLUE_13);
00480     define ("search_forwards", GLUE_14);
00481     define ("search_backwards", GLUE_15);
00482     define ("upcase", GLUE_16);
00483     define ("locase", GLUE_17);
00484     define ("upcase_first", GLUE_18);
00485     define ("locase_first", GLUE_19);
00486     define ("quote", GLUE_20);
00487     define ("unquote", GLUE_21);
00488     define ("ascii", GLUE_22);
00489     define ("ascii_code", GLUE_23);
00490     define ("literal?", GLUE_24);
00491     define (".()", GLUE_25);
00492     define (".[]", GLUE_26);
00493     define ("as_literal", GLUE_27);
00494     define ("as_string", GLUE_28);
00495     define_constructor<int > (GLUE_29);
00496     define_type<row_tuple<generic> > (gen (lit ("Row"), lit ("Generic")));
00497     define_type<matrix<generic> > (gen (lit ("Matrix"), lit ("Generic")));
00498     define ("(.)", GLUE_30);
00499     define ("matrix", GLUE_31);
00500     define ("matrix", GLUE_32);
00501     define ("[]", GLUE_33);
00502     define ("#", GLUE_34);
00503     define ("rows", GLUE_35);
00504     define ("columns", GLUE_36);
00505     define (".[]", GLUE_37);
00506     define (".[]", GLUE_38);
00507     define (".[]", GLUE_39);
00508     define ("row", GLUE_40);
00509     define ("column", GLUE_41);
00510     define ("transpose", GLUE_42);
00511     define ("horizontal_join", GLUE_43);
00512     define ("vertical_join", GLUE_44);
00513     define ("*", GLUE_45);
00514     define ("*", GLUE_46);
00515     define ("fill_matrix", GLUE_47);
00516     define ("jordan_matrix", GLUE_48);
00517     define ("toeplitz_matrix", GLUE_49);
00518     define ("hankel_matrix", GLUE_50);
00519     define ("tensor_matrix", GLUE_51);
00520     define ("vandermonde", GLUE_52);
00521     define ("-", GLUE_53);
00522     define ("square", GLUE_54);
00523     define ("+", GLUE_55);
00524     define ("-", GLUE_56);
00525     define ("*", GLUE_57);
00526     define ("*", GLUE_58);
00527     define ("*", GLUE_59);
00528     define ("=", GLUE_60);
00529     define ("!=", GLUE_61);
00530     define ("krylov", GLUE_62);
00531     define ("det", GLUE_63);
00532     define ("row_echelon", GLUE_64);
00533     define ("column_echelon", GLUE_65);
00534     define ("row_reduced_echelon", GLUE_66);
00535     define ("column_reduced_echelon", GLUE_67);
00536     define ("row_reduced_echelon_with_transform", GLUE_68);
00537     define ("column_reduced_echelon_with_transform", GLUE_69);
00538     define ("column_reduced_echelon_with_permutation", GLUE_70);
00539     define ("ker", GLUE_71);
00540     define ("im", GLUE_72);
00541     define ("rank", GLUE_73);
00542     define ("invert", GLUE_74);
00543     define ("derive", GLUE_75);
00544     define ("integrate", GLUE_76);
00545   }

void glue_matrix_integer (  ) 

Definition at line 320 of file glue_matrix_integer.cpp.

References GLUE_1(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_39(), GLUE_4(), GLUE_40(), GLUE_41(), GLUE_42(), GLUE_43(), GLUE_44(), GLUE_45(), GLUE_46(), GLUE_47(), GLUE_48(), GLUE_5(), GLUE_6(), GLUE_7(), GLUE_8(), and GLUE_9().

Referenced by glue_algebramix().

00320                          {
00321     static bool done = false;
00322     if (done) return;
00323     done = true;
00324     call_glue (string ("glue_vector_integer"));
00325     call_glue (string ("glue_matrix_generic"));
00326     define ("^", GLUE_1);
00327     define_type<row_tuple<integer> > (gen (lit ("Row"), lit ("Integer")));
00328     define_type<matrix<integer> > (gen (lit ("Matrix"), lit ("Integer")));
00329     define ("identity_matrix", GLUE_2);
00330     define ("(.)", GLUE_3);
00331     define ("matrix", GLUE_4);
00332     define ("matrix", GLUE_5);
00333     define ("[]", GLUE_6);
00334     define ("#", GLUE_7);
00335     define ("rows", GLUE_8);
00336     define ("columns", GLUE_9);
00337     define (".[]", GLUE_10);
00338     define (".[]", GLUE_11);
00339     define (".[]", GLUE_12);
00340     define ("transpose", GLUE_13);
00341     define ("horizontal_join", GLUE_14);
00342     define ("vertical_join", GLUE_15);
00343     define ("*", GLUE_16);
00344     define ("*", GLUE_17);
00345     define ("fill_matrix", GLUE_18);
00346     define ("jordan_matrix", GLUE_19);
00347     define ("-", GLUE_20);
00348     define ("square", GLUE_21);
00349     define ("+", GLUE_22);
00350     define ("-", GLUE_23);
00351     define ("*", GLUE_24);
00352     define ("+", GLUE_25);
00353     define ("+", GLUE_26);
00354     define ("-", GLUE_27);
00355     define ("-", GLUE_28);
00356     define ("*", GLUE_29);
00357     define ("*", GLUE_30);
00358     define ("=", GLUE_31);
00359     define ("!=", GLUE_32);
00360     define ("=", GLUE_33);
00361     define ("!=", GLUE_34);
00362     define ("=", GLUE_35);
00363     define ("!=", GLUE_36);
00364     define_converter (":>", GLUE_37, PENALTY_PROMOTE_GENERIC);
00365     define_converter (":>", GLUE_38, PENALTY_PROMOTE_GENERIC);
00366     define_converter (":>", GLUE_39, PENALTY_INCLUSION);
00367     define_converter (":>", GLUE_40, PENALTY_INCLUSION);
00368     define ("row", GLUE_41);
00369     define ("column", GLUE_42);
00370     define ("toeplitz_matrix", GLUE_43);
00371     define ("hankel_matrix", GLUE_44);
00372     define ("tensor_matrix", GLUE_45);
00373     define ("vandermonde", GLUE_46);
00374     define ("*", GLUE_47);
00375     define ("*", GLUE_48);
00376   }

void mmx::glue_matrix_modular_integer (  ) 

Referenced by glue_algebramix().

void glue_matrix_rational (  ) 

Definition at line 723 of file glue_matrix_rational.cpp.

References GLUE_1(), GLUE_10(), GLUE_100(), GLUE_101(), GLUE_102(), GLUE_103(), GLUE_104(), GLUE_105(), GLUE_106(), GLUE_107(), GLUE_108(), GLUE_109(), GLUE_11(), GLUE_110(), GLUE_111(), GLUE_112(), GLUE_113(), GLUE_114(), GLUE_115(), GLUE_116(), GLUE_117(), GLUE_118(), GLUE_119(), GLUE_12(), GLUE_120(), GLUE_121(), GLUE_122(), GLUE_123(), GLUE_124(), GLUE_125(), GLUE_126(), GLUE_127(), GLUE_128(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_39(), GLUE_4(), GLUE_40(), GLUE_41(), GLUE_42(), GLUE_43(), GLUE_44(), GLUE_45(), GLUE_46(), GLUE_47(), GLUE_48(), GLUE_49(), GLUE_5(), GLUE_50(), GLUE_51(), GLUE_52(), GLUE_53(), GLUE_54(), GLUE_55(), GLUE_56(), GLUE_57(), GLUE_58(), GLUE_59(), GLUE_6(), GLUE_60(), GLUE_61(), GLUE_62(), GLUE_63(), GLUE_64(), GLUE_65(), GLUE_66(), GLUE_67(), GLUE_68(), GLUE_69(), GLUE_7(), GLUE_70(), GLUE_71(), GLUE_72(), GLUE_73(), GLUE_74(), GLUE_75(), GLUE_76(), GLUE_77(), GLUE_78(), GLUE_79(), GLUE_8(), GLUE_80(), GLUE_81(), GLUE_82(), GLUE_83(), GLUE_84(), GLUE_85(), GLUE_86(), GLUE_87(), GLUE_88(), GLUE_89(), GLUE_9(), GLUE_90(), GLUE_91(), GLUE_92(), GLUE_93(), GLUE_94(), GLUE_95(), GLUE_96(), GLUE_97(), GLUE_98(), and GLUE_99().

Referenced by glue_algebramix().

00723                           {
00724     static bool done = false;
00725     if (done) return;
00726     done = true;
00727     call_glue (string ("glue_vector_rational"));
00728     call_glue (string ("glue_matrix_integer"));
00729     define_type<row_tuple<rational> > (gen (lit ("Row"), lit ("Rational")));
00730     define_type<row_tuple<complex<rational> > > (gen (lit ("Row"), gen (lit ("Complex"), lit ("Rational"))));
00731     define_type<matrix<rational> > (gen (lit ("Matrix"), lit ("Rational")));
00732     define_type<matrix<complex<rational> > > (gen (lit ("Matrix"), gen (lit ("Complex"), lit ("Rational"))));
00733     define ("hilbert_matrix", GLUE_1);
00734     define ("(.)", GLUE_2);
00735     define ("matrix", GLUE_3);
00736     define ("matrix", GLUE_4);
00737     define ("[]", GLUE_5);
00738     define ("#", GLUE_6);
00739     define ("rows", GLUE_7);
00740     define ("columns", GLUE_8);
00741     define (".[]", GLUE_9);
00742     define (".[]", GLUE_10);
00743     define (".[]", GLUE_11);
00744     define ("transpose", GLUE_12);
00745     define ("horizontal_join", GLUE_13);
00746     define ("vertical_join", GLUE_14);
00747     define ("*", GLUE_15);
00748     define ("*", GLUE_16);
00749     define ("fill_matrix", GLUE_17);
00750     define ("jordan_matrix", GLUE_18);
00751     define ("-", GLUE_19);
00752     define ("square", GLUE_20);
00753     define ("+", GLUE_21);
00754     define ("-", GLUE_22);
00755     define ("*", GLUE_23);
00756     define ("+", GLUE_24);
00757     define ("+", GLUE_25);
00758     define ("-", GLUE_26);
00759     define ("-", GLUE_27);
00760     define ("*", GLUE_28);
00761     define ("*", GLUE_29);
00762     define ("=", GLUE_30);
00763     define ("!=", GLUE_31);
00764     define ("=", GLUE_32);
00765     define ("!=", GLUE_33);
00766     define ("=", GLUE_34);
00767     define ("!=", GLUE_35);
00768     define ("/", GLUE_36);
00769     define ("/", GLUE_37);
00770     define ("krylov", GLUE_38);
00771     define ("det", GLUE_39);
00772     define ("row_echelon", GLUE_40);
00773     define ("column_echelon", GLUE_41);
00774     define ("row_reduced_echelon", GLUE_42);
00775     define ("column_reduced_echelon", GLUE_43);
00776     define ("row_reduced_echelon_with_transform", GLUE_44);
00777     define ("column_reduced_echelon_with_transform", GLUE_45);
00778     define ("column_reduced_echelon_with_permutation", GLUE_46);
00779     define ("ker", GLUE_47);
00780     define ("im", GLUE_48);
00781     define ("rank", GLUE_49);
00782     define ("invert", GLUE_50);
00783     define_converter (":>", GLUE_51, PENALTY_INCLUSION);
00784     define_converter (":>", GLUE_52, PENALTY_INCLUSION);
00785     define_converter (":>", GLUE_53, PENALTY_HOMOMORPHISM);
00786     define_converter (":>", GLUE_54, PENALTY_HOMOMORPHISM);
00787     define_converter (":>", GLUE_55, PENALTY_PROMOTE_GENERIC);
00788     define_converter (":>", GLUE_56, PENALTY_PROMOTE_GENERIC);
00789     define_converter (":>", GLUE_57, PENALTY_PROMOTE_GENERIC);
00790     define_converter (":>", GLUE_58, PENALTY_PROMOTE_GENERIC);
00791     define_converter (":>", GLUE_59, PENALTY_INCLUSION);
00792     define_converter (":>", GLUE_60, PENALTY_HOMOMORPHISM);
00793     define ("row", GLUE_61);
00794     define ("column", GLUE_62);
00795     define ("(.)", GLUE_63);
00796     define ("matrix", GLUE_64);
00797     define ("matrix", GLUE_65);
00798     define ("[]", GLUE_66);
00799     define ("#", GLUE_67);
00800     define ("rows", GLUE_68);
00801     define ("columns", GLUE_69);
00802     define (".[]", GLUE_70);
00803     define (".[]", GLUE_71);
00804     define (".[]", GLUE_72);
00805     define ("row", GLUE_73);
00806     define ("column", GLUE_74);
00807     define ("transpose", GLUE_75);
00808     define ("horizontal_join", GLUE_76);
00809     define ("vertical_join", GLUE_77);
00810     define ("*", GLUE_78);
00811     define ("*", GLUE_79);
00812     define ("toeplitz_matrix", GLUE_80);
00813     define ("hankel_matrix", GLUE_81);
00814     define ("tensor_matrix", GLUE_82);
00815     define ("vandermonde", GLUE_83);
00816     define ("*", GLUE_84);
00817     define ("*", GLUE_85);
00818     define ("fill_matrix", GLUE_86);
00819     define ("jordan_matrix", GLUE_87);
00820     define ("toeplitz_matrix", GLUE_88);
00821     define ("hankel_matrix", GLUE_89);
00822     define ("tensor_matrix", GLUE_90);
00823     define ("vandermonde", GLUE_91);
00824     define ("-", GLUE_92);
00825     define ("square", GLUE_93);
00826     define ("+", GLUE_94);
00827     define ("-", GLUE_95);
00828     define ("*", GLUE_96);
00829     define ("+", GLUE_97);
00830     define ("+", GLUE_98);
00831     define ("-", GLUE_99);
00832     define ("-", GLUE_100);
00833     define ("*", GLUE_101);
00834     define ("*", GLUE_102);
00835     define ("*", GLUE_103);
00836     define ("*", GLUE_104);
00837     define ("=", GLUE_105);
00838     define ("!=", GLUE_106);
00839     define ("=", GLUE_107);
00840     define ("!=", GLUE_108);
00841     define ("=", GLUE_109);
00842     define ("!=", GLUE_110);
00843     define ("/", GLUE_111);
00844     define ("/", GLUE_112);
00845     define ("krylov", GLUE_113);
00846     define ("det", GLUE_114);
00847     define ("row_echelon", GLUE_115);
00848     define ("column_echelon", GLUE_116);
00849     define ("row_reduced_echelon", GLUE_117);
00850     define ("column_reduced_echelon", GLUE_118);
00851     define ("row_reduced_echelon_with_transform", GLUE_119);
00852     define ("column_reduced_echelon_with_transform", GLUE_120);
00853     define ("column_reduced_echelon_with_permutation", GLUE_121);
00854     define ("ker", GLUE_122);
00855     define ("im", GLUE_123);
00856     define ("rank", GLUE_124);
00857     define ("invert", GLUE_125);
00858     define ("abs", GLUE_126);
00859     define_converter (":>", GLUE_127, PENALTY_HOMOMORPHISM);
00860     define_converter (":>", GLUE_128, PENALTY_HOMOMORPHISM);
00861   }

void glue_p_adic_modular_integer (  ) 

Definition at line 219 of file glue_p_adic_modular_integer.cpp.

References GLUE_1(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_4(), GLUE_5(), GLUE_6(), GLUE_7(), GLUE_8(), and GLUE_9().

Referenced by glue_algebramix().

00219                                  {
00220     static bool done = false;
00221     if (done) return;
00222     done = true;
00223     call_glue (string ("glue_integer"));
00224     call_glue (string ("glue_modular_integer"));
00225     call_glue (string ("glue_p_expansion_modular_integer"));
00226     define_type<simple_p_adic(mmx_modular(integer) ) > (gen (lit ("P_adic"), gen (lit ("Modular"), lit ("Integer"))));
00227     define ("set_variable_name", GLUE_1);
00228     define ("set_output_order", GLUE_2);
00229     define ("set_cancel_order", GLUE_3);
00230     define ("set_formula_output", GLUE_4);
00231     define ("p_adic", GLUE_5);
00232     define_converter ("upgrade", GLUE_6, PENALTY_INCLUSION);
00233     define_converter (":>", GLUE_7, PENALTY_CAST);
00234     define (".[]", GLUE_8);
00235     define (".[]", GLUE_9);
00236     define ("-", GLUE_10);
00237     define ("square", GLUE_11);
00238     define ("+", GLUE_12);
00239     define ("-", GLUE_13);
00240     define ("*", GLUE_14);
00241     define ("+", GLUE_15);
00242     define ("+", GLUE_16);
00243     define ("-", GLUE_17);
00244     define ("-", GLUE_18);
00245     define ("*", GLUE_19);
00246     define ("*", GLUE_20);
00247     define ("^", GLUE_21);
00248     define ("<<", GLUE_22);
00249     define (">>", GLUE_23);
00250     define ("/", GLUE_24);
00251     define ("/", GLUE_25);
00252     define ("/", GLUE_26);
00253     define ("gcd", GLUE_27);
00254     define ("lcm", GLUE_28);
00255     define ("separable_root", GLUE_29);
00256     define ("pth_root", GLUE_30);
00257     define ("=", GLUE_31);
00258     define ("!=", GLUE_32);
00259     define ("=", GLUE_33);
00260     define ("!=", GLUE_34);
00261     define ("=", GLUE_35);
00262     define ("!=", GLUE_36);
00263   }

void glue_p_expansion_modular_integer (  ) 

Definition at line 75 of file glue_p_expansion_modular_integer.cpp.

References GLUE_1(), GLUE_2(), GLUE_3(), GLUE_4(), GLUE_5(), GLUE_6(), GLUE_7(), and GLUE_8().

Referenced by glue_algebramix().

00075                                       {
00076     static bool done = false;
00077     if (done) return;
00078     done = true;
00079     call_glue (string ("glue_basix_vector_generic"));
00080     call_glue (string ("glue_modular_integer"));
00081     call_glue (string ("glue_vector_modular_integer"));
00082     define_type<simple_p_expansion(mmx_modular(integer) ) > (gen (lit ("P_expansion"), gen (lit ("Modular"), lit ("Integer"))));
00083     define ("p_expansion", GLUE_1);
00084     define ("set_variable_name", GLUE_2);
00085     define_converter (":>", GLUE_3, PENALTY_CAST);
00086     define ("#", GLUE_4);
00087     define ("deg", GLUE_5);
00088     define (".[]", GLUE_6);
00089     define ("integer", GLUE_7);
00090     define ("p_expansion", GLUE_8);
00091   }

void glue_permutation (  ) 

Definition at line 69 of file glue_permutation.cpp.

References GLUE_1(), GLUE_10(), GLUE_11(), GLUE_2(), GLUE_3(), GLUE_4(), GLUE_5(), GLUE_6(), GLUE_7(), GLUE_8(), and GLUE_9().

Referenced by glue_algebramix().

00069                       {
00070     static bool done = false;
00071     if (done) return;
00072     done = true;
00073     call_glue (string ("glue_int"));
00074     call_glue (string ("glue_vector_int"));
00075     define_type<permutation > (lit ("Permutation"));
00076     define ("permutation", GLUE_1);
00077     define ("permutation", GLUE_2);
00078     define ("transposition", GLUE_3);
00079     define ("cycle", GLUE_4);
00080     define ("as_vector", GLUE_5);
00081     define_converter (":>", GLUE_6, PENALTY_CAST);
00082     define ("#", GLUE_7);
00083     define (".()", GLUE_8);
00084     define ("nr_transpositions", GLUE_9);
00085     define ("*", GLUE_10);
00086     define ("invert", GLUE_11);
00087   }

void glue_polynomial_generic (  ) 

Definition at line 636 of file glue_polynomial_generic.cpp.

References GLUE_1(), GLUE_10(), GLUE_100(), GLUE_101(), GLUE_102(), GLUE_103(), GLUE_104(), GLUE_105(), GLUE_106(), GLUE_107(), GLUE_108(), GLUE_109(), GLUE_11(), GLUE_110(), GLUE_111(), GLUE_112(), GLUE_113(), GLUE_114(), GLUE_115(), GLUE_116(), GLUE_117(), GLUE_118(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_39(), GLUE_4(), GLUE_40(), GLUE_41(), GLUE_42(), GLUE_43(), GLUE_44(), GLUE_45(), GLUE_46(), GLUE_47(), GLUE_48(), GLUE_49(), GLUE_5(), GLUE_50(), GLUE_51(), GLUE_52(), GLUE_53(), GLUE_54(), GLUE_55(), GLUE_56(), GLUE_57(), GLUE_58(), GLUE_59(), GLUE_6(), GLUE_60(), GLUE_61(), GLUE_62(), GLUE_63(), GLUE_64(), GLUE_65(), GLUE_66(), GLUE_67(), GLUE_68(), GLUE_69(), GLUE_7(), GLUE_70(), GLUE_71(), GLUE_72(), GLUE_73(), GLUE_74(), GLUE_75(), GLUE_76(), GLUE_77(), GLUE_78(), GLUE_79(), GLUE_8(), GLUE_80(), GLUE_81(), GLUE_82(), GLUE_83(), GLUE_84(), GLUE_85(), GLUE_86(), GLUE_87(), GLUE_88(), GLUE_89(), GLUE_9(), GLUE_90(), GLUE_91(), GLUE_92(), GLUE_93(), GLUE_94(), GLUE_95(), GLUE_96(), GLUE_97(), GLUE_98(), and GLUE_99().

Referenced by glue_algebramix().

00636                              {
00637     static bool done = false;
00638     if (done) return;
00639     done = true;
00640     call_glue (string ("glue_basix_vector_generic"));
00641     define ("-", GLUE_1);
00642     define ("square", GLUE_2);
00643     define ("+", GLUE_3);
00644     define ("-", GLUE_4);
00645     define ("*", GLUE_5);
00646     define ("dot", GLUE_6);
00647     define ("big_mul", GLUE_7);
00648     define ("big_add", GLUE_8);
00649     define ("=", GLUE_9);
00650     define ("!=", GLUE_10);
00651     define ("invert", GLUE_11);
00652     define ("/", GLUE_12);
00653     define ("<=", GLUE_13);
00654     define (">=", GLUE_14);
00655     define ("<", GLUE_15);
00656     define (">", GLUE_16);
00657     define ("inf", GLUE_17);
00658     define ("sup", GLUE_18);
00659     define ("^", GLUE_19);
00660     define ("sqrt", GLUE_20);
00661     define ("exp", GLUE_21);
00662     define ("log", GLUE_22);
00663     define ("cos", GLUE_23);
00664     define ("sin", GLUE_24);
00665     define ("tan", GLUE_25);
00666     define ("arccos", GLUE_26);
00667     define ("arcsin", GLUE_27);
00668     define ("arctan", GLUE_28);
00669     define ("derive", GLUE_29);
00670     define ("integrate", GLUE_30);
00671     define ("string?", GLUE_31);
00672     define ("#", GLUE_32);
00673     define (".[]", GLUE_33);
00674     define ("*", GLUE_34);
00675     define ("><", GLUE_35);
00676     define ("<<", GLUE_36);
00677     define ("<", GLUE_37);
00678     define ("<=", GLUE_38);
00679     define (">", GLUE_39);
00680     define (">=", GLUE_40);
00681     define ("starts?", GLUE_41);
00682     define ("ends?", GLUE_42);
00683     define ("replace", GLUE_43);
00684     define ("search_forwards", GLUE_44);
00685     define ("search_backwards", GLUE_45);
00686     define ("upcase", GLUE_46);
00687     define ("locase", GLUE_47);
00688     define ("upcase_first", GLUE_48);
00689     define ("locase_first", GLUE_49);
00690     define ("quote", GLUE_50);
00691     define ("unquote", GLUE_51);
00692     define ("ascii", GLUE_52);
00693     define ("ascii_code", GLUE_53);
00694     define ("literal?", GLUE_54);
00695     define (".()", GLUE_55);
00696     define (".[]", GLUE_56);
00697     define ("as_literal", GLUE_57);
00698     define ("as_string", GLUE_58);
00699     define ("compound?", GLUE_59);
00700     define (".()", GLUE_60);
00701     define ("compound", GLUE_61);
00702     define ("as_compound", GLUE_62);
00703     define ("as_vector", GLUE_63);
00704     define ("#", GLUE_64);
00705     define (".[]", GLUE_65);
00706     define ("components", GLUE_66);
00707     define ("arguments", GLUE_67);
00708     define ("boolean?", GLUE_68);
00709     define ("int?", GLUE_69);
00710     define ("double?", GLUE_70);
00711     define ("parse_lisp", GLUE_71);
00712     define ("as_lisp", GLUE_72);
00713     define ("flatten_as_mmx", GLUE_73);
00714     define ("flatten_as_cpp", GLUE_74);
00715     define ("set_frac_flag", GLUE_75);
00716     define_type<polynomial<generic> > (gen (lit ("Polynomial"), lit ("Generic")));
00717     define ("poly", GLUE_76);
00718     define ("polynomial", GLUE_77);
00719     define ("set_variable_name", GLUE_78);
00720     define_converter (":>", GLUE_79, PENALTY_PROMOTE_GENERIC);
00721     define ("#", GLUE_80);
00722     define ("deg", GLUE_81);
00723     define (".[]", GLUE_82);
00724     define ("-", GLUE_83);
00725     define ("square", GLUE_84);
00726     define ("+", GLUE_85);
00727     define ("-", GLUE_86);
00728     define ("*", GLUE_87);
00729     define ("^", GLUE_88);
00730     define ("<<", GLUE_89);
00731     define (">>", GLUE_90);
00732     define ("=", GLUE_91);
00733     define ("!=", GLUE_92);
00734     define ("derive", GLUE_93);
00735     define ("xderive", GLUE_94);
00736     define ("eval", GLUE_95);
00737     define ("eval", GLUE_96);
00738     define ("evaluate", GLUE_97);
00739     define ("evaluate", GLUE_98);
00740     define ("div", GLUE_99);
00741     define ("quo", GLUE_100);
00742     define ("rem", GLUE_101);
00743     define ("divides?", GLUE_102);
00744     define ("subresultant", GLUE_103);
00745     define ("subresultants", GLUE_104);
00746     define ("resultant", GLUE_105);
00747     define ("discriminant", GLUE_106);
00748     define ("integrate", GLUE_107);
00749     define ("@", GLUE_108);
00750     define ("q_difference", GLUE_109);
00751     define ("dilate", GLUE_110);
00752     define ("annulator", GLUE_111);
00753     define ("interpolate", GLUE_112);
00754     define ("shift", GLUE_113);
00755     define ("graeffe", GLUE_114);
00756     define ("contents", GLUE_115);
00757     define ("primitive_part", GLUE_116);
00758     define ("gcd", GLUE_117);
00759     define ("lcm", GLUE_118);
00760   }

void glue_polynomial_integer (  ) 

Definition at line 222 of file glue_polynomial_integer.cpp.

References GLUE_1(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_4(), GLUE_5(), GLUE_6(), GLUE_7(), GLUE_8(), and GLUE_9().

Referenced by glue_algebramix().

00222                              {
00223     static bool done = false;
00224     if (done) return;
00225     done = true;
00226     call_glue (string ("glue_vector_integer"));
00227     call_glue (string ("glue_polynomial_generic"));
00228     define_type<polynomial<integer> > (gen (lit ("Polynomial"), lit ("Integer")));
00229     define ("poly", GLUE_1);
00230     define ("polynomial", GLUE_2);
00231     define ("set_variable_name", GLUE_3);
00232     define_converter ("upgrade", GLUE_4, PENALTY_INCLUSION);
00233     define_converter (":>", GLUE_5, PENALTY_CAST);
00234     define ("#", GLUE_6);
00235     define ("deg", GLUE_7);
00236     define (".[]", GLUE_8);
00237     define ("-", GLUE_9);
00238     define ("square", GLUE_10);
00239     define ("+", GLUE_11);
00240     define ("-", GLUE_12);
00241     define ("*", GLUE_13);
00242     define ("+", GLUE_14);
00243     define ("+", GLUE_15);
00244     define ("-", GLUE_16);
00245     define ("-", GLUE_17);
00246     define ("*", GLUE_18);
00247     define ("*", GLUE_19);
00248     define ("^", GLUE_20);
00249     define ("<<", GLUE_21);
00250     define (">>", GLUE_22);
00251     define ("=", GLUE_23);
00252     define ("!=", GLUE_24);
00253     define ("=", GLUE_25);
00254     define ("!=", GLUE_26);
00255     define ("=", GLUE_27);
00256     define ("!=", GLUE_28);
00257     define ("derive", GLUE_29);
00258     define ("xderive", GLUE_30);
00259     define ("eval", GLUE_31);
00260     define ("evaluate", GLUE_32);
00261     define_converter (":>", GLUE_33, PENALTY_PROMOTE_GENERIC);
00262     define ("eval", GLUE_34);
00263     define ("evaluate", GLUE_35);
00264   }

void mmx::glue_polynomial_modular_integer (  ) 

Referenced by glue_algebramix().

void glue_polynomial_p_adic_modular_integer (  ) 

Definition at line 315 of file glue_polynomial_p_adic_modular_integer.cpp.

References GLUE_1(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_39(), GLUE_4(), GLUE_40(), GLUE_41(), GLUE_42(), GLUE_43(), GLUE_44(), GLUE_45(), GLUE_46(), GLUE_47(), GLUE_48(), GLUE_49(), GLUE_5(), GLUE_6(), GLUE_7(), GLUE_8(), and GLUE_9().

Referenced by glue_algebramix().

00315                                             {
00316     static bool done = false;
00317     if (done) return;
00318     done = true;
00319     call_glue (string ("glue_basix_vector_generic"));
00320     call_glue (string ("glue_p_adic_modular_integer"));
00321     call_glue (string ("glue_polynomial_modular_integer"));
00322     define_type<polynomial<simple_p_adic(mmx_modular(integer) ) > > (gen (lit ("Polynomial"), gen (lit ("P_adic"), gen (lit ("Modular"), lit ("Integer")))));
00323     define ("poly", GLUE_1);
00324     define ("polynomial", GLUE_2);
00325     define ("set_variable_name", GLUE_3);
00326     define_converter ("upgrade", GLUE_4, PENALTY_INCLUSION);
00327     define_converter (":>", GLUE_5, PENALTY_CAST);
00328     define ("#", GLUE_6);
00329     define ("deg", GLUE_7);
00330     define (".[]", GLUE_8);
00331     define ("-", GLUE_9);
00332     define ("square", GLUE_10);
00333     define ("+", GLUE_11);
00334     define ("-", GLUE_12);
00335     define ("*", GLUE_13);
00336     define ("+", GLUE_14);
00337     define ("+", GLUE_15);
00338     define ("-", GLUE_16);
00339     define ("-", GLUE_17);
00340     define ("*", GLUE_18);
00341     define ("*", GLUE_19);
00342     define ("^", GLUE_20);
00343     define ("<<", GLUE_21);
00344     define (">>", GLUE_22);
00345     define ("=", GLUE_23);
00346     define ("!=", GLUE_24);
00347     define ("=", GLUE_25);
00348     define ("!=", GLUE_26);
00349     define ("=", GLUE_27);
00350     define ("!=", GLUE_28);
00351     define ("derive", GLUE_29);
00352     define ("xderive", GLUE_30);
00353     define ("eval", GLUE_31);
00354     define ("evaluate", GLUE_32);
00355     define ("/", GLUE_33);
00356     define ("div", GLUE_34);
00357     define ("quo", GLUE_35);
00358     define ("rem", GLUE_36);
00359     define ("divides?", GLUE_37);
00360     define ("subresultant", GLUE_38);
00361     define ("subresultants", GLUE_39);
00362     define ("resultant", GLUE_40);
00363     define ("discriminant", GLUE_41);
00364     define ("integrate", GLUE_42);
00365     define ("@", GLUE_43);
00366     define ("q_difference", GLUE_44);
00367     define ("dilate", GLUE_45);
00368     define ("shift", GLUE_46);
00369     define ("graeffe", GLUE_47);
00370     define_converter (":>", GLUE_48, PENALTY_INCLUSION);
00371     define_converter (":>", GLUE_49, PENALTY_PROMOTE_GENERIC);
00372   }

void glue_polynomial_rational (  ) 

Definition at line 611 of file glue_polynomial_rational.cpp.

References GLUE_1(), GLUE_10(), GLUE_100(), GLUE_101(), GLUE_102(), GLUE_103(), GLUE_104(), GLUE_105(), GLUE_106(), GLUE_107(), GLUE_108(), GLUE_109(), GLUE_11(), GLUE_110(), GLUE_111(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_39(), GLUE_4(), GLUE_40(), GLUE_41(), GLUE_42(), GLUE_43(), GLUE_44(), GLUE_45(), GLUE_46(), GLUE_47(), GLUE_48(), GLUE_49(), GLUE_5(), GLUE_50(), GLUE_51(), GLUE_52(), GLUE_53(), GLUE_54(), GLUE_55(), GLUE_56(), GLUE_57(), GLUE_58(), GLUE_59(), GLUE_6(), GLUE_60(), GLUE_61(), GLUE_62(), GLUE_63(), GLUE_64(), GLUE_65(), GLUE_66(), GLUE_67(), GLUE_68(), GLUE_69(), GLUE_7(), GLUE_70(), GLUE_71(), GLUE_72(), GLUE_73(), GLUE_74(), GLUE_75(), GLUE_76(), GLUE_77(), GLUE_78(), GLUE_79(), GLUE_8(), GLUE_80(), GLUE_81(), GLUE_82(), GLUE_83(), GLUE_84(), GLUE_85(), GLUE_86(), GLUE_87(), GLUE_88(), GLUE_89(), GLUE_9(), GLUE_90(), GLUE_91(), GLUE_92(), GLUE_93(), GLUE_94(), GLUE_95(), GLUE_96(), GLUE_97(), GLUE_98(), and GLUE_99().

Referenced by glue_algebramix().

00611                               {
00612     static bool done = false;
00613     if (done) return;
00614     done = true;
00615     call_glue (string ("glue_vector_rational"));
00616     call_glue (string ("glue_polynomial_integer"));
00617     define_type<polynomial<rational> > (gen (lit ("Polynomial"), lit ("Rational")));
00618     define ("poly", GLUE_1);
00619     define ("polynomial", GLUE_2);
00620     define ("set_variable_name", GLUE_3);
00621     define_converter ("upgrade", GLUE_4, PENALTY_INCLUSION);
00622     define_converter (":>", GLUE_5, PENALTY_CAST);
00623     define ("#", GLUE_6);
00624     define ("deg", GLUE_7);
00625     define (".[]", GLUE_8);
00626     define ("-", GLUE_9);
00627     define ("square", GLUE_10);
00628     define ("+", GLUE_11);
00629     define ("-", GLUE_12);
00630     define ("*", GLUE_13);
00631     define ("+", GLUE_14);
00632     define ("+", GLUE_15);
00633     define ("-", GLUE_16);
00634     define ("-", GLUE_17);
00635     define ("*", GLUE_18);
00636     define ("*", GLUE_19);
00637     define ("^", GLUE_20);
00638     define ("<<", GLUE_21);
00639     define (">>", GLUE_22);
00640     define ("=", GLUE_23);
00641     define ("!=", GLUE_24);
00642     define ("=", GLUE_25);
00643     define ("!=", GLUE_26);
00644     define ("=", GLUE_27);
00645     define ("!=", GLUE_28);
00646     define ("derive", GLUE_29);
00647     define ("xderive", GLUE_30);
00648     define ("eval", GLUE_31);
00649     define ("evaluate", GLUE_32);
00650     define ("/", GLUE_33);
00651     define ("div", GLUE_34);
00652     define ("quo", GLUE_35);
00653     define ("rem", GLUE_36);
00654     define ("divides?", GLUE_37);
00655     define ("subresultant", GLUE_38);
00656     define ("subresultants", GLUE_39);
00657     define ("resultant", GLUE_40);
00658     define ("discriminant", GLUE_41);
00659     define ("integrate", GLUE_42);
00660     define ("@", GLUE_43);
00661     define ("q_difference", GLUE_44);
00662     define ("dilate", GLUE_45);
00663     define ("shift", GLUE_46);
00664     define ("graeffe", GLUE_47);
00665     define ("contents", GLUE_48);
00666     define ("primitive_part", GLUE_49);
00667     define ("gcd", GLUE_50);
00668     define ("lcm", GLUE_51);
00669     define_converter (":>", GLUE_52, PENALTY_INCLUSION);
00670     define_converter (":>", GLUE_53, PENALTY_PROMOTE_GENERIC);
00671     define_type<polynomial<complex<rational> > > (gen (lit ("Polynomial"), gen (lit ("Complex"), lit ("Rational"))));
00672     define ("eval", GLUE_54);
00673     define ("evaluate", GLUE_55);
00674     define ("poly", GLUE_56);
00675     define ("polynomial", GLUE_57);
00676     define ("set_variable_name", GLUE_58);
00677     define_converter ("upgrade", GLUE_59, PENALTY_INCLUSION);
00678     define_converter (":>", GLUE_60, PENALTY_CAST);
00679     define ("#", GLUE_61);
00680     define ("deg", GLUE_62);
00681     define (".[]", GLUE_63);
00682     define ("-", GLUE_64);
00683     define ("square", GLUE_65);
00684     define ("+", GLUE_66);
00685     define ("-", GLUE_67);
00686     define ("*", GLUE_68);
00687     define ("+", GLUE_69);
00688     define ("+", GLUE_70);
00689     define ("-", GLUE_71);
00690     define ("-", GLUE_72);
00691     define ("*", GLUE_73);
00692     define ("*", GLUE_74);
00693     define ("^", GLUE_75);
00694     define ("<<", GLUE_76);
00695     define (">>", GLUE_77);
00696     define ("=", GLUE_78);
00697     define ("!=", GLUE_79);
00698     define ("=", GLUE_80);
00699     define ("!=", GLUE_81);
00700     define ("=", GLUE_82);
00701     define ("!=", GLUE_83);
00702     define ("derive", GLUE_84);
00703     define ("xderive", GLUE_85);
00704     define ("eval", GLUE_86);
00705     define ("eval", GLUE_87);
00706     define ("evaluate", GLUE_88);
00707     define ("evaluate", GLUE_89);
00708     define ("annulator", GLUE_90);
00709     define ("interpolate", GLUE_91);
00710     define ("/", GLUE_92);
00711     define ("div", GLUE_93);
00712     define ("quo", GLUE_94);
00713     define ("rem", GLUE_95);
00714     define ("divides?", GLUE_96);
00715     define ("subresultant", GLUE_97);
00716     define ("subresultants", GLUE_98);
00717     define ("resultant", GLUE_99);
00718     define ("discriminant", GLUE_100);
00719     define ("integrate", GLUE_101);
00720     define ("@", GLUE_102);
00721     define ("q_difference", GLUE_103);
00722     define ("dilate", GLUE_104);
00723     define ("annulator", GLUE_105);
00724     define ("interpolate", GLUE_106);
00725     define ("shift", GLUE_107);
00726     define ("graeffe", GLUE_108);
00727     define_converter (":>", GLUE_109, PENALTY_INCLUSION);
00728     define_converter (":>", GLUE_110, PENALTY_HOMOMORPHISM);
00729     define_converter (":>", GLUE_111, PENALTY_PROMOTE_GENERIC);
00730   }

void glue_quotient_generic (  ) 

Definition at line 11 of file glue_quotient_generic.cpp.

Referenced by glue_algebramix().

00011                            {
00012     static bool done = false;
00013     if (done) return;
00014     done = true;
00015     call_glue (string ("glue_int"));
00016   }

void glue_quotient_polynomial_rational (  ) 

Definition at line 192 of file glue_quotient_polynomial_rational.cpp.

References GLUE_1(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_3(), GLUE_4(), GLUE_5(), GLUE_6(), GLUE_7(), GLUE_8(), and GLUE_9().

Referenced by glue_algebramix().

00192                                        {
00193     static bool done = false;
00194     if (done) return;
00195     done = true;
00196     call_glue (string ("glue_polynomial_rational"));
00197     define_type<simple_quotient(polynomial<rational> ) > (gen (lit ("Quotient"), gen (lit ("Polynomial"), lit ("Rational"))));
00198     define ("quotient", GLUE_1);
00199     define ("quotient", GLUE_2);
00200     define ("/", GLUE_3);
00201     define_converter ("upgrade", GLUE_4, PENALTY_INCLUSION);
00202     define ("numerator", GLUE_5);
00203     define ("denominator", GLUE_6);
00204     define ("-", GLUE_7);
00205     define ("square", GLUE_8);
00206     define ("+", GLUE_9);
00207     define ("-", GLUE_10);
00208     define ("*", GLUE_11);
00209     define ("/", GLUE_12);
00210     define ("+", GLUE_13);
00211     define ("+", GLUE_14);
00212     define ("-", GLUE_15);
00213     define ("-", GLUE_16);
00214     define ("*", GLUE_17);
00215     define ("*", GLUE_18);
00216     define ("/", GLUE_19);
00217     define ("/", GLUE_20);
00218     define ("^", GLUE_21);
00219     define ("=", GLUE_22);
00220     define ("!=", GLUE_23);
00221     define ("=", GLUE_24);
00222     define ("!=", GLUE_25);
00223     define ("=", GLUE_26);
00224     define ("!=", GLUE_27);
00225   }

void glue_series_generic (  ) 

Definition at line 331 of file glue_series_generic.cpp.

References GLUE_1(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_39(), GLUE_4(), GLUE_40(), GLUE_41(), GLUE_42(), GLUE_43(), GLUE_44(), GLUE_45(), GLUE_46(), GLUE_47(), GLUE_48(), GLUE_49(), GLUE_5(), GLUE_50(), GLUE_51(), GLUE_52(), GLUE_53(), GLUE_54(), GLUE_55(), GLUE_6(), GLUE_7(), GLUE_8(), and GLUE_9().

Referenced by glue_algebramix().

00331                          {
00332     static bool done = false;
00333     if (done) return;
00334     done = true;
00335     call_glue (string ("glue_polynomial_generic"));
00336     define_constructor<int > (GLUE_1);
00337     define_type<series<generic> > (gen (lit ("Series"), lit ("Generic")));
00338     define ("set_variable_name", GLUE_2);
00339     define ("set_output_order", GLUE_3);
00340     define ("set_cancel_order", GLUE_4);
00341     define ("set_formula_output", GLUE_5);
00342     define ("series", GLUE_6);
00343     define_converter ("upgrade", GLUE_7, PENALTY_PROMOTE_GENERIC);
00344     define_converter (":>", GLUE_8, PENALTY_PROMOTE_GENERIC);
00345     define (".[]", GLUE_9);
00346     define (".[]", GLUE_10);
00347     define ("-", GLUE_11);
00348     define ("square", GLUE_12);
00349     define ("+", GLUE_13);
00350     define ("-", GLUE_14);
00351     define ("*", GLUE_15);
00352     define ("^", GLUE_16);
00353     define ("=", GLUE_17);
00354     define ("!=", GLUE_18);
00355     define ("derive", GLUE_19);
00356     define ("xderive", GLUE_20);
00357     define ("dilate", GLUE_21);
00358     define ("<<", GLUE_22);
00359     define (">>", GLUE_23);
00360     define ("invert", GLUE_24);
00361     define ("/", GLUE_25);
00362     define ("div", GLUE_26);
00363     define ("divides?", GLUE_27);
00364     define ("gcd", GLUE_28);
00365     define ("lcm", GLUE_29);
00366     define ("integrate", GLUE_30);
00367     define ("@", GLUE_31);
00368     define ("reverse", GLUE_32);
00369     define ("q_difference", GLUE_33);
00370     define ("shift", GLUE_34);
00371     define ("shift", GLUE_35);
00372     define ("^", GLUE_36);
00373     define ("sqrt", GLUE_37);
00374     define ("exp", GLUE_38);
00375     define ("log", GLUE_39);
00376     define ("cos", GLUE_40);
00377     define ("sin", GLUE_41);
00378     define ("tan", GLUE_42);
00379     define ("arccos", GLUE_43);
00380     define ("arcsin", GLUE_44);
00381     define ("arctan", GLUE_45);
00382     define ("<", GLUE_46);
00383     define (">", GLUE_47);
00384     define ("<=", GLUE_48);
00385     define (">=", GLUE_49);
00386     define ("fixed_point_series", GLUE_50);
00387     define ("fixed_point_series", GLUE_51);
00388     define ("integrate_series", GLUE_52);
00389     define ("integrate_series", GLUE_53);
00390     define ("implicit_series", GLUE_54);
00391     define ("implicit_series", GLUE_55);
00392   }

void glue_series_integer (  ) 

Definition at line 301 of file glue_series_integer.cpp.

References GLUE_1(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_39(), GLUE_4(), GLUE_40(), GLUE_41(), GLUE_42(), GLUE_43(), GLUE_44(), GLUE_45(), GLUE_46(), GLUE_47(), GLUE_48(), GLUE_49(), GLUE_5(), GLUE_6(), GLUE_7(), GLUE_8(), and GLUE_9().

Referenced by glue_algebramix().

00301                          {
00302     static bool done = false;
00303     if (done) return;
00304     done = true;
00305     call_glue (string ("glue_polynomial_integer"));
00306     call_glue (string ("glue_series_generic"));
00307     define ("^", GLUE_1);
00308     define_type<series<integer> > (gen (lit ("Series"), lit ("Integer")));
00309     define ("^", GLUE_2);
00310     define ("set_variable_name", GLUE_3);
00311     define ("set_output_order", GLUE_4);
00312     define ("set_cancel_order", GLUE_5);
00313     define ("set_formula_output", GLUE_6);
00314     define ("series", GLUE_7);
00315     define_converter ("upgrade", GLUE_8, PENALTY_INCLUSION);
00316     define_converter ("upgrade", GLUE_9, PENALTY_INCLUSION);
00317     define_converter (":>", GLUE_10, PENALTY_CAST);
00318     define (".[]", GLUE_11);
00319     define (".[]", GLUE_12);
00320     define ("-", GLUE_13);
00321     define ("square", GLUE_14);
00322     define ("+", GLUE_15);
00323     define ("-", GLUE_16);
00324     define ("*", GLUE_17);
00325     define ("+", GLUE_18);
00326     define ("+", GLUE_19);
00327     define ("-", GLUE_20);
00328     define ("-", GLUE_21);
00329     define ("*", GLUE_22);
00330     define ("*", GLUE_23);
00331     define ("^", GLUE_24);
00332     define ("^", GLUE_25);
00333     define ("=", GLUE_26);
00334     define ("!=", GLUE_27);
00335     define ("=", GLUE_28);
00336     define ("!=", GLUE_29);
00337     define ("=", GLUE_30);
00338     define ("!=", GLUE_31);
00339     define ("derive", GLUE_32);
00340     define ("xderive", GLUE_33);
00341     define ("dilate", GLUE_34);
00342     define ("<<", GLUE_35);
00343     define (">>", GLUE_36);
00344     define ("<", GLUE_37);
00345     define (">", GLUE_38);
00346     define ("<=", GLUE_39);
00347     define (">=", GLUE_40);
00348     define ("<", GLUE_41);
00349     define (">", GLUE_42);
00350     define ("<=", GLUE_43);
00351     define (">=", GLUE_44);
00352     define ("<", GLUE_45);
00353     define (">", GLUE_46);
00354     define ("<=", GLUE_47);
00355     define (">=", GLUE_48);
00356     define_converter (":>", GLUE_49, PENALTY_PROMOTE_GENERIC);
00357   }

void mmx::glue_series_modular_integer (  ) 

Referenced by glue_algebramix().

void glue_series_rational (  ) 

Definition at line 954 of file glue_series_rational.cpp.

References GLUE_1(), GLUE_10(), GLUE_100(), GLUE_101(), GLUE_102(), GLUE_103(), GLUE_104(), GLUE_105(), GLUE_106(), GLUE_107(), GLUE_108(), GLUE_109(), GLUE_11(), GLUE_110(), GLUE_111(), GLUE_112(), GLUE_113(), GLUE_114(), GLUE_115(), GLUE_116(), GLUE_117(), GLUE_118(), GLUE_119(), GLUE_12(), GLUE_120(), GLUE_121(), GLUE_122(), GLUE_123(), GLUE_124(), GLUE_125(), GLUE_126(), GLUE_127(), GLUE_128(), GLUE_129(), GLUE_13(), GLUE_130(), GLUE_131(), GLUE_132(), GLUE_133(), GLUE_134(), GLUE_135(), GLUE_136(), GLUE_137(), GLUE_138(), GLUE_139(), GLUE_14(), GLUE_140(), GLUE_141(), GLUE_142(), GLUE_143(), GLUE_144(), GLUE_145(), GLUE_146(), GLUE_147(), GLUE_148(), GLUE_149(), GLUE_15(), GLUE_150(), GLUE_151(), GLUE_152(), GLUE_153(), GLUE_154(), GLUE_155(), GLUE_156(), GLUE_157(), GLUE_158(), GLUE_159(), GLUE_16(), GLUE_160(), GLUE_161(), GLUE_162(), GLUE_163(), GLUE_164(), GLUE_165(), GLUE_166(), GLUE_167(), GLUE_168(), GLUE_169(), GLUE_17(), GLUE_170(), GLUE_171(), GLUE_172(), GLUE_173(), GLUE_174(), GLUE_175(), GLUE_176(), GLUE_177(), GLUE_178(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_39(), GLUE_4(), GLUE_40(), GLUE_41(), GLUE_42(), GLUE_43(), GLUE_44(), GLUE_45(), GLUE_46(), GLUE_47(), GLUE_48(), GLUE_49(), GLUE_5(), GLUE_50(), GLUE_51(), GLUE_52(), GLUE_53(), GLUE_54(), GLUE_55(), GLUE_56(), GLUE_57(), GLUE_58(), GLUE_59(), GLUE_6(), GLUE_60(), GLUE_61(), GLUE_62(), GLUE_63(), GLUE_64(), GLUE_65(), GLUE_66(), GLUE_67(), GLUE_68(), GLUE_69(), GLUE_7(), GLUE_70(), GLUE_71(), GLUE_72(), GLUE_73(), GLUE_74(), GLUE_75(), GLUE_76(), GLUE_77(), GLUE_78(), GLUE_79(), GLUE_8(), GLUE_80(), GLUE_81(), GLUE_82(), GLUE_83(), GLUE_84(), GLUE_85(), GLUE_86(), GLUE_87(), GLUE_88(), GLUE_89(), GLUE_9(), GLUE_90(), GLUE_91(), GLUE_92(), GLUE_93(), GLUE_94(), GLUE_95(), GLUE_96(), GLUE_97(), GLUE_98(), and GLUE_99().

Referenced by glue_algebramix().

00954                           {
00955     static bool done = false;
00956     if (done) return;
00957     done = true;
00958     call_glue (string ("glue_polynomial_rational"));
00959     call_glue (string ("glue_series_integer"));
00960     define_type<series<rational> > (gen (lit ("Series"), lit ("Rational")));
00961     define ("set_variable_name", GLUE_1);
00962     define ("set_output_order", GLUE_2);
00963     define ("set_cancel_order", GLUE_3);
00964     define ("set_formula_output", GLUE_4);
00965     define ("series", GLUE_5);
00966     define_converter ("upgrade", GLUE_6, PENALTY_INCLUSION);
00967     define_converter ("upgrade", GLUE_7, PENALTY_INCLUSION);
00968     define_converter (":>", GLUE_8, PENALTY_CAST);
00969     define (".[]", GLUE_9);
00970     define (".[]", GLUE_10);
00971     define ("-", GLUE_11);
00972     define ("square", GLUE_12);
00973     define ("+", GLUE_13);
00974     define ("-", GLUE_14);
00975     define ("*", GLUE_15);
00976     define ("+", GLUE_16);
00977     define ("+", GLUE_17);
00978     define ("-", GLUE_18);
00979     define ("-", GLUE_19);
00980     define ("*", GLUE_20);
00981     define ("*", GLUE_21);
00982     define ("^", GLUE_22);
00983     define ("^", GLUE_23);
00984     define ("=", GLUE_24);
00985     define ("!=", GLUE_25);
00986     define ("=", GLUE_26);
00987     define ("!=", GLUE_27);
00988     define ("=", GLUE_28);
00989     define ("!=", GLUE_29);
00990     define ("derive", GLUE_30);
00991     define ("xderive", GLUE_31);
00992     define ("dilate", GLUE_32);
00993     define ("<<", GLUE_33);
00994     define (">>", GLUE_34);
00995     define ("invert", GLUE_35);
00996     define ("/", GLUE_36);
00997     define ("/", GLUE_37);
00998     define ("/", GLUE_38);
00999     define ("div", GLUE_39);
01000     define ("divides?", GLUE_40);
01001     define ("gcd", GLUE_41);
01002     define ("lcm", GLUE_42);
01003     define ("integrate", GLUE_43);
01004     define ("@", GLUE_44);
01005     define ("reverse", GLUE_45);
01006     define ("q_difference", GLUE_46);
01007     define ("shift", GLUE_47);
01008     define ("shift", GLUE_48);
01009     define ("<", GLUE_49);
01010     define (">", GLUE_50);
01011     define ("<=", GLUE_51);
01012     define (">=", GLUE_52);
01013     define ("<", GLUE_53);
01014     define (">", GLUE_54);
01015     define ("<=", GLUE_55);
01016     define (">=", GLUE_56);
01017     define ("<", GLUE_57);
01018     define (">", GLUE_58);
01019     define ("<=", GLUE_59);
01020     define (">=", GLUE_60);
01021     define_converter (":>", GLUE_61, PENALTY_INCLUSION);
01022     define_converter (":>", GLUE_62, PENALTY_PROMOTE_GENERIC);
01023     define ("^", GLUE_63);
01024     define ("sqrt", GLUE_64);
01025     define ("exp", GLUE_65);
01026     define ("log", GLUE_66);
01027     define ("cos", GLUE_67);
01028     define ("sin", GLUE_68);
01029     define ("tan", GLUE_69);
01030     define ("arccos", GLUE_70);
01031     define ("arcsin", GLUE_71);
01032     define ("arctan", GLUE_72);
01033     define_type<unknown<rational> > (gen (lit ("Unknown"), lit ("Rational")));
01034     define_converter ("upgrade", GLUE_73, PENALTY_INCLUSION);
01035     define ("-", GLUE_74);
01036     define ("square", GLUE_75);
01037     define ("+", GLUE_76);
01038     define ("-", GLUE_77);
01039     define ("*", GLUE_78);
01040     define ("*", GLUE_79);
01041     define ("*", GLUE_80);
01042     define ("fixed_point_series", GLUE_81);
01043     define ("integrate_series", GLUE_82);
01044     define ("implicit_series", GLUE_83);
01045     define_type<series<complex<rational> > > (gen (lit ("Series"), gen (lit ("Complex"), lit ("Rational"))));
01046     define_type<series<unknown<rational> > > (gen (lit ("Series"), gen (lit ("Unknown"), lit ("Rational"))));
01047     define ("set_variable_name", GLUE_84);
01048     define ("set_output_order", GLUE_85);
01049     define ("set_cancel_order", GLUE_86);
01050     define ("set_formula_output", GLUE_87);
01051     define ("series", GLUE_88);
01052     define_converter ("upgrade", GLUE_89, PENALTY_INCLUSION);
01053     define_converter ("upgrade", GLUE_90, PENALTY_INCLUSION);
01054     define_converter (":>", GLUE_91, PENALTY_CAST);
01055     define (".[]", GLUE_92);
01056     define (".[]", GLUE_93);
01057     define ("-", GLUE_94);
01058     define ("square", GLUE_95);
01059     define ("+", GLUE_96);
01060     define ("-", GLUE_97);
01061     define ("*", GLUE_98);
01062     define ("+", GLUE_99);
01063     define ("+", GLUE_100);
01064     define ("-", GLUE_101);
01065     define ("-", GLUE_102);
01066     define ("*", GLUE_103);
01067     define ("*", GLUE_104);
01068     define ("^", GLUE_105);
01069     define ("^", GLUE_106);
01070     define ("=", GLUE_107);
01071     define ("!=", GLUE_108);
01072     define ("=", GLUE_109);
01073     define ("!=", GLUE_110);
01074     define ("=", GLUE_111);
01075     define ("!=", GLUE_112);
01076     define ("derive", GLUE_113);
01077     define ("xderive", GLUE_114);
01078     define ("dilate", GLUE_115);
01079     define ("<<", GLUE_116);
01080     define (">>", GLUE_117);
01081     define ("set_variable_name", GLUE_118);
01082     define ("set_output_order", GLUE_119);
01083     define ("set_cancel_order", GLUE_120);
01084     define ("set_formula_output", GLUE_121);
01085     define ("series", GLUE_122);
01086     define_converter ("upgrade", GLUE_123, PENALTY_INCLUSION);
01087     define_converter (":>", GLUE_124, PENALTY_CAST);
01088     define (".[]", GLUE_125);
01089     define ("-", GLUE_126);
01090     define ("square", GLUE_127);
01091     define ("+", GLUE_128);
01092     define ("-", GLUE_129);
01093     define ("*", GLUE_130);
01094     define ("+", GLUE_131);
01095     define ("+", GLUE_132);
01096     define ("-", GLUE_133);
01097     define ("-", GLUE_134);
01098     define ("*", GLUE_135);
01099     define ("*", GLUE_136);
01100     define ("^", GLUE_137);
01101     define ("^", GLUE_138);
01102     define ("=", GLUE_139);
01103     define ("!=", GLUE_140);
01104     define ("=", GLUE_141);
01105     define ("!=", GLUE_142);
01106     define ("=", GLUE_143);
01107     define ("!=", GLUE_144);
01108     define ("derive", GLUE_145);
01109     define ("xderive", GLUE_146);
01110     define ("dilate", GLUE_147);
01111     define ("<<", GLUE_148);
01112     define (">>", GLUE_149);
01113     define ("invert", GLUE_150);
01114     define ("/", GLUE_151);
01115     define ("/", GLUE_152);
01116     define ("/", GLUE_153);
01117     define ("div", GLUE_154);
01118     define ("divides?", GLUE_155);
01119     define ("gcd", GLUE_156);
01120     define ("lcm", GLUE_157);
01121     define ("integrate", GLUE_158);
01122     define ("@", GLUE_159);
01123     define ("reverse", GLUE_160);
01124     define ("q_difference", GLUE_161);
01125     define ("shift", GLUE_162);
01126     define ("shift", GLUE_163);
01127     define_converter (":>", GLUE_164, PENALTY_INCLUSION);
01128     define_converter (":>", GLUE_165, PENALTY_INCLUSION);
01129     define_converter (":>", GLUE_166, PENALTY_INCLUSION);
01130     define_converter (":>", GLUE_167, PENALTY_INCLUSION);
01131     define_converter (":>", GLUE_168, PENALTY_PROMOTE_GENERIC);
01132     define_converter (":>", GLUE_169, PENALTY_PROMOTE_GENERIC);
01133     define ("fixed_point_series", GLUE_170);
01134     define ("integrate_series", GLUE_171);
01135     define ("implicit_series", GLUE_172);
01136     define ("fixed_point_series", GLUE_173);
01137     define ("fixed_point_series", GLUE_174);
01138     define ("integrate_series", GLUE_175);
01139     define ("integrate_series", GLUE_176);
01140     define ("implicit_series", GLUE_177);
01141     define ("implicit_series", GLUE_178);
01142   }

void mmx::glue_table_generic (  ) 

Referenced by glue_algebramix().

void glue_vector_generic (  ) 

Definition at line 162 of file glue_vector_generic.cpp.

References GLUE_1(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_4(), GLUE_5(), GLUE_6(), GLUE_7(), GLUE_8(), and GLUE_9().

Referenced by glue_algebramix().

00162                          {
00163     static bool done = false;
00164     if (done) return;
00165     done = true;
00166     call_glue (string ("glue_basix_vector_generic"));
00167     define ("-", GLUE_1);
00168     define ("square", GLUE_2);
00169     define ("+", GLUE_3);
00170     define ("-", GLUE_4);
00171     define ("*", GLUE_5);
00172     define ("dot", GLUE_6);
00173     define ("big_mul", GLUE_7);
00174     define ("big_add", GLUE_8);
00175     define ("=", GLUE_9);
00176     define ("!=", GLUE_10);
00177     define ("invert", GLUE_11);
00178     define ("/", GLUE_12);
00179     define ("<=", GLUE_13);
00180     define (">=", GLUE_14);
00181     define ("<", GLUE_15);
00182     define (">", GLUE_16);
00183     define ("inf", GLUE_17);
00184     define ("sup", GLUE_18);
00185     define ("^", GLUE_19);
00186     define ("sqrt", GLUE_20);
00187     define ("exp", GLUE_21);
00188     define ("log", GLUE_22);
00189     define ("cos", GLUE_23);
00190     define ("sin", GLUE_24);
00191     define ("tan", GLUE_25);
00192     define ("arccos", GLUE_26);
00193     define ("arcsin", GLUE_27);
00194     define ("arctan", GLUE_28);
00195     define ("derive", GLUE_29);
00196     define ("integrate", GLUE_30);
00197   }

void glue_vector_int (  ) 

Definition at line 279 of file glue_vector_int.cpp.

References GLUE_1(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_39(), GLUE_4(), GLUE_40(), GLUE_41(), GLUE_42(), GLUE_43(), GLUE_44(), GLUE_45(), GLUE_46(), GLUE_47(), GLUE_48(), GLUE_49(), GLUE_5(), GLUE_50(), GLUE_51(), GLUE_52(), GLUE_53(), GLUE_6(), GLUE_7(), GLUE_8(), and GLUE_9().

Referenced by glue_algebramix().

00279                      {
00280     static bool done = false;
00281     if (done) return;
00282     done = true;
00283     call_glue (string ("glue_int"));
00284     call_glue (string ("glue_vector_generic"));
00285     define_type<vector<int> > (gen (lit ("Vector"), lit ("Int")));
00286     define ("vector", GLUE_1);
00287     define ("[]", GLUE_2);
00288     define_converter (":>", GLUE_3, PENALTY_CAST);
00289     define ("#", GLUE_4);
00290     define (".[]", GLUE_5);
00291     define (".[]", GLUE_6);
00292     define (".[]", GLUE_7);
00293     define ("reverse", GLUE_8);
00294     define ("><", GLUE_9);
00295     define ("<<", GLUE_10);
00296     define ("cons", GLUE_11);
00297     define ("car", GLUE_12);
00298     define ("cdr", GLUE_13);
00299     define ("nil?", GLUE_14);
00300     define ("atom?", GLUE_15);
00301     define ("insert", GLUE_16);
00302     define ("find", GLUE_17);
00303     define ("contains?", GLUE_18);
00304     define_converter (":>", GLUE_19, PENALTY_PROMOTE_GENERIC);
00305     define ("-", GLUE_20);
00306     define ("square", GLUE_21);
00307     define ("+", GLUE_22);
00308     define ("-", GLUE_23);
00309     define ("*", GLUE_24);
00310     define ("+", GLUE_25);
00311     define ("+", GLUE_26);
00312     define ("-", GLUE_27);
00313     define ("-", GLUE_28);
00314     define ("*", GLUE_29);
00315     define ("*", GLUE_30);
00316     define ("dot", GLUE_31);
00317     define ("big_mul", GLUE_32);
00318     define ("big_add", GLUE_33);
00319     define ("=", GLUE_34);
00320     define ("!=", GLUE_35);
00321     define ("=", GLUE_36);
00322     define ("!=", GLUE_37);
00323     define ("=", GLUE_38);
00324     define ("!=", GLUE_39);
00325     define ("<=", GLUE_40);
00326     define (">=", GLUE_41);
00327     define ("<", GLUE_42);
00328     define (">", GLUE_43);
00329     define ("<=", GLUE_44);
00330     define (">=", GLUE_45);
00331     define ("<", GLUE_46);
00332     define (">", GLUE_47);
00333     define ("<=", GLUE_48);
00334     define (">=", GLUE_49);
00335     define ("<", GLUE_50);
00336     define (">", GLUE_51);
00337     define ("inf", GLUE_52);
00338     define ("sup", GLUE_53);
00339   }

void glue_vector_integer (  ) 

Definition at line 285 of file glue_vector_integer.cpp.

References GLUE_1(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_39(), GLUE_4(), GLUE_40(), GLUE_41(), GLUE_42(), GLUE_43(), GLUE_44(), GLUE_45(), GLUE_46(), GLUE_47(), GLUE_48(), GLUE_49(), GLUE_5(), GLUE_50(), GLUE_51(), GLUE_52(), GLUE_53(), GLUE_6(), GLUE_7(), GLUE_8(), and GLUE_9().

Referenced by glue_algebramix().

00285                          {
00286     static bool done = false;
00287     if (done) return;
00288     done = true;
00289     call_glue (string ("glue_integer"));
00290     call_glue (string ("glue_vector_generic"));
00291     define_type<vector<integer> > (gen (lit ("Vector"), lit ("Integer")));
00292     define ("vector", GLUE_1);
00293     define ("[]", GLUE_2);
00294     define_converter (":>", GLUE_3, PENALTY_CAST);
00295     define ("#", GLUE_4);
00296     define (".[]", GLUE_5);
00297     define (".[]", GLUE_6);
00298     define (".[]", GLUE_7);
00299     define ("reverse", GLUE_8);
00300     define ("><", GLUE_9);
00301     define ("<<", GLUE_10);
00302     define ("cons", GLUE_11);
00303     define ("car", GLUE_12);
00304     define ("cdr", GLUE_13);
00305     define ("nil?", GLUE_14);
00306     define ("atom?", GLUE_15);
00307     define ("insert", GLUE_16);
00308     define ("find", GLUE_17);
00309     define ("contains?", GLUE_18);
00310     define_converter (":>", GLUE_19, PENALTY_PROMOTE_GENERIC);
00311     define ("-", GLUE_20);
00312     define ("square", GLUE_21);
00313     define ("+", GLUE_22);
00314     define ("-", GLUE_23);
00315     define ("*", GLUE_24);
00316     define ("+", GLUE_25);
00317     define ("+", GLUE_26);
00318     define ("-", GLUE_27);
00319     define ("-", GLUE_28);
00320     define ("*", GLUE_29);
00321     define ("*", GLUE_30);
00322     define ("dot", GLUE_31);
00323     define ("big_mul", GLUE_32);
00324     define ("big_add", GLUE_33);
00325     define ("=", GLUE_34);
00326     define ("!=", GLUE_35);
00327     define ("=", GLUE_36);
00328     define ("!=", GLUE_37);
00329     define ("=", GLUE_38);
00330     define ("!=", GLUE_39);
00331     define ("<=", GLUE_40);
00332     define (">=", GLUE_41);
00333     define ("<", GLUE_42);
00334     define (">", GLUE_43);
00335     define ("<=", GLUE_44);
00336     define (">=", GLUE_45);
00337     define ("<", GLUE_46);
00338     define (">", GLUE_47);
00339     define ("<=", GLUE_48);
00340     define (">=", GLUE_49);
00341     define ("<", GLUE_50);
00342     define (">", GLUE_51);
00343     define ("inf", GLUE_52);
00344     define ("sup", GLUE_53);
00345   }

void mmx::glue_vector_modular_integer (  ) 

Referenced by glue_algebramix().

void glue_vector_rational (  ) 

Definition at line 545 of file glue_vector_rational.cpp.

References GLUE_1(), GLUE_10(), GLUE_100(), GLUE_101(), GLUE_102(), GLUE_103(), GLUE_104(), GLUE_11(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_39(), GLUE_4(), GLUE_40(), GLUE_41(), GLUE_42(), GLUE_43(), GLUE_44(), GLUE_45(), GLUE_46(), GLUE_47(), GLUE_48(), GLUE_49(), GLUE_5(), GLUE_50(), GLUE_51(), GLUE_52(), GLUE_53(), GLUE_54(), GLUE_55(), GLUE_56(), GLUE_57(), GLUE_58(), GLUE_59(), GLUE_6(), GLUE_60(), GLUE_61(), GLUE_62(), GLUE_63(), GLUE_64(), GLUE_65(), GLUE_66(), GLUE_67(), GLUE_68(), GLUE_69(), GLUE_7(), GLUE_70(), GLUE_71(), GLUE_72(), GLUE_73(), GLUE_74(), GLUE_75(), GLUE_76(), GLUE_77(), GLUE_78(), GLUE_79(), GLUE_8(), GLUE_80(), GLUE_81(), GLUE_82(), GLUE_83(), GLUE_84(), GLUE_85(), GLUE_86(), GLUE_87(), GLUE_88(), GLUE_89(), GLUE_9(), GLUE_90(), GLUE_91(), GLUE_92(), GLUE_93(), GLUE_94(), GLUE_95(), GLUE_96(), GLUE_97(), GLUE_98(), and GLUE_99().

Referenced by glue_algebramix().

00545                           {
00546     static bool done = false;
00547     if (done) return;
00548     done = true;
00549     call_glue (string ("glue_complex_rational"));
00550     call_glue (string ("glue_vector_integer"));
00551     define_type<vector<rational> > (gen (lit ("Vector"), lit ("Rational")));
00552     define_type<vector<complex<rational> > > (gen (lit ("Vector"), gen (lit ("Complex"), lit ("Rational"))));
00553     define ("vector", GLUE_1);
00554     define ("[]", GLUE_2);
00555     define_converter (":>", GLUE_3, PENALTY_CAST);
00556     define ("#", GLUE_4);
00557     define (".[]", GLUE_5);
00558     define (".[]", GLUE_6);
00559     define (".[]", GLUE_7);
00560     define ("reverse", GLUE_8);
00561     define ("><", GLUE_9);
00562     define ("<<", GLUE_10);
00563     define ("cons", GLUE_11);
00564     define ("car", GLUE_12);
00565     define ("cdr", GLUE_13);
00566     define ("nil?", GLUE_14);
00567     define ("atom?", GLUE_15);
00568     define ("insert", GLUE_16);
00569     define ("find", GLUE_17);
00570     define ("contains?", GLUE_18);
00571     define ("vector", GLUE_19);
00572     define ("[]", GLUE_20);
00573     define_converter (":>", GLUE_21, PENALTY_CAST);
00574     define ("#", GLUE_22);
00575     define (".[]", GLUE_23);
00576     define (".[]", GLUE_24);
00577     define (".[]", GLUE_25);
00578     define ("reverse", GLUE_26);
00579     define ("><", GLUE_27);
00580     define ("<<", GLUE_28);
00581     define ("cons", GLUE_29);
00582     define ("car", GLUE_30);
00583     define ("cdr", GLUE_31);
00584     define ("nil?", GLUE_32);
00585     define ("atom?", GLUE_33);
00586     define ("insert", GLUE_34);
00587     define ("find", GLUE_35);
00588     define ("contains?", GLUE_36);
00589     define_converter (":>", GLUE_37, PENALTY_INCLUSION);
00590     define_converter (":>", GLUE_38, PENALTY_HOMOMORPHISM);
00591     define_converter (":>", GLUE_39, PENALTY_PROMOTE_GENERIC);
00592     define_converter (":>", GLUE_40, PENALTY_PROMOTE_GENERIC);
00593     define ("-", GLUE_41);
00594     define ("square", GLUE_42);
00595     define ("+", GLUE_43);
00596     define ("-", GLUE_44);
00597     define ("*", GLUE_45);
00598     define ("+", GLUE_46);
00599     define ("+", GLUE_47);
00600     define ("-", GLUE_48);
00601     define ("-", GLUE_49);
00602     define ("*", GLUE_50);
00603     define ("*", GLUE_51);
00604     define ("dot", GLUE_52);
00605     define ("big_mul", GLUE_53);
00606     define ("big_add", GLUE_54);
00607     define ("=", GLUE_55);
00608     define ("!=", GLUE_56);
00609     define ("=", GLUE_57);
00610     define ("!=", GLUE_58);
00611     define ("=", GLUE_59);
00612     define ("!=", GLUE_60);
00613     define ("-", GLUE_61);
00614     define ("square", GLUE_62);
00615     define ("+", GLUE_63);
00616     define ("-", GLUE_64);
00617     define ("*", GLUE_65);
00618     define ("+", GLUE_66);
00619     define ("+", GLUE_67);
00620     define ("-", GLUE_68);
00621     define ("-", GLUE_69);
00622     define ("*", GLUE_70);
00623     define ("*", GLUE_71);
00624     define ("dot", GLUE_72);
00625     define ("big_mul", GLUE_73);
00626     define ("big_add", GLUE_74);
00627     define ("=", GLUE_75);
00628     define ("!=", GLUE_76);
00629     define ("=", GLUE_77);
00630     define ("!=", GLUE_78);
00631     define ("=", GLUE_79);
00632     define ("!=", GLUE_80);
00633     define ("invert", GLUE_81);
00634     define ("/", GLUE_82);
00635     define ("/", GLUE_83);
00636     define ("/", GLUE_84);
00637     define ("invert", GLUE_85);
00638     define ("/", GLUE_86);
00639     define ("/", GLUE_87);
00640     define ("/", GLUE_88);
00641     define ("<=", GLUE_89);
00642     define (">=", GLUE_90);
00643     define ("<", GLUE_91);
00644     define (">", GLUE_92);
00645     define ("<=", GLUE_93);
00646     define (">=", GLUE_94);
00647     define ("<", GLUE_95);
00648     define (">", GLUE_96);
00649     define ("<=", GLUE_97);
00650     define (">=", GLUE_98);
00651     define ("<", GLUE_99);
00652     define (">", GLUE_100);
00653     define ("inf", GLUE_101);
00654     define ("sup", GLUE_102);
00655     define ("abs", GLUE_103);
00656     define_converter (":>", GLUE_104, PENALTY_HOMOMORPHISM);
00657   }

polynomial<C,V> mmx::graeffe ( const polynomial< C, V > &  P  )  [inline]

Definition at line 1298 of file polynomial.hpp.

References C, CF(), N(), Polynomial, and seg().

Referenced by GLUE_108(), GLUE_114(), and GLUE_47().

01298                               {
01299   typedef implementation<polynomial_graeffe,V> Pol;
01300   nat n= N(P);
01301   nat l= aligned_size<C,V> (n);
01302   C* r= mmx_formatted_new<C> (l, CF(P));
01303   Pol::graeffe (r, seg (P), n);
01304   return Polynomial (r, n, l, CF(P));
01305 }

matrix<C> mmx::hankel_matrix ( const vector< C > &  v  )  [inline]

Definition at line 865 of file matrix.hpp.

References CF(), N(), and promote().

Referenced by GLUE_44(), GLUE_50(), and GLUE_89().

00865                                    {
00866   ASSERT ((N(v)&1) == 1, "odd dimension expected");
00867   nat n= (N(v) >> 1) + 1;
00868   matrix<C> m (promote (0, CF(v)), n, n);
00869   for (nat i=0; i<n; i++)
00870     for (nat j=0; j<n; j++)
00871       m (i, j)= v [i+j];
00872   return m;
00873 }

bool mmx::hard_eq ( const quotient< NT, DT > &  x1,
const quotient< NT, DT > &  x2 
) [inline]

Definition at line 154 of file quotient.hpp.

References denominator(), hard_eq(), and numerator().

00154                                                                   {
00155   return hard_eq (numerator (x1), numerator (x2)) &&
00156          hard_eq (denominator (x1), denominator (x2)); }

bool mmx::hard_eq ( const algebraic_number_extension< C, Ball > &  x,
const algebraic_number_extension< C, Ball > &  y 
) [inline]

Definition at line 86 of file algebraic_number.hpp.

References hard_eq().

00086                                                           {
00087   return hard_eq (*x, *y); }

bool mmx::hard_eq ( const algebraic_extension< C > &  x,
const algebraic_extension< C > &  y 
) [inline]

Definition at line 66 of file algebraic_extension.hpp.

References hard_eq().

00066                                                                   {
00067   return hard_eq (*x, *y); }

bool mmx::hard_eq ( const algebraic< C, Extension > &  x1,
const algebraic< C, Extension > &  x2 
) [inline]

Definition at line 116 of file algebraic.hpp.

References field(), and value().

Referenced by hard_eq(), hard_neq(), join(), and upgrade().

00116                                                                     {
00117   return hard_eq (value (x1), value (x2)) &&
00118          hard_eq (field (x1), field (x2)); }

nat mmx::hard_hash ( const quotient< NT, DT > &  x  )  [inline]

Definition at line 141 of file quotient.hpp.

References denominator(), hard_hash(), and numerator().

00141                                               {
00142   nat h= hard_hash (numerator (x));
00143   return (h<<1) ^ (h<<5) ^ (h>>29) ^ hard_hash (denominator (x)); }

nat mmx::hard_hash ( const algebraic_number_extension< C, Ball > &  x  )  [inline]

Definition at line 77 of file algebraic_number.hpp.

References hard_hash().

00077 { return hard_hash (*x); }

nat mmx::hard_hash ( const algebraic_extension< C > &  x  )  [inline]

Definition at line 57 of file algebraic_extension.hpp.

References hard_hash().

00057 { return hard_hash (*x); }

nat mmx::hard_hash ( const algebraic< C, Extension > &  x  )  [inline]

Definition at line 108 of file algebraic.hpp.

References field(), and value().

Referenced by hard_hash().

00108                                                {
00109   nat h= hard_hash (value (x));
00110   return (h<<1) ^ (h<<5) ^ (h>>29) ^ hard_hash (field (x)); }

bool mmx::hard_neq ( const quotient< NT, DT > &  x1,
const quotient< NT, DT > &  x2 
) [inline]

Definition at line 157 of file quotient.hpp.

References hard_eq().

00157                                                                    {
00158   return !hard_eq (x1, x2); }

bool mmx::hard_neq ( const algebraic_number_extension< C, Ball > &  x,
const algebraic_number_extension< C, Ball > &  y 
) [inline]

Definition at line 88 of file algebraic_number.hpp.

References hard_neq().

00088                                                            {
00089   return hard_neq (*x, *y); }

bool mmx::hard_neq ( const algebraic_extension< C > &  x,
const algebraic_extension< C > &  y 
) [inline]

Definition at line 68 of file algebraic_extension.hpp.

References hard_neq().

00068                                                                    {
00069   return hard_neq (*x, *y); }

bool mmx::hard_neq ( const algebraic< C, Extension > &  x1,
const algebraic< C, Extension > &  x2 
) [inline]

Definition at line 119 of file algebraic.hpp.

References hard_eq().

Referenced by hard_neq(), and upgrade().

00119                                                                      {
00120   return !hard_eq (x1, x2); }

mmx::HARD_TO_EXACT_IDENTITY_SUGAR ( template< typename C, typename V >  ,
series< C, V >   
)
nat mmx::hash ( const series< C, V > &  s  )  [inline]

Definition at line 291 of file series.hpp.

00291                        {
00292   return unary_hash<hash_op> (s);
00293 }

nat mmx::hash ( const quotient_series< Series, Monomial > &  f  )  [inline]

Definition at line 89 of file quotient_series.hpp.

00089                                                 {
00090   // FIXME: find something better to return here
00091   (void) f; return 0; }

nat mmx::hash ( const quotient< NT, DT > &  x  )  [inline]

Definition at line 135 of file quotient.hpp.

References denominator(), hash(), and numerator().

00135                                          {
00136   nat h= hash (numerator (x));
00137   return (h<<1) ^ (h<<5) ^ (h>>29) ^ hash (denominator (x)); }

nat mmx::hash ( const algebraic_number_extension< C, Ball > &  x  )  [inline]

Definition at line 75 of file algebraic_number.hpp.

References hash().

00075 { return hash (*x); }

nat mmx::hash ( const algebraic_extension< C > &  x  )  [inline]

Definition at line 55 of file algebraic_extension.hpp.

References hash().

00055 { return hash (*x); }

nat mmx::hash ( const algebraic< C, Extension > &  x  )  [inline]

Definition at line 102 of file algebraic.hpp.

References field(), and value().

Referenced by hash().

00102                                           {
00103   nat h= hash (value (x));
00104   return (h<<1) ^ (h<<5) ^ (h>>29) ^ hash (field (x)); }

quotient_series<Series,Monomial> mmx::head ( const quotient_series< Series, Monomial > &  f,
const list< Monomial > &  l 
) [inline]

Definition at line 124 of file quotient_series.hpp.

References Quotient_series.

Referenced by nrelax_mul_series_rep< C, V >::direct_transform(), level_info< C >::level_info(), and level_info< C >::~level_info().

00124                                                                      {
00125   return Quotient_series (head (f->f, stair_mul (1/f->m, l)), f->m); }

matrix<C> mmx::hilbert_matrix ( const int &  n,
const format< C > &  fm = format<C> () 
) [inline]

Definition at line 825 of file matrix.hpp.

References promote().

00825                                                                  {
00826   matrix<C> m (promote (0, fm), n, n);
00827   for (nat i=0; i<(nat) n; i++)
00828     for (nat j=0; j<(nat) n; j++)
00829       m (i, j)= 1 / promote (1 + i + j, fm);
00830   return m;
00831 }

matrix<C,V> mmx::horizontal_join ( const matrix< C, V > &  m1,
const matrix< C, V > &  m2 
) [inline]

Definition at line 880 of file matrix.hpp.

References CF(), cols(), is_non_scalar(), Matrix, promote(), and rows().

Referenced by GLUE_13(), GLUE_14(), GLUE_43(), and GLUE_76().

00880                                                      {
00881   ASSERT (is_non_scalar (m1) || is_non_scalar (m2),
00882           "non-scalar matrix expected");
00883   if (!is_non_scalar (m1))
00884     return horizontal_join (Matrix (m1.scalar(), rows (m2), rows (m2)), m2);
00885   if (!is_non_scalar (m2))
00886     return horizontal_join (m1, Matrix (m2.scalar(), rows (m1), rows (m1)));
00887   ASSERT (rows (m1) == rows (m2), "unequal number of rows");
00888   Matrix r (promote (0, CF(m1)), rows (m1), cols (m1) + cols (m2));
00889   for (nat i=0; i<rows(m1); i++) {
00890     for (nat j=0; j<cols(m1); j++)
00891       r(i,j)= m1(i,j);
00892     for (nat j=0; j<cols(m2); j++)
00893       r(i,j+cols(m1))= m2(i,j);
00894   }
00895   return r;
00896 }

vector<nat> mmx::id_vector ( nat  n  )  [inline]

Definition at line 27 of file permutation.hpp.

Referenced by cycle(), and transposition().

00027                   {
00028   vector<nat> v= fill<nat> (n);
00029   for (nat i=0; i<n; i++) v[i]= i;
00030   return v;
00031 }

matrix<C> mmx::identity_matrix ( const int &  n,
const format< C > &  fm = format<C> () 
) [inline]

Definition at line 800 of file matrix.hpp.

References promote().

00800                                                                   {
00801   return matrix<C> (promote (1, fm), n, n);
00802 }

polynomial<Real_type(C),V> mmx::Im ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1457 of file polynomial.hpp.

01457 { return unary_map<Im_op> (p); }

matrix<Real_type(C),V> mmx::Im ( const matrix< C, V > &  m  )  [inline]

Definition at line 774 of file matrix.hpp.

00774 { return unary_map<Im_op> (m); }

algebraic_real mmx::Im ( const algebraic_number &  z  )  [inline]

Definition at line 430 of file algebraic_number.hpp.

References over_i(), and Re().

Referenced by GLUE_74().

00430                                {
00431   return Re (over_i (z));
00432 }

matrix<C,V> mmx::image ( const matrix< C, V > &  m  )  [inline]

Definition at line 1286 of file matrix.hpp.

References CF(), cols(), is_non_scalar(), Matrix, promote(), range(), rows(), and tab().

Referenced by GLUE_123(), GLUE_48(), GLUE_72(), and krylov().

01286                         {
01287   typedef implementation<matrix_image,V> Mat;
01288   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01289   Matrix k (promote (0, CF(m)), rows(m), rows(m));
01290   nat dim= Mat::image (tab(k), tab(m), rows(m), cols(m));
01291   return range (k, 0, 0, rows(m), dim);
01292 }

series<C> mmx::implicit_series ( const routine &  fun,
const C &  c 
) [inline]

Definition at line 152 of file series_sugar.hpp.

References implicit_series().

00152                                                  {
00153   return implicit_series (fun, vec<C> (c));
00154 }

series<C> mmx::implicit_series ( const routine &  fun,
const vector< C > &  c 
) [inline]

Definition at line 146 of file series_sugar.hpp.

References access(), and solver().

Referenced by GLUE_177(), GLUE_54(), GLUE_83(), and implicit_series().

00146                                                          {
00147   series_rep<VC >* rep= (series_rep<VC >*) new implicit_series_rep<C> (fun, c);
00148   return access (solver (series<VC > (rep)), 0);
00149 }

vector<series<C> > mmx::implicit_vector_series ( const routine &  fun,
const vector< C > &  c 
) [inline]

Definition at line 196 of file series_sugar.hpp.

References implicit_vector_series().

00196                                                                 {
00197   return implicit_vector_series (fun, vec<vector<C> > (c));
00198 }

vector<series<C> > mmx::implicit_vector_series ( const routine &  fun,
const vector< vector< C > > &  c 
) [inline]

Definition at line 188 of file series_sugar.hpp.

References as_vector(), N(), and solver().

Referenced by gen_implicit_vector_series(), and implicit_vector_series().

00188                                                                          {
00189   ASSERT (N(c) > 0, "at least one initial condition required");
00190   series_rep<VC >* rep=
00191     (series_rep<VC >*) new implicit_vector_series_rep<C> (fun, c);
00192   return as_vector (solver (series<VC > (rep)));
00193 }

bool mmx::improve_zero ( const polynomial< C > &  p,
Ball &  z 
) [inline]

Definition at line 127 of file algebraic_number.hpp.

References abs(), abs_up(), Ball, CBall, center(), Center_type(), copy(), derive(), eval(), included(), max(), Polynomial, radius(), sharpen(), and x.

Referenced by increase_precision(), and shrink().

00127                                             {
00128   typedef Center_type(Ball) CBall;
00129   typedef Radius_type(Ball) RBall;
00130   if (p[0] == 0 && z == 0) { z= Ball (0); return true; }
00131   CBall x= center (copy (z));
00132   RBall r= radius (z);
00133   Polynomial dp= derive (p);
00134   while (true) {
00135     CBall nx= x - eval (p, x) / eval (dp, x);
00136     RBall nr= as<RBall> (abs (nx - x));
00137     while (true) {
00138       Ball nb= Ball (nx, nr);
00139       if (eval (dp, nb) == 0) return false;
00140       RBall rr= abs_up (eval (p, sharpen (nb)) / eval (dp, nb));
00141       if (rr <= nr) break;
00142       nr= max (2 * nr, rr);
00143     }
00144     bool ok= (2 * nr >= r);
00145     x= nx;
00146     r= nr;
00147     if (ok) break;
00148   }
00149   if (!included (Ball (x, r), z)) return false;
00150   z= Ball (x, r);
00151   return true;
00152 }

bool mmx::included ( const matrix< C, V > &  m,
const matrix< C, V > &  n 
) [inline]

Definition at line 792 of file matrix.hpp.

Referenced by improve_zero().

00792                                                              {
00793   return binary_test<included_op> (m, n); }

void mmx::increase_order ( const series< C, V > &  f,
nat  l 
) [inline]

Definition at line 204 of file series.hpp.

Referenced by lshiftz_series_vector_rep< C, V, W >::Increase_order(), vector_series_rep< C, V, W >::Increase_order(), vector_access_series_rep< C, V, W >::Increase_order(), reverse_series_rep< C, V >::Increase_order(), compose_series_rep< C, V >::Increase_order(), binary_series_rep< Op, C, V >::Increase_order(), unary_series_rep< Op, C, V >::Increase_order(), binary_scalar_recursive_series_rep< Op, C, V, X >::Increase_order(), binary_recursive_series_rep< Op, C, V >::Increase_order(), unary_recursive_series_rep< Op, C, V >::Increase_order(), unary_map_as_series_rep< Op, C, V, S, SV >::Increase_order(), ternary_scalar_series_rep< Op, C, V, X, Y >::Increase_order(), binary_scalar_series_rep< Op, C, V, X >::Increase_order(), matrix_series_rep< C, V, U >::Increase_order(), matrix_access_series_rep< C, V, U >::Increase_order(), solver_container_series_rep< C, V >::Increase_order(), solver_series_rep< C, V >::Increase_order(), known_series_rep< C, V, UV >::Increase_order(), mul_series_rep< C, V >::Increase_order(), nrelax_mul_series_rep< C, V >::Increase_order(), div_series_rep< M, V >::Increase_order(), rdiv_sc_series_rep< M, V, X >::Increase_order(), carry_mul_sc_series_rep< M, V, X >::Increase_order(), binary_series_rep< Op, M, V >::Increase_order(), unary_series_rep< Op, M, V >::Increase_order(), binary_scalar_series_rep< Op, M, V, X >::Increase_order(), ldiv_mat_monoblock_series_rep< M, V >::Increase_order(), ldiv_vec_monoblock_series_rep< M, V >::Increase_order(), ldiv_mat_series_rep< M, V >::Increase_order(), ldiv_sc_mat_series_rep< M, V >::Increase_order(), matrix_carry_mul_rem_series_rep< M, V >::Increase_order(), matrix_carry_mul_quo_series_rep< M, V, X >::Increase_order(), ldiv_vec_series_rep< M, V >::Increase_order(), ldiv_sc_vec_series_rep< M, V >::Increase_order(), vector_carry_mul_rem_series_rep< M, V >::Increase_order(), vector_carry_mul_quo_series_rep< M, V, X >::Increase_order(), lshiftz_series_matrix_rep< M, V >::Increase_order(), mul_series_rep< M, V >::Increase_order(), slp_polynomial_regular_root_monoblock_series_rep< M, V, L >::Increase_order(), binary_scalar_recursive_monoblock_series_rep< Op, M, V, s, BV, t, X >::Increase_order(), unary_polynomial_recursive_monoblock_series_rep< Op, M, V, s, BV, t, L >::Increase_order(), truncate_mul_monoblock_series_rep< M, V, s, BV, t >::Increase_order(), binary_monoblock_series_rep< Op, M, V, s, BV, t >::Increase_order(), change_precision_series_rep< C, V >::Increase_order(), deflate_series_rep< C, V >::Increase_order(), dilate_series_rep< C, V >::Increase_order(), q_difference_series_rep< C, V >::Increase_order(), shift_series_rep< C, V >::Increase_order(), integrate_series_rep< C, V >::Increase_order(), xderive_series_rep< C, V >::Increase_order(), derive_series_rep< C, V >::Increase_order(), piecewise_series_rep< C, V >::Increase_order(), restrict_series_rep< C, V >::Increase_order(), lshiftz_series_rep< C, V >::Increase_order(), lcm_series_rep< C, V >::Increase_order(), gcd_series_rep< C, V >::Increase_order(), map_series_rep< C, V, S, SV, Fun >::Increase_order(), cast_series_rep< C, V, K, W >::Increase_order(), slow_series_rep< C, V >::Increase_order(), fast_series_rep< C, V >::Increase_order(), recursive_container_series_rep< C, V >::Increase_order(), recursive_series_rep< vector< C > >::Increase_order(), and slp_polynomial_regular_root_series_rep< M, V, L >::increase_order_generic().

00204                                         {
00205   if (f->l < l) inside (f) -> Increase_order (l);
00206 }

void mmx::increase_precision ( const algebraic_number_extension< C, Ball > &  ext  )  [inline]

Definition at line 176 of file algebraic_number.hpp.

References Ball, CBall, Center_type(), Field, improve_zero(), mmx_bit_precision, precision(), and x.

Referenced by eval().

00176                                       {
00177   typedef Center_type(Ball) CBall;
00178   typedef Radius_type(Ball) RBall;
00179   if (precision (ext.x) >= mmx_bit_precision) return;
00180   Ball new_x= ext.x;
00181   if (!improve_zero (ext.ext.mp, new_x)) {
00182     mmerr << "mp= " << ext.ext.mp << "\n";
00183     mmerr << "x = " << new_x << "\n";
00184     ERROR ("unexpected situation");
00185   }
00186   (const_cast<Field*> (&ext)) -> x= new_x;
00187 }

mmx::INDIRECT_IMPL_2 ( unknown  ,
unknown_rep  ,
typename C  ,
,
typename V  ,
 
)
mmx::INDIRECT_IMPL_2 ( series  ,
series_rep  ,
typename C  ,
,
typename V  ,
 
)
mmx::INDIRECT_IMPL_2 ( quotient_series  ,
quotient_series_rep  ,
typename Series  ,
Series  ,
typename Monomial  ,
Monomial   
)
mmx::INDIRECT_IMPL_2 ( polynomial  ,
polynomial_rep  ,
typename C  ,
,
typename V  ,
 
)
mmx::INDIRECT_IMPL_2 ( matrix  ,
matrix_rep  ,
typename C  ,
,
typename V  ,
 
)
void mmx::insert_and_reduce ( vector< unknown< C, V > > &  sys,
unknown< C, V > &  c 
) [inline]

Definition at line 310 of file series_implicit.hpp.

References is_exact_zero(), N(), and reduce().

Referenced by solver_series_rep< C, V >::next().

00310                                             {
00311   for (nat i=0; i<N(sys); i++)
00312     reduce (c, sys[i]);
00313   if (is_exact_zero (c)) return;
00314   ASSERT (c->i1 != c->i2, "contradictory equations");
00315   sys << c;
00316 }

static polynomial< mmx_modular(integer), polynomial_carry_variant_helper< mmx_modular(integer) >::PV > integer_as_p_expansion ( const integer &  c,
const modulus< integer > &  p 
) [inline, static]

Definition at line 41 of file glue_polynomial_p_adic_modular_integer.cpp.

References simple_as_p_expansion.

Referenced by GLUE_8().

00041                                                                       {
00042     return simple_as_p_expansion(integer)(c, p); }

series<M,V> mmx::integer_to_series_carry ( integer  a  )  [inline]

Definition at line 477 of file series_carry_naive.hpp.

References coefficients(), default_p_expansion, M, and Series.

00477                                     {
00478   if (a == integer (0)) return Series ();
00479   if (a > integer (0))
00480     return Series (coefficients (as<default_p_expansion (M)> (a)));
00481   return -Series (coefficients (as<default_p_expansion (M)> (-a)));
00482 }

series<C,V> mmx::integrate ( const series< C, V > &  f  )  [inline]

Definition at line 973 of file series.hpp.

References CF(), is_exact_zero(), Series, and Series_rep.

00973                             {
00974   if (is_exact_zero (f)) return Series (CF(f));
00975   return (Series_rep*) new integrate_series_rep<C,V> (f);
00976 }

polynomial<C,V> mmx::integrate ( const polynomial< C, V > &  P  )  [inline]

Definition at line 1070 of file polynomial.hpp.

References C, CF(), integrate(), N(), Polynomial, and seg().

01070                                 {
01071   typedef implementation<polynomial_linear,V> Pol;
01072   nat n= N(P);
01073   nat l= aligned_size<C,V> (n+1);
01074   C* r= mmx_formatted_new<C> (l, CF(P));
01075   Pol::integrate (r, seg (P), n);
01076   return Polynomial (r, n+1, l, CF(P));
01077 }

matrix<C,V> mmx::integrate ( const matrix< C, V > &  m  )  [inline]

Definition at line 639 of file matrix.hpp.

Referenced by integrate_series_rep< C, V >::expression(), gen_integrate_vector_series(), GLUE_101(), GLUE_107(), GLUE_158(), GLUE_30(), GLUE_42(), GLUE_43(), GLUE_76(), integrate(), and integrate_series().

00639                                         {
00640   return unary_map<integrate_op> (m); }

series<C,V> mmx::integrate_coeffs ( const series< C, V > &  f,
const T &  v 
) [inline]

Definition at line 984 of file series.hpp.

00984                                                {
00985   return binary_scalar_series<integrate_op> (f, v);
00986 }

series<C,V> mmx::integrate_init ( const series< C, V > &  f,
const C &  c 
) [inline]

Definition at line 979 of file series.hpp.

References Series_rep.

00979                                              {
00980   return (Series_rep*) new integrate_series_rep<C,V> (f, c);
00981 }

matrix<C,V> mmx::integrate_init ( const matrix< C, V > &  m,
const matrix< K, W > &  n 
) [inline]

Definition at line 642 of file matrix.hpp.

Referenced by integrate_series_rep< C, V >::expression().

00642                                                        {
00643   return binary_map<integrate_init_op> (m, as<matrix<K,V> > (n)); }

series<C> mmx::integrate_series ( const routine &  fun,
const C &  c 
) [inline]

Definition at line 63 of file series_sugar.hpp.

References fixed_point_series(), and integrate().

Referenced by GLUE_175(), GLUE_52(), and GLUE_82().

00063                                                   {
00064   return fixed_point_series (integrate (fun), vec<C> (c));
00065 }

polynomial<C,typename polynomial_variant_helper< C >::PV > mmx::interpolate ( const vector< C > &  v,
const vector< C > &  x 
) [inline]

Definition at line 1221 of file polynomial.hpp.

Referenced by GLUE_106(), GLUE_112(), and implementation< polynomial_evaluate, V, polynomial_naive >::interpolate().

01221                                                {
01222   return interpolate_bis<C,typename Polynomial_variant(C) > (v, x);
01223 }

polynomial<C,V> mmx::interpolate_bis ( const vector< C > &  v,
const vector< C > &  x 
) [inline]

Definition at line 1215 of file polynomial.hpp.

01215                                                    {
01216   typedef implementation<polynomial_evaluate,V> Pol;
01217   return Pol::template interpolate<Polynomial> (v, x);
01218 }

mmx::INV_TRIGO_SUGAR ( template< typename C, typename V >  ,
series< C, V >   
)
Baser::base mmx::inverse_base ( const vector< typename Baser::modulus_base, W > &  src,
Baser &  baser 
) [inline]

Definition at line 192 of file base_naive.hpp.

References C, inverse_base(), N(), and seg().

00192                                                     {
00193   C d; inverse_base (d, seg (src), N(src), baser);
00194   return d;
00195 }

void mmx::inverse_base ( typename Baser::base &  d,
const vector< typename Baser::modulus_base, W > &  src,
Baser &  baser 
) [inline]

Definition at line 187 of file base_naive.hpp.

References N(), and seg().

00187                                                           {
00188   baser.inverse_transform (d, seg (src), N(src));
00189 }

void mmx::inverse_base ( typename Baser::base &  d,
const typename Baser::modulus_base *  src,
nat  n,
Baser &  baser 
) [inline]
Crter::base mmx::inverse_crt ( const vector< typename Crter::modulus_base, W > &  src,
Crter &  crter 
) [inline]

Definition at line 369 of file crt_naive.hpp.

References C, inverse_crt(), and seg().

00369                                                    {
00370   C d; inverse_crt (d, seg (src), crter);
00371   return d;
00372 }

void mmx::inverse_crt ( typename Crter::base &  d,
const vector< typename Crter::modulus_base, W > &  src,
Crter &  crter 
) [inline]

Definition at line 364 of file crt_naive.hpp.

References seg().

00364                                                          {
00365   crter.inverse_transform (d, seg (src));
00366 }

void mmx::inverse_crt ( typename Crter::base &  d,
const typename Crter::modulus_base *  src,
Crter &  crter 
) [inline]
void mmx::inverse_fft ( C *  dest,
nat  n 
) [inline]

Definition at line 217 of file fft_naive.hpp.

References fft_naive_transformer< C, V >::inverse_transform().

00217                              {
00218   if (n == 0) return;
00219   fft_naive_transformer<C> ffter (n, get_format (dest[0]));
00220   ffter.inverse_transform (dest);
00221 }

void mmx::inverse_fft_triadic ( C *  dest,
nat  n 
) [inline]

Definition at line 190 of file fft_triadic_naive.hpp.

References fft_triadic_naive_transformer< C, VV >::inverse_transform_triadic().

00190                                      {
00191   if (n == 0) return;
00192   fft_triadic_naive_transformer<C> ffter (n, get_format (dest[0]));
00193   ffter.inverse_transform_triadic (dest);
00194 }

void mmx::inverse_kronecker ( integer *  dest,
nat  n,
xnat  bits,
const integer &  src 
)
series<C,V> mmx::invert ( const series< C, V > &  f  )  [inline]

Definition at line 1128 of file series.hpp.

References CF(), and promote().

01128                          {
01129   return promote (1, CF(f)) / f;
01130 }

permutation invert ( const permutation &  p  ) 

Definition at line 56 of file permutation.cpp.

References N().

00056                               {
00057   nat n= N(p);
00058   vector<nat> v= fill<nat> (n);
00059   for (nat i=0; i<n; i++) v[p(i)]= i;
00060   return permutation (v);
00061 }

matrix<C,V> mmx::invert ( const matrix< C, V > &  m  )  [inline]

Definition at line 1260 of file matrix.hpp.

References CF(), cols(), invert(), is_a_scalar(), Matrix, promote(), rows(), and tab().

01260                          {
01261   typedef implementation<matrix_invert,V> Mat;
01262   if (is_a_scalar (m)) return Matrix (invert (m.scalar()));
01263   ASSERT (cols(m) == rows(m), "square matrix expected");
01264   Matrix a (promote (1, CF(m)), rows(m), cols(m));
01265   Mat::invert (tab(a), tab(m), rows(m));
01266   return a;
01267 }

algebraic_number_extension<C,Ball>::El mmx::invert ( const algebraic_number_extension< C, Ball > &  ext,
const typename algebraic_number_extension< C, Ball >::El &  p1 
) [inline]

Definition at line 242 of file algebraic_number.hpp.

References invert().

00242                                              {
00243   return invert (ext.ext, p1);
00244 }

algebraic_extension<C>::El mmx::invert ( const algebraic_extension< C > &  ext,
const typename algebraic_extension< C >::El &  p1 
) [inline]

Definition at line 107 of file algebraic_extension.hpp.

References Element, gcd(), and promote().

00107                                                  {
00108   Element a= promote (0, p1), b= promote (0, p1), c= gcd (p1, ext.mp, a, b);
00109   return a;
00110 }

algebraic<C,Extension> mmx::invert ( const algebraic< C, Extension > &  x1  )  [inline]
polynomial<C,V> mmx::invert_hi ( const polynomial< C, V > &  P  )  [inline]

Definition at line 1330 of file polynomial.hpp.

References C, CF(), N(), Polynomial, and seg().

Referenced by implementation< polynomial_divide, V, polynomial_naive >::invert_hi(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::invert_hi(), modulus< polynomial< C, V >, modulus_polynomial_preinverse< W > >::modulus(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::quo_rem(), and implementation< polynomial_divide, V, polynomial_dicho< BV > >::tquo_rem().

01330                                 {
01331   typedef implementation<polynomial_divide,V> Pol;
01332   nat n= N(P);
01333   nat l= aligned_size<C,V> (n);
01334   C* r= mmx_formatted_new<C> (l, CF(P));
01335   Pol::invert_hi (r, seg (P), n);
01336   return Polynomial (r, n, l, CF(P));
01337 }

polynomial<C,V> mmx::invert_lo ( const polynomial< C, V > &  P  )  [inline]

Definition at line 1325 of file polynomial.hpp.

References invert_lo(), and N().

01325                                 {
01326   return invert_lo (P, N(P));
01327 }

polynomial<C,V> mmx::invert_lo ( const polynomial< C, V > &  P,
nat  m 
) [inline]

Definition at line 1308 of file polynomial.hpp.

References C, CF(), copy(), N(), Polynomial, and seg().

Referenced by implementation< polynomial_divide, V, polynomial_dicho< BV > >::invert_lo(), invert_lo(), and implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::tevaluate().

01308                                        {
01309   typedef implementation<polynomial_divide,V> Pol;
01310   nat n= N(P);
01311   nat l= aligned_size<C,V> (m);
01312   C* r= mmx_formatted_new<C> (l, CF(P));
01313   if (n >= m)
01314     Pol::invert_lo (r, seg (P), m);
01315   else {
01316     C* t= mmx_formatted_new<C> (l, CF(P));
01317     Pol::copy (t, seg (P), n);
01318     Pol::clear (t + n, m - n);
01319     Pol::invert_lo (r, t, m);
01320   }
01321   return Polynomial (r, m, l, CF(P));
01322 }

polynomial<C,V> mmx::invert_modulo ( const polynomial< C, V > &  P,
const polynomial< C, V > &  Q 
) [inline]

Definition at line 843 of file polynomial.hpp.

Referenced by inv_mod_polynomial_series_rep< C, U, V, W >::initialize(), and modulus_polynomial_inv_naive< V >::inv_mod().

00843                                                          {
00844   typedef implementation<polynomial_gcd,V> Pol;
00845   return Pol::invert_mod (P, Q);
00846 }

bool mmx::is_a_scalar ( const matrix< C, matrix_fixed< V, RS, CS > > &  m  )  [inline]

Definition at line 310 of file matrix.hpp.

00310 { (void) m; return false; }

bool is_a_scalar ( const matrix< C, V > &  m  )  [inline]
K bool mmx::is_evaluable ( const quotient< NT, DT > &  x,
const K &  a,
Evaluate_type(quotient< NT, DT >, K)&  b 
)
Type Constraints

Definition at line 351 of file quotient.hpp.

References denominator(), DT, is_evaluable(), is_exact_zero(), NT, and numerator().

00351                                                                            {
00352   Evaluate_type(NT,K) num= b;
00353   Evaluate_type(DT,K) den= b;
00354   if (!is_evaluable (numerator (x), a, num)) return false;
00355   if (!is_evaluable (denominator (x), a, den)) return false;
00356   if (is_exact_zero (den)) return false; // FIXME: test for invertibility
00357   b= num / den; return true; }

bool mmx::is_evaluable ( const polynomial< C, V > &  p,
const C &  x,
C &  y 
) [inline]

Definition at line 1168 of file polynomial.hpp.

References evaluate().

01168                                                      {
01169   y= evaluate (p, x);
01170   return true;
01171 }

bool mmx::is_evaluable ( const matrix< C, V > &  v,
const K &  a,
matrix< Evaluate_type(C, K), W > &  w 
) [inline]

Definition at line 719 of file matrix.hpp.

References CF(), cols(), promote(), and rows().

Referenced by is_evaluable().

00720                                                {
00721   nat r= rows (v), c= cols (v);
00722   w= matrix<Evaluate_type(C,K),W> (promote (0, CF(w)), r, c);
00723   for (nat i= 0; i < r; i++)
00724     for (nat j= 0; j < c; j++)
00725       if (!is_evaluable (v(i,j), a, w(i,j))) return false;
00726   return true; }

bool mmx::is_exact_zero ( const unknown< C, V >  c  )  [inline]

Definition at line 120 of file series_implicit.hpp.

References is_exact_zero().

00120                            {
00121   return c->i1 == c->i2 && is_exact_zero (c->b);
00122 }

bool mmx::is_exact_zero ( const series< C, V > &  f  )  [inline]

Definition at line 307 of file series.hpp.

Referenced by deflate(), derive(), dilate(), div_kronecker(), series_carry_monoblock_transformer< M, W, s, BV >::from_monoblock(), insert_and_reduce(), integrate(), is_evaluable(), is_exact_zero(), is_invertible(), lshiftz(), lshiftz_series_matrix(), lshiftz_series_vector(), modulus< polynomial< C, V >, modulus_polynomial_power_of_the_variable< W > >::modulus(), modulus< polynomial< C, V >, modulus_polynomial_preinverse< W > >::modulus(), modulus_polynomial_mul_power_of_the_variable< X, W >::mul_mod(), modulus_polynomial_mul_preinverse< X, W >::mul_mod(), solver_series_rep< C, V >::next(), REP_STRUCT< Series, Monomial >::normalize(), operator*(), operator+(), operator-(), operator/(), q_difference(), reduce(), modulus_polynomial_reduction_preinverse< X >::reduce_mod(), rem(), restrict(), rshiftz(), implementation< series_separable_root, U, series_naive >::sep_root(), implementation< series_separable_root, U, series_carry_naive >::sep_root(), implementation< series_compose, U, series_naive >::ser_compose(), implementation< series_divide, U, series_naive >::ser_div(), implementation< series_divide, U, series_carry_naive >::ser_div(), implementation< series_divide, U, series_carry_monoblock< W, s, BV, t > >::ser_div(), implementation< series_multiply, U, series_relaxed< W > >::ser_mul(), implementation< series_multiply, U, series_naive >::ser_mul(), implementation< series_multiply, U, series_fast >::ser_mul(), implementation< series_multiply, U, series_carry_relaxed< W > >::ser_mul(), implementation< series_multiply, U, series_carry_lift< W > >::ser_mul(), implementation< series_multiply, U, series_carry_naive >::ser_mul(), implementation< series_multiply, U, series_carry_blocks< W, s, BV, t > >::ser_mul(), implementation< series_multiply, U, series_carry_monoblock< W, s, BV, t > >::ser_mul(), implementation< series_multiply, U, series_carry_modular_int_naive< W > >::ser_mul(), implementation< series_divide, U, series_naive >::ser_quo(), implementation< series_divide, U, series_naive >::ser_rdiv_sc(), implementation< series_divide, U, series_carry_naive >::ser_rdiv_sc(), implementation< series_divide, U, series_naive >::ser_rquo_sc(), implementation< series_divide, U, series_naive >::ser_rrem_sc(), implementation< series_multiply, U, series_relaxed< W > >::ser_truncate_mul(), implementation< series_multiply, U, series_naive >::ser_truncate_mul(), implementation< series_multiply, U, series_fast >::ser_truncate_mul(), implementation< series_multiply, U, series_carry_relaxed< W > >::ser_truncate_mul(), implementation< series_multiply, U, series_carry_lift< W > >::ser_truncate_mul(), implementation< series_multiply, U, series_carry_naive >::ser_truncate_mul(), implementation< series_multiply, U, series_carry_blocks< W, s, BV, t > >::ser_truncate_mul(), implementation< series_multiply, U, series_carry_monoblock< W, s, BV, t > >::ser_truncate_mul(), implementation< series_multiply, U, series_carry_modular_int_naive< W > >::ser_truncate_mul(), shift(), sqrt(), polynomial_series_rep< C, V >::test_exact_zero(), scalar_series_rep< C, V >::test_exact_zero(), series_carry_monoblock_transformer< M, W, s, BV >::to_monoblock(), implementation< series_pth_root, U, series_carry_p_adic< W > >::unsep_root(), and xderive().

00307                                           {
00308   return f->test_exact_zero (); }

bool mmx::is_finite ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1430 of file polynomial.hpp.

01430                                                  {
01431   return big<and_is_finite_op> (p); }

bool mmx::is_finite ( const matrix< C, V > &  m  )  [inline]

Definition at line 742 of file matrix.hpp.

References is_a_scalar().

00742                                              {
00743   if (is_a_scalar (m)) return is_finite (m.scalar());
00744   return big<and_is_finite_op> (m); }

bool mmx::is_fuzz ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1436 of file polynomial.hpp.

References is_nan().

01436                                                {
01437   return !is_nan (p) && big<or_is_fuzz_op> (p); }

bool mmx::is_fuzz ( const matrix< C, V > &  m  )  [inline]

Definition at line 751 of file matrix.hpp.

References is_a_scalar(), and is_nan().

00751                                            {
00752   if (is_a_scalar (m)) return is_fuzz (m.scalar());
00753   return !is_nan (m) && big<or_is_fuzz_op> (m); }

bool mmx::is_infinite ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1434 of file polynomial.hpp.

References is_nan().

01434                                                    {
01435   return !is_nan (p) && big<or_is_infinite_op> (p); }

bool mmx::is_infinite ( const matrix< C, V > &  m  )  [inline]

Definition at line 748 of file matrix.hpp.

References is_a_scalar(), and is_nan().

00748                                                {
00749   if (is_a_scalar (m)) return is_infinite (m.scalar());
00750   return !is_nan (m) && big<or_is_infinite_op> (m); }

bool mmx::is_invertible ( const quotient< NT, DT > &  x  )  [inline]

Definition at line 291 of file quotient.hpp.

References is_exact_zero().

Referenced by quotient_normalization_helper< polynomial< C, V >, polynomial< C, V > >::normalize().

00291                                   {
00292   return !is_exact_zero (x);  // assumes NT = DT
00293 }

V bool mmx::is_known ( const unknown< C, V > &  c  )  [inline]

Definition at line 84 of file series_implicit.hpp.

Referenced by subst_mul_series_rep< C, V, UV >::next().

00084                        {
00085   return c->i2 == c->i1;
00086 }

bool mmx::is_nan ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1432 of file polynomial.hpp.

01432                                               {
01433   return big<or_is_nan_op> (p); }

bool mmx::is_nan ( const matrix< C, V > &  m  )  [inline]

Definition at line 745 of file matrix.hpp.

References is_a_scalar().

Referenced by is_fuzz(), and is_infinite().

00745                                           {
00746   if (is_a_scalar (m)) return is_nan (m.scalar());
00747   return big<or_is_nan_op> (m); }

bool mmx::is_non_scalar ( const matrix< C, matrix_fixed< V, RS, CS > > &  m  )  [inline]

Definition at line 312 of file matrix.hpp.

00312 { (void) m; return true; }

bool is_non_scalar ( const matrix< C, V > &  m  )  [inline]
bool is_prime ( nat  n  ) 

Definition at line 17 of file crt_int.cpp.

Referenced by fft_prime_sequence_int< s >::extend().

00017                       {
00018   static coprime_moduli_sequence
00019     <modulus<nat,modulus_int_naive<8*sizeof(nat)> >,prime_sequence_int> seq;
00020   if (n == 0 || n == 1) return false;
00021   for (nat i= 0; true; i++) {
00022     nat p= * seq[i];
00023     if (n % p == 0) return false;
00024     if (p * p >= n) break;
00025   }
00026   return true;
00027 }

bool is_probable_prime ( unsigned long int  n  ) 

Definition at line 29 of file crt_int.cpp.

00029                                              {
00030   return is_probable_prime (integer (n));
00031 }

bool mmx::is_reconstructible ( const polynomial< C, V > &  p,
polynomial< Reconstruct_type(C), W > &  q 
) [inline]

Definition at line 1406 of file polynomial.hpp.

References CF(), coefficients(), and is_reconstructible().

01407                                                           {
01408   vector<Reconstruct_type(C)> v (CF(q));
01409   if (!is_reconstructible (coefficients (p), v)) return false;
01410   q= polynomial<Reconstruct_type(C),W> (v);
01411   return true; }

bool mmx::is_reconstructible ( const modular< modulus< polynomial< C, V >, MoV >, MaV > &  x,
quotient< polynomial< C, V >, polynomial< C, V > > &  y 
) [inline]

Definition at line 341 of file modular_polynomial.hpp.

References get_modulus(), N(), Quotient, reconstruct(), and x.

00342                                  {
00343   polynomial<C,V> num, den, q= *get_modulus (x);
00344   nat k= N(q) >> 1;
00345   if (!reconstruct (*x, q, k, num, den)) return false;
00346   y= Quotient (num, den);
00347   return true; }

bool mmx::is_reconstructible ( const matrix< C, V > &  v,
matrix< Reconstruct_type(C), W > &  w 
) [inline]

Definition at line 703 of file matrix.hpp.

References CF(), cols(), promote(), and rows().

Referenced by is_reconstructible().

00703                                                                        {
00704   nat r= rows (v), c= cols (v);
00705   w= fill (promote (0, CF(w)), r, c);
00706   for (nat i= 0; i < r; i++)
00707     for (nat j= 0; i < c; j++)
00708       if (!is_reconstructible (v(i,j), w(i,j))) return false;
00709   return true; }

bool mmx::is_reliable ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1438 of file polynomial.hpp.

References CF(), is_reliable(), and promote().

01438                                                    {
01439   return is_reliable (promote (0, CF(p))); }

bool mmx::is_reliable ( const matrix< C, V > &  m  )  [inline]

Definition at line 754 of file matrix.hpp.

References is_a_scalar().

Referenced by is_reliable().

00754                                                {
00755   if (is_a_scalar (m)) return is_reliable (m.scalar());
00756   return is_reliable (C (0)); }

bool mmx::is_square_matrix ( const matrix< C, V > &  m  )  [inline]

Definition at line 192 of file matrix.hpp.

References cols(), and rows().

Referenced by krylov(), solve_lde(), and solve_lde_init().

00192                                                     {
00193   return rows (m) == cols (m); }

bool mmx::is_zero ( const algebraic_number_extension< C, Ball > &  ext,
const typename algebraic_number_extension< C, Ball >::El &  p1 
) [inline]

Definition at line 257 of file algebraic_number.hpp.

References annihilator(), Ball, deg(), derive(), eval(), is_non_zero(), is_zero(), mmx_bit_precision, and Polynomial.

00257                                               {
00258   if (deg (p1) <= 0) return is_zero (ext.ext, p1);
00259   Ball y= eval (ext, p1);
00260   if (is_non_zero (y)) return false;
00261   Polynomial ann= annihilator (ext, p1);
00262   if (ann[0] == 0 && is_non_zero (eval (derive (ann), y))) return true;
00263   nat old_precision= mmx_bit_precision;
00264   mmx_bit_precision *= 2;
00265   bool r= is_zero (ext, p1);
00266   mmx_bit_precision= old_precision;
00267   return r;
00268 }

bool mmx::is_zero ( const algebraic_extension< C > &  ext,
const typename algebraic_extension< C >::El &  p1 
) [inline]

Definition at line 125 of file algebraic_extension.hpp.

References deg().

00125                                                   {
00126   return deg (p1) < 0;
00127 }

bool mmx::is_zero ( const algebraic< C, Extension > &  x  )  [inline]

Definition at line 122 of file algebraic.hpp.

References field(), and value().

Referenced by is_zero(), operator!=(), and operator==().

00122                                               {
00123   return is_zero (field (x), value (x)); }

iterator<C> mmx::iterate ( const series< C, V > &  f  )  [inline]

Definition at line 272 of file series.hpp.

00272                           {
00273   return iterator<C> (new series_iterator_rep<C,V> (f));
00274 }

iterator<C> mmx::iterate ( const polynomial< C, V > &  P  )  [inline]

Definition at line 299 of file polynomial.hpp.

00299                               {
00300   return iterator<C> (new polynomial_iterator_rep<C,V> (P));
00301 }

iterator<nat> mmx::iterate ( const permutation &  p  )  [inline]

Definition at line 59 of file permutation.hpp.

References as_vector(), and iterate().

00059                                                     {
00060   return iterate (as_vector (p)); }

iterator<C> mmx::iterate ( const matrix< C, V > &  m  )  [inline]

Definition at line 340 of file matrix.hpp.

References is_non_scalar().

Referenced by flatten(), GLUE_10(), GLUE_124(), GLUE_21(), GLUE_3(), GLUE_5(), GLUE_60(), GLUE_7(), GLUE_79(), GLUE_8(), GLUE_91(), iterate(), and iterate_int().

00340                           {
00341   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
00342   return iterator<C> (new matrix_iterator_rep<C,V> (m));
00343 }

iterator<int> mmx::iterate_int ( const permutation &  p  )  [inline]

Definition at line 61 of file permutation.hpp.

References iterate().

Referenced by GLUE_6().

00061                                                         {
00062   return iterate (as_vector_int (p)); }

algebraic_number_extension<C,Ball> mmx::join ( const algebraic_number_extension< C, Ball > &  ext1,
const algebraic_number_extension< C, Ball > &  ext2,
typename algebraic_number_extension< C, Ball >::El &  z1,
typename algebraic_number_extension< C, Ball >::El &  z2 
) [inline]

Definition at line 289 of file algebraic_number.hpp.

References Ball, C, column(), deg(), Element, eval(), Extension, Field, hard_eq(), invert(), mmx_bit_precision, Polynomial, pow_matrix(), range(), rem(), shrink(), square_free(), transpose(), and x.

00289                                                                       {
00290   // Return the smallest common extension ext of ext1 and ext2
00291   // On exit, z1 and z2 contains the primitive els of ext1 and ext2 inside ext
00292   if (deg (ext1.ext.mp) == 1) {
00293     z1= Polynomial (-ext1.ext.mp[0]/ext1.ext.mp[1]);
00294     z2= Polynomial (C(1), (nat) 1);
00295     return ext2;
00296   }
00297   else if (deg (ext2.ext.mp) == 1) {
00298     z1= Polynomial (C(1), (nat) 1);
00299     z2= Polynomial (-ext2.ext.mp[0]/ext2.ext.mp[1]);
00300     return ext1;
00301   }
00302   else if (hard_eq (ext1, ext2)) {
00303     z1= Polynomial (C(1), (nat) 1);
00304     z2= Polynomial (C(1), (nat) 1);
00305     return ext1;
00306   }
00307   else {
00308     nat n= deg (ext1.ext.mp) * deg (ext2.ext.mp);
00309     matrix<C> m= transpose (pow_matrix (ext1.ext, ext2.ext));
00310     matrix<C> u= invert (range (m, 0, 0, n, n));
00311     vector<C> v= - (u * column (m, n));
00312     v << C(1);
00313     Polynomial mp= Polynomial (v);
00314     Polynomial sf= square_free (mp);
00315     Extension ext= Extension (sf);
00316     v= fill<C> (C(0), n);
00317     v[deg(ext2.ext.mp)]= C(1);
00318     z1= Element (u * v);
00319     if (deg (sf) < deg (mp)) z1= rem (z1, sf);
00320     v= fill<C> (C(0), n);
00321     v[1]= C(1);
00322     z2= Element (u * v);
00323     if (deg (sf) < deg (mp)) z2= rem (z2, sf);
00324     Ball x;
00325     nat old_precision= mmx_bit_precision;
00326     while (true) {
00327       x= eval (ext1, ext2, column (m, 1));
00328       if (shrink (ext.mp, x)) break;
00329       mmx_bit_precision= mmx_bit_precision << 1;
00330     }
00331     mmx_bit_precision= old_precision;
00332     return Field (ext, x);
00333   }
00334 }

algebraic_extension<C> mmx::join ( const algebraic_extension< C > &  ext1,
const algebraic_extension< C > &  ext2,
typename algebraic_extension< C >::El &  z1,
typename algebraic_extension< C >::El &  z2 
) [inline]

Definition at line 238 of file algebraic_extension.hpp.

References CF(), column(), deg(), Element, Extension, hard_eq(), invert(), N(), Polynomial, pow_matrix(), promote(), range(), rem(), square_free(), and transpose().

Referenced by upgrade().

00238                                                                               {
00239   // Return the smallest common extension ext of ext1 and ext2
00240   // On exit, z1 and z2 contains the primitive els of ext1 and ext2 inside ext
00241   ASSERT (N(ext1.mp) > 0, "uninitialized algebraic extension");
00242   ASSERT (N(ext2.mp) > 0, "uninitialized algebraic extension");
00243   if (deg (ext1.mp) == 1) {
00244     z1= Polynomial (-ext1.mp[0]/ext1.mp[1]);
00245     z2= Polynomial (promote (1, CF(ext1)), (nat) 1);
00246     return ext2;
00247   }
00248   else if (deg (ext2.mp) == 1) {
00249     z1= Polynomial (promote (1, CF(ext1)), (nat) 1);
00250     z2= Polynomial (-ext2.mp[0]/ext2.mp[1]);
00251     return ext1;
00252   }
00253   else if (hard_eq (ext1, ext2)) {
00254     z1= Polynomial (promote (1, CF(ext1)), (nat) 1);
00255     z2= Polynomial (promote (1, CF(ext1)), (nat) 1);
00256     return ext1;
00257   }
00258   else {
00259     nat n= deg (ext1.mp) * deg (ext2.mp);
00260     matrix<C> m= transpose (pow_matrix (ext1, ext2));
00261     matrix<C> u= invert (range (m, 0, 0, n, n));
00262     vector<C> v= - (u * column (m, n));
00263     v << promote (1, CF(ext1));
00264     Polynomial mp= Polynomial (v);
00265     Polynomial sf= square_free (mp);
00266     Extension ext= Extension (sf);
00267     v= fill<C> (promote (0, CF(ext1)), n);
00268     v[deg(ext2.mp)]= promote (1, CF(ext1));
00269     z1= Element (u * v);
00270     if (deg (sf) < deg (mp)) z1= rem (z1, sf);
00271     v= fill<C> (promote (0, CF(ext1)), n);
00272     v[1]= promote (1, CF(ext1));
00273     z2= Element (u * v);
00274     if (deg (sf) < deg (mp)) z2= rem (z2, sf);
00275     return ext;
00276   }
00277 }

matrix<C> mmx::jordan_matrix ( const C &  c,
const int &  n 
) [inline]

Definition at line 846 of file matrix.hpp.

References promote().

Referenced by GLUE_18(), GLUE_19(), GLUE_48(), and GLUE_87().

00846                                          {
00847   matrix<C> m (c, n, n);
00848   for (nat i=0; i<((nat) (n-1)); i++)
00849     m (i, i+1)= promote (1, c);
00850   return m;
00851 }

matrix<C,V> mmx::kernel ( const matrix< C, V > &  m  )  [inline]

Definition at line 1277 of file matrix.hpp.

References CF(), cols(), is_non_scalar(), Matrix, promote(), range(), rows(), and tab().

Referenced by GLUE_122(), GLUE_47(), and GLUE_71().

01277                          {
01278   typedef implementation<matrix_kernel,V> Mat;
01279   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01280   Matrix k (promote (0, CF(m)), cols(m), cols(m));
01281   nat dim= Mat::kernel (tab(k), tab(m), rows(m), cols(m));
01282   return range (k, 0, 0, cols(m), dim);
01283 }

series<C,V> mmx::known ( const series< unknown< C, V >, UV > &  f  )  [inline]

Definition at line 365 of file series_implicit.hpp.

References Series_rep.

00365                                {
00366   return (Series_rep*) new known_series_rep<C,V,UV> (f);
00367 }

C mmx::known ( const unknown< C, V > &  c  )  [inline]

Definition at line 89 of file series_implicit.hpp.

Referenced by known_series_rep< C, V, UV >::next(), operator*(), operator+(), and operator-().

00089                     {
00090   ASSERT (c->i2 == c->i1, "cast failed");
00091   return c->b;
00092 }

matrix<C,V> mmx::krylov ( const matrix< C, V > &  m,
const matrix< C, V > &  v 
) [inline]

Definition at line 1302 of file matrix.hpp.

References image(), is_non_scalar(), is_square_matrix(), Matrix, rows(), and vertical_join().

Referenced by GLUE_113(), GLUE_38(), and GLUE_62().

01302                                           {
01303   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01304   ASSERT (is_square_matrix (m), "square matrix expected");
01305   Matrix r= image (v);
01306   Matrix p= m;
01307   while (true) {
01308     nat rk= rows (r);
01309     r= image (vertical_join (r, r*p));
01310     if (rows (r) <= rk) return r;
01311     p= p*p;
01312   }
01313 }

series<C,V> mmx::lcm ( const series< C, V > &  f,
const series< C, V > &  g 
) [inline]

Definition at line 825 of file series.hpp.

References Series_rep.

00825                                        {
00826   return (Series_rep*) new lcm_series_rep<C,V> (f, g);
00827 }

polynomial<C,V> mmx::lcm ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Definition at line 837 of file polynomial.hpp.

Referenced by lcm_series_rep< C, V >::expression(), GLUE_118(), GLUE_157(), GLUE_28(), GLUE_29(), GLUE_42(), and GLUE_51().

00837                                                  {
00838   typedef implementation<polynomial_gcd,V> Pol;
00839   return Pol::lcm (P1, P2);
00840 }

algebraic<C,Extension> mmx::lcommon ( const algebraic< C, Extension > &  a1b,
const algebraic< C, Extension > &  a2b 
) [inline]

Definition at line 180 of file algebraic.hpp.

References Algebraic, and upgrade().

Referenced by GLUE_3(), and GLUE_45().

00180                                                      {
00181   Algebraic a1= a1b, a2= a2b;
00182   upgrade (a1, a2);
00183   return a1;
00184 }

static series< matrix<M> ,V> mmx::ldiv ( const matrix< series< M, V > > &  m,
const matrix< series< M, V > > &  ms,
const matrix< M > &  init 
) [inline, static]

Definition at line 758 of file series_carry_linear_algebra.hpp.

00758                                                                            {
00759   typedef implementation<series_matrix_divide,V> Ser;
00760   return Ser::template ser_ldiv<M,V> (m, ms, init);
00761 }

static series< matrix<M> ,V> mmx::ldiv ( const matrix< series< M, V > > &  m,
const matrix< series< M, V > > &  ms 
) [inline, static]

Definition at line 752 of file series_carry_linear_algebra.hpp.

00752                                                        {
00753   typedef implementation<series_matrix_divide,V> Ser;
00754   return Ser::template ser_ldiv<M,V> (m, ms);
00755 }

static series< matrix<M> ,V> mmx::ldiv ( const matrix< M > &  m,
const matrix< series< M, V > > &  ms,
const matrix< M > &  inv,
const matrix< M > &  init 
) [inline, static]

Definition at line 745 of file series_carry_linear_algebra.hpp.

00746                           {
00747   typedef implementation<series_matrix_divide,V> Ser;
00748   return Ser::template ser_ldiv_sc<M,V> (m, ms, inv, init);
00749 }

static series< matrix<M> ,V> mmx::ldiv ( const matrix< M > &  m,
const matrix< series< M, V > > &  ms,
const matrix< M > &  inv 
) [inline, static]

Definition at line 739 of file series_carry_linear_algebra.hpp.

00739                                                                    {
00740   typedef implementation<series_matrix_divide,V> Ser;
00741   return Ser::template ser_ldiv_sc<M,V> (m, ms, inv);
00742 }

static series< matrix<M> ,V> mmx::ldiv ( const matrix< M > &  m,
const matrix< series< M, V > > &  ms 
) [inline, static]

Definition at line 733 of file series_carry_linear_algebra.hpp.

00733                                                 {
00734   typedef implementation<series_matrix_divide,V> Ser;
00735   return Ser::template ser_ldiv_sc<M,V> (m, ms);
00736 }

static series< vector< typename M::C > ,V> mmx::ldiv ( const matrix< series< M, V > > &  m,
const vector< series< M, V > > &  vs,
const vector< typename M::C > &  init 
) [inline, static]

Definition at line 420 of file series_carry_linear_algebra.hpp.

00420                                                                            {
00421   typedef implementation<series_vector_divide,V> Ser;
00422   return Ser::template ser_ldiv<M,V> (m, vs, init);
00423 }

static series< vector< typename M::C > ,V> mmx::ldiv ( const matrix< series< M, V > > &  m,
const vector< series< M, V > > &  vs 
) [inline, static]

Definition at line 414 of file series_carry_linear_algebra.hpp.

00414                                                        {
00415   typedef implementation<series_vector_divide,V> Ser;
00416   return Ser::template ser_ldiv<M,V> (m, vs);
00417 }

static series< vector< typename M::C > ,V> mmx::ldiv ( const matrix< M > &  m,
const vector< series< M, V > > &  vs,
const matrix< M > &  inv,
const vector< typename M::C > &  init 
) [inline, static]

Definition at line 407 of file series_carry_linear_algebra.hpp.

00408                           {
00409   typedef implementation<series_vector_divide,V> Ser;
00410   return Ser::template ser_ldiv_sc<M,V> (m, vs, inv, init);
00411 }

static series< vector< typename M::C > ,V> mmx::ldiv ( const matrix< M > &  m,
const vector< series< M, V > > &  vs,
const matrix< M > &  inv 
) [inline, static]

Definition at line 401 of file series_carry_linear_algebra.hpp.

00401                                                                    {
00402   typedef implementation<series_vector_divide,V> Ser;
00403   return Ser::template ser_ldiv_sc<M,V> (m, vs, inv);
00404 }

static series< vector< typename M::C > ,V> mmx::ldiv ( const matrix< M > &  m,
const vector< series< M, V > > &  vs 
) [inline, static]
static series< matrix<M> ,V> mmx::lmul_quo ( const matrix< M > &  m,
const series< matrix< M >, V > &  sm 
) [inline, static]

Definition at line 721 of file series_carry_linear_algebra.hpp.

00721                                                     {
00722   typedef implementation<series_matrix_divide,V> Ser;
00723   return Ser::template ser_lmul_quo_sc<M,V> (m, sm);
00724 }

static series< vector< typename M::C > ,V> mmx::lmul_quo ( const matrix< M > &  m,
const series< vector< typename M::C >, V > &  sv 
) [inline, static]

Definition at line 383 of file series_carry_linear_algebra.hpp.

Referenced by ldiv_sc_mat_series_rep< M, V >::initialize(), and ldiv_sc_vec_series_rep< M, V >::initialize().

00383                                                     {
00384   typedef implementation<series_vector_divide,V> Ser;
00385   return Ser::template ser_lmul_quo_sc<M,V> (m, sv);
00386 }

series< matrix<M> ,V> mmx::lmul_rem ( const matrix< M > &  m,
const series< matrix< M >, V > &  sm 
) [inline]

Definition at line 727 of file series_carry_linear_algebra.hpp.

00727                                                     {
00728   typedef implementation<series_matrix_divide,V> Ser;
00729   return Ser::template ser_lmul_rem_sc<M,V> (m, sm);
00730 }

series< vector< typename M::C > ,V> mmx::lmul_rem ( const matrix< M > &  m,
const series< vector< typename M::C >, V > &  sv 
) [inline]

Definition at line 389 of file series_carry_linear_algebra.hpp.

Referenced by ldiv_sc_mat_series_rep< M, V >::initialize(), and ldiv_sc_vec_series_rep< M, V >::initialize().

00389                                                     {
00390   typedef implementation<series_vector_divide,V> Ser;
00391   return Ser::template ser_lmul_rem_sc<M,V> (m, sv);
00392 }

series<C,V> mmx::log ( const series< C, V > &  f  )  [inline]

Definition at line 45 of file series_elementary.hpp.

Referenced by GLUE_22(), GLUE_39(), GLUE_66(), pow(), and ramify().

00045                       {
00046   return unary_recursive_series<log_op> (f);
00047 }

series<C,V> mmx::log_init ( const series< C, V > &  f,
const C &  c 
) [inline]

Definition at line 50 of file series_elementary.hpp.

00050                                        {
00051   return unary_recursive_series<log_op> (f, c);
00052 }

polynomial<Center_type(C),V> mmx::lower ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1464 of file polynomial.hpp.

01464                                                    {
01465   return unary_map<lower_op> (p); }

matrix<Center_type(C),V> mmx::lower ( const matrix< C, V > &  m  )  [inline]

Definition at line 781 of file matrix.hpp.

00781                                            {
00782   return unary_map<lower_op> (m); }

matrix< series<M,V> > mmx::lshiftz ( const matrix< series< M, V > > &  m,
const int &  shift = 1 
) [inline]

Definition at line 151 of file series_carry_linear_algebra.hpp.

References cols(), lshiftz(), Matrix_series, rows(), Series, and shift().

00151                                                      {
00152   nat c= cols (m), r= rows (m);
00153   Matrix_series lm (Series(), r, c);
00154   for (nat i=0; i<r; i++)
00155     for (nat j=0; j<c; j++)
00156       lm(i,j) = lshiftz (m(i,j), shift);
00157   return lm;
00158 }

vector< series<M,V> > mmx::lshiftz ( const vector< series< M, V > > &  v,
const int &  shift = 1 
) [inline]

Definition at line 137 of file series_carry_linear_algebra.hpp.

References lshiftz(), N(), Series, shift(), and Vector_series.

00137                                                      {
00138   nat n= N (v);
00139   Vector_series lv (Series(), n);
00140   for (nat i=0; i<n; i++)
00141     lv[i] = lshiftz (v[i], shift);
00142   return lv;
00143 }

series< C, V > lshiftz ( const series< C, V > &  f,
const int &  shift = 1 
) [inline]

Definition at line 850 of file series.hpp.

References CF(), is_exact_zero(), Series, and Series_rep.

00850                                             {
00851   if (is_exact_zero (f)) return Series (CF(f));
00852   return (Series_rep*) new lshiftz_series_rep<C,V> (f, shift);
00853 }

polynomial<C,V> mmx::lshiftz ( const polynomial< C, V > &  P,
const int &  shift 
) [inline]

Definition at line 1272 of file polynomial.hpp.

References C, CF(), copy(), N(), Polynomial, promote(), range(), and seg().

Referenced by ser_carry_separable_root_op::binpow_no_tangent(), ser_carry_pth_root_reg_op::binpow_no_tangent_normalized(), ser_polynomial_regular_root_op::def(), ser_carry_polynomial_regular_root_op::def(), ser_carry_pth_root_reg_op::def(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_ducos_inc< BV > >::defected_prem(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_naive_inc< W > >::defected_prem(), lshiftz_series_vector_rep< C, V, W >::expression(), lshiftz_series_matrix_rep< M, V >::expression(), lshiftz_series_rep< C, V >::expression(), GLUE_116(), GLUE_148(), GLUE_21(), GLUE_22(), GLUE_33(), GLUE_35(), GLUE_76(), GLUE_89(), reverse_series_rep< C, V >::initialize(), div_series_rep< M, V >::initialize(), ldiv_mat_series_rep< M, V >::initialize(), ldiv_vec_series_rep< M, V >::initialize(), inv_mod_polynomial_series_rep< C, U, V, W >::initialize(), lshiftz(), implementation< matrix_multiply, V, matrix_balanced< W > >::mat_lshift(), minimal_polynomial_bis(), mul_series_rep< M, V >::mul_series_rep(), normalize(), slp_polynomial_regular_root_series_rep< M, V, L >::rec_prod(), slp_polynomial_regular_root_series_rep< M, V, L >::rec_square(), rshiftz(), shift1(), shift2(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::tinterpolate(), and implementation< series_pth_root, U, series_carry_p_adic< W > >::unsep_root().

01272                                                 {
01273   typedef implementation<polynomial_linear,V> Pol;
01274   if (shift == 0) return P;
01275   else if (shift <= -((int) N(P))) return promote (0, P);
01276   else if (shift < 0) return range (P, (nat) (-shift), N(P));
01277   else {
01278     nat n= N(P) + shift;
01279     nat l= aligned_size<C,V> (n);
01280     C* r= mmx_formatted_new<C> (l, CF(P));
01281     Pol::copy (r+shift, seg (P), N(P));
01282     return Polynomial (r, n, l, CF(P));
01283   }
01284 }

series< matrix<M> ,V> mmx::lshiftz_series_matrix ( const series< matrix< M >, V > &  f,
const nat &  r,
const nat &  c,
const int &  shift = 1 
) [inline]

Definition at line 126 of file series_carry_linear_algebra.hpp.

References as_series(), CF(), is_exact_zero(), Matrix_series, Series, Series_matrix, and shift().

Referenced by ldiv_sc_mat_series_rep< M, V >::initialize().

00127                                            {
00128   if (is_exact_zero (f)) {
00129     Series zero (get_format1 (CF(f)));
00130     return as_series (Matrix_series (zero, r, c));
00131   }
00132   return Series_matrix ((series_rep<Matrix,V>*) 
00133                         new lshiftz_series_matrix_rep<M,V> (f, r, c, shift));
00134 }

series< vector<C,W> ,V> mmx::lshiftz_series_vector ( const series< vector< C, W >, V > &  f,
const nat &  n,
const int &  shift = 1 
) [inline]

Definition at line 161 of file series_vector.hpp.

References as_series(), CF(), is_exact_zero(), Series, shift(), and Vector_series.

Referenced by ldiv_sc_vec_series_rep< M, V >::initialize().

00162                                            {
00163   if (is_exact_zero (f)) {
00164     Series zero (get_format1 (CF(f)));
00165     return as_series (Vector_series (zero, n));
00166   }
00167   return (series_rep<Vector,V>*) 
00168     new lshiftz_series_vector_rep<C,V,W> (f, n, shift);
00169 }

double mmx::magnitude ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1448 of file polynomial.hpp.

01448                                                    {
01449   return big<max_magnitude_op> (p); }

double mmx::magnitude ( const matrix< C, V > &  m  )  [inline]

Definition at line 765 of file matrix.hpp.

00765                                                {
00766   return big<max_magnitude_op> (m); }

series<D> mmx::map ( const Fun &  fun,
const series< S1 > &  f,
const format< D > &  fm 
) [inline]

Definition at line 606 of file series.hpp.

References D, and Series_variant.

00606                                                                {
00607   typedef map_series_rep<D ,typename Series_variant(D ),
00608                          S1,typename Series_variant(S1),Fun> Mapper;
00609   return (series_rep<D>*) new Mapper (fun, f, fm);
00610 }

quotient<D,D> mmx::map ( D(*)(const S1 &)  fun,
const quotient< S1, S1 > &  x 
) [inline]

Definition at line 131 of file quotient.hpp.

References denominator(), and numerator().

00131                                                      {
00132   return quotient<D,D> (fun (numerator (x)), fun (denominator (x)));
00133 }

quotient<D,D> mmx::map ( const function_1< D, Argument(S1) > &  fun,
const quotient< S1, S1 > &  x 
) [inline]

Definition at line 126 of file quotient.hpp.

References denominator(), and numerator().

00126                                                                        {
00127   return quotient<D,D> (fun (numerator (x)), fun (denominator (x)));
00128 }

polynomial<D> mmx::map ( const Fun &  fun,
const polynomial< S1 > &  p1,
const format< D > &  fm 
) [inline]

Definition at line 1418 of file polynomial.hpp.

References D, and N().

01418                                                                     {
01419   nat n= N(p1);
01420   nat l= default_aligned_size<D> (n);
01421   D* r= mmx_formatted_new<D> (l, fm);
01422   for (nat i=0; i<n; i++) r[i]= fun (p1[i]);
01423   return polynomial<D> (r, n, l, fm);
01424 }

Fun matrix<D> mmx::map ( const Fun &  fun,
const matrix< S1 > &  m,
const format< D > &  fm 
)
Type Constraints

Definition at line 540 of file matrix.hpp.

References cols(), D, rows(), and tab().

00540                                                                {
00541   nat n= rows(m) * cols(m);
00542   nat l= default_aligned_size<D> (n);
00543   D* r= mmx_formatted_new<D> (l, fm);
00544   const S1* src= tab (m);
00545   for (nat i=0; i<n; i++) r[i]= fun (src[i]);
00546   return matrix<D> (r, rows(m), cols(m), fm);
00547 }

matrix< C > matrix_new ( const vector< C > &  t  )  [inline]

Definition at line 49 of file glue_matrix_rational.cpp.

References C, cols(), N(), and rows().

00049                                   {
00050     nat j, rows= 1, cols= N(t);
00051     C dummy= zero_cst<C> ();
00052     matrix<C> r (dummy, rows, cols);
00053     for (j=0; j<cols; j++)
00054       r(0,j)= t[j];
00055     return r;
00056   }

matrix< C > matrix_new ( const vector< row_tuple< C > > &  t  )  [inline]

Definition at line 35 of file glue_matrix_rational.cpp.

References C, cols(), N(), and rows().

Referenced by GLUE_3(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_4(), GLUE_5(), GLUE_6(), GLUE_64(), GLUE_65(), and GLUE_66().

00035                                               {
00036     if (N(t) == 0) return matrix<C> ();
00037     nat i, j, rows= N(t), cols= N(t[0]);
00038     C dummy= zero_cst<C> ();
00039     matrix<C> r (dummy, rows, cols);
00040     for (i=0; i<rows; i++) {
00041       ASSERT (N(t[i]) == cols, "unequal row lengths");
00042       for (j=0; j<cols; j++)
00043         r(i,j)= t[i][j];
00044     }
00045     return r;
00046   }

xnat matrix_product_bit_size ( const integer *  s1,
nat  s1_rs,
nat  s1_cs,
const integer *  s2,
nat  s2_rs,
nat  s2_cs,
nat  r,
nat  l,
nat  c 
)

Definition at line 18 of file matrix_integer.cpp.

References max().

Referenced by matrix_crt_multiply_helper< integer >::size().

00021 {
00022   double count= 1.0;
00023   xnat   sz   = 0;
00024   // NOTE: the largest integer in the result will be bounded by
00025   // count * 2^sz at the end. The bound is computed carefully,
00026   // so as to be both fast and relatively sharp.
00027   for (nat k=0; k<l; k++) {
00028     xnat sz1= 0, sz2= 0;
00029     const integer* ss1= s1 + k * s1_cs;
00030     const integer* ss2= s2 + k * s2_rs;
00031     for (nat i=0; i<r; i++, ss1 += s1_rs)
00032       sz1= max (sz1, bit_size (*ss1));
00033     for (nat j=0; j<c; j++, ss2 += s2_cs)
00034       sz2= max (sz2, bit_size (*ss2));
00035     xnat szs= sz1 + sz2;
00036     if (szs > sz) {
00037       if (szs >= sz + 30) {
00038         count= (count / 1.0e9) + 1.000000001;
00039         sz   = szs;
00040       }
00041       else {
00042         count= (count / ((double) (1 << (szs - sz)))) + 1.000000001;
00043         sz   = szs;
00044       }
00045     }
00046     else {
00047       if (sz >= szs + 30) count += 1.0e-9;
00048       else count += 1.000000001 / ((double) (1 << (sz - szs)));
00049     }
00050   }
00051   return sz + ((xnat) logb (count)) + 1;
00052 }

xnat max_bit_size ( const integer *  src,
nat  n 
)

Definition at line 113 of file kronecker_integer.cpp.

References max().

Referenced by mul_kronecker(), and square_kronecker().

00113                                               {
00114   xnat m= 0;
00115   for (nat i=0; i<n; i++)
00116     m= max (m, bit_size (src[i]));
00117   return m;
00118 }

nat mmx::max_polynomial_size ( const polynomial< C, V > *  src,
nat  n 
) [inline]

Definition at line 26 of file kronecker_polynomial.hpp.

References max(), and N().

Referenced by div_kronecker(), mul_kronecker(), and square_kronecker().

00026                                                    {
00027   nat m= 0;
00028   for (nat i= 0; i < n; i++) m= max (N(src[i]), m);
00029   return m;
00030 }

polynomial<C,typename polynomial_variant_helper< C >::PV > mmx::minimal_polynomial ( const vector< C, W > &  v  )  [inline]

Definition at line 888 of file polynomial.hpp.

References minimal_polynomial_bis().

00888                                           {
00889   polynomial<C,typename Polynomial_variant(C) > P;
00890   minimal_polynomial_bis (P, v);
00891   return P;
00892 }

void mmx::minimal_polynomial_bis ( polynomial< C, V > &  p,
const vector< C, W > &  v 
) [inline]

Definition at line 875 of file polynomial.hpp.

References deg(), lshiftz(), N(), pade(), Polynomial, and reverse().

Referenced by minimal_polynomial().

00875                                                              {
00876   // p is the minimal polynomial of the sequence of the elements in v
00877   // Algorithm 12.19 of "Modern Computer Algebra"
00878   nat n= N(v); nat k= n >> 1;
00879   ASSERT ((n & 1) == 0, "even size expected");
00880   Polynomial h (v), s, t;
00881   pade (h, n, k, s, t);
00882   t= reverse (t);
00883   p= (deg(t) < 1 + deg(s)) ? lshiftz (t, 1 + deg (s) - deg (t)) : t;
00884 }

static mmx::mmx_ball ( mmx_floating  ,
complex< mmx_floating >   
) const [static]

Definition at line 472 of file glue_algebraic_number.cpp.

References as_ball().

00473                                           {
00474     return as_ball (arg_1);
00475   }

static mmx::mmx_ball ( mmx_floating  ,
mmx_floating   
) const [static]

Definition at line 457 of file glue_algebraic_number.cpp.

References as_ball().

00458                                         {
00459     return as_ball (arg_1);
00460   }

static mmx::mmx_modular ( integer   )  const [static]

Referenced by GLUE_5(), and GLUE_6().

static mmx::mmx_table ( generic  ,
generic   
) const [static]
modulus< typename Crter::base , typename Crter::modulus_variant> mmx::moduli_product ( Crter &  crter  )  [inline]
Monomial mmx::monomial_val ( const quotient_series< Series, Monomial >  f  )  [inline]

Definition at line 119 of file quotient_series.hpp.

Referenced by operator/().

00119                                                             {
00120   return monomial_val (f->f) * f->m; }

algebraic_number_extension<C,Ball>::El mmx::mul ( const algebraic_number_extension< C, Ball > &  ext,
const typename algebraic_number_extension< C, Ball >::El &  p1,
const typename algebraic_number_extension< C, Ball >::El &  p2 
) [inline]

Definition at line 237 of file algebraic_number.hpp.

References mul().

00237                                                              {
00238   return mul (ext.ext, p1, p2);
00239 }

algebraic_extension<C>::El mmx::mul ( const algebraic_extension< C > &  ext,
const typename algebraic_extension< C >::El &  p1,
const typename algebraic_extension< C >::El &  p2 
) [inline]

Definition at line 102 of file algebraic_extension.hpp.

References rem().

Referenced by implementation< polynomial_evaluate, V, polynomial_naive >::annulator(), implementation< polynomial_compose, V, polynomial_naive >::compose(), fft_mul(), roots_triadic_helper< CC, UU, SS >::fft_shift(), fft_simd_transformer< C, FFTER, FFTER_SIMD, thr >::inverse_transform(), fft_triadic_threads_transformer< C, FFTER, thr >::inverse_transform_triadic(), implementation< matrix_invert, V, matrix_ring_naive< W > >::invert(), implementation< matrix_invert, V, matrix_naive >::invert(), implementation< polynomial_divide, V, polynomial_naive >::invert_hi(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::invert_hi(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::invert_lo(), implementation< matrix_iterate, V, matrix_naive >::iterate_mul(), multiplier< modular< modulus< C, modulus_int_preinverse< size > >, V > >::lmul(), implementation< polynomial_multiply, V, polynomial_balanced_tft< W > >::mul(), implementation< polynomial_multiply, V, polynomial_tft_inc< W, Th > >::mul(), implementation< polynomial_multiply, V, polynomial_tangent< CV > >::mul(), implementation< polynomial_multiply, V, polynomial_schonhage_inc< W, Th, Th_rec > >::mul(), implementation< polynomial_multiply, V, polynomial_quotient< W > >::mul(), implementation< polynomial_multiply, V, polynomial_modular< W > >::mul(), implementation< polynomial_multiply, V, polynomial_kronecker< W > >::mul(), implementation< polynomial_multiply, V, polynomial_complex< CV > >::mul(), implementation< polynomial_multiply, V, polynomial_balanced< W > >::mul(), implementation< matrix_multiply, V, matrix_quotient< W > >::mul(), implementation< matrix_multiply, V, matrix_crt< W > >::mul(), implementation< matrix_multiply, V, matrix_complex< CV > >::mul(), implementation< matrix_multiply, V, matrix_balanced< W > >::mul(), implementation< matrix_multiply_base, Z, matrix_assume_aligned< V, W > >::mul(), mul(), implementation< polynomial_multiply, V, polynomial_schonhage_strassen_inc< W, Th > >::mul_negative_cyclic(), implementation< polynomial_multiply, V, polynomial_schonhage_strassen_inc< W, Th > >::mul_negative_cyclic_truncated(), implementation< polynomial_vectorial, V, polynomial_naive >::mul_sc(), implementation< polynomial_multiply, V, polynomial_schonhage_triadic_inc< W, Th > >::mul_triadic(), implementation< polynomial_multiply, V, polynomial_karatsuba< W > >::multiply(), mul_series_rep< C, V >::next(), operator*(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::pinvert_hi(), implementation< polynomial_divide, V, polynomial_ring_dicho_inc< W > >::pquo_rem(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::pquo_rem(), implementation< matrix_iterate, V, matrix_naive >::project_iterate_mul(), implementation< polynomial_divide, V, polynomial_ring_dicho_inc< W > >::quo_rem(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::quo_rem(), implementation< polynomial_euclidean, V, polynomial_dicho< BV > >::reconstruct(), multiplier< modular< modulus< C, modulus_int_preinverse< size > >, V > >::rmul(), fft_mul_sc_op::set_op(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::shift(), implementation< polynomial_multiply, V, polynomial_unrolled< W, m > >::square(), implementation< polynomial_multiply, V, polynomial_tft_inc< W, Th > >::square(), implementation< polynomial_multiply, V, polynomial_tangent< CV > >::square(), implementation< polynomial_multiply, V, polynomial_schonhage_inc< W, Th, Th_rec > >::square(), and implementation< polynomial_evaluate, V, polynomial_naive >::tevaluate().

00102                                                                  {
00103   return rem (p1 * p2, ext.mp);
00104 }

void mmx::mul_complete ( D *  dest,
const S1 *  src1,
const S2 *  src2,
nat  r,
nat  rr,
nat  l,
nat  ll,
nat  c,
nat  cc,
nat  hr,
nat  hl,
nat  hc 
) [inline]

Definition at line 44 of file matrix_unrolled.hpp.

00047 {
00048   typedef implementation<matrix_multiply,V> Mat;
00049   typedef typename Op::acc_op Acc;
00050   if (hr < r && hl != 0 && hc != 0)
00051     Mat::template mul<Op > (dest + Mat::index (hr, 0, rr, cc),
00052                             src1 + Mat::index (hr, 0, rr, ll),
00053                             src2,
00054                             r-hr, rr, hl, ll, hc, cc);
00055   if (hc < c && hl != 0)
00056     Mat::template mul<Op > (dest + Mat::index (0, hc, rr, cc),
00057                             src1,
00058                             src2 + Mat::index (0, hc, ll, cc),
00059                             r , rr, hl, ll, c-hc, cc);
00060   if (hl < l)
00061     Mat::template mul<Acc> (dest,
00062                             src1 + Mat::index (0, hl, rr, ll),
00063                             src2 + Mat::index (hl, 0, ll, cc),
00064                             r , rr, l-hl, ll, c , cc);
00065 }

void mmx::mul_kronecker ( signed short int *  dest,
const signed short int *  src1,
nat  n1,
const signed short int *  src2,
nat  n2 
)

Definition at line 183 of file kronecker_int.cpp.

00194 {

void mmx::mul_kronecker ( polynomial< C, V > *  dest,
const polynomial< C, V > *  s1,
nat  n1,
const polynomial< C, V > *  s2,
nat  n2 
) [inline]

Definition at line 67 of file kronecker_polynomial.hpp.

References decode_kronecker(), encode_kronecker(), max_polynomial_size(), and Polynomial.

00069                                              {
00070   typedef implementation<polynomial_linear,V> Pol;
00071   if (n1 == 0 || n2 == 0) return;
00072   if (n1 == 1) { Pol::mul_sc (dest, s2, s1[0], n2); return; }
00073   if (n2 == 1) { Pol::mul_sc (dest, s1, s2[0], n1); return; }
00074   nat m1= max_polynomial_size (s1, n1);
00075   nat m2= max_polynomial_size (s2, n2);
00076   nat m = m1 + m2 - 1;
00077   Polynomial x1, x2, y;
00078   encode_kronecker (x1, s1, n1, m);
00079   encode_kronecker (x2, s2, n2, m);
00080   y= x1 * x2;
00081   decode_kronecker (dest, y, n1 + n2 - 1, m); }

void mmx::mul_kronecker ( modular< modulus< I, MoV >, modular_local > *  dest,
const modular< modulus< I, MoV >, modular_local > *  s1,
const modular< modulus< I, MoV >, modular_local > *  s2,
nat  n1,
nat  n2 
) [inline]

Definition at line 72 of file kronecker_modular_int.hpp.

References C, get_modulus(), I, and mul_kronecker_mod().

00072                                                                   {
00073   nat l1= default_aligned_size<I> (n1), l2= default_aligned_size<I> (n2);
00074   nat spc= l1 + l2 + default_aligned_size<I> (n1 + n2 - 1);
00075   I* t1= mmx_new<I> (spc); I* t2= t1 + l1, * r= t1 + l1 + l2;
00076   for (nat i= 0; i < n1; i++) t1[i]= * s1[i];
00077   for (nat i= 0; i < n2; i++) t2[i]= * s2[i];
00078   I p= * get_modulus (s1[0]);
00079   mul_kronecker_mod (r, t1, n1, t2, n2, p);
00080   for (nat i= 0; i < n1 + n2 - 1; i++) dest[i]= C (* r[i], p, true);
00081   mmx_delete<I> (t1, spc);
00082 }

void mmx::mul_kronecker ( modular< modulus< I, MoV >, MaV > *  dest,
const modular< modulus< I, MoV >, MaV > *  s1,
nat  n1,
const modular< modulus< I, MoV >, MaV > *  s2,
nat  n2 
) [inline]

Definition at line 51 of file kronecker_modular_int.hpp.

References I, and mul_kronecker_mod().

00051                                                                   {
00052   mul_kronecker_mod ((I*) (void*) dest,
00053                      (const I*) (const void*) s1, n1,
00054                      (const I*) (const void*) s2, n2, 
00055                      * C::get_modulus());
00056 }

void mul_kronecker ( integer *  dest,
const integer *  src1,
nat  n1,
const integer *  src2,
nat  n2 
)

Definition at line 121 of file kronecker_integer.cpp.

References decode_kronecker(), encode_kronecker(), max_bit_size(), and min().

00124 {
00125   /*
00126   mmout << "n1= " << n1 << ", " << "n2= " << n2 << "\n";
00127   for (nat i=0; i<n1; i++)
00128     mmout << "  s" << i << "\t" << src1[i] << "\n";
00129   for (nat i=0; i<n2; i++)
00130     mmout << "  t" << i << "\t" << src2[i] << "\n";
00131   */
00132   if (n1 == 0 && n2 == 0) return;
00133   for (nat i= 0; i < n1 + n2 - 1; i++) dest[i]= 0;
00134   while (n1 > 0 && src1[n1-1] == 0) n1--;
00135   while (n2 > 0 && src2[n2-1] == 0) n2--;
00136   if (n1 == 0 || n2 == 0) return;
00137   
00138   xnat bits1= max_bit_size (src1, n1);
00139   xnat bits2= max_bit_size (src2, n2);
00140   xnat bits= bits1 + bits2 + bit_size (integer (min (n1, n2))) + 1;
00141   integer aux1, aux2;
00142   //mmout << "Encoding\n";
00143   //nat start= mmx_time ();
00144   encode_kronecker (aux1, src1, n1, bits);
00145   encode_kronecker (aux2, src2, n2, bits);
00146   //mmout << "Done in " << mmx_time () - start << "ms\n";
00147   //mmout << "Multiplying\n";
00148   //start= mmx_time ();
00149   integer aux= aux1*aux2;
00150   //mmout << "Done in " << mmx_time () - start << "ms\n";
00151   //mmout << "Decoding\n";
00152   //start= mmx_time ();
00153   decode_kronecker (dest, n1+n2-1, bits, aux);
00154   //mmout << "Done in " << mmx_time () - start << "ms\n";
00155 
00156   /*
00157   integer* dest1= mmx_new<integer> (n1+n2-1);
00158   decode_kronecker_naive (dest1, n1+n2-1, bits, aux);
00159   decode_kronecker (dest, n1+n2-1, bits, aux);
00160   for (nat i=0; i<n1+n2-1; i++) {
00161     mmout << "naive\t" << i << "\t" << dest1[i] << "\n";
00162     mmout << "fast\t" << i << "\t" << dest[i] << "\n";
00163   }
00164   mmx_delete<integer> (dest1, n1+n2-1);
00165   */
00166 }

void mul_kronecker ( unsigned long long int *  dest,
const unsigned long long int *  src1,
nat  n1,
const unsigned long long int *  src2,
nat  n2 
)

Definition at line 190 of file kronecker_int.cpp.

00194 {

void mul_kronecker ( long long int *  dest,
const long long int *  src1,
nat  n1,
const long long int *  src2,
nat  n2 
)

Definition at line 189 of file kronecker_int.cpp.

00194 {

void mul_kronecker ( unsigned long int *  dest,
const unsigned long int *  src1,
nat  n1,
const unsigned long int *  src2,
nat  n2 
)

Definition at line 188 of file kronecker_int.cpp.

00194 {

void mul_kronecker ( long int *  dest,
const long int *  src1,
nat  n1,
const long int *  src2,
nat  n2 
)

Definition at line 187 of file kronecker_int.cpp.

00194 {

void mul_kronecker ( unsigned int *  dest,
const unsigned int *  src1,
nat  n1,
const unsigned int *  src2,
nat  n2 
)

Definition at line 186 of file kronecker_int.cpp.

00194 {

void mul_kronecker ( int *  dest,
const int *  src1,
nat  n1,
const int *  src2,
nat  n2 
)

Definition at line 185 of file kronecker_int.cpp.

00194 {

void mul_kronecker ( unsigned short int *  dest,
const unsigned short int *  src1,
nat  n1,
const unsigned short int *  src2,
nat  n2 
)

Definition at line 184 of file kronecker_int.cpp.

00194 {

void mmx::mul_kronecker ( short int *  dest,
const short int *  src1,
nat  n1,
const short int *  src2,
nat  n2 
)
void mul_kronecker ( unsigned char *  dest,
const unsigned char *  src1,
nat  n1,
const unsigned char *  src2,
nat  n2 
)

Definition at line 182 of file kronecker_int.cpp.

00194 {

void mul_kronecker ( signed char *  dest,
const signed char *  src1,
nat  n1,
const signed char *  src2,
nat  n2 
)
static void mmx::mul_kronecker_int ( I *  dest,
const I *  src1,
nat  n1,
const I *  src2,
nat  n2 
) [inline, static]

Definition at line 159 of file kronecker_int.cpp.

References decode_kronecker(), encode_kronecker(), I, and min().

00162 {
00163   if (n1 == 0 && n2 == 0) return;
00164   for (nat i= 0; i < n1 + n2 - 1; i++) dest[i]= 0;
00165   while (n1 > 0 && src1[n1-1] == 0) n1--;
00166   while (n2 > 0 && src2[n2-1] == 0) n2--;
00167   if (n1 == 0 || n2 == 0) return;
00168 
00169   xnat bits= 16 * sizeof (I) + bit_size (min (n1, n2));
00170   integer aux1, aux2;
00171   encode_kronecker (aux1, src1, n1, bits);
00172   encode_kronecker (aux2, src2, n2, bits);
00173   integer aux= aux1 * aux2;
00174   decode_kronecker (dest, n1+n2-1, bits, aux);
00175 }

void mul_kronecker_mod ( unsigned long long int *  dest,
const unsigned long long int *  src1,
nat  n1,
const unsigned long long int *  src2,
nat  n2,
const unsigned long long int &  p 
)

Definition at line 130 of file kronecker_modular_int.cpp.

00134 {

void mul_kronecker_mod ( long long int *  dest,
const long long int *  src1,
nat  n1,
const long long int *  src2,
nat  n2,
const long long int &  p 
)

Definition at line 129 of file kronecker_modular_int.cpp.

00134 {

void mul_kronecker_mod ( unsigned long int *  dest,
const unsigned long int *  src1,
nat  n1,
const unsigned long int *  src2,
nat  n2,
const unsigned long int &  p 
)

Definition at line 128 of file kronecker_modular_int.cpp.

00134 {

void mul_kronecker_mod ( long int *  dest,
const long int *  src1,
nat  n1,
const long int *  src2,
nat  n2,
const long int &  p 
)

Definition at line 127 of file kronecker_modular_int.cpp.

00134 {

void mul_kronecker_mod ( unsigned int *  dest,
const unsigned int *  src1,
nat  n1,
const unsigned int *  src2,
nat  n2,
const unsigned int &  p 
)

Definition at line 126 of file kronecker_modular_int.cpp.

00134 {

void mul_kronecker_mod ( int *  dest,
const int *  src1,
nat  n1,
const int *  src2,
nat  n2,
const int &  p 
)

Definition at line 125 of file kronecker_modular_int.cpp.

00134 {

void mul_kronecker_mod ( unsigned short int *  dest,
const unsigned short int *  src1,
nat  n1,
const unsigned short int *  src2,
nat  n2,
const unsigned short int &  p 
)

Definition at line 124 of file kronecker_modular_int.cpp.

00134 {

void mul_kronecker_mod ( short int *  dest,
const short int *  src1,
nat  n1,
const short int *  src2,
nat  n2,
const short int &  p 
)

Definition at line 123 of file kronecker_modular_int.cpp.

00134 {

void mul_kronecker_mod ( unsigned char *  dest,
const unsigned char *  src1,
nat  n1,
const unsigned char *  src2,
nat  n2,
const unsigned char &  p 
)

Definition at line 122 of file kronecker_modular_int.cpp.

00134 {

void mul_kronecker_mod ( signed char *  dest,
const signed char *  src1,
nat  n1,
const signed char *  src2,
nat  n2,
const signed char &  p 
)

Definition at line 121 of file kronecker_modular_int.cpp.

Referenced by mul_kronecker().

00134 {

static void mmx::mul_kronecker_mod_int ( I *  dest,
const I *  src1,
nat  n1,
const I *  src2,
nat  n2,
const I &  p 
) [inline, static]

Definition at line 99 of file kronecker_modular_int.cpp.

References decode_kronecker_mod(), encode_kronecker(), and min().

00102 {
00103   if (n1 == 0 && n2 == 0) return;
00104   for (nat i= 0; i < n1 + n2 - 1; i++) dest[i]= 0;
00105   while (n1 > 0 && src1[n1-1] == 0) n1--;
00106   while (n2 > 0 && src2[n2-1] == 0) n2--;
00107   if (n1 == 0 || n2 == 0) return;
00108 
00109   xnat bits= 2 * bit_size (p-1) + bit_size (min (n1, n2));
00110   integer aux1, aux2;
00111   encode_kronecker (aux1, src1, n1, bits);
00112   encode_kronecker (aux2, src2, n2, bits);
00113   integer aux= aux1*aux2;
00114   decode_kronecker_mod (dest, n1+n2-1, bits, aux, p);
00115 }

matrix<C> mmx::mul_matrix ( const algebraic_extension< C > &  ext1,
const algebraic_extension< C > &  ext2,
const vector< C > &  v 
) [inline]

Definition at line 172 of file algebraic_extension.hpp.

References CF(), deg(), promote(), shift1(), and shift2().

Referenced by pow_matrix().

00172                                                                               {
00173   // let p (x1, x2) be the bivariate polynomial represented by v
00174   // return the matrix whose rows represent polynomials p (x1, x2) x1^i x2^j
00175   nat d1= deg (ext1.mp), d2= deg (ext2.mp);
00176   matrix<C> r (promote (0, CF(ext1)), d1*d2, d1*d2);
00177   vector<C> aux= fill<C> (promote (0, CF(ext1)), d1*d2);
00178   for (nat i1=0; i1<d1; i1++) {
00179     if (i1 == 0)
00180       for (nat k=0; k<d1*d2; k++)
00181         r (0, k)= v[k];
00182     else {
00183       for (nat k=0; k<d1*d2; k++)
00184         aux[k]= r((i1-1)*d2, k);
00185       aux= shift1 (ext1, ext2, aux);
00186       for (nat k=0; k<d1*d2; k++)
00187         r(i1*d2, k)= aux[k];
00188     }
00189     for (nat i2=1; i2<d2; i2++) {
00190       for (nat k=0; k<d1*d2; k++)
00191         aux[k]= r(i1*d2 + i2-1, k);
00192       aux= shift2 (ext1, ext2, aux);
00193       for (nat k=0; k<d1*d2; k++)
00194         r(i1*d2 + i2, k)= aux[k];
00195     }
00196   }
00197   return r;
00198 }

void mmx::mul_unrolled ( D *  dest,
const S1 *  src1,
const S2 *  src2,
nat  r,
nat  rr,
nat  l,
nat  ll,
nat  c,
nat  cc 
) [inline]

Definition at line 73 of file matrix_unrolled.hpp.

00075 {
00076   typedef implementation<matrix_multiply,V> Mat;
00077   typedef implementation<matrix_multiply_base,matrix_naive> NMat;
00078   typedef typename Op::acc_op Acc;
00079   nat nr= r/ur, nl= l/ul, nc= c/uc;
00080   if (nl == 0)
00081     NMat::template clr<Op> (dest, r, rr, c, cc);
00082   else
00083     for (nat ir=0; ir<nr; ir++)
00084       for (nat ic=0; ic<nc; ic++) {
00085         nat il=0;
00086         for (; il<1; il++)
00087           matrix_multiply_helper<Op,D,S1,S2,ur,ul,uc>::
00088             mul_stride (dest + Mat::index (ir*ur, ic*uc, rr, cc),
00089                         src1 + Mat::index (ir*ur, il*ul, rr, ll),
00090                         src2 + Mat::index (il*ul, ic*uc, ll, cc),
00091                         rr, ll);
00092         for (; il<nl; il++)
00093           matrix_multiply_helper<Acc,D,S1,S2,ur,ul,uc>::
00094             mul_stride (dest + Mat::index (ir*ur, ic*uc, rr, cc),
00095                         src1 + Mat::index (ir*ur, il*ul, rr, ll),
00096                         src2 + Mat::index (il*ul, ic*uc, ll, cc),
00097                         rr, ll);
00098       }
00099   mul_complete<Op,V> (dest, src1, src2, r, rr, l, ll, c, cc,
00100                       ur*nr, ul*nl, uc*nc);
00101 }

V nat N ( const polynomial< C, V > &  P  )  [inline]

Definition at line 190 of file polynomial.hpp.

00190 { return P->n; }

nat mmx::N ( const matrix< C, V > &  m  )  [inline]

Definition at line 188 of file matrix.hpp.

References cols(), and rows().

00188 { return rows (m) * cols (m); } 

nat mmx::N ( const crt_naive_transformer< C, M, V > &  crter  )  [inline]

Definition at line 299 of file crt_naive.hpp.

References crt_naive_transformer< C, S, V >::size().

00299                                               {
00300   return crter.size (); 
00301 }

nat mmx::N ( const crt_dicho_transformer< C, M, V > &  crter  )  [inline]

Definition at line 208 of file crt_dicho.hpp.

References crt_dicho_transformer< C, S, V >::size().

00208                                               {
00209   return crter.size (); 
00210 }

nat mmx::N ( const crt_blocks_transformer< WL, WH, s, V > &  crter  )  [inline]

Definition at line 175 of file crt_blocks.hpp.

References crt_blocks_transformer< WL, WH, s, V >::size().

Referenced by slp_polynomial_regular_root_series_rep< M, V, L >::_derive(), slp_polynomial_regular_root_series_rep< M, V, L >::_eps(), slp_polynomial_regular_root_series_rep< M, V, L >::_eval(), slp_polynomial_regular_root_series_rep< M, V, L >::_eval2(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_dicho_inc< BV > >::_half_gcd(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::_multi_rem(), access(), annihilator(), implementation< polynomial_evaluate, V, polynomial_naive >::annulator(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::annulator(), as_matrix(), as_p_expansion(), as_vector(), big_add(), big_mul(), binary_map_scalar(), binary_test(), coefficients(), compare(), compose(), contents(), moduli_helper< integer, M, fft_prime_sequence_int< t > >::covering(), crt_blocks_transformer< WL, WH, s, V >::crt_blocks_transformer(), crt_dicho_transformer< C, S, V >::crt_dicho_transformer(), as_helper< polynomial< T, TV >, polynomial< F, FV > >::cv(), as_helper< polynomial< modular< modulus< C, U1 >, U2 >, V >, Lift_type(modular< modulus< C, U1 >, U2 >)>::cv(), fast_helper< polynomial< C, V > >::dd(), decode_kronecker(), ser_polynomial_regular_root_op::def(), ser_carry_polynomial_regular_root_op::def(), derive(), implementation< series_multiply, U, series_fast >::determine_sizes(), dilate(), direct_crt(), implementation< polynomial_evaluate, V, polynomial_naive >::evaluate(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::evaluate(), evaluate(), expand(), coprime_moduli_sequence_polynomial::extend(), probable_prime_sequence_int< s >::extend(), fft_prime_sequence_int< s >::extend(), prime_sequence_int::extend(), extract_mod(), flatten(), implementation< polynomial_gcd, V, polynomial_ring_naive< W > >::gcd(), implementation< polynomial_gcd, V, polynomial_naive >::gcd(), mul_series_rep< M, V >::get_power_of_p(), get_vector_format(), GLUE_2(), GLUE_22(), GLUE_32(), GLUE_34(), GLUE_4(), GLUE_6(), GLUE_61(), GLUE_64(), GLUE_67(), GLUE_7(), GLUE_80(), graeffe(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_dicho_inc< BV > >::half_subresultant(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_dicho_inc< BV > >::half_subresultant_rec(), hankel_matrix(), implicit_vector_series(), vector_series_rep< C, V, W >::Increase_order(), solver_series_rep< C, V >::Increase_order(), mul_series_rep< C, V >::Increase_order(), slp_polynomial_regular_root_series_rep< M, V, L >::increase_order_generic(), fixed_point_vector_series_rep< C >::initialize(), fixed_point_series_rep< C >::initialize(), inv_mod_polynomial_series_rep< C, U, V, W >::initialize(), insert_and_reduce(), integrate(), implementation< polynomial_evaluate, V, polynomial_naive >::interpolate(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::interpolate(), inverse_base(), invert(), invert_hi(), invert_lo(), implementation< polynomial_gcd, X, polynomial_series< BV > >::invert_mod(), is_reconstructible(), join(), lshiftz(), map(), implementation< matrix_multiply, V, matrix_crt< W > >::mat_direct_crt(), implementation< matrix_multiply, V, matrix_crt< W > >::mat_inverse_crt(), implementation< matrix_multiply, V, matrix_balanced< W > >::mat_size(), matrix_new(), max_polynomial_size(), minimal_polynomial_bis(), implementation< matrix_multiply, V, matrix_crt< W > >::mul(), mul_series_rep< M, V >::mul_series_rep(), implementation< polynomial_evaluate, V, polynomial_gcd_ring_dicho_inc< W > >::multi_gcd(), implementation< polynomial_evaluate, V, polynomial_naive >::multi_rem(), vector_series_rep< C, V, W >::next(), vector_access_series_rep< C, V, W >::next(), solver_series_rep< C, V >::next(), polynomial_series_rep< C, V >::next(), mul_series_rep< M, V >::next(), quotient_normalization_helper< polynomial< C, V >, polynomial< C, V > >::normalize(), nr_transpositions(), nrelax_mul_series_rep< C, V >::nrelax_mul_series_rep(), nth_root(), ser_carry_polynomial_regular_root_op::op(), permutation::operator()(), operator*(), operator+(), polynomial< C, V >::operator+=(), operator-(), polynomial< C, V >::operator-=(), operator/(), coprime_moduli_sequence< M, V >::operator[](), pade(), implementation< series_polynomial_regular_root, U, series_naive >::pol_root(), implementation< series_polynomial_regular_root, U, series_carry_naive >::pol_root(), implementation< series_polynomial_regular_root, U, series_carry_monoblock< W, s, BV, t > >::pol_root(), implementation< series_polynomial_regular_root, U, series_carry_monoblock< W, s, BV, t > >::pol_root_init(), polynomial< L >::polynomial(), polynomial_modular_root(), polynomial_modular_roots(), pquo(), prem(), primitive_part(), q_difference(), quo(), range(), slp_polynomial_regular_root_series_rep< M, V, L >::rec_prod(), slp_polynomial_regular_root_series_rep< M, V, L >::rec_square(), implementation< polynomial_gcd, V, polynomial_ring_naive< W > >::reconstruct(), implementation< polynomial_gcd, V, polynomial_naive >::reconstruct(), reconstruct(), rem(), reverse(), root_modular_naive::roots(), row_matrix(), separable_root(), set_as(), lift_helper< polynomial< C, V > >::set_op(), mul_series_rep< M, V >::Set_order(), shift(), sign(), singleton_vector(), matrix_crt_multiply_helper< C >::size(), size_bound_in_base_helper< C, I >::size(), skew_div(), solver_series_rep< C, V >::solver_series_rep(), square(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_dicho_inc< BV > >::subresultant_compose(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_ducos_inc< BV > >::subresultant_sequence(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_naive_inc< W > >::subresultant_sequence(), implementation< polynomial_subresultant_base, V, polynomial_ring_naive< W > >::subresultant_sequence(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_dicho_inc< BV > >::subresultant_sequence(), implementation< polynomial_subresultant, V, polynomial_naive >::subresultant_sequence(), implementation< polynomial_subresultant_base, V, polynomial_naive >::subresultant_sequence(), tensor_matrix(), implementation< polynomial_evaluate, V, polynomial_naive >::tevaluate(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::tevaluate(), implementation< polynomial_evaluate, V, polynomial_naive >::tinterpolate(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::tinterpolate(), tmul(), toeplitz_matrix(), tquo(), trem(), unary_hash(), unary_map(), fast_helper< polynomial< C, V > >::uu(), val(), vandermonde(), WRAP_BINARY_IMPL(), binary_helper< polynomial< C, V > >::write(), and xderive().

00175                                                    {
00176   return crter.size (); 
00177 }

nat mmx::nbcol ( const matrix< C, V > &  m  )  [inline]

Definition at line 186 of file matrix.hpp.

References cols().

00186 {return cols(m);}

nat mmx::nbrow ( const matrix< C, V > &  m  )  [inline]

Definition at line 187 of file matrix.hpp.

References rows().

00187 {return rows(m);} 

quotient_series<Series,Monomial> mmx::normalize ( const quotient_series< Series, Monomial > &  f,
const Monomial &  dom_m 
) [inline]

Definition at line 131 of file quotient_series.hpp.

References lshiftz(), and Quotient_series.

00131                                                             {
00132   return Quotient_series (lshiftz (f->f, f->m / dom_m), dom_m); }

algebraic_number_extension<C,Ball> mmx::normalize ( const algebraic_number_extension< C, Ball > &  ext,
const typename algebraic_number_extension< C, Ball >::El &  p 
) [inline]

Definition at line 360 of file algebraic_number.hpp.

References annihilator(), Ball, eval(), Extension, Field, mmx_bit_precision, Polynomial, and shrink().

00360                                                {
00361   Polynomial mp= annihilator (ext.ext, p);
00362   Ball z;
00363   nat old_precision= mmx_bit_precision;
00364   while (true) {
00365     z= eval (ext, p);
00366     if (shrink (mp, z)) break;
00367     mmx_bit_precision= mmx_bit_precision << 1;
00368   }
00369   mmx_bit_precision= old_precision;
00370   return Field (Extension (mp), z);
00371 }

algebraic_extension<C> mmx::normalize ( const algebraic_extension< C > &  ext,
const typename algebraic_extension< C >::El &  p 
) [inline]

Definition at line 331 of file algebraic_extension.hpp.

References annihilator(), and Extension.

00331                                                    {
00332   return Extension (annihilator (ext, p));
00333 }

algebraic<C,Extension> mmx::normalize ( const algebraic< C, Extension > &  a  )  [inline]

Definition at line 199 of file algebraic.hpp.

References Algebraic, CF(), Extension, field(), Polynomial, promote(), and value().

Referenced by abs(), GLUE_48(), GLUE_6(), polynomial< C, V >::operator+=(), quotient< NT, DT >::quotient(), Re(), root(), set_as(), and REP_STRUCT< Series, Monomial >::unknown_rep().

00199                                {
00200   Extension  ext= normalize (field (a), value (a));
00201   Polynomial pri (vec<C> (promote (0, CF(a)), promote (1, CF(a))));
00202   return Algebraic (ext, pri);
00203 }

nat nr_transpositions ( const permutation &  p  ) 

Definition at line 39 of file permutation.cpp.

References N().

Referenced by GLUE_9().

00039                                          {
00040   nat s= 0, n= N(p);
00041   for (nat i=0; i<n; i++)
00042     if (p (i) > i) s += p (i) - i;
00043   return s;
00044 }

modular< modulus<C,V> ,W> mmx::nth_root ( const modular< modulus< C, V >, W > &  a,
nat  r 
) [inline]

Definition at line 165 of file root_modular.hpp.

References N(), and nth_roots().

00165                                    {
00166   if (a == 1) return a;
00167   vector<Modular> ans= nth_roots (a, r); 
00168   ASSERT (N (ans) != 0, "no root");
00169   return ans [0];
00170 }

vector< modular< modulus<C,V> ,W> > mmx::nth_roots ( const modular< modulus< C, V >, W > &  a,
nat  r 
) [inline]

Definition at line 157 of file root_modular.hpp.

References C, get_modulus(), Modular, and separable_roots().

Referenced by nth_root().

00157                                     {
00158   // return all the r th roots of a
00159   C p= * get_modulus (a);
00160   if (Modular (r) == 0) return nth_roots (a, r / as<nat> (p));
00161   return separable_roots (a, r);
00162 }

series<C> mmx::nullary_recursive_series ( const C &  c = Op::template op<C> ()  )  [inline]

Definition at line 617 of file series.hpp.

References C, recursive(), and Series_variant.

00617                                                            {
00618   typedef typename Series_variant (C) V;
00619   typedef implementation<series_recursive_abstractions,V> Ser;
00620   typedef typename Ser::template nullary_recursive_series_rep<Op,C,V> Nullary;
00621   series_rep<C>* rep= new Nullary (c);
00622   return recursive (series<C> (rep));
00623 }

matrix<C,V>& mmx::nullary_set ( matrix< C, V > &  m  )  [inline]

Definition at line 474 of file matrix.hpp.

References cols(), rows(), and tab().

00474                              {
00475   typedef implementation<vector_linear,V> Vec;
00476   Vec::template vec_nullary<Op> (tab (m), rows (m) * cols (m));
00477   return m;
00478 }

NT numerator ( const quotient< NT, DT > &  x  )  [inline]
bool mmx::operator!= ( const series< C, V > &  f1,
const series< C, V > &  f2 
) [inline]

Definition at line 304 of file series.hpp.

00304                                                            {
00305   return !binary_test<equal_op> (f1, f2); }

bool mmx::operator!= ( const quotient_series< Series, Monomial > &  f,
const quotient_series< Series, Monomial > &  g 
) [inline]

Definition at line 97 of file quotient_series.hpp.

00097                                                                  {
00098   return !(f == g); }

bool mmx::operator!= ( const quotient< NT, DT > &  x1,
const quotient< NT, DT > &  x2 
) [inline]

Definition at line 147 of file quotient.hpp.

00147                                                                       {
00148   return !(x1 == x2); }

bool mmx::operator!= ( const K &  c,
const matrix< C, V > &  m 
) [inline]

Definition at line 623 of file matrix.hpp.

References cols(), Matrix, and rows().

00623                                           {
00624   return m != Matrix (c, rows (m), cols (m)); }

bool mmx::operator!= ( const matrix< C, V > &  m,
const K &  c 
) [inline]

Definition at line 617 of file matrix.hpp.

References cols(), Matrix, and rows().

00617                                           {
00618   return m != Matrix (c, rows (m), cols (m)); }

bool mmx::operator!= ( const algebraic_number_extension< C, Ball > &  x,
const algebraic_number_extension< C, Ball > &  y 
) [inline]

Definition at line 80 of file algebraic_number.hpp.

00080                                                               {
00081   return (*x) != (*y); }

bool mmx::operator!= ( const algebraic_extension< C > &  x,
const algebraic_extension< C > &  y 
) [inline]

Definition at line 60 of file algebraic_extension.hpp.

00060                                                                       {
00061   return (*x) != (*y); }

bool mmx::operator!= ( const algebraic< C, Extension > &  x1,
const algebraic< C, Extension > &  x2 
) [inline]

Definition at line 128 of file algebraic.hpp.

References is_zero().

00128                                                                         {
00129   return !is_zero (x1 - x2); }

series< unknown<C,V> ,UV> mmx::operator* ( const series< unknown< C, V >, UV > &  f,
const series< unknown< C, V >, UV > &  g 
) [inline]

Definition at line 414 of file series_implicit.hpp.

References CF(), and is_exact_zero().

00414                                                             {
00415   if (is_exact_zero (f) || is_exact_zero (g))
00416     return series<UC,UV> (CF(f));
00417   return (series_rep<UC,UV>*) new subst_mul_series_rep<C,V,UV> (f, g);
00418 }

unknown<C,V> mmx::operator* ( const unknown< C, V > &  c1,
const unknown< C, V > &  c2 
) [inline]

Definition at line 269 of file series_implicit.hpp.

References is_exact_zero(), known(), substitute(), and UC.

00269                                         {
00270   //mmerr << "    times " << c1 << ", " << c2 << "\n";
00271   if (is_exact_zero (c1)) return c1;
00272   if (is_exact_zero (c2)) return c2;
00273   if (c1->i1 == c1->i2) return known (c1) * c2;
00274   if (c2->i1 == c2->i2) return c1 * known (c2);
00275   UC c1b= substitute (c1);
00276   UC c2b= substitute (c2);
00277   if (c1b->i1 == c1b->i2) return known (c1b) * c2b;
00278   if (c2b->i1 == c2b->i2) return c1b * known (c2b);
00279   ERROR ("invalid product of unknown coefficients");
00280 }

unknown<C,V> mmx::operator* ( const C &  c1,
const unknown< C, V > &  c2 
) [inline]

Definition at line 205 of file series_implicit.hpp.

References C, is_exact_zero(), and UC.

00205                                        {
00206   //mmerr << "    scalar times " << c1 << ", " << c2 << "\n";
00207   if (is_exact_zero (c2)) return c2;
00208   if (is_exact_zero (c1))
00209     return UC (c2->f, C (0), mmx_new<C> (0), c2->i1, c2->i1);
00210   nat n= c2->i2 - c2->i1;
00211   C* s= mmx_new<C> (n);
00212   for (nat i=0; i<n; i++)
00213     s[i]= c1 * c2->s[i];
00214   return UC (c2->f, c1 * c2->b, s, c2->i1, c2->i2);
00215 }

unknown<C,V> mmx::operator* ( const unknown< C, V > &  c1,
const C &  c2 
) [inline]

Definition at line 192 of file series_implicit.hpp.

References C, is_exact_zero(), and UC.

00192                                        {
00193   //mmerr << "    scalar times " << c1 << ", " << c2 << "\n";
00194   if (is_exact_zero (c1)) return c1;
00195   if (is_exact_zero (c2))
00196     return UC (c1->f, C (0), mmx_new<C> (0), c1->i1, c1->i1);
00197   nat n= c1->i2 - c1->i1;
00198   C* s= mmx_new<C> (n);
00199   for (nat i=0; i<n; i++)
00200     s[i]= c1->s[i] * c2;
00201   return UC (c1->f, c1->b * c2, s, c1->i1, c1->i2);
00202 }

series<C,V> mmx::operator* ( const series< C, V > &  f,
const series< C, V > &  g 
) [inline]

Definition at line 1096 of file series.hpp.

01096                                               {
01097   typedef implementation<series_multiply,V> Ser;
01098   return Ser::ser_mul (f, g);
01099 }

series<C,V> mmx::operator* ( const C &  c,
const series< C, V > &  f 
) [inline]

Definition at line 763 of file series.hpp.

References is_exact_zero(), and Series.

00763                                          {
00764   if (is_exact_zero (f) || is_exact_zero (c))
00765     return Series (get_format (c));
00766   return binary_scalar_series<lmul_op> (f, c);
00767 }

series<C,V> mmx::operator* ( const series< C, V > &  f,
const C &  c 
) [inline]

Definition at line 756 of file series.hpp.

References is_exact_zero(), and Series.

00756                                          {
00757   if (is_exact_zero (f) || is_exact_zero (c))
00758     return Series (get_format (c));
00759   return binary_scalar_series<rmul_op> (f, c);
00760 }

quotient_series<Series,Monomial> mmx::operator* ( const quotient_series< Series, Monomial > &  f,
const quotient_series< Series, Monomial > &  g 
) [inline]

Definition at line 202 of file quotient_series.hpp.

References Quotient_series.

00202                                                                 {
00203   return Quotient_series (f->f * g->f, f->m * g->m);
00204 }

quotient_series<Series,Monomial> mmx::operator* ( const quotient_series< Series, Monomial > &  f,
const typename scalar_type_helper< Series >::val &  c 
) [inline]

Definition at line 197 of file quotient_series.hpp.

References Quotient_series.

00197                                                   {
00198   return Quotient_series (c * f->f, f->m);
00199 }

quotient_series<Series,Monomial> mmx::operator* ( const typename scalar_type_helper< Series >::val &  c,
const quotient_series< Series, Monomial > &  f 
) [inline]

Definition at line 192 of file quotient_series.hpp.

References Quotient_series.

00192                                                   {
00193   return Quotient_series (c * f->f, f->m);
00194 }

quotient_series<Series,Monomial> mmx::operator* ( const quotient_series< Series, Monomial > &  f,
const Monomial &  m 
) [inline]

Definition at line 187 of file quotient_series.hpp.

References Quotient_series.

00187                                                          {
00188   return Quotient_series (f->f, f->m * m);
00189 }

quotient_series<Series,Monomial> mmx::operator* ( const Monomial &  m,
const quotient_series< Series, Monomial > &  f 
) [inline]

Definition at line 182 of file quotient_series.hpp.

References Quotient_series.

00182                                                          {
00183   return Quotient_series (f->f, m * f->m);
00184 }

quotient< polynomial<C,V> , polynomial<C,V> > mmx::operator* ( const quotient< polynomial< C, V >, polynomial< C, V > > &  x,
const C &  c 
) [inline]

Definition at line 52 of file quotient_polynomial.hpp.

References denominator(), numerator(), and Quotient.

00052                                            {
00053   return Quotient (numerator (x) * c, denominator (x));
00054 }

quotient< polynomial<C,V> , polynomial<C,V> > mmx::operator* ( const C &  c,
const quotient< polynomial< C, V >, polynomial< C, V > > &  x 
) [inline]

Definition at line 47 of file quotient_polynomial.hpp.

References denominator(), numerator(), and Quotient.

00047                                            {
00048   return Quotient (c * numerator (x), denominator (x));
00049 }

quotient<NT,DT> mmx::operator* ( const quotient< NT, DT > &  x1,
const quotient< NT, DT > &  x2 
) [inline]

Definition at line 258 of file quotient.hpp.

References denominator(), DT, gcd(), numerator(), and Quotient.

00258                                                     {
00259   DT g1 = gcd (numerator (x1), denominator (x2));
00260   DT g2 = gcd (numerator (x2), denominator (x1));
00261   return Quotient ((numerator (x1) / g1) * (numerator (x2) / g2),
00262                    (denominator (x1) / g2) * (denominator (x2) / g1));
00263 }

quotient<NT,DT> mmx::operator* ( const quotient< NT, DT > &  x,
const NT &  c 
) [inline]

Definition at line 252 of file quotient.hpp.

References denominator(), DT, gcd(), numerator(), and Quotient.

00252                                             {
00253   DT g = gcd (c, denominator (x));
00254   return Quotient (numerator (x) * (c / g), denominator (x) / g);
00255 }

quotient<NT,DT> mmx::operator* ( const NT &  c,
const quotient< NT, DT > &  x 
) [inline]

Definition at line 246 of file quotient.hpp.

References denominator(), DT, gcd(), numerator(), and Quotient.

00246                                             {
00247   DT g = gcd (c, denominator (x));
00248   return Quotient ((c / g) * numerator (x), denominator (x) / g);
00249 }

polynomial<C,V> mmx::operator* ( const C &  c,
const polynomial< C, V > &  P 
) [inline]

Definition at line 566 of file polynomial.hpp.

References C, CF(), N(), Polynomial, and seg().

00566                                              {
00567   typedef implementation<polynomial_linear,V> Pol;
00568   nat n= N(P);
00569   nat l= aligned_size<C,V> (n);
00570   C* r= mmx_formatted_new<C> (l, CF(P));
00571   Pol::mul_sc (r, seg (P), c, n);
00572   return Polynomial (r, n, l, CF(P));
00573 }

polynomial<C,V> mmx::operator* ( const polynomial< C, V > &  P,
const C &  c 
) [inline]

Definition at line 556 of file polynomial.hpp.

References C, CF(), N(), Polynomial, and seg().

00556                                              {
00557   typedef implementation<polynomial_linear,V> Pol;
00558   nat n= N(P);
00559   nat l= aligned_size<C,V> (n);
00560   C* r= mmx_formatted_new<C> (l, CF(P));
00561   Pol::mul_sc (r, seg (P), c, n);
00562   return Polynomial (r, n, l, CF(P));
00563 }

polynomial<C,V> mmx::operator* ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Definition at line 511 of file polynomial.hpp.

References C, CF(), mul(), N(), Polynomial, and seg().

00511                                                         {
00512   typedef implementation<polynomial_multiply,V> Pol;
00513   nat n1= N(P1), n2= N(P2);
00514   if (n1 == 0 || n2 == 0) return Polynomial (CF(P1));
00515   nat l= aligned_size<C,V> (n1+n2-1);
00516   C* r= mmx_formatted_new<C> (l, CF(P1));
00517   Pol::mul (r, seg (P1), seg (P2), n1, n2);
00518   return Polynomial (r, n1+n2-1, l, CF(P1));
00519 }

permutation operator* ( const permutation &  p1,
const permutation &  p2 
)

Definition at line 47 of file permutation.cpp.

References N().

00047                                                           {
00048   nat n= N(p1);
00049   ASSERT (N(p2) == n, "sizes do not match");
00050   vector<nat> v= fill<nat> (n);
00051   for (nat i=0; i<n; i++) v[i]= p1 (p2 (i));
00052   return permutation (v);
00053 }

X mmx::operator* ( const multiplier< C > &  b,
const X &  a 
) [inline]

Definition at line 61 of file multiplier.hpp.

00061                                              {
00062   X c (a);
00063   Multiplier::lmul (c, b);
00064   return c; }

multiplier<C> X mmx::operator* ( const X &  a,
const multiplier< C > &  b 
) [inline]

Definition at line 55 of file multiplier.hpp.

00055                                              {
00056   X c (a);
00057   Multiplier::rmul (c, b);
00058   return c; }

matrix<int,V> mmx::operator* ( const int &  x,
const matrix< int, V > &  y 
) [inline]

Definition at line 39 of file matrix_int.hpp.

References promote().

00039                                                               {
00040   return promote (x, y) * y; }

matrix<int,V> mmx::operator* ( const matrix< int, V > &  x,
const int &  y 
) [inline]

Definition at line 37 of file matrix_int.hpp.

References promote().

00037                                                               {
00038   return x * promote (y, x); }

matrix<C,V> mmx::operator* ( const permutation &  p,
const matrix< C, V > &  m 
) [inline]

Definition at line 1148 of file matrix.hpp.

References CF(), cols(), is_a_scalar(), Matrix, promote(), rows(), seg(), and tab().

01148                                                    {
01149   // returns transpose (as_matrix (p)) * m
01150   typedef implementation<matrix_permute,V> Mat;
01151   if (is_a_scalar (m)) return m;
01152   nat rs= rows (m), cs= cols (m);
01153   Matrix dest (promote (0, CF(m)), rs, cs);
01154   Mat::row_permute (tab (dest), tab (m), seg (*p), rs, cs);
01155   return dest;
01156 }

matrix<C,V> mmx::operator* ( const matrix< C, V > &  m,
const permutation &  p 
) [inline]

Definition at line 1137 of file matrix.hpp.

References CF(), cols(), is_a_scalar(), Matrix, promote(), rows(), seg(), and tab().

01137                                                    {
01138   // returns m * as_matrix (p)
01139   typedef implementation<matrix_permute,V> Mat;
01140   if (is_a_scalar (m)) return m;
01141   nat rs= rows (m), cs= cols (m);
01142   Matrix dest (promote (0, CF(m)), rs, cs);
01143   Mat::col_permute (tab (dest), tab (m), seg (*p), rs, cs);
01144   return dest;
01145 }

vector<C,W> mmx::operator* ( const vector< C, W > &  v,
const matrix< C, V > &  m 
) [inline]

Definition at line 997 of file matrix.hpp.

References CF(), cols(), is_a_scalar(), is_non_scalar(), N(), rows(), matrix< C, V >::scalar(), seg(), and tab().

00997                                                         {
00998   typedef implementation<vector_linear,W> Vec;
00999   typedef implementation<matrix_linear,V> Mat;
01000   if (is_a_scalar (m)) return v * m.scalar();
01001   ASSERT (is_non_scalar (v), "non-scalar vector expected");
01002   nat rr= rows (m), cc= cols (m);
01003   ASSERT (rr == N(v), "sizes don't match");
01004   nat l= aligned_size<C,W> (cc);
01005   C*  a= mmx_formatted_new<C> (l, CF(m));
01006   for (nat i=0; i<cc; i++)
01007     a[i]= Vec::template vec_binary_big_stride<mul_add_op>
01008       (seg (v), 1,
01009        tab (m) + Mat::index (0, i, rr, cc), Mat::index (1, 0, rr, cc), rr);
01010   return vector<C,W> (a, cc, l, CF(m));
01011 }

vector<C,W> mmx::operator* ( const matrix< C, V > &  m,
const vector< C, W > &  v 
) [inline]

Definition at line 980 of file matrix.hpp.

References CF(), cols(), is_a_scalar(), is_non_scalar(), N(), rows(), matrix< C, V >::scalar(), seg(), and tab().

00980                                                         {
00981   typedef implementation<vector_linear,W> Vec;
00982   typedef implementation<matrix_linear,V> Mat;
00983   if (is_a_scalar (m)) return m.scalar() * v;
00984   ASSERT (is_non_scalar (v), "non-scalar vector expected");
00985   nat rr= rows (m), cc= cols (m);
00986   ASSERT (cc == N(v), "sizes don't match");
00987   nat l= aligned_size<C,W> (rr);
00988   C*  a= mmx_formatted_new<C> (l, CF(m));
00989   for (nat i=0; i<rr; i++)
00990     a[i]= Vec::template vec_binary_big_stride<mul_add_op>
00991       (tab (m) + Mat::index (i, 0, rr, cc), Mat::index (0, 1, rr, cc),
00992        seg (v), 1, cc);
00993   return vector<C,W> (a, rr, l, CF(m));
00994 }

matrix<C,V> mmx::operator* ( const matrix< C, V > &  m,
const matrix< C, V > &  n 
) [inline]

Definition at line 964 of file matrix.hpp.

References CF(), cols(), is_a_scalar(), is_non_scalar(), Matrix, mul(), rows(), and tab().

00964                                               {
00965   typedef implementation<matrix_multiply,V> Mat;
00966   if (is_a_scalar (m) || is_a_scalar (n)) {
00967     if (is_non_scalar (m)) return m * n.scalar();
00968     if (is_non_scalar (n)) return m.scalar() * n;
00969     return Matrix (m.scalar() * n.scalar());
00970   }
00971   nat mrows= rows (m), mcols= cols (m), nrows= rows(n), ncols= cols(n);
00972   ASSERT (nrows == mcols, "numbers of rows and columns don't match");
00973   nat l= aligned_size<C,V> (mrows * ncols);
00974   C*  r= mmx_formatted_new<C> (l, CF(m));
00975   Mat::mul (r, tab (m), tab (n), mrows, mcols, ncols);
00976   return Matrix (r, mrows, ncols, CF(m));
00977 }

matrix<C,V> mmx::operator* ( const C &  c,
const matrix< C, V > &  m 
) [inline]

Definition at line 593 of file matrix.hpp.

00593                                                      {
00594   return binary_map_scalar<lmul_op> (m, c); }

matrix<C,V> mmx::operator* ( const matrix< C, V > &  m,
const C &  c 
) [inline]

Definition at line 591 of file matrix.hpp.

00591                                                      {
00592   return binary_map_scalar<rmul_op> (m, c); }

algebraic<C,Extension> mmx::operator* ( const C &  x1,
const algebraic< C, Extension > &  x2 
) [inline]

Definition at line 266 of file algebraic.hpp.

References Algebraic, field(), and value().

00266                                               {
00267   return Algebraic (field (x2), x1 * value (x2));
00268 }

algebraic<C,Extension> mmx::operator* ( const algebraic< C, Extension > &  x1,
const C &  x2 
) [inline]

Definition at line 261 of file algebraic.hpp.

References Algebraic, field(), and value().

00261                                               {
00262   return Algebraic (field (x1), value (x1) * x2);
00263 }

algebraic<C,Extension> mmx::operator* ( const algebraic< C, Extension > &  x1b,
const algebraic< C, Extension > &  x2b 
) [inline]

Definition at line 254 of file algebraic.hpp.

References Algebraic, field(), mul(), upgrade(), and value().

00254                                                         {
00255   Algebraic x1= x1b, x2= x2b;
00256   upgrade (x1, x2);
00257   return Algebraic (field (x1), mul (field (x1), value (x1), value (x2)));
00258 }

X mmx::operator*= ( X &  a,
const multiplier< C > &  b 
) [inline]

Definition at line 67 of file multiplier.hpp.

00067                                         {
00068   Multiplier::rmul (a, b);
00069   return a; }

matrix<C,V>& mmx::operator*= ( matrix< C, V > &  m,
const C &  x 
) [inline]

Definition at line 605 of file matrix.hpp.

00605                                                  {
00606   return unary_set_scalar<rmul_op> (m, x); }

unknown<C,V> mmx::operator+ ( const unknown< C, V > &  c1,
const unknown< C, V > &  c2 
) [inline]

Definition at line 218 of file series_implicit.hpp.

References C, known(), max(), min(), and UC.

00218                                         {
00219   //mmerr << "    plus " << c1 << ", " << c2 << "\n";
00220   if (c1->i1 == c1->i2) return c2 + known (c1);
00221   if (c2->i1 == c2->i2) return c1 + known (c2);
00222   ASSERT (c1->f == c2->f, "incompatible unknown coefficients");
00223   nat i1= min (c1->i1, c2->i1);
00224   nat i2= max (c1->i2, c2->i2);
00225   C* s= mmx_new<C> (i2-i1);
00226   for (nat i= i1; i<i2; i++)
00227     s[i-i1]=
00228       (i >= c1->i1 && i < c1->i2? c1->s[i - c1->i1]: C(0)) +
00229       (i >= c2->i1 && i < c2->i2? c2->s[i - c2->i1]: C(0));
00230   return UC (c1->f, c1->b + c2->b, s, i1, i2);
00231 }

unknown<C,V> mmx::operator+ ( const unknown< C, V > &  c1,
const C &  c2 
) [inline]

Definition at line 179 of file series_implicit.hpp.

References C, is_exact_zero(), and UC.

00179                                        {
00180   //mmerr << "    scalar plus " << c1 << ", " << c2 << "\n";
00181   if (is_exact_zero (c1))
00182     return UC (c1->f, c2, mmx_new<C> (0), c1->i1, c1->i1);
00183   if (is_exact_zero (c2)) return c1;
00184   nat n= c1->i2 - c1->i1;
00185   C* s= mmx_new<C> (n);
00186   for (nat i=0; i<n; i++)
00187     s[i]= c1->s[i];
00188   return UC (c1->f, c1->b + c2, s, c1->i1, c1->i2);
00189 }

series<C,V> mmx::operator+ ( const series< C, V > &  f,
const C &  c 
) [inline]

Definition at line 722 of file series.hpp.

References is_exact_zero(), and Series.

00722                                          {
00723   if (is_exact_zero (c)) return f;
00724   if (is_exact_zero (f)) return Series (c);
00725   return binary_series<add_op> (f, Series (c));
00726 }

series<C,V> mmx::operator+ ( const C &  c,
const series< C, V > &  f 
) [inline]

Definition at line 715 of file series.hpp.

References is_exact_zero(), and Series.

00715                                          {
00716   if (is_exact_zero (c)) return f;
00717   if (is_exact_zero (f)) return Series (c);
00718   return binary_series<add_op> (Series (c), f);
00719 }

series<C,V> mmx::operator+ ( const series< C, V > &  f,
const series< C, V > &  g 
) [inline]

Definition at line 708 of file series.hpp.

References is_exact_zero().

00708                                               {
00709   if (is_exact_zero (f)) return g;
00710   if (is_exact_zero (g)) return f;
00711   return binary_series<add_op> (f, g);
00712 }

quotient_series<Series,Monomial> mmx::operator+ ( const typename scalar_type_helper< Series >::val &  c,
const quotient_series< Series, Monomial > &  f 
) [inline]

Definition at line 153 of file quotient_series.hpp.

References Quotient_series.

00153                                                   {
00154   return Quotient_series (Quotient_series (c) + f->f);
00155 }

quotient_series<Series,Monomial> mmx::operator+ ( const quotient_series< Series, Monomial > &  f,
const typename scalar_type_helper< Series >::val &  c 
) [inline]

Definition at line 148 of file quotient_series.hpp.

References Quotient_series.

00148                                                   {
00149   return Quotient_series (f->f + Quotient_series (c));
00150 }

quotient_series<Series,Monomial> mmx::operator+ ( const quotient_series< Series, Monomial > &  f,
const quotient_series< Series, Monomial > &  g 
) [inline]

Definition at line 139 of file quotient_series.hpp.

References gcd(), Monomial, and Quotient_series.

00139                                                                 {
00140   if (f->m == g->m) return Quotient_series (f->f + g->f, f->m);
00141   else {
00142     Monomial m= gcd (f->m, g->m);
00143     return Quotient_series (f->f * (f->m / m) + g->f * (g->m / m), m);
00144   }
00145 }

quotient< polynomial<C,V> , polynomial<C,V> > mmx::operator+ ( const C &  x1,
const quotient< polynomial< C, V >, polynomial< C, V > > &  x2 
) [inline]

Definition at line 29 of file quotient_polynomial.hpp.

References denominator(), numerator(), and Quotient.

00029                                              {
00030   return Quotient (x1 * denominator (x2) + numerator (x2),
00031                    denominator (x2));
00032 }

quotient< polynomial<C,V> , polynomial<C,V> > mmx::operator+ ( const quotient< polynomial< C, V >, polynomial< C, V > > &  x1,
const C &  x2 
) [inline]

Definition at line 23 of file quotient_polynomial.hpp.

References denominator(), numerator(), and Quotient.

00023                                              {
00024   return Quotient (numerator (x1) + x2 * denominator (x1),
00025                    denominator (x1));
00026 }

quotient<NT,DT> mmx::operator+ ( const NT &  x1,
const quotient< NT, DT > &  x2 
) [inline]

Definition at line 213 of file quotient.hpp.

References denominator(), numerator(), and Quotient.

00213                                               {
00214   return Quotient (x1 * denominator (x2) + numerator (x2),
00215                    denominator (x2));
00216 }

quotient<NT,DT> mmx::operator+ ( const quotient< NT, DT > &  x1,
const NT &  x2 
) [inline]

Definition at line 207 of file quotient.hpp.

References denominator(), numerator(), and Quotient.

00207                                               {
00208   return Quotient (numerator (x1) + x2 * denominator (x1),
00209                    denominator (x1));
00210 }

DT quotient<NT,DT> mmx::operator+ ( const quotient< NT, DT > &  x1,
const quotient< NT, DT > &  x2 
) [inline]

Definition at line 197 of file quotient.hpp.

References denominator(), DT, gcd(), NT, numerator(), and Quotient.

00197                                                     {
00198   DT g  = gcd (denominator (x1), denominator(x2));
00199   DT y1 = denominator (x1) / g;
00200   DT y2 = denominator (x2) / g;
00201   NT n  = numerator(x1) * y2 + numerator(x2) * y1;
00202   DT h  = gcd (g, n);
00203   return Quotient (n / h, (g / h) * y1 * y2);
00204 }

polynomial<C,V> mmx::operator+ ( const C &  c,
const polynomial< C, V > &  P 
) [inline]

Definition at line 477 of file polynomial.hpp.

References Polynomial.

00477                                                              {
00478   return Polynomial (c) + P; }

polynomial<C,V> mmx::operator+ ( const polynomial< C, V > &  P,
const C &  c 
) [inline]

Definition at line 475 of file polynomial.hpp.

References Polynomial.

00475                                                              {
00476   return P + Polynomial (c); }

polynomial<C,V> mmx::operator+ ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Definition at line 463 of file polynomial.hpp.

References C, CF(), copy(), max(), min(), N(), Polynomial, and seg().

00463                                                         {
00464   typedef implementation<polynomial_linear,V> Pol;
00465   nat m= min (N(P1), N(P2));
00466   nat n= max (N(P1), N(P2));
00467   nat l= aligned_size<C,V> (n);
00468   C* r= mmx_formatted_new<C> (l, CF(P1));
00469   Pol::add (r, seg (P1), seg (P2), m);
00470   if (N(P1) > m) Pol::copy (r+m, seg(P1)+m, n-m);
00471   if (N(P2) > m) Pol::copy (r+m, seg(P2)+m, n-m);
00472   return Polynomial (r, n, l, CF(P1));
00473 }

matrix<int,V> mmx::operator+ ( const int &  x,
const matrix< int, V > &  y 
) [inline]

Definition at line 31 of file matrix_int.hpp.

References promote().

00031                                                               {
00032   return promote (x, y) + y; }

matrix<int,V> mmx::operator+ ( const matrix< int, V > &  x,
const int &  y 
) [inline]

Definition at line 29 of file matrix_int.hpp.

References promote().

00029                                                               {
00030   return x + promote (y, x); }

matrix<C,V> mmx::operator+ ( const C &  m,
const matrix< C, V > &  n 
) [inline]

Definition at line 583 of file matrix.hpp.

References Matrix.

00583                                                      {
00584   return binary_map<add_op> (Matrix (m), n); }

matrix<C,V> mmx::operator+ ( const matrix< C, V > &  m,
const C &  n 
) [inline]

Definition at line 581 of file matrix.hpp.

References Matrix.

00581                                                      {
00582   return binary_map<add_op> (m, Matrix (n)); }

matrix<C,V> mmx::operator+ ( const matrix< C, V > &  m,
const matrix< C, V > &  n 
) [inline]

Definition at line 579 of file matrix.hpp.

00579                                                           {
00580   return binary_map<add_op> (m, n); }

algebraic<C,Extension> mmx::operator+ ( const C &  x1,
const algebraic< C, Extension > &  x2 
) [inline]

Definition at line 222 of file algebraic.hpp.

References Algebraic, field(), and value().

00222                                               {
00223   return Algebraic (field (x2), x1 + value (x2));
00224 }

algebraic<C,Extension> mmx::operator+ ( const algebraic< C, Extension > &  x1,
const C &  x2 
) [inline]

Definition at line 217 of file algebraic.hpp.

References Algebraic, field(), and value().

00217                                               {
00218   return Algebraic (field (x1), value (x1) + x2);
00219 }

algebraic<C,Extension> mmx::operator+ ( const algebraic< C, Extension > &  x1b,
const algebraic< C, Extension > &  x2b 
) [inline]

Definition at line 210 of file algebraic.hpp.

References Algebraic, field(), upgrade(), and value().

00210                                                         {
00211   Algebraic x1= x1b, x2= x2b;
00212   upgrade (x1, x2);
00213   return Algebraic (field (x1), value (x1) + value (x2));
00214 }

matrix<C,V>& mmx::operator+= ( matrix< C, V > &  m,
const matrix< C, V > &  n 
) [inline]

Definition at line 601 of file matrix.hpp.

00601                                                       {
00602   return unary_set<add_op> (m, n); }

unknown<C,V> mmx::operator- ( const unknown< C, V > &  c1,
const unknown< C, V > &  c2 
) [inline]

Definition at line 234 of file series_implicit.hpp.

References C, known(), max(), min(), and UC.

00234                                         {
00235   //mmerr << "    minus " << c1 << ", " << c2 << "\n";
00236   if (c1->i1 == c1->i2) return (-c2) + known (c1);
00237   if (c2->i1 == c2->i2) return c1 + (-known (c2));
00238   ASSERT (c1->f == c2->f, "incompatible unknown coefficients");
00239   nat i1= min (c1->i1, c2->i1);
00240   nat i2= max (c1->i2, c2->i2);
00241   C* s= mmx_new<C> (i2-i1);
00242   for (nat i=i1; i<i2; i++)
00243     s[i-i1]=
00244       (i >= c1->i1 && i < c1->i2? c1->s[i - c1->i1]: C(0)) -
00245       (i >= c2->i1 && i < c2->i2? c2->s[i - c2->i1]: C(0));
00246   return UC (c1->f, c1->b - c2->b, s, i1, i2);
00247 }

unknown<C,V> unknown<C,V> mmx::operator- ( const unknown< C, V > &  c  )  [inline]
Type Constraints

Definition at line 168 of file series_implicit.hpp.

References C, is_exact_zero(), and UC.

00168                          {
00169   //mmerr << "    negate " << c << "\n";
00170   if (is_exact_zero (c)) return c;
00171   nat n= c->i2 - c->i1;
00172   C* s= mmx_new<C> (n);
00173   for (nat i=0; i<n; i++)
00174     s[i]= -c->s[i];
00175   return UC (c->f, -c->b, s, c->i1, c->i2);
00176 }

series<C,V> mmx::operator- ( const series< C, V > &  f,
const C &  c 
) [inline]

Definition at line 749 of file series.hpp.

References is_exact_zero(), and Series.

00749                                          {
00750   if (is_exact_zero (f)) return Series (-c);
00751   if (is_exact_zero (c)) return f;
00752   return binary_series<sub_op> (f, Series (c));
00753 }

series<C,V> mmx::operator- ( const C &  c,
const series< C, V > &  f 
) [inline]

Definition at line 742 of file series.hpp.

References is_exact_zero(), and Series.

00742                                          {
00743   if (is_exact_zero (c)) return -f;
00744   if (is_exact_zero (f)) return Series (c);
00745   return binary_series<sub_op> (Series (c), f);
00746 }

series<C,V> mmx::operator- ( const series< C, V > &  f,
const series< C, V > &  g 
) [inline]

Definition at line 735 of file series.hpp.

References is_exact_zero().

00735                                               {
00736   if (is_exact_zero (f)) return -g;
00737   if (is_exact_zero (g)) return f;
00738   return binary_series<sub_op> (f, g);
00739 }

series<C,V> mmx::operator- ( const series< C, V > &  f  )  [inline]

Definition at line 729 of file series.hpp.

References is_exact_zero().

00729                              {
00730   if (is_exact_zero (f)) return f;
00731   return unary_series<neg_op> (f);
00732 }

quotient_series<Series,Monomial> mmx::operator- ( const typename scalar_type_helper< Series >::val &  c,
const quotient_series< Series, Monomial > &  f 
) [inline]

Definition at line 177 of file quotient_series.hpp.

References Quotient_series.

00177                                                   {
00178   return Quotient_series (Quotient_series (c) - f->f);
00179 }

quotient_series<Series,Monomial> mmx::operator- ( const quotient_series< Series, Monomial > &  f,
const typename scalar_type_helper< Series >::val &  c 
) [inline]

Definition at line 172 of file quotient_series.hpp.

References Quotient_series.

00172                                                   {
00173   return Quotient_series (f->f - Quotient_series (c));
00174 }

quotient_series<Series,Monomial> mmx::operator- ( const quotient_series< Series, Monomial > &  f,
const quotient_series< Series, Monomial > &  g 
) [inline]

Definition at line 163 of file quotient_series.hpp.

References gcd(), Monomial, and Quotient_series.

00163                                                                 {
00164   if (f->m == g->m) return Quotient_series (f->f - g->f, f->m);
00165   else {
00166     Monomial m= gcd (f->m, g->m);
00167     return Quotient_series (f->f * (f->m / m) - g->f * (g->m / m), m);
00168   }
00169 }

quotient_series<Series,Monomial> mmx::operator- ( const quotient_series< Series, Monomial > &  f  )  [inline]

Definition at line 158 of file quotient_series.hpp.

References Quotient_series.

00158                                       {
00159   return Quotient_series (-f->f, f->m);
00160 }

quotient< polynomial<C,V> , polynomial<C,V> > mmx::operator- ( const C &  x1,
const quotient< polynomial< C, V >, polynomial< C, V > > &  x2 
) [inline]

Definition at line 41 of file quotient_polynomial.hpp.

References denominator(), numerator(), and Quotient.

00041                                              {
00042   return Quotient (x1 * denominator (x2) - numerator (x2),
00043                    denominator (x2));
00044 }

quotient< polynomial<C,V> , polynomial<C,V> > mmx::operator- ( const quotient< polynomial< C, V >, polynomial< C, V > > &  x1,
const C &  x2 
) [inline]

Definition at line 35 of file quotient_polynomial.hpp.

References denominator(), numerator(), and Quotient.

00035                                              {
00036   return Quotient (numerator (x1) - x2 * denominator (x1),
00037                    denominator (x1));
00038 }

quotient<NT,DT> mmx::operator- ( const NT &  x1,
const quotient< NT, DT > &  x2 
) [inline]

Definition at line 240 of file quotient.hpp.

References denominator(), numerator(), and Quotient.

00240                                               {
00241   return Quotient (x1 * denominator (x2) - numerator (x2),
00242                    denominator (x2));
00243 }

quotient<NT,DT> mmx::operator- ( const quotient< NT, DT > &  x1,
const NT &  x2 
) [inline]

Definition at line 234 of file quotient.hpp.

References denominator(), numerator(), and Quotient.

00234                                               {
00235   return Quotient (numerator (x1) - x2 * denominator (x1),
00236                    denominator (x1));
00237 }

quotient<NT,DT> mmx::operator- ( const quotient< NT, DT > &  x1,
const quotient< NT, DT > &  x2 
) [inline]

Definition at line 224 of file quotient.hpp.

References denominator(), DT, gcd(), NT, numerator(), and Quotient.

00224                                                     {
00225   DT g  = gcd (denominator (x1), denominator(x2));
00226   DT y1 = denominator (x1) / g;
00227   DT y2 = denominator (x2) / g;
00228   NT n  = numerator(x1) * y2 - numerator(x2) * y1;
00229   DT h  = gcd (g, n);
00230   return Quotient (n / h, (g / h) * y1 * y2);
00231 }

quotient<NT,DT> mmx::operator- ( const quotient< NT, DT > &  x  )  [inline]

Definition at line 219 of file quotient.hpp.

References denominator(), numerator(), and Quotient.

00219                                {
00220   return Quotient (-numerator (x), denominator (x));
00221 }

polynomial<C,V> mmx::operator- ( const C &  c,
const polynomial< C, V > &  P 
) [inline]

Definition at line 507 of file polynomial.hpp.

References Polynomial.

00507                                                              {
00508   return Polynomial (c) - P; }

polynomial<C,V> mmx::operator- ( const polynomial< C, V > &  P,
const C &  c 
) [inline]

Definition at line 505 of file polynomial.hpp.

References Polynomial.

00505                                                              {
00506   return P - Polynomial (c); }

polynomial<C,V> mmx::operator- ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Definition at line 493 of file polynomial.hpp.

References C, CF(), copy(), max(), min(), N(), Polynomial, and seg().

00493                                                         {
00494   typedef implementation<polynomial_linear,V> Pol;
00495   nat m= min (N(P1), N(P2));
00496   nat n= max (N(P1), N(P2));
00497   nat l= aligned_size<C,V> (n);
00498   C* r= mmx_formatted_new<C> (l, CF(P1));
00499   Pol::sub (r, seg (P1), seg (P2), m);
00500   if (N(P1) > m) Pol::copy (r+m, seg(P1)+m, n-m);
00501   if (N(P2) > m) Pol::neg  (r+m, seg(P2)+m, n-m);
00502   return Polynomial (r, n, l, CF(P1));
00503 }

polynomial<C,V> mmx::operator- ( const polynomial< C, V > &  P  )  [inline]

Definition at line 453 of file polynomial.hpp.

References C, CF(), N(), Polynomial, and seg().

00453                                  {
00454   typedef implementation<polynomial_linear,V> Pol;
00455   nat n= N(P);
00456   nat l= aligned_size<C,V> (n);
00457   C* r= mmx_formatted_new<C> (l, CF(P));
00458   Pol::neg (r, seg (P), n);
00459   return Polynomial (r, n, l, CF(P));
00460 }

matrix<int,V> mmx::operator- ( const int &  x,
const matrix< int, V > &  y 
) [inline]

Definition at line 35 of file matrix_int.hpp.

References promote().

00035                                                               {
00036   return promote (x, y) - y; }

matrix<int,V> mmx::operator- ( const matrix< int, V > &  x,
const int &  y 
) [inline]

Definition at line 33 of file matrix_int.hpp.

References promote().

00033                                                               {
00034   return x - promote (y, x); }

matrix<C,V> mmx::operator- ( const C &  m,
const matrix< C, V > &  n 
) [inline]

Definition at line 589 of file matrix.hpp.

References Matrix.

00589                                                      {
00590   return binary_map<sub_op> (Matrix (m), n); }

matrix<C,V> mmx::operator- ( const matrix< C, V > &  m,
const C &  n 
) [inline]

Definition at line 587 of file matrix.hpp.

References Matrix.

00587                                                      {
00588   return binary_map<sub_op> (m, Matrix (n)); }

matrix<C,V> mmx::operator- ( const matrix< C, V > &  m,
const matrix< C, V > &  n 
) [inline]

Definition at line 585 of file matrix.hpp.

00585                                                           {
00586   return binary_map<sub_op> (m, n); }

matrix<C,V> mmx::operator- ( const matrix< C, V > &  m  )  [inline]

Definition at line 577 of file matrix.hpp.

00577                                          {
00578   return unary_map<neg_op> (m); }

algebraic<C,Extension> mmx::operator- ( const C &  x1,
const algebraic< C, Extension > &  x2 
) [inline]

Definition at line 244 of file algebraic.hpp.

References Algebraic, field(), and value().

00244                                               {
00245   return Algebraic (field (x2), x1 - value (x2));
00246 }

algebraic<C,Extension> mmx::operator- ( const algebraic< C, Extension > &  x1,
const C &  x2 
) [inline]

Definition at line 239 of file algebraic.hpp.

References Algebraic, field(), and value().

00239                                               {
00240   return Algebraic (field (x1), value (x1) - x2);
00241 }

algebraic<C,Extension> mmx::operator- ( const algebraic< C, Extension > &  x1b,
const algebraic< C, Extension > &  x2b 
) [inline]

Definition at line 232 of file algebraic.hpp.

References Algebraic, field(), upgrade(), and value().

00232                                                         {
00233   Algebraic x1= x1b, x2= x2b;
00234   upgrade (x1, x2);
00235   return Algebraic (field (x1), value (x1) - value (x2));
00236 }

algebraic<C,Extension> mmx::operator- ( const algebraic< C, Extension > &  x  )  [inline]

Definition at line 227 of file algebraic.hpp.

References Algebraic, field(), and value().

00227                                 {
00228   return Algebraic (field (x), -value (x));
00229 }

matrix<C,V>& mmx::operator-= ( matrix< C, V > &  m,
const matrix< C, V > &  n 
) [inline]

Definition at line 603 of file matrix.hpp.

00603                                                       {
00604   return unary_set<sub_op> (m, n); }

series<C,V> mmx::operator/ ( const C &  c,
const series< C, V > &  f 
) [inline]

Definition at line 1121 of file series.hpp.

References is_exact_zero(), and Series.

01121                                          {
01122   typedef implementation<series_divide,V> Ser;
01123   if (is_exact_zero (c)) return Series (get_format (c));
01124   return Ser::ser_div (Series (c), f);
01125 }

series<C,V> mmx::operator/ ( const series< C, V > &  f,
const series< C, V > &  g 
) [inline]

Definition at line 1115 of file series.hpp.

01115                                               {
01116   typedef implementation<series_divide,V> Ser;
01117   return Ser::ser_div (f, g);
01118 }

series<C,V> mmx::operator/ ( const series< C, V > &  f,
const C &  c 
) [inline]

Definition at line 1109 of file series.hpp.

01109                                          {
01110   typedef implementation<series_divide,V> Ser;
01111   return Ser::ser_rdiv_sc (f, c);
01112 }

quotient_series<Series,Monomial> mmx::operator/ ( const quotient_series< Series, Monomial > &  f,
const quotient_series< Series, Monomial > &  g 
) [inline]

Definition at line 231 of file quotient_series.hpp.

References Monomial, monomial_val(), and Quotient_series.

00231                                                                 {
00232   Monomial v= monomial_val (g);
00233   if (v != Monomial (1)) return (f/v) / (g/v);
00234   return Quotient_series (f->f / g->f, f->m);
00235 }

quotient_series<Series,Monomial> mmx::operator/ ( const typename scalar_type_helper< Series >::val &  c,
const quotient_series< Series, Monomial > &  f 
) [inline]

Definition at line 224 of file quotient_series.hpp.

References Monomial, monomial_val(), and Quotient_series.

00224                                                   {
00225   Monomial v= monomial_val (f);
00226   if (v != Monomial (1)) return (c / (f/v)) / v;
00227   return Quotient_series (c / f->f, Monomial (1) / f->m);
00228 }

quotient_series<Series,Monomial> mmx::operator/ ( const quotient_series< Series, Monomial > &  f,
const typename scalar_type_helper< Series >::val &  c 
) [inline]

Definition at line 219 of file quotient_series.hpp.

References Quotient_series.

00219                                                   {
00220   return Quotient_series (f->f / c, f->m);
00221 }

quotient_series<Series,Monomial> mmx::operator/ ( const Monomial &  m,
const quotient_series< Series, Monomial > &  f 
) [inline]

Definition at line 212 of file quotient_series.hpp.

References C, Monomial, monomial_val(), and Quotient_series.

00212                                                          {
00213   Monomial v= monomial_val (f);
00214   if (v != Monomial (1)) return (m/v) / (f/v);
00215   return Quotient_series (C(1) / f->f, m / f->m);
00216 }

quotient_series<Series,Monomial> mmx::operator/ ( const quotient_series< Series, Monomial > &  f,
const Monomial &  m 
) [inline]

Definition at line 207 of file quotient_series.hpp.

References Quotient_series.

00207                                                          {
00208   return Quotient_series (f->f, f->m / m);
00209 }

quotient< polynomial<C,V> , polynomial<C,V> > mmx::operator/ ( const quotient< polynomial< C, V >, polynomial< C, V > > &  x,
const C &  c 
) [inline]

Definition at line 63 of file quotient_polynomial.hpp.

References denominator(), numerator(), and Quotient.

00063                                            {
00064   ASSERT (c != 0, "division by zero");
00065   return Quotient (numerator (x) / c, denominator (x));
00066 }

quotient< polynomial<C,V> , polynomial<C,V> > mmx::operator/ ( const C &  c,
const quotient< polynomial< C, V >, polynomial< C, V > > &  x 
) [inline]

Definition at line 57 of file quotient_polynomial.hpp.

References denominator(), numerator(), and Quotient.

00057                                            {
00058   ASSERT (numerator (x) != 0, "division by zero");
00059   return Quotient (c * denominator (x), numerator (x));
00060 }

quotient<NT,DT> mmx::operator/ ( const quotient< NT, DT > &  x1,
const quotient< NT, DT > &  x2 
) [inline]

Definition at line 281 of file quotient.hpp.

References denominator(), DT, gcd(), NT, numerator(), and Quotient.

00281                                                     {
00282   // assumes NT = DT
00283   ASSERT (numerator (x2) != 0, "division by zero");
00284   NT g1= gcd (numerator (x1), numerator (x2));
00285   DT g2= gcd (denominator (x1), denominator (x2));
00286   return Quotient ((numerator (x1) / g1) * (denominator (x2) / g2),
00287                    (denominator (x1) / g2) * (numerator (x2) / g1));
00288 }

quotient<NT,DT> mmx::operator/ ( const quotient< NT, DT > &  x,
const DT &  c 
) [inline]

Definition at line 274 of file quotient.hpp.

References denominator(), DT, gcd(), numerator(), and Quotient.

00274                                             {
00275   ASSERT (c != 0, "division by zero");
00276   DT g= gcd (numerator (x), c);
00277   return Quotient (numerator (x) / g, denominator (x) * (c / g));
00278 }

quotient<NT,DT> mmx::operator/ ( const NT &  c,
const quotient< NT, DT > &  x 
) [inline]

Definition at line 266 of file quotient.hpp.

References denominator(), DT, gcd(), numerator(), and Quotient.

00266                                             {
00267   // assumes NT = DT
00268   ASSERT (numerator (x) != 0, "division by zero");
00269   DT g= gcd (c, numerator (x));
00270   return Quotient ((c / g) * denominator (x), numerator (x) / g);
00271 }

polynomial<C,V> mmx::operator/ ( const C &  c,
const polynomial< C, V > &  P 
) [inline]

Definition at line 774 of file polynomial.hpp.

References Polynomial.

00774                                                                     {
00775   return Polynomial (c) / P; }

polynomial<C,V> mmx::operator/ ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Definition at line 592 of file polynomial.hpp.

References C, CF(), div(), N(), Polynomial, and seg().

00592                                                         {
00593   typedef implementation<polynomial_exact_divide,V> Pol;
00594   nat n1= N(P1), n2= N(P2);
00595   ASSERT (n2 != 0, "division by zero");
00596   if (n1 < n2) return Polynomial (CF(P1));
00597   nat lq= aligned_size<C,V> (n1-n2+1);
00598   C* q= mmx_formatted_new<C> (lq, CF(P1));
00599   Pol::div (q, seg (P1), seg (P2), n1, n2);
00600   return Polynomial (q, n1-n2+1, lq, CF(P1));
00601 }

polynomial<C,V> mmx::operator/ ( const polynomial< C, V > &  P,
const C &  c 
) [inline]

Definition at line 582 of file polynomial.hpp.

References C, CF(), N(), Polynomial, and seg().

00582                                              {
00583   typedef implementation<polynomial_linear,V> Pol;
00584   nat n= N(P);
00585   nat l= aligned_size<C,V> (n);
00586   C* r= mmx_formatted_new<C> (l, CF(P));
00587   Pol::div_sc (r, seg (P), c, n);
00588   return Polynomial (r, n, l, CF(P));
00589 }

matrix<int,V> mmx::operator/ ( const int &  x,
const matrix< int, V > &  y 
) [inline]

Definition at line 43 of file matrix_int.hpp.

References promote().

00043                                                               {
00044   return promote (x, y) / y; }

matrix<int,V> mmx::operator/ ( const matrix< int, V > &  x,
const int &  y 
) [inline]

Definition at line 41 of file matrix_int.hpp.

References promote().

00041                                                               {
00042   return x / promote (y, x); }

matrix<C,V> mmx::operator/ ( const C &  c,
const matrix< C, V > &  m 
) [inline]

Definition at line 1269 of file matrix.hpp.

References invert().

01269                                                      {
01270   return c * invert (m); }

matrix<C,V> mmx::operator/ ( const matrix< C, V > &  m,
const C &  c 
) [inline]

Definition at line 595 of file matrix.hpp.

00595                                                      {
00596   return binary_map_scalar<rdiv_op> (m, c); }

algebraic<C,Extension> mmx::operator/ ( const algebraic< C, Extension > &  x1b,
const algebraic< C, Extension > &  x2b 
) [inline]

Definition at line 286 of file algebraic.hpp.

References Algebraic, div(), field(), upgrade(), and value().

00286                                                         {
00287   Algebraic x1= x1b, x2= x2b;
00288   upgrade (x1, x2);
00289   return Algebraic (field (x1), div (field (x1), value (x1), value (x2)));
00290 }

algebraic<C,Extension> mmx::operator/ ( const algebraic< C, Extension > &  x1,
const C &  x2 
) [inline]

Definition at line 281 of file algebraic.hpp.

References Algebraic, field(), and value().

00281                                               {
00282   return Algebraic (field (x1), value (x1) / x2);
00283 }

algebraic<C,Extension> mmx::operator/ ( const C &  x1,
const algebraic< C, Extension > &  x2 
) [inline]

Definition at line 276 of file algebraic.hpp.

References Algebraic, div(), field(), and value().

00276                                               {
00277   return Algebraic (field (x2), div (field (x2), x1, value (x2)));
00278 }

matrix<C,V>& mmx::operator/= ( matrix< C, V > &  m,
const C &  x 
) [inline]

Definition at line 607 of file matrix.hpp.

00607                                                  {
00608   return unary_set_scalar<rdiv_op> (m, x); }

bool mmx::operator<= ( const matrix< C, V > &  m,
const C &  c 
) [inline]

Definition at line 626 of file matrix.hpp.

References cols(), Matrix, and rows().

00626                                           {
00627   return m <= Matrix (c, rows (m), cols (m)); }

bool mmx::operator<= ( const matrix< C, V > &  m,
const matrix< C, V > &  n 
) [inline]

Definition at line 609 of file matrix.hpp.

00609                                                          {
00610   return binary_test<lesseq_op> (m, n); }

bool mmx::operator== ( const series< C, V > &  f1,
const series< C, V > &  f2 
) [inline]

Definition at line 302 of file series.hpp.

00302                                                            {
00303   return binary_test<equal_op> (f1, f2); }

bool mmx::operator== ( const quotient_series< Series, Monomial > &  f,
const quotient_series< Series, Monomial > &  g 
) [inline]

Definition at line 93 of file quotient_series.hpp.

References gcd(), and Monomial.

00093                                                                  {
00094   Monomial m= gcd (f->m, g->m);
00095   return f->f * (g->m / m) == g->f * (f->m / m); }

bool mmx::operator== ( const quotient< NT, DT > &  x1,
const quotient< NT, DT > &  x2 
) [inline]

Definition at line 144 of file quotient.hpp.

References denominator(), and numerator().

00144                                                                       {
00145   return numerator (x1) * denominator (x2) ==
00146          numerator (x2) * denominator (x1); }

bool mmx::operator== ( const K &  c,
const matrix< C, V > &  m 
) [inline]

Definition at line 620 of file matrix.hpp.

References cols(), Matrix, and rows().

00620                                           {
00621   return m == Matrix (c, rows (m), cols (m)); }

bool mmx::operator== ( const matrix< C, V > &  m,
const K &  c 
) [inline]

Definition at line 614 of file matrix.hpp.

References cols(), Matrix, and rows().

00614                                           {
00615   return m == Matrix (c, rows (m), cols (m)); }

bool mmx::operator== ( const algebraic_number_extension< C, Ball > &  x,
const algebraic_number_extension< C, Ball > &  y 
) [inline]

Definition at line 78 of file algebraic_number.hpp.

00078                                                               {
00079   return (*x) == (*y); }

bool mmx::operator== ( const algebraic_extension< C > &  x,
const algebraic_extension< C > &  y 
) [inline]

Definition at line 58 of file algebraic_extension.hpp.

00058                                                                       {
00059   return (*x) == (*y); }

bool mmx::operator== ( const algebraic< C, Extension > &  x1,
const algebraic< C, Extension > &  x2 
) [inline]

Definition at line 126 of file algebraic.hpp.

References is_zero().

00126                                                                         {
00127   return is_zero (x1 - x2); }

bool mmx::operator>= ( const matrix< C, V > &  m,
const C &  c 
) [inline]

Definition at line 629 of file matrix.hpp.

References cols(), Matrix, and rows().

00629                                           {
00630   return m >= Matrix (c, rows (m), cols (m)); }

bool mmx::operator>= ( const matrix< C, V > &  m,
const matrix< C, V > &  n 
) [inline]

Definition at line 611 of file matrix.hpp.

00611                                                          {
00612   return binary_test<gtreq_op> (m, n); }

algebraic_number mmx::over_i ( const algebraic_number &  z  )  [inline]

Definition at line 402 of file algebraic_number.hpp.

Referenced by GLUE_77(), and Im().

00402                                    {
00403   return -z * imaginary_cst<algebraic_number> ();
00404 }

void mmx::pade ( const polynomial< C, V > &  P,
nat  n,
nat  k,
polynomial< C, V > &  Num,
polynomial< C, V > &  Den 
) [inline]

Definition at line 867 of file polynomial.hpp.

References CF(), N(), Polynomial, promote(), and reconstruct().

Referenced by minimal_polynomial_bis().

00867                                                                            {
00868   typedef implementation<polynomial_gcd,V> Pol;
00869   ASSERT (N (P) <= n+1 && k <= n && k > 0, "invalid argument");
00870   Polynomial Q (promote (1, CF(P)), n);
00871   Pol::reconstruct (P, Q, k, Num, Den);
00872 }

void mmx::permute_columns ( matrix< C, V > &  m,
const permutation &  p 
) [inline]

Definition at line 1119 of file matrix.hpp.

References cols(), is_a_scalar(), rows(), seg(), and tab().

01119                                                   {
01120   // replace m by m * as_matrix (p)
01121   typedef implementation<matrix_permute,V> Mat;
01122   if (is_a_scalar (m)) return;
01123   nat rs= rows (m), cs= cols (m);
01124   Mat::col_permute (tab (m), seg (*p), rs, cs);
01125 }

void mmx::permute_rows ( matrix< C, V > &  m,
const permutation &  p 
) [inline]

Definition at line 1128 of file matrix.hpp.

References cols(), is_a_scalar(), rows(), seg(), and tab().

01128                                                {
01129   // replace m by transpose (as_matrix (p)) * m
01130   typedef implementation<matrix_permute,V> Mat;
01131   if (is_a_scalar (m)) return;
01132   nat rs= rows (m), cs= cols (m);
01133   Mat::row_permute (tab (m), seg (*p), rs, cs);
01134 }

int mmx::pexponent ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Pseudo division lc(P2)^pexponent (P1,P2) P1 = pquo(P1,P2) * P2 + prem(P1,P2)

Definition at line 724 of file polynomial.hpp.

References deg(), and max().

00724                                                        {
00725   return max (0, deg (P1) - deg (P2) + 1);
00726 }

series<C,V> mmx::piecewise ( const series< C, V > &  f,
const series< C, V > &  g,
nat  pos 
) [inline]
modular< modulus<C,V> ,W> mmx::polynomial_modular_root ( const polynomial< modular< modulus< C, V >, W > > &  P  )  [inline]

Definition at line 135 of file root_modular.hpp.

References derive(), eval(), Modular, N(), and polynomial_modular_roots().

Referenced by ser_polynomial_regular_root_op::op(), and ser_carry_polynomial_regular_root_op::op().

00135                                                        {
00136   // return one of the regular roots of P
00137   // FIXME << to optimize
00138   if (P[0] == Modular (0)) return Modular (0);
00139   //FIXME: should always compute one root
00140   vector<Modular> ans= polynomial_modular_roots (P);
00141   polynomial<Modular> dP = derive(P);
00142   ASSERT (N (ans) != 0, "no root");
00143   for (nat i= 0; i < N(ans); i++)
00144     if (eval (dP,ans[i]) != Modular (0)) return ans[i];
00145   ERROR ("no regular root");
00146 }

vector< modular< modulus<C,V> ,W> > mmx::polynomial_modular_roots ( const polynomial< modular< modulus< C, V >, W > > &  P  )  [inline]

Definition at line 128 of file root_modular.hpp.

References get_modulus(), N(), and root_modular_naive::roots().

Referenced by polynomial_modular_root().

00128                                                         {
00129   // return all the roots of P
00130   ASSERT (N (P) != 0, "wrong argument");
00131   return root_modular_naive::roots (P, * get_modulus (P[0]));
00132 }

series<C,V> mmx::polynomial_regular_root ( const polynomial< L > &  P  )  [inline]

Definition at line 1184 of file series.hpp.

References Series.

Referenced by ser_polynomial_regular_root_op::set_op(), and ser_carry_polynomial_regular_root_op::set_op().

01184                                                  {
01185   typedef implementation<series_polynomial_regular_root,V> Ser;
01186   if (P[0] == L(0))  return Series ();
01187   return Ser::template pol_root<C,V,L> (P);
01188 }

series<C,V> mmx::polynomial_regular_root_init ( const polynomial< L > &  P,
const C &  init 
) [inline]

Definition at line 1191 of file series.hpp.

References Series.

Referenced by ser_polynomial_regular_root_op::op_init().

01191                                                                      {
01192   typedef implementation<series_polynomial_regular_root,V> Ser;
01193   if (P[0] == L(0))  return Series ();
01194   return Ser::template pol_root<C,V,L> (P, init);
01195 }

polynomial< C > polynomial_reverse ( const vector< C > &  v  )  [inline]

Definition at line 47 of file glue_series_rational.cpp.

References reverse().

Referenced by GLUE_1(), GLUE_56(), and GLUE_76().

00047                                             {
00048       return polynomial<C> (reverse (v)); }

series<C,V> mmx::pow ( const series< C, V > &  f,
const series< C, V > &  g 
) [inline]

Definition at line 60 of file series_elementary.hpp.

References exp(), and log().

00060                                        {
00061   return exp (g * log (f));
00062 }

series<C,V> mmx::pow ( const series< C, V > &  f,
const C &  c 
) [inline]

Definition at line 55 of file series_elementary.hpp.

References exp(), and log().

Referenced by flatten(), GLUE_19(), GLUE_36(), and GLUE_63().

00055                                   {
00056   return exp (c * log (f));
00057 }

matrix<C> mmx::pow_matrix ( const algebraic_extension< C > &  ext1,
const algebraic_extension< C > &  ext2 
) [inline]

Definition at line 218 of file algebraic_extension.hpp.

References CF(), deg(), pow_matrix(), promote(), and rank().

00218                                                           {
00219   // return matrix whose rows represent the powers of a primitive element
00220   nat d1= deg (ext1.mp), d2= deg (ext2.mp);
00221   vector<C> v= fill<C> (promote (0, CF(ext1)), d1*d2);
00222   for (nat i=1; i<1000; i++) {
00223     v[1]= promote (1, CF(ext1)); v[d2]= promote ((int) i, CF(ext1));
00224     matrix<C> m= pow_matrix (ext1, ext2, v);
00225     if (rank (m) == d1*d2) return m;
00226   }
00227   ERROR ("unexpected situation");
00228 }

matrix<C> mmx::pow_matrix ( const algebraic_extension< C > &  ext1,
const algebraic_extension< C > &  ext2,
const vector< C > &  v 
) [inline]

Definition at line 201 of file algebraic_extension.hpp.

References CF(), deg(), mul_matrix(), and promote().

Referenced by join(), and pow_matrix().

00201                                                                               {
00202   // let p (x1, x2) be the bivariate polynomial represented by v
00203   // return the matrix whose rows represent the powers p (x1, x2)^i
00204   nat d1= deg (ext1.mp), d2= deg (ext2.mp);
00205   matrix<C> m= mul_matrix (ext1, ext2, v);
00206   matrix<C> r (promote (0, CF(ext1)), d1*d2+1, d1*d2);
00207   vector<C> aux= fill<C> (promote (0, CF(ext1)), d1*d2);
00208   aux[0]= promote (1, CF(ext1));
00209   for (nat i1=0; i1<=d1*d2; i1++) {
00210     for (nat i2=0; i2<d1*d2; i2++)
00211       r (i1, i2)= aux[i2];
00212     aux= aux * m;
00213   }
00214   return r;
00215 }

polynomial<C,V> mmx::pquo ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Definition at line 729 of file polynomial.hpp.

References C, CF(), copy(), N(), Polynomial, and seg().

00729                                                   {
00730   typedef implementation<polynomial_divide,V> Pol;
00731   nat n1= N(P1), n2= N(P2);
00732   if (n1 < n2 || n2 == 0) return Polynomial (CF(P1));
00733   nat lq= aligned_size<C,V> (n1-n2+1);
00734   nat lr= aligned_size<C,V> (n1);
00735   C* q= mmx_formatted_new<C> (lq, CF(P1));
00736   C* r= mmx_formatted_new<C> (lr, CF(P1));
00737   Pol::copy (r, seg (P1), n1);
00738   Pol::pquo_rem (q, r, seg (P2), n1, n2);
00739   mmx_delete<C> (r, lr);
00740   return Polynomial (q, n1-n2+1, lq, CF(P1));
00741 }

nat mmx::precision ( const series< C, V > &  f  )  [inline]

Definition at line 1249 of file series.hpp.

References precision().

01249                             {
01250   return precision (f[0]);
01251 }

nat mmx::precision ( const quotient< NT, DT > &  x  )  [inline]

Definition at line 104 of file quotient.hpp.

References denominator(), max(), numerator(), and precision().

00104                                               {
00105   return max (precision (numerator (x)), precision (denominator (x))); }

xnat mmx::precision ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1443 of file polynomial.hpp.

01443                                                  {
01444   return big<min_precision_op> (p); }

xnat mmx::precision ( const matrix< C, V > &  m  )  [inline]

Definition at line 760 of file matrix.hpp.

Referenced by increase_precision(), and precision().

00760                                              {
00761   return big<min_precision_op> (m); }

vector< polynomial<C,V> > mmx::prem ( const polynomial< C, V > &  p,
const vector< polynomial< C, V > > &  q 
) [inline]

Definition at line 1143 of file polynomial.hpp.

01143                                                         {
01144   typedef implementation<polynomial_evaluate,V> Pol;
01145   return Pol::multi_prem (p, q);
01146 }

polynomial<C,V> mmx::prem ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2,
polynomial< C, V > &  Q 
) [inline]

Returns the pseudo-remainder and stores the pseudo-quotient in Q.

Definition at line 760 of file polynomial.hpp.

References C, CF(), copy(), N(), Polynomial, and seg().

00760                                                                  {
00761   typedef implementation<polynomial_divide,V> Pol;
00762   nat n1= N(P1), n2= N(P2);
00763   if (n1 < n2 || n2 == 0) return Polynomial (CF(P1));
00764   nat lq= aligned_size<C,V> (n1-n2+1);
00765   nat lr= aligned_size<C,V> (n1);
00766   C* q= mmx_formatted_new<C> (lq, CF(P1));
00767   C* r= mmx_formatted_new<C> (lr, CF(P1));
00768   Pol::copy (r, seg (P1), n1);
00769   Pol::pquo_rem (q, r, seg (P2), n1, n2);
00770   Q= Polynomial (q, n1-n2+1, lq, CF(P1));
00771   return Polynomial (r, n2 - 1, lr, CF(P1));
00772 }

polynomial<C,V> mmx::prem ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Definition at line 744 of file polynomial.hpp.

References C, CF(), copy(), N(), Polynomial, and seg().

Referenced by implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_dicho_inc< BV > >::half_subresultant(), implementation< polynomial_evaluate, V, polynomial_gcd_ring_dicho_inc< W > >::multi_gcd(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_ducos_inc< BV > >::subresultant_sequence(), and implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_naive_inc< W > >::subresultant_sequence().

00744                                                   {
00745   typedef implementation<polynomial_divide,V> Pol;
00746   nat n1= N(P1), n2= N(P2);
00747   if (n1 < n2 || n2 == 0) return P1;
00748   nat lq= aligned_size<C,V> (n1-n2+1);
00749   nat lr= aligned_size<C,V> (n1);
00750   C* q= mmx_formatted_new<C> (lq, CF(P1));
00751   C* r= mmx_formatted_new<C> (lr, CF(P1));
00752   Pol::copy (r, seg (P1), n1);
00753   Pol::pquo_rem (q, r, seg (P2), n1, n2);
00754   mmx_delete<C> (q, lq);
00755   return Polynomial (r, n2 - 1, lr, CF(P1));
00756 }

polynomial<C,V> mmx::primitive_part ( const polynomial< C, V > &  P  )  [inline]

Definition at line 804 of file polynomial.hpp.

References C, and primitive_part().

00804                                      {
00805   C c;
00806   return primitive_part (P, c);
00807 }

polynomial<C,V> mmx::primitive_part ( const polynomial< C, V > &  P,
C &  c 
) [inline]

Definition at line 793 of file polynomial.hpp.

References C, CF(), contents(), N(), Polynomial, and seg().

Referenced by implementation< polynomial_gcd, V, polynomial_ring_naive< W > >::gcd(), GLUE_116(), GLUE_49(), and primitive_part().

00793                                            {
00794   typedef implementation<polynomial_linear,V> Pol;
00795   c= contents (P);
00796   nat n= N(P);
00797   nat l= aligned_size<C,V> (n);
00798   C* r= mmx_formatted_new<C> (l, CF(P));
00799   Pol::div_sc (r, seg (P), c, n);
00800   return Polynomial (r, n, l, CF(P));
00801 }

C mmx::primitive_root ( nat  n,
nat  i,
const format< C > &  fm 
) [inline]

Definition at line 69 of file fft_roots.hpp.

References primitive_root_helper< C >::op().

00069                                                    {
00070   return primitive_root_helper<C>::op (n, i, fm);
00071 }

I mmx::primitive_root_max_int ( nat  b,
p,
nat &  k,
I &  m 
) [inline]

Definition at line 100 of file fft_roots.hpp.

References binpow(), I, Modular, Modulus, primitive_root_max_order_int(), and x.

Referenced by primitive_root_helper_modular_int< long int, V, W >::op().

00100                                                   {
00101   // root of maximal order k for radix b modulo p
00102   typedef modulus<I, modulus_int_preinverse<8*sizeof(I)> > Modulus;
00103   typedef modular<Modulus> Modular;
00104   k= primitive_root_max_order_int (b, p, m);
00105   if (k == 1) return I (1);
00106   Modulus tmp= Modular::get_modulus ();
00107   Modular::set_modulus (p);
00108   Modular v;
00109   for (I x = 1; x < p; x++) {
00110     v = binpow (Modular (x), (nat) m);
00111     if (v == 1) continue;
00112     if (binpow (v, k / b) != 1) break;
00113   }
00114   Modular::set_modulus (tmp);
00115   return * v;
00116 }

nat mmx::primitive_root_max_order ( nat  b  )  [inline]

Definition at line 74 of file fft_roots.hpp.

References primitive_root_helper< C >::max_order().

00074                                  {
00075   return primitive_root_helper<C>::max_order (b);
00076 }

nat mmx::primitive_root_max_order_int ( nat  b,
p,
I &  m 
) [inline]

Definition at line 91 of file fft_roots.hpp.

Referenced by primitive_root_helper_modular_int< long int, V, W >::max_order(), and primitive_root_max_int().

00091                                                 {
00092   // p must be nonnegative
00093   nat k= 0;
00094   m= (nat) (p-1);
00095   while (m % b == 0) { k++; m /= b; }
00096   return ((nat) (p-1)) / m;
00097 }

quotient_series<Series,Monomial> mmx::project ( const quotient_series< Series, Monomial > &  f,
const list< Monomial > &  l 
) [inline]

Definition at line 122 of file quotient_series.hpp.

References Quotient_series.

Referenced by project_helper< matrix< C, V > >::op().

00122                                                                         {
00123   return Quotient_series (project (f->f, stair_mul (1/f->m, l)), f->m); }

series<C,V> mmx::pth_root ( const series< C, V > &  f  )  [inline]

Definition at line 1202 of file series.hpp.

01202                            {
01203   typedef implementation<series_pth_root,V> Ser;
01204   return Ser::unsep_root (f);
01205 }

modular< modulus<C,V> ,W> mmx::pth_root ( const modular< modulus< C, V >, W > &  a  )  [inline]

Definition at line 149 of file root_modular.hpp.

Referenced by GLUE_30(), and implementation< series_pth_root, U, series_carry_p_adic< W > >::unsep_root().

00149                             {
00150   // p-th root of a
00151   return a;
00152 }

series<C,V> mmx::q_difference ( const series< C, V > &  f,
const C &  q 
) [inline]

Definition at line 1043 of file series.hpp.

References CF(), is_exact_zero(), Series, and Series_rep.

01043                                            {
01044   if (is_exact_zero (f)) return Series (CF(f));
01045   return (Series_rep*) new q_difference_series_rep<C,V> (f, q);
01046 }

polynomial<C,V> mmx::q_difference ( const polynomial< C, V > &  P,
const K &  q 
) [inline]

Definition at line 1109 of file polynomial.hpp.

References C, CF(), N(), Polynomial, and seg().

Referenced by GLUE_103(), GLUE_109(), GLUE_161(), GLUE_33(), GLUE_44(), GLUE_46(), and implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::shift().

01109                                                {
01110   typedef implementation<polynomial_linear,V> Pol;
01111   nat n= N(P);
01112   if (n <= 1) return P;
01113   nat l= aligned_size<C,V> (n);
01114   C* r= mmx_formatted_new<C> (l, CF(P));
01115   Pol::q_difference (r, seg (P), q, n);
01116   return Polynomial (r, n, l, CF(P));
01117 }

series<C,V> mmx::quo ( const series< C, V > &  f,
const series< C, V > &  g 
) [inline]

Definition at line 1139 of file series.hpp.

01139                                        {
01140   typedef implementation<series_divide,V> Ser;
01141   return Ser::ser_quo (f, g);
01142 }

series<C,V> mmx::quo ( const series< C, V > &  f,
const C &  c 
) [inline]

Definition at line 1133 of file series.hpp.

01133                                   {
01134   typedef implementation<series_divide,V> Ser;
01135   return Ser::ser_rquo_sc (f, c);
01136 }

polynomial<C,V> mmx::quo ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Definition at line 637 of file polynomial.hpp.

References C, CF(), copy(), N(), Polynomial, and seg().

00637                                                  {
00638   typedef implementation<polynomial_divide,V> Pol;
00639   nat n1= N(P1), n2= N(P2);
00640   if (n1 < n2 || n2 == 0) return Polynomial (CF(P1));
00641   nat lq= aligned_size<C,V> (n1-n2+1);
00642   nat lr= aligned_size<C,V> (n1);
00643   C* q= mmx_formatted_new<C> (lq, CF(P1));
00644   C* r= mmx_formatted_new<C> (lr, CF(P1));
00645   Pol::copy (r, seg (P1), n1);
00646   Pol::quo_rem (q, r, seg (P2), n1, n2);
00647   mmx_delete<C> (r, lr);
00648   return Polynomial (q, n1-n2+1, lq, CF(P1));
00649 }

polynomial<C,V> mmx::quo ( const polynomial< C, V > &  P,
const C &  c 
) [inline]

Definition at line 617 of file polynomial.hpp.

References C, CF(), N(), Polynomial, and seg().

00617                                       {
00618   typedef implementation<polynomial_linear,V> Pol;
00619   nat n= N(P);
00620   nat l= aligned_size<C,V> (n);
00621   C* r= mmx_formatted_new<C> (l, CF(P));
00622   Pol::quo_sc (r, seg (P), c, n);
00623   return Polynomial (r, n, l, CF(P));
00624 }

matrix<C,V> mmx::quo ( const matrix< C, V > &  m,
const C &  c 
) [inline]
polynomial<Radius_type(C),V> mmx::radius ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1462 of file polynomial.hpp.

01462                                                     {
01463   return unary_map<radius_op> (p); }

matrix<Radius_type(C),V> mmx::radius ( const matrix< C, V > &  m  )  [inline]

Definition at line 779 of file matrix.hpp.

Referenced by improve_zero().

00779                                             {
00780   return unary_map<radius_op> (m); }

algebraic_number_extension<C,Ball> mmx::ramify ( const algebraic_number_extension< C, Ball > &  ext,
nat  p 
) [inline]

Definition at line 378 of file algebraic_number.hpp.

References Ball, exp(), Field, log(), ramify(), and sqrt().

00378                                  {
00379   Ball z= (p == 2? sqrt (ext.x): exp (log (ext.x) / ((int) p)));
00380   return Field (ramify (ext.ext, p), z);
00381 }

algebraic_extension<C> mmx::ramify ( const algebraic_extension< C > &  ext,
nat  p 
) [inline]

Definition at line 336 of file algebraic_extension.hpp.

References dilate(), and Extension.

Referenced by ramify(), and root().

00336                                      {
00337   return Extension (dilate (ext.mp, p));
00338 }

vector< polynomial<C, typename series_polynomial_helper<C,V>::PV> > mmx::range ( const vector< series< C, V >, W > &  v,
nat  start,
nat  end 
) [inline]

Definition at line 134 of file series_vector.hpp.

References N(), and range().

00134                                                    {
00135   vector<Polynomial > r= fill<Polynomial > (N(v));
00136   for (nat i=0; i<N(v); i++)
00137     r[i]= range (v[i], start, end);
00138   return r;
00139 }

matrix< polynomial<C, typename series_polynomial_helper<C,V>::PV> > mmx::range ( const matrix< series< C, V >, U > &  m,
nat  start,
nat  end 
) [inline]

Definition at line 128 of file series_matrix.hpp.

References C, CF(), cols(), promote(), range(), and rows().

00128                                                    {
00129   C zero= promote (0, get_format1 (CF (m)));
00130   matrix<Polynomial > r (zero, rows (m), cols (m));
00131   for (nat i=0; i<rows(m); i++)
00132     for (nat j=0; j<cols(m); j++)
00133       r (i, j)= range (m (i, j), start, end);
00134   return r;
00135 }

polynomial<C, typename series_polynomial_helper<C,V>::PV> mmx::range ( const series< C, V > &  f,
nat  start,
nat  end 
) [inline]

Definition at line 244 of file series.hpp.

References C, CF(), and Polynomial.

00244                                             {
00245   typedef typename series_polynomial_helper<C,V>::PV PV;
00246   nat n= (end >= start? end - start: 0);
00247   nat l= aligned_size<C,PV> (n);
00248   C* coeffs= mmx_formatted_new<C> (l, CF(f));
00249   if (end>start) (void) f[end-1];
00250   for (nat i=0; i<n; i++) coeffs[i]= f[i + start];
00251   return Polynomial (coeffs, n, l, CF(f));
00252 }

polynomial<C,V> mmx::range ( const polynomial< C, V > &  P,
nat  start,
nat  end 
) [inline]

Definition at line 1253 of file polynomial.hpp.

References C, CF(), and Polynomial.

01253                                                 {
01254   typedef implementation<polynomial_linear,V> Pol;
01255   nat l= aligned_size<C,V> (end-start);
01256   C* r= mmx_formatted_new<C> (l, CF(P));
01257   for (nat i=start; i<end; i++) r[i-start]= P[i];
01258   return Polynomial (r, end-start, l, CF(P));
01259 }

matrix<C,V> mmx::range ( const matrix< C, V > &  m,
nat  r1,
nat  c1,
nat  r2,
nat  c2 
) [inline]

Definition at line 929 of file matrix.hpp.

References CF(), cols(), is_a_scalar(), Matrix, rows(), and tab().

00929                                                         {
00930   typedef implementation<matrix_linear,V> Mat;
00931   if (is_a_scalar (m)) return Matrix (m.scalar(), r2-r1, c2-c1);
00932   nat nrows= rows (m), ncols= cols (m);
00933   nat l= aligned_size<C,V> ((r2-r1) * (c2-c1));
00934   C*  r= mmx_formatted_new<C> (l, CF(m));
00935   Mat::get_range (r, tab (m), r1, c1, r2, c2, nrows, ncols);
00936   return Matrix (r, r2-r1, c2-c1, CF(m));
00937 }

vector<M> mmx::range ( coprime_moduli_sequence< M, V > &  seq,
nat  beg,
nat  end 
) [inline]

Definition at line 52 of file crt_naive.hpp.

References M.

Referenced by implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_dicho_inc< BV > >::_half_gcd(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::_multi_rem(), moduli_helper< integer, M, fft_prime_sequence_int< t > >::covering(), crt_blocks_transformer< WL, WH, s, V >::crt_blocks_transformer(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_ducos_inc< BV > >::defected_prem(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_25(), GLUE_39(), GLUE_7(), GLUE_72(), GLUE_9(), GLUE_93(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_dicho_inc< BV > >::half_subresultant_rec(), image(), join(), kernel(), lshiftz(), modulus< polynomial< C, V >, modulus_polynomial_power_of_the_variable< W > >::modulus(), modulus_polynomial_mul_power_of_the_variable< X, W >::mul_mod(), range(), modulus_polynomial_reduction_preinverse< X >::reduce_mod(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_dicho_inc< BV > >::subresultant_compose(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_dicho_inc< BV > >::subresultant_sequence(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::tinterpolate(), and truncate().

00052                                                              {
00053   if (end <= beg) return vector<M> (M (), 0);
00054   vector<M> v (M (), end - beg);
00055   for (nat i= beg; i < end; i++) {
00056     if (seq[i] == M(0)) return vector<M> ();
00057     v[i-beg]= seq[i];
00058   }
00059   return v;
00060 }

nat mmx::rank ( const matrix< C, V > &  m  )  [inline]

Definition at line 1295 of file matrix.hpp.

References cols(), is_non_scalar(), rows(), and tab().

Referenced by GLUE_124(), GLUE_49(), GLUE_73(), and pow_matrix().

01295                        {
01296   typedef implementation<matrix_image,V> Mat;
01297   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01298   return Mat::rank (tab(m), rows(m), cols(m));
01299 }

algebraic<C,Extension> mmx::rcommon ( const algebraic< C, Extension > &  a1b,
const algebraic< C, Extension > &  a2b 
) [inline]

Definition at line 187 of file algebraic.hpp.

References Algebraic, and upgrade().

Referenced by GLUE_4(), and GLUE_46().

00187                                                      {
00188   Algebraic a1= a1b, a2= a2b;
00189   upgrade (a1, a2);
00190   return a2;
00191 }

polynomial<Real_type(C),V> mmx::Re ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1456 of file polynomial.hpp.

01456 { return unary_map<Re_op> (p); }

matrix<Real_type(C),V> mmx::Re ( const matrix< C, V > &  m  )  [inline]

Definition at line 773 of file matrix.hpp.

00773 { return unary_map<Re_op> (m); }

algebraic_real mmx::Re ( const algebraic_number &  z  )  [inline]

Definition at line 422 of file algebraic_number.hpp.

References conj(), algebraic_number_extension< C, Ball >::ext, field(), normalize(), value(), algebraic_number_extension< C, Ball >::x, and x.

Referenced by abs(), GLUE_73(), and Im().

00422                                {
00423   algebraic_number x= normalize ((z + conj (z)) / rational (2));
00424   algebraic_complex_extension cext= field (x);
00425   algebraic_real_extension    rext (cext.ext, Re (cext.x));
00426   return algebraic_real (rext, value (x));
00427 }

const C& mmx::read ( const matrix< C, V > &  m,
nat  i,
nat  j 
) [inline]
polynomial<Reconstruct_type(C)> mmx::reconstruct ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1402 of file polynomial.hpp.

01402                                                                 {
01403   return as<Reconstructed_polynomial> (unary_map<reconstruct_op> (p)); }

bool mmx::reconstruct ( const polynomial< C, V > &  P,
const polynomial< C, V > &  Q,
nat  k,
polynomial< C, V > &  Num,
polynomial< C, V > &  Den 
) [inline]

Definition at line 849 of file polynomial.hpp.

References CF(), deg(), gcd(), N(), Polynomial, promote(), and reconstruct().

00850                                                {
00851   typedef implementation<polynomial_gcd,V> Pol;
00852   if (deg (Q) <= 0) {
00853     if (deg (P) < (int) k) {
00854       Num= P;
00855       Den= Polynomial (promote (1, CF(P)));
00856       return true;
00857     }
00858     else return false;
00859   }
00860   nat n= deg (Q);
00861   ASSERT (N (P) <= n+1 && k <= n && k > 0, "invalid argument");
00862   Pol::reconstruct (P, Q, k, Num, Den);
00863   return deg (gcd (Num, Den)) == 1;
00864 }

quotient<polynomial<C,V>,polynomial<C,V> > mmx::reconstruct ( const modular< modulus< polynomial< C, V >, MoV >, MaV > &  x  )  [inline]

Definition at line 333 of file modular_polynomial.hpp.

References get_modulus(), N(), Quotient, reconstruct(), and x.

00333                                                                   {
00334   polynomial<C,V> num, den, q= *get_modulus (x);
00335   nat k= N(q) >> 1;
00336   bool b= reconstruct (*x, q, k, num, den);
00337   ASSERT (b, "rational reconstruction failed");
00338   return Quotient (num, den); }

matrix<Reconstruct_type(C)> mmx::reconstruct ( const matrix< C, V > &  v  )  [inline]

Definition at line 699 of file matrix.hpp.

Referenced by is_reconstructible(), pade(), implementation< polynomial_gcd, V, polynomial_naive >::reconstruct(), implementation< polynomial_euclidean, V, polynomial_dicho< BV > >::reconstruct(), and reconstruct().

00699                                                         {
00700   return as<Reconstructed_matrix> (unary_map<reconstruct_op> (v)); }

series<C,V> mmx::recursive ( const series< C, V > &  f  )  [inline]
void mmx::reduce ( unknown< C, V > &  c1,
unknown< C, V > &  c2 
) [inline]

Definition at line 287 of file series_implicit.hpp.

References better_pivot(), C, is_exact_zero(), min(), and UC.

Referenced by insert_and_reduce().

00287                         {
00288   // Triangulation of two "rows" c1 and c2
00289   // On exit, the simplest "row" is put into c1
00290   //mmerr << "    reduce " << c1 << ", " << c2 << "\n";
00291   if (is_exact_zero (c1)) return;
00292   if (is_exact_zero (c2)) { swap (c1, c2); return; }
00293   ASSERT (c1->f == c2->f, "incompatible unknown coefficients");
00294   if (c1->i2 < c2->i2) return;
00295   if (c2->i2 < c1->i2) { swap (c1, c2); return; }
00296   if (better_pivot (c1->s[c1->i2 - 1 - c1->i1],
00297                     c2->s[c2->i2 - 1 - c2->i1])) swap (c1, c2);
00298   C lambda= c1->s[c1->i2 - 1 - c1->i1] / c2->s[c2->i2 - 1 - c2->i1];
00299   nat i1= min (c1->i1, c2->i1);
00300   nat i2= c1->i2;
00301   C* s= mmx_new<C> (i2-i1-1);
00302   for (nat i= i1; i<i2-1; i++)
00303     s[i-i1]=
00304       (i >= c1->i1? c1->s[i - c1->i1]: C(0)) -
00305       lambda * (i >= c2->i1? c2->s[i - c2->i1]: C(0));
00306   c1= UC (c1->f, c1->b - lambda * c2->b, s, i1, i2-1);
00307 }

series<C,V> mmx::rem ( const series< C, V > &  f,
const series< C, V > &  g 
) [inline]

Definition at line 1151 of file series.hpp.

References CF(), is_exact_zero(), quo(), and Series.

01151                                        {
01152   if (is_exact_zero (f)) return Series (CF(f));
01153   return f - g * quo (f, g);
01154 }

series<C,V> mmx::rem ( const series< C, V > &  f,
const C &  c 
) [inline]

Definition at line 1145 of file series.hpp.

01145                                   {
01146   typedef implementation<series_divide,V> Ser;
01147   return Ser::ser_rrem_sc (f, c);
01148 }

vector< polynomial<C,V> > mmx::rem ( const polynomial< C, V > &  p,
const vector< polynomial< C, V > > &  q 
) [inline]

Definition at line 1137 of file polynomial.hpp.

01137                                                        {
01138   typedef implementation<polynomial_evaluate,V> Pol;
01139   return Pol::multi_rem (p, q);
01140 }

polynomial<C,V> mmx::rem ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2,
polynomial< C, V > &  Q 
) [inline]

Returns the remainder and stores the quotient in Q.

Definition at line 690 of file polynomial.hpp.

References C, CF(), copy(), N(), Polynomial, and seg().

00690                                                                 {
00691   typedef implementation<polynomial_divide,V> Pol;
00692   nat n1= N(P1), n2= N(P2);
00693   if (n1 < n2 || n2 == 0) return P1;
00694   nat lq= aligned_size<C,V> (n1-n2+1);
00695   nat lr= aligned_size<C,V> (n1);
00696   C* q= mmx_formatted_new<C> (lq, CF(P1));
00697   C* r= mmx_formatted_new<C> (lr, CF(P1));
00698   Pol::copy (r, seg (P1), n1);
00699   Pol::quo_rem (q, r, seg (P2), n1, n2);
00700   Q= Polynomial (q, n1-n2+1, lq, CF(P1));
00701   return Polynomial (r, n2 - 1, lr, CF(P1));
00702 }

polynomial<C,V> mmx::rem ( const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Definition at line 669 of file polynomial.hpp.

References C, CF(), copy(), N(), Polynomial, and seg().

00669                                                  {
00670   typedef implementation<polynomial_divide,V> Pol;
00671   nat n1= N(P1), n2= N(P2);
00672   if (n1 < n2 || n2 == 0) return P1;
00673   nat lq= aligned_size<C,V> (n1-n2+1);
00674   nat lr= aligned_size<C,V> (n1);
00675   C* q= mmx_formatted_new<C> (lq, CF(P1));
00676   C* r= mmx_formatted_new<C> (lr, CF(P1));
00677   Pol::copy (r, seg (P1), n1);
00678   Pol::quo_rem (q, r, seg (P2), n1, n2);
00679   mmx_delete<C> (q, lq);
00680   return Polynomial (r, n2 - 1, lr, CF(P1));
00681 }

polynomial<C,V> mmx::rem ( const polynomial< C, V > &  P,
const C &  c 
) [inline]

Definition at line 627 of file polynomial.hpp.

References C, CF(), N(), Polynomial, and seg().

00627                                       {
00628   typedef implementation<polynomial_linear,V> Pol;
00629   nat n= N(P);
00630   nat l= aligned_size<C,V> (n);
00631   C* r= mmx_formatted_new<C> (l, CF(P));
00632   Pol::rem_sc (r, seg (P), c, n);
00633   return Polynomial (r, n, l, CF(P));
00634 }

matrix<C,V> mmx::rem ( const matrix< C, V > &  m,
const C &  c 
) [inline]
class matrix_rep< C, matrix_fixed< V, RS, CS > > mmx::REP_STRUCT_1 (  )  [inline]

Definition at line 291 of file matrix.hpp.

References C, cols(), FMatrix, Format, is_a_scalar(), is_non_scalar(), Matrix, rows(), tab(), and val().

00291                                   {
00292   C* a;
00293 public:
00294   inline matrix_rep (C* a2, nat, nat, bool, const Format& fm):
00295     Format (fm), a (a2) {}
00296   inline virtual ~matrix_rep () { mmx_delete<C> (a, RS::val * CS::val); }
00297   friend class FMatrix;
00298   friend nat cols LESSGTR (const FMatrix& m);
00299   friend nat rows LESSGTR (const FMatrix& m);
00300   friend C*  tab  LESSGTR (const FMatrix& m);
00301   friend bool is_a_scalar   LESSGTR (const Matrix& m);
00302   friend bool is_non_scalar LESSGTR (const Matrix& m);
00303 };

class series_rep REP_STRUCT_1 (  )  [inline]

Definition at line 42 of file series.hpp.

References C, Format, promote(), and Series.

00042                                  {
00043 public:   // should be protected
00044   C*  a;  // coefficients
00045   nat n;  // number of computed coefficients
00046   nat l;  // number of allocated coefficients
00047           // a[n],...,a[l-1] may be used by relaxed computations
00048 
00049   inline series_rep (const Format& fm):
00050     Format (fm), a (mmx_new<C> (0)), n (0), l (0) {}
00051   inline virtual ~series_rep () { mmx_delete<C> (a, l); }
00052   inline C zero () { return promote (0, this->tfm ()); }
00053   inline C one () { return promote (1, this->tfm ()); }
00054   inline Series me () const;
00055   virtual C next () = 0;
00056   virtual syntactic expression (const syntactic& z) const = 0;
00057 
00058 public:
00059   virtual void Set_order (nat l2);
00060   virtual void Increase_order (nat l2=0);
00061   virtual inline bool test_exact_zero () const { return false; }
00062   friend class Series;
00063 };

series<C,V> mmx::restrict ( const series< C, V > &  f,
nat  start,
nat  end 
) [inline]

Definition at line 879 of file series.hpp.

References CF(), is_exact_zero(), Series, and Series_rep.

00879                                                {
00880   if (is_exact_zero (f)) return Series (CF(f));
00881   return (Series_rep*) new restrict_series_rep<C,V> (f, start, end);
00882 }

C mmx::resultant ( const polynomial< C, V > &  P,
const polynomial< C, V > &  Q 
) [inline]

Definition at line 1007 of file polynomial.hpp.

References binpow(), C, CF(), degree(), Polynomial, and promote().

Referenced by discriminant(), GLUE_105(), GLUE_40(), and GLUE_99().

01007                                                      {
01008   typedef implementation<polynomial_subresultant,V> Pol;
01009   int n= degree (P), m= degree (Q);
01010   if (n < 0 || m < 0) return promote (0, CF(P));
01011   if (m == 0) return binpow (Q[0], n);
01012   if (n == 0) {
01013     C r= binpow (P[0], m); 
01014     return (n & 1) ? -r : r;
01015   }
01016   Polynomial d;
01017   C zero= promote (0, CF(P)), one= promote (1, CF(P));
01018   vector<Polynomial>
01019     res (Polynomial (one), 1),
01020     co_P (Polynomial (zero), 0),
01021     co_Q (Polynomial (zero), 0);
01022   Pol::subresultant_sequence (P, Q, res, co_P, co_Q,
01023                               d, d, d, d, d, d, 0);
01024   return res[0][0];
01025 }

series<C,V> mmx::reverse ( const series< C, V > &  f  )  [inline]

Definition at line 1218 of file series.hpp.

01218                           {
01219   typedef implementation<series_compose,V> Ser;
01220   return Ser::ser_reverse (f);
01221 }

polynomial<C,V> mmx::reverse ( const polynomial< C, V > &  P  )  [inline]

Definition at line 1287 of file polynomial.hpp.

References C, CF(), N(), Polynomial, and seg().

Referenced by GLUE_160(), GLUE_26(), GLUE_32(), GLUE_45(), GLUE_8(), minimal_polynomial_bis(), polynomial_mul_helper< V, C, K >::op(), polynomial_reverse(), and implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::tinterpolate().

01287                               {
01288   typedef implementation<polynomial_linear,V> Pol;
01289   typedef implementation<vector_linear,V> Vec;
01290   nat n= N(P);
01291   nat l= aligned_size<C,V> (n);
01292   C* r= mmx_formatted_new<C> (l, CF(P));
01293   Vec::vec_reverse (r, seg (P), n);
01294   return Polynomial (r, n, l, CF(P));
01295 }

void mmx::reverse_cols ( matrix< C, V > &  m  )  [inline]

Definition at line 1075 of file matrix.hpp.

References cols(), is_non_scalar(), rows(), and tab().

01075                          {
01076   typedef implementation<matrix_linear,V> Mat;
01077   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01078   Mat::col_reverse (tab (m), rows (m), cols (m));
01079 }

algebraic<C,Extension> mmx::root ( const algebraic< C, Extension > &  x,
const int &  p 
) [inline]

Definition at line 299 of file algebraic.hpp.

References Algebraic, CF(), field(), normalize(), Polynomial, promote(), and ramify().

Referenced by GLUE_22(), GLUE_64(), and sqrt().

00299                                         {
00300   if (p < 0) return 1 / root (x, -p);
00301   ASSERT (p != 0, "cannot take zero-th roots");
00302   Algebraic  y= normalize (x);
00303   Polynomial z (vec<C> (promote (0, CF(x)), promote (1, CF(x))));
00304   return Algebraic (ramify (field (y), p), z);
00305 }

vector<C> mmx::row ( const matrix< C, V > &  m,
nat  i 
) [inline]

Definition at line 1018 of file matrix.hpp.

References CF(), and cols().

Referenced by annihilator(), GLUE_40(), GLUE_41(), GLUE_61(), GLUE_73(), and row_vectors().

01018                              {
01019   nat n= cols (m);
01020   nat l= default_aligned_size<C> (n);
01021   C*  a= mmx_formatted_new<C> (l, CF(m));
01022   for (nat j=0; j<n; j++) a[j]= m(i,j);
01023   return vector<C> (a, n, l, CF(m));
01024 }

void mmx::row_div ( matrix< C, V > &  m,
c,
nat  i 
) [inline]
matrix<C,V> mmx::row_echelon ( const matrix< C, V > &  m,
matrix< C, V > &  k,
bool  reduced = false 
) [inline]

Definition at line 1215 of file matrix.hpp.

References column_echelon(), Matrix, and transpose().

01215                                                               {
01216   Matrix c= column_echelon (transpose (m), k, reduced);
01217   k= transpose (k);
01218   return transpose (c);
01219 }

matrix<C,V> mmx::row_echelon ( const matrix< C, V > &  m,
bool  reduced = false 
) [inline]

Definition at line 1205 of file matrix.hpp.

References column_echelon(), and transpose().

Referenced by annihilator(), GLUE_115(), GLUE_40(), GLUE_64(), and row_reduced_echelon().

01205                                                    {
01206   return transpose (column_echelon (transpose (m), reduced));
01207 }

matrix<C> mmx::row_matrix ( const vector< vector< C > > &  v  )  [inline]

Definition at line 1045 of file matrix.hpp.

References CF(), N(), and promote().

01045                                          {
01046   if (N(v) == 0) return matrix<C> (promote (0, get_format1 (CF(v))));
01047   matrix<C> r (promote (0, get_format1 (CF(v))), N(v), N(v[0]));
01048   for (nat i=0; N(v)>i; i++) {
01049     ASSERT (N(v[i]) == N(v[0]), "unequal row lengths");
01050     for (nat j=0; j<N(v[0]); j++)
01051       r (i, j)= v[i][j];
01052   }
01053   return r;
01054 }

void mmx::row_mul ( matrix< C, V > &  m,
c,
nat  i 
) [inline]

Definition at line 1097 of file matrix.hpp.

01109 {

matrix<C,V> mmx::row_orthogonalization ( const matrix< C, V > &  m,
matrix< C, V > &  l 
) [inline]

Definition at line 1340 of file matrix.hpp.

References CF(), cols(), copy(), is_non_scalar(), Matrix, promote(), rows(), seg(), and tab().

01340                                                    {
01341   typedef implementation<matrix_orthogonalization,V> Mat;
01342   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01343   Matrix c= copy (m);
01344   vector<C> n (promote (0, CF(m)), rows(m));
01345   l= Matrix (promote (0, CF(m)), rows(m), rows(m));
01346   Mat::row_orthogonalize (tab(c), rows(m), cols(m), tab(l), seg(n));
01347   return c;
01348 }  

matrix<C,V> mmx::row_orthogonalization ( const matrix< C, V > &  m  )  [inline]

Definition at line 1320 of file matrix.hpp.

References CF(), cols(), copy(), is_non_scalar(), Matrix, promote(), rows(), seg(), and tab().

01320                                         {
01321   typedef implementation<matrix_orthogonalization,V> Mat;
01322   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01323   Matrix c= copy (m);
01324   vector<C> n (promote (0, CF(m)), rows(m));
01325   Mat::row_orthogonalize (tab(c), rows(m), cols(m), seg(n));
01326   return c;
01327 }  

matrix<C,V> mmx::row_orthonormalization ( const matrix< C, V > &  m,
matrix< C, V > &  l 
) [inline]

Definition at line 1380 of file matrix.hpp.

References CF(), cols(), copy(), is_non_scalar(), Matrix, promote(), rows(), and tab().

01380                                                     {
01381   typedef implementation<matrix_orthogonalization,V> Mat;
01382   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01383   Matrix c= copy (m);
01384   l= Matrix (promote (0, CF(m)), rows(m), rows(m));
01385   Mat::row_orthonormalize (tab(c), rows(m), cols(m), tab(l));
01386   return c;
01387 }  

matrix<C,V> mmx::row_orthonormalization ( const matrix< C, V > &  m  )  [inline]

Definition at line 1362 of file matrix.hpp.

References cols(), copy(), is_non_scalar(), Matrix, rows(), and tab().

01362                                          {
01363   typedef implementation<matrix_orthogonalization,V> Mat;
01364   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01365   Matrix c= copy (m);
01366   Mat::row_orthonormalize (tab(c), rows(m), cols(m));
01367   return c;
01368 }  

matrix<C,V> mmx::row_reduced_echelon ( const matrix< C, V > &  m,
matrix< C, V > &  k 
) [inline]

Definition at line 1222 of file matrix.hpp.

References row_echelon().

01222                                                  {
01223   return row_echelon (m, k, true);
01224 }

matrix<C,V> mmx::row_reduced_echelon ( const matrix< C, V > &  m  )  [inline]

Definition at line 1210 of file matrix.hpp.

References row_echelon().

Referenced by GLUE_117(), GLUE_42(), GLUE_66(), and wrap_row_reduced_echelon_with_transform().

01210                                       {
01211   return row_echelon (m, true);
01212 }

vector<vector<C> > mmx::row_vectors ( const matrix< C > &  m  )  [inline]

Definition at line 1036 of file matrix.hpp.

References CF(), row(), and rows().

01036                                  {
01037   vector<vector<C> > v=
01038     fill<vector<C> > (rows (m), format<vector<C> > (CF(m)));
01039   for (nat i=0; i<rows(m); i++)
01040     v[i]= row (m, i);
01041   return v;
01042 }

nat mmx::rows ( const matrix< C, matrix_fixed< V, RS, CS > > &  m  )  [inline]

Definition at line 308 of file matrix.hpp.

References val().

00308 { return RS::val; }

nat rows ( const matrix< C, V > &  m  )  [inline]

Definition at line 184 of file matrix.hpp.

Referenced by access(), as_matrix(), asmatrix(), binary_map(), binary_map_scalar(), binary_test(), cofactor(), column(), column_echelon(), column_orthogonalization(), column_orthonormalization(), column_reduced_echelon(), as_helper< matrix< T, TV >, matrix< F, FV > >::cv(), fast_helper< matrix< C, V > >::dd(), delete_col(), delete_row(), det(), binary_helper< matrix< C, V > >::disassemble(), extend(), first_minor(), flatten(), get_matrix_format(), GLUE_35(), GLUE_68(), GLUE_7(), GLUE_8(), horizontal_join(), image(), matrix_series_rep< C, V, U >::Increase_order(), invert(), matrix_iterator_rep< C, V >::is_busy(), is_evaluable(), is_reconstructible(), is_square_matrix(), kernel(), krylov(), lshiftz(), map(), matrix< M >::matrix(), matrix_new(), N(), nbrow(), matrix_series_rep< C, V, U >::next(), nullary_set(), operator!=(), matrix< M >::operator()(), operator*(), operator<=(), operator==(), operator>=(), permute_columns(), permute_rows(), range(), rank(), REP_STRUCT_1(), reverse_cols(), row_orthogonalization(), row_orthonormalization(), row_vectors(), implementation< matrix_vectorial, V, matrix_naive >::set(), project_helper< matrix< C, V > >::set_op(), lift_helper< matrix< C, V > >::set_op(), solve_lde(), solve_lde_init(), swap_col(), swap_row(), transpose(), unary_hash(), unary_map(), unary_set(), unary_set_scalar(), fast_helper< matrix< C, V > >::uu(), vertical_join(), and binary_helper< matrix< C, V > >::write().

00184 { return m->nr; }

void mmx::rows_linsub ( matrix< C, V > &  m,
nat  i,
ci,
nat  j,
cj 
) [inline]

Definition at line 1101 of file matrix.hpp.

01109 {

matrix< series<M,V> > mmx::rshiftz ( const matrix< series< M, V > > &  m,
const int &  shift = 1 
) [inline]

Definition at line 161 of file series_carry_linear_algebra.hpp.

References lshiftz(), and shift().

00161                                                      {
00162   return lshiftz (m, -shift);
00163 }

vector< series<M,V> > mmx::rshiftz ( const vector< series< M, V > > &  v,
const int &  shift = 1 
) [inline]

Definition at line 146 of file series_carry_linear_algebra.hpp.

References lshiftz(), and shift().

00146                                                      {
00147   return lshiftz (v, -shift);
00148 }

series< C, V > rshiftz ( const series< C, V > &  f,
const int &  shift = 1 
) [inline]
const C * seg ( const polynomial< C, V > &  P  )  [inline]

Definition at line 194 of file polynomial.hpp.

00194 { return P->a; }

C * seg ( polynomial< C, V > &  P  )  [inline]

Definition at line 193 of file polynomial.hpp.

Referenced by implementation< polynomial_evaluate, V, polynomial_naive >::annulator(), big_add(), big_mul(), binary_map_scalar(), column_orthogonalization(), combine_crt(), compose(), contents(), crt_dicho_transformer< C, S, V >::crt_dicho_transformer(), decode_kronecker(), derive(), dilate(), nrelax_mul_series_rep< C, V >::direct_transform(), base_dicho_transformer< C, S, V >::direct_transform(), implementation< polynomial_evaluate, V, polynomial_naive >::evaluate(), evaluate(), expand(), implementation< polynomial_gcd, V, polynomial_naive >::gcd(), graeffe(), integrate(), implementation< polynomial_evaluate, V, polynomial_naive >::interpolate(), inverse_base(), inverse_crt(), base_dicho_transformer< C, S, V >::inverse_transform(), invert_hi(), invert_lo(), lshiftz(), implementation< polynomial_evaluate, V, polynomial_naive >::multi_rem(), operator*(), operator+(), polynomial< C, V >::operator+=(), operator-(), polynomial< C, V >::operator-=(), operator/(), permute_columns(), permute_rows(), polynomial< L >::polynomial(), pquo(), prem(), primitive_part(), q_difference(), quo(), implementation< polynomial_gcd, V, polynomial_naive >::reconstruct(), rem(), reverse(), row_orthogonalization(), set_as(), lift_helper< polynomial< C, V > >::set_op(), shift(), skew_div(), square(), implementation< polynomial_subresultant_base, V, polynomial_naive >::subresultant_sequence(), implementation< polynomial_evaluate, V, polynomial_naive >::tevaluate(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::tevaluate(), implementation< polynomial_evaluate, V, polynomial_naive >::tinterpolate(), tmul(), tquo(), trem(), unary_map(), and xderive().

00193 { return P->a; }

series<C,V> mmx::separable_root ( const series< C, V > &  f,
nat  n 
) [inline]

Definition at line 1168 of file series.hpp.

01168                                         {
01169   typedef implementation<series_separable_root,V> Ser;
01170   return Ser::sep_root (f, n);
01171 }

modular< modulus<C,V> ,W> mmx::separable_root ( const modular< modulus< C, V >, W > &  a,
nat  r 
) [inline]

Definition at line 118 of file root_modular.hpp.

References N(), and separable_roots().

Referenced by GLUE_29(), ser_separable_root_op::op(), ser_carry_separable_root_op::op(), ser_separable_root_op::set_op(), and ser_carry_separable_root_op::set_op().

00118                                          {
00119   // return one r th roots of a
00120   // FIXME << to optimize
00121   if (a == 1) return a;
00122   vector<Modular> ans= separable_roots (a, r); 
00123   ASSERT (N (ans) != 0, "no root");
00124   return ans [0];
00125 }

series<C,V> mmx::separable_root_init ( const series< C, V > &  f,
nat  n,
const C &  init 
) [inline]

Definition at line 1174 of file series.hpp.

Referenced by ser_separable_root_op::op_init(), and ser_carry_separable_root_op::op_init().

01174                                                             {
01175   typedef implementation<series_separable_root,V> Ser;
01176   return Ser::sep_root (f, n, init);
01177 }

vector< modular< modulus<C,V> ,W> > mmx::separable_roots ( const modular< modulus< C, V >, W > &  a,
nat  r 
) [inline]

Definition at line 109 of file root_modular.hpp.

References C, get_modulus(), Modular, and root_modular_naive::roots().

Referenced by nth_roots(), and separable_root().

00109                                           {
00110   // return all the r th roots of a
00111   C p= * get_modulus (a);
00112   ASSERT (Modular (r) != 0, "wrong argument");
00113   polynomial<Modular> x_r (C(1),r);
00114   return root_modular_naive::roots (x_r - a, p);
00115 }

series<C,V> mmx::series_shift_default ( const series< C, V > &  s,
const C &  sh 
) [inline]

Definition at line 1019 of file series.hpp.

References mmx_bit_precision, and shift().

Referenced by GLUE_162(), GLUE_34(), and GLUE_47().

01019                                                     {
01020   return shift (s, sh, mmx_bit_precision);
01021 }

void mmx::set_accuracy ( matrix< C, V > &  m  )  [inline]

Definition at line 563 of file matrix.hpp.

00563 { nullary_set<accuracy_as_op> (m); }

void mmx::set_as ( series< C, V > &  r,
const T &  x 
) [inline]

Definition at line 546 of file series.hpp.

References CF(), and Series.

00546                                {
00547   r= Series (x, CF(r));
00548 }

void mmx::set_as ( series< T, TV > &  r,
const series< F, FV > &  f 
) [inline]

Definition at line 541 of file series.hpp.

References CF().

00541                                                 {
00542   r= series<T,TV> (f, CF(r));
00543 }

void mmx::set_as ( polynomial< C, V > &  r,
const T &  x 
) [inline]

Definition at line 266 of file polynomial.hpp.

References normalize(), seg(), and set_as().

00266                                    {
00267   r.secure ();
00268   inside (r) -> resize (1);
00269   set_as (seg(r)[0], x);
00270   inside (r) -> normalize ();
00271 }

void mmx::set_as ( polynomial< T, TV > &  r,
const polynomial< F, FV > &  p 
) [inline]

Definition at line 257 of file polynomial.hpp.

References N(), normalize(), seg(), and set_as().

00257                                                         {
00258   r.secure ();
00259   inside (r) -> resize (N(p));
00260   T* c= seg (r);
00261   for (nat i=0; i<N(p); i++) set_as (c[i], p[i]);
00262   inside (r) -> normalize ();
00263 }

void mmx::set_as ( matrix< C, V > &  r,
const T &  x 
) [inline]

Definition at line 257 of file matrix.hpp.

References CF(), and Matrix.

00257                                {
00258   r= Matrix (x, CF(r));
00259 }

void mmx::set_as ( matrix< T, TV > &  r,
const matrix< F, FV > &  m 
) [inline]
void mmx::set_cancel_order ( const series< C, V > &  ,
const nat &  n 
) [inline]

Definition at line 122 of file series.hpp.

Referenced by GLUE_120(), GLUE_3(), GLUE_4(), GLUE_5(), and GLUE_86().

00122                                                                 {
00123   return Series::set_cancel_order (n); }

void mmx::set_catalan ( matrix< C, V > &  m  )  [inline]

Definition at line 557 of file matrix.hpp.

00557 { nullary_set<catalan_as_op> (m); }

void mmx::set_default ( matrix< C, V > &  m  )  [inline]

Definition at line 553 of file matrix.hpp.

00553 { nullary_set<default_as_op> (m); }

void mmx::set_euler ( matrix< C, V > &  m  )  [inline]

Definition at line 556 of file matrix.hpp.

00556 { nullary_set<euler_as_op> (m); }

void mmx::set_formula_output ( const series< C, V > &  ,
const bool &  b 
) [inline]

Definition at line 124 of file series.hpp.

Referenced by GLUE_121(), GLUE_4(), GLUE_5(), GLUE_6(), and GLUE_87().

00124                                                                    {
00125   return Series::set_formula_output (b); }

void mmx::set_fuzz ( matrix< C, V > &  m  )  [inline]

Definition at line 560 of file matrix.hpp.

00560 { nullary_set<fuzz_as_op> (m); }

void mmx::set_imaginary ( matrix< C, V > &  m  )  [inline]

Definition at line 558 of file matrix.hpp.

00558 { nullary_set<imaginary_as_op> (m); }

void mmx::set_imaginary ( algebraic_number &  z  )  [inline]

Definition at line 388 of file algebraic_number.hpp.

00388                                     {
00389   typedef ball<complex<floating<> > > B;
00390   polynomial<rational> mp (vec<rational> (1, 0, 1));
00391   polynomial<rational> i (vec<rational> (0, 1));
00392   algebraic_complex_extension ext (mp, imaginary_cst<B> ());
00393   z= algebraic_number (ext, i);
00394 }

void mmx::set_infinity ( matrix< C, V > &  m  )  [inline]

Definition at line 564 of file matrix.hpp.

00564 { nullary_set<infinity_as_op> (m); }

void mmx::set_largest ( matrix< C, V > &  m  )  [inline]

Definition at line 562 of file matrix.hpp.

00562 { nullary_set<largest_as_op> (m); }

void mmx::set_log2 ( matrix< C, V > &  m  )  [inline]

Definition at line 555 of file matrix.hpp.

00555 { nullary_set<log2_as_op> (m); }

void mmx::set_maximal ( matrix< C, V > &  m  )  [inline]

Definition at line 565 of file matrix.hpp.

00565 { nullary_set<maximal_as_op> (m); }

void mmx::set_minimal ( matrix< C, V > &  m  )  [inline]

Definition at line 566 of file matrix.hpp.

00566 { nullary_set<minimal_as_op> (m); }

void mmx::set_nan ( matrix< C, V > &  m  )  [inline]

Definition at line 559 of file matrix.hpp.

00559 { nullary_set<nan_as_op> (m); }

void mmx::set_output_order ( const series< C, V > &  ,
const nat &  n 
) [inline]

Definition at line 120 of file series.hpp.

Referenced by GLUE_119(), GLUE_2(), GLUE_3(), GLUE_4(), and GLUE_85().

00120                                                                 {
00121   return Series::set_output_order (n); }

void mmx::set_pi ( matrix< C, V > &  m  )  [inline]

Definition at line 554 of file matrix.hpp.

Referenced by primitive_root_helper< C >::op().

00554 { nullary_set<pi_as_op> (m); }

void mmx::set_smallest ( matrix< C, V > &  m  )  [inline]

Definition at line 561 of file matrix.hpp.

00561 { nullary_set<smallest_as_op> (m); }

void mmx::set_variable_name ( const series< C, V > &  ,
const generic &  x 
) [inline]

Definition at line 118 of file series.hpp.

References set_variable_name(), and x.

00118                                                                      {
00119   return Series::set_variable_name (x); }

void mmx::set_variable_name ( const polynomial< C, V > &  P,
const generic &  x 
) [inline]

Definition at line 310 of file polynomial.hpp.

References x.

Referenced by GLUE_1(), GLUE_118(), GLUE_2(), GLUE_3(), GLUE_58(), GLUE_78(), GLUE_84(), and set_variable_name().

00310                                                                            {
00311   (void) P; return Polynomial::set_variable_name (x); }

series<C,V> mmx::sharpen ( const series< C, V > &  f  )  [inline]

Definition at line 1253 of file series.hpp.

01253                                              {
01254   return unary_map<sharpen_op> (f); }

polynomial<C,V> mmx::sharpen ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1468 of file polynomial.hpp.

01468                                                      {
01469   return unary_map<sharpen_op> (p); }

matrix<C,V> mmx::sharpen ( const matrix< C, V > &  m  )  [inline]

Definition at line 785 of file matrix.hpp.

Referenced by improve_zero().

00785                                              {
00786   return unary_map<sharpen_op> (m); }

series<C,V> mmx::shift ( const series< C, V > &  f,
const C &  q,
nat  order 
) [inline]

Definition at line 1013 of file series.hpp.

References CF(), is_exact_zero(), Series, and Series_rep.

01013                                                {
01014   if (is_exact_zero (f)) return Series (CF(f));
01015   return (Series_rep*) new shift_series_rep<C,V> (f, q, order);
01016 }

polynomial<C,V> mmx::shift ( const polynomial< C, V > &  P,
int  i 
) [inline]

Definition at line 1104 of file polynomial.hpp.

References CF(), promote(), and shift().

01104                                    {
01105   return shift (P, promote (i, CF(P)));
01106 }

polynomial<C,V> mmx::shift ( const polynomial< C, V > &  P,
const C &  sh 
) [inline]
vector<C> mmx::shift1 ( const algebraic_extension< C > &  ext1,
const algebraic_extension< C > &  ext2,
const vector< C > &  v 
) [inline]

Definition at line 140 of file algebraic_extension.hpp.

References CF(), deg(), Element, lshiftz(), promote(), and rem().

Referenced by mul_matrix().

00140                                                                           {
00141   // multiply the bivariate polynomial represented by v with x1
00142   nat d1= deg (ext1.mp), d2= deg (ext2.mp);
00143   vector<C> r= fill<C> (promote (0, CF(ext1)), d1*d2);
00144   for (nat i2=0; i2<d2; i2++) {
00145     vector<C> c= fill<C> (promote (0, CF(ext1)), d1);
00146     for (nat i1=0; i1<d1; i1++)
00147       c[i1]= v[i1*d2 + i2];
00148     Element p= rem (lshiftz (Element (c), 1), ext1.mp);
00149     for (nat i1=0; i1<d1; i1++)
00150       r[i1*d2 + i2]= p[i1];
00151   }
00152   return r;
00153 }

vector<C> mmx::shift2 ( const algebraic_extension< C > &  ext1,
const algebraic_extension< C > &  ext2,
const vector< C > &  v 
) [inline]

Definition at line 156 of file algebraic_extension.hpp.

References CF(), deg(), Element, lshiftz(), promote(), and rem().

Referenced by mul_matrix().

00156                                                                           {
00157   // multiply the bivariate polynomial represented by v with x2
00158   nat d1= deg (ext1.mp), d2= deg (ext2.mp);
00159   vector<C> r= fill<C> (promote (0, CF(ext1)), d1*d2);
00160   for (nat i1=0; i1<d1; i1++) {
00161     vector<C> c= fill<C> (promote (0, CF(ext1)), d2);
00162     for (nat i2=0; i2<d2; i2++)
00163       c[i2]= v[i1*d2 + i2];
00164     Element p= rem (lshiftz (Element (c), 1), ext2.mp);
00165     for (nat i2=0; i2<d2; i2++)
00166       r[i1*d2 + i2]= p[i2];
00167   }
00168   return r;
00169 }

bool shrink ( const polynomial< C > &  p,
Ball &  x 
) [inline]

Definition at line 155 of file algebraic_number.hpp.

References add_additive_error(), Ball, copy(), improve_zero(), and mmx_bit_precision.

Referenced by join(), normalize(), and shrink_check().

00155                                       {
00156   nat old_precision= mmx_bit_precision;
00157   mmx_bit_precision *= 2;
00158   Ball x2= copy (x);
00159   bool r= improve_zero (p, x2);
00160   mmx_bit_precision= old_precision;
00161   x= copy (x2);
00162   add_additive_error (x);
00163   return r;
00164 }

void mmx::shrink_check ( const polynomial< C > &  p,
Ball &  x 
) [inline]

Definition at line 167 of file algebraic_number.hpp.

References shrink().

Referenced by algebraic_number_extension< C, Ball >::algebraic_number_extension().

00167                                             {
00168   if (!shrink (p, x)) {
00169     mmerr << "mp= " << p << "\n";
00170     mmerr << "x = " << x << "\n";
00171     ERROR ("root not uniquely specified");
00172   }
00173 }

int mmx::sign ( const series< C, V > &  f  )  [inline]

Definition at line 345 of file series.hpp.

References sign().

00345                        {
00346   for (nat n=0; n< Series::get_cancel_order (); n++) {
00347     int sgn= sign (f[n]);
00348     if (sgn != 0) return sgn;
00349   }
00350   return 0;
00351 }

int mmx::sign ( const quotient< NT, DT > &  x  )  [inline]

Definition at line 302 of file quotient.hpp.

References denominator(), numerator(), and sign().

00302                          {
00303   return sign (numerator (x)) * sign (denominator (x));
00304 }

int mmx::sign ( const polynomial< C, V > &  P  )  [inline]

Definition at line 368 of file polynomial.hpp.

References N(), and sign().

00368                            {
00369   for (nat i=0; i<N(P); i++) {
00370     int s= sign (P[i]);
00371     if (s != 0) return s;
00372   }
00373   return 0;
00374 }

int mmx::sign ( const algebraic_number_extension< C, Ball > &  ext,
const typename algebraic_number_extension< C, Ball >::El &  p1 
) [inline]

Definition at line 271 of file algebraic_number.hpp.

References annihilator(), Ball, deg(), derive(), eval(), is_non_zero(), mmx_bit_precision, Polynomial, and sign().

00271                                            {
00272   if (deg (p1) <= 0) return sign (ext.ext, p1);
00273   Ball y= eval (ext, p1);
00274   if (is_non_zero (y)) return sign (y);
00275   Polynomial ann= annihilator (ext, p1);
00276   if (ann[0] == 0 && is_non_zero (eval (derive (ann), y))) return 0;
00277   nat old_precision= mmx_bit_precision;
00278   mmx_bit_precision *= 2;
00279   int r= sign (ext, p1);
00280   mmx_bit_precision= old_precision;
00281   return r;
00282 }

int mmx::sign ( const algebraic_extension< C > &  ext,
const typename algebraic_extension< C >::El &  p1 
) [inline]

Definition at line 130 of file algebraic_extension.hpp.

References deg(), and sign().

00130                                                {
00131   if (deg (p1) <= 0) return sign (p1[0]);
00132   ERROR ("cannot compute sign");
00133 }

int mmx::sign ( const algebraic< C, Extension > &  x  )  [inline]

Definition at line 124 of file algebraic.hpp.

References field(), and value().

Referenced by compare(), GLUE_23(), implementation< polynomial_linear, V, polynomial_naive >::sign(), and sign().

00124                                           {
00125   return sign (field (x), value (x)); }

series<C,V> mmx::sin ( const series< C, V > &  f  )  [inline]

Definition at line 119 of file series_elementary.hpp.

Referenced by GLUE_24(), GLUE_41(), and GLUE_68().

00119                       {
00120   return unary_recursive_series<sin_op> (f);
00121 }

vector<vector<C> > mmx::singleton_vector ( const vector< C > &  v  )  [inline]

Definition at line 122 of file series_sugar.hpp.

References N().

00122                                       {
00123   nat n= N(v);
00124   vector<vector<C> > r= fill<vector<C> > (n);
00125   for (nat i=0; i<n; i++) r[i]= vec<C> (v[i]);
00126   return r;
00127 }

nat mmx::size_bound ( const typename Baser::base &  a,
Baser &  baser 
) [inline]

Definition at line 154 of file base_naive.hpp.

Referenced by direct_base().

00154                                       {
00155   // return a bound size for the expansion of a
00156   return size_bound_in_base_helper<C,I>::size (a, * baser.p);
00157 }

polynomial<C,V> mmx::skew_div ( const polynomial< C, V > &  P,
const C &  c,
bool  left 
) [inline]

Definition at line 604 of file polynomial.hpp.

References C, CF(), N(), Polynomial, and seg().

00604                                                       {
00605   typedef implementation<polynomial_linear,V> Pol;
00606   if (left) {
00607     nat n= N(P);
00608     nat l= aligned_size<C,V> (n);
00609     C* r= mmx_formatted_new<C> (n, CF(P));
00610     Pol::div_sc (r, seg (P), c, n);
00611     return Polynomial (r, n, l, CF(P));
00612   }
00613   else return P / c;
00614 }

static series<M,V> mmx::slp_polynomial_regular_root ( const generic &  f,
const generic &  x,
const M &  y0 
) [inline, static]

Definition at line 781 of file series_carry_naive.hpp.

References x.

00781                                                                               {
00782   typedef implementation<series_slp_polynomial_regular_root,V> Ser;
00783   return Ser::template slp_pol_root<M,V,L> (f, x, y0);
00784 }

series<C,V> mmx::solve_lde ( const vector< series< C, V >, W > &  f,
const vector< C, W > &  c 
) [inline]

Definition at line 186 of file series_vector.hpp.

References read(), and solve_lde_init().

00186                                                     {
00187   return read (solve_lde_init (f, c), 0);
00188 }

matrix< series<C,V> ,U> mmx::solve_lde ( const matrix< series< C, V >, U > &  f  )  [inline]

Definition at line 147 of file series_matrix.hpp.

References as_matrix(), as_series(), C, cols(), is_square_matrix(), Matrix, rows(), and solve_matrix_lde_init().

00147                                    {
00148   ASSERT (is_square_matrix (f), "square matrix expected");
00149   Matrix c (C(1), rows (f), cols (f));
00150   return as_matrix (solve_matrix_lde_init (as_series (f), c));
00151 }

vector< series<C,V> ,W> mmx::solve_lde_init ( const vector< series< C, V >, W > &  f,
const vector< C, W > &  c 
) [inline]

Definition at line 181 of file series_vector.hpp.

References as_series(), as_vector(), and solve_vector_lde_init().

00181                                                          {
00182   return as_vector (solve_vector_lde_init (as_series (f), c));
00183 }

matrix< series<C,V> ,U> mmx::solve_lde_init ( const matrix< series< C, V >, U > &  f,
const matrix< C, U > &  c 
) [inline]

Definition at line 154 of file series_matrix.hpp.

References as_matrix(), as_series(), is_square_matrix(), rows(), and solve_matrix_lde_init().

Referenced by solve_lde().

00154                                                          {
00155   ASSERT (is_square_matrix (f), "square matrix expected");
00156   ASSERT (rows (f) == rows (c), "unequal matrix dimensions");
00157   return as_matrix (solve_matrix_lde_init (as_series (f), c));
00158 }

series< matrix<C,U> ,V> mmx::solve_matrix_lde_init ( const series< matrix< C, U >, V > &  f,
const matrix< C, U > &  c 
) [inline]

Definition at line 142 of file series_matrix.hpp.

Referenced by solve_lde(), and solve_lde_init().

00142                                                                 {
00143   return unary_recursive_series<solve_matrix_lde_op> (f, c);
00144 }

series< vector<C,W> ,V> mmx::solve_vector_lde_init ( const series< vector< C, W >, V > &  f,
const vector< C, W > &  c 
) [inline]

Definition at line 176 of file series_vector.hpp.

Referenced by solve_lde_init().

00176                                                                 {
00177   return unary_recursive_series<solve_vector_lde_op> (f, c);
00178 }

series<vector<C>,V> mmx::solver ( const series< vector< C >, V > &  f  )  [inline]

Definition at line 520 of file series_implicit.hpp.

References VSeries_rep.

Referenced by implicit_series(), and implicit_vector_series().

00520                           {
00521   return (VSeries_rep*) new solver_container_series_rep<C,V> (f);
00522 }

series<C,V> mmx::sqrt ( const series< C, V > &  f  )  [inline]

Definition at line 29 of file series_elementary.hpp.

References CF(), is_exact_zero(), and Series.

00029                        {
00030   if (is_exact_zero (f)) return Series (CF(f));
00031   return unary_recursive_series<sqrt_op> (f);
00032 }

algebraic<C,Extension> mmx::sqrt ( const algebraic< C, Extension > &  x  )  [inline]
series<C,V> mmx::sqrt_init ( const series< C, V > &  f,
const C &  c 
) [inline]

Definition at line 35 of file series_elementary.hpp.

00035                                         {
00036   return unary_recursive_series<sqrt_op> (f, c);
00037 }

polynomial<C,V> mmx::square ( const polynomial< C, V > &  P  )  [inline]

Definition at line 545 of file polynomial.hpp.

References C, CF(), N(), Polynomial, seg(), and square().

00545                              {
00546   typedef implementation<polynomial_multiply,V> Pol;
00547   nat n= N(P);
00548   if (n == 0) return P;
00549   nat l= aligned_size<C,V> (2*n-1);
00550   C* r= mmx_formatted_new<C> (l, CF(P));
00551   Pol::square (r, seg (P), n);
00552   return Polynomial (r, 2*n-1, l, CF(P));
00553 }

Ball algebraic_number_extension<C,Ball>::El mmx::square ( const algebraic_number_extension< C, Ball > &  ext,
const typename algebraic_number_extension< C, Ball >::El &  p1 
) [inline]

Definition at line 232 of file algebraic_number.hpp.

References square().

00232                                              {
00233   return square (ext.ext, p1);
00234 }

algebraic_extension<C>::El mmx::square ( const algebraic_extension< C > &  ext,
const typename algebraic_extension< C >::El &  p1 
) [inline]

Definition at line 97 of file algebraic_extension.hpp.

References rem(), and square().

00097                                                  {
00098   return rem (square (p1), ext.mp);
00099 }

algebraic<C,Extension> mmx::square ( const algebraic< C, Extension > &  x1  )  [inline]

Definition at line 249 of file algebraic.hpp.

References Algebraic, field(), and value().

Referenced by slp_polynomial_regular_root_series_rep< M, V, L >::_eval(), slp_polynomial_regular_root_series_rep< M, V, L >::_eval2(), base_integer_transformer< I >::base_integer_transformer(), base_unsigned_integer_transformer< I >::base_unsigned_integer_transformer(), ser_carry_separable_root_op::binpow_no_tangent(), ser_carry_pth_root_reg_op::binpow_no_tangent_normalized(), ser_polynomial_regular_root_op::def(), ser_carry_polynomial_regular_root_op::def(), ser_carry_pth_root_reg_op::def(), derive(), mul_series_rep< M, V >::get_power_of_p(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_127(), GLUE_14(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_42(), GLUE_50(), GLUE_54(), GLUE_62(), GLUE_65(), GLUE_75(), GLUE_8(), GLUE_84(), GLUE_93(), GLUE_95(), implementation< polynomial_graeffe, V, polynomial_unrolled< W, m > >::graeffe(), implementation< polynomial_graeffe, V, polynomial_naive >::graeffe(), reverse_series_rep< C, V >::initialize(), slp_polynomial_regular_root_series_rep< M, V, L >::rec_square(), slp_polynomial_regular_root_series_rep< M, V, L >::slp_polynomial_regular_root_series_rep(), implementation< polynomial_multiply, V, polynomial_balanced_tft< W > >::square(), implementation< polynomial_multiply, V, polynomial_tft_inc< W, Th > >::square(), implementation< polynomial_multiply, V, polynomial_tangent< CV > >::square(), implementation< polynomial_multiply, V, polynomial_quotient< W > >::square(), implementation< polynomial_multiply, V, polynomial_modular< W > >::square(), implementation< polynomial_multiply, V, polynomial_kronecker< W > >::square(), implementation< polynomial_multiply, V, polynomial_karatsuba< W > >::square(), implementation< polynomial_multiply, V, polynomial_complex< CV > >::square(), implementation< polynomial_multiply, V, polynomial_balanced< W > >::square(), square(), square_kronecker(), square_kronecker_int(), square_kronecker_mod_int(), and xderive().

00249                              {
00250   return Algebraic (field (x1), square (field (x1), value (x1)));
00251 }

polynomial<C> mmx::square_free ( const polynomial< C > &  p  )  [inline]

Definition at line 231 of file algebraic_extension.hpp.

References deg(), derive(), gcd(), and quo().

Referenced by annihilator(), and join().

00231                                      {
00232   polynomial<C> g= gcd (p, derive (p));
00233   if (deg (g) == 1) return p;
00234   else return quo (p, g);
00235 }

void mmx::square_kronecker ( signed short int *  dest,
const signed short int *  src,
nat  n 
)

Definition at line 214 of file kronecker_int.cpp.

void mmx::square_kronecker ( polynomial< C, V > *  dest,
const polynomial< C, V > *  s,
nat  n 
) [inline]

Definition at line 84 of file kronecker_polynomial.hpp.

References decode_kronecker(), encode_kronecker(), max_polynomial_size(), Polynomial, and x.

00084                                                                 {
00085   typedef implementation<polynomial_linear,V> Pol;
00086   if (n == 0) return;
00087   if (n == 1) { dest[0]= square_op::op (s[0]); return; }
00088   nat m = (max_polynomial_size (s, n) << 1) - 1;
00089   Polynomial x;
00090   encode_kronecker (x, s, n, m);
00091   x= square_op::op (x);
00092   decode_kronecker (dest, x, (n << 1) - 1, m); }

void mmx::square_kronecker ( modular< modulus< I, MoV >, modular_local > *  dest,
const modular< modulus< I, MoV >, modular_local > *  s,
nat  n 
) [inline]

Definition at line 85 of file kronecker_modular_int.hpp.

References C, get_modulus(), I, and square_kronecker_mod().

00085                                               {
00086   nat ls= default_aligned_size<I> (n);
00087   nat spc= ls + default_aligned_size<I> (2 * n - 1);
00088   I* t= mmx_new<I> (spc), * r= t + ls;
00089   for (nat i= 0; i < n; i++) t[i]= * s[i];
00090   I p= * get_modulus (s[0]);
00091   square_kronecker_mod (r, t, n, p);
00092   for (nat i= 0; i < 2 * n - 1; i++) dest[i]= C (* r[i], p, true);
00093   mmx_delete<I> (t, spc);
00094 }

void mmx::square_kronecker ( modular< modulus< I, MoV >, MaV > *  dest,
const modular< modulus< I, MoV >, MaV > *  s,
nat  n 
) [inline]

Definition at line 59 of file kronecker_modular_int.hpp.

References I, and square_kronecker_mod().

00059                                               {
00060   square_kronecker_mod ((I*) (void*) dest,
00061                         (const I*) (const void*) s, n, 
00062                         * C::get_modulus()); 
00063 }

void square_kronecker ( integer *  dest,
const integer *  src1,
nat  n1 
)

Definition at line 169 of file kronecker_integer.cpp.

References decode_kronecker(), encode_kronecker(), max_bit_size(), and square().

00169                                                             {
00170   if (n == 0) return;
00171   for (nat i= 0; i < 2 * n - 1; i++) dest[i]= 0;
00172   while (n > 0 && src[n-1] == 0) n--;
00173   if (n == 0) return;
00174   if (n == 1) { dest[0]= square (src[0]); return; }
00175 
00176   xnat bits1= max_bit_size (src, n);
00177   xnat bits = (bits1 << 1) + bit_size (integer (n)) + 1;
00178 
00179   integer aux1;
00180   encode_kronecker (aux1, src, n, bits);
00181   integer aux= square (aux1);
00182   decode_kronecker (dest, n+n-1, bits, aux);
00183 }

void square_kronecker ( unsigned long long int *  dest,
const unsigned long long int *  src1,
nat  n1 
)

Definition at line 221 of file kronecker_int.cpp.

void square_kronecker ( long long int *  dest,
const long long int *  src1,
nat  n1 
)

Definition at line 220 of file kronecker_int.cpp.

void square_kronecker ( unsigned long int *  dest,
const unsigned long int *  src1,
nat  n1 
)

Definition at line 219 of file kronecker_int.cpp.

void square_kronecker ( long int *  dest,
const long int *  src1,
nat  n1 
)

Definition at line 218 of file kronecker_int.cpp.

void square_kronecker ( unsigned int *  dest,
const unsigned int *  src1,
nat  n1 
)

Definition at line 217 of file kronecker_int.cpp.

void square_kronecker ( int *  dest,
const int *  src1,
nat  n1 
)

Definition at line 216 of file kronecker_int.cpp.

void square_kronecker ( unsigned short int *  dest,
const unsigned short int *  src1,
nat  n1 
)

Definition at line 215 of file kronecker_int.cpp.

void mmx::square_kronecker ( short int *  dest,
const short int *  src1,
nat  n1 
)
void square_kronecker ( unsigned char *  dest,
const unsigned char *  src1,
nat  n1 
)

Definition at line 213 of file kronecker_int.cpp.

void square_kronecker ( signed char *  dest,
const signed char *  src1,
nat  n1 
)
static void mmx::square_kronecker_int ( I *  dest,
const I *  src,
nat  n 
) [inline, static]

Definition at line 194 of file kronecker_int.cpp.

References decode_kronecker(), encode_kronecker(), I, and square().

00194                                                     {
00195   if (n == 0) return;
00196   for (nat i= 0; i < 2 * n - 1; i++) dest[i]= 0;
00197   while (n > 0 && src[n-1] == 0) n--;
00198   if (n == 0) return;
00199   if (n == 1) { dest[0]= square (src[0]); return; }
00200 
00201   xnat bits= 16 * sizeof (I) + bit_size (n);
00202   integer aux1;
00203   encode_kronecker (aux1, src, n, bits);
00204   integer aux= square (aux1);
00205   decode_kronecker (dest, 2*n - 1, bits, aux);
00206 }

void square_kronecker_mod ( unsigned long long int *  dest,
const unsigned long long int *  src1,
nat  n1,
const unsigned long long int &  p 
)

Definition at line 160 of file kronecker_modular_int.cpp.

void square_kronecker_mod ( long long int *  dest,
const long long int *  src1,
nat  n1,
const long long int &  p 
)

Definition at line 159 of file kronecker_modular_int.cpp.

void square_kronecker_mod ( unsigned long int *  dest,
const unsigned long int *  src1,
nat  n1,
const unsigned long int &  p 
)

Definition at line 158 of file kronecker_modular_int.cpp.

void square_kronecker_mod ( long int *  dest,
const long int *  src1,
nat  n1,
const long int &  p 
)

Definition at line 157 of file kronecker_modular_int.cpp.

void square_kronecker_mod ( unsigned int *  dest,
const unsigned int *  src1,
nat  n1,
const unsigned int &  p 
)

Definition at line 156 of file kronecker_modular_int.cpp.

void square_kronecker_mod ( int *  dest,
const int *  src1,
nat  n1,
const int &  p 
)

Definition at line 155 of file kronecker_modular_int.cpp.

void square_kronecker_mod ( unsigned short int *  dest,
const unsigned short int *  src1,
nat  n1,
const unsigned short int &  p 
)

Definition at line 154 of file kronecker_modular_int.cpp.

void square_kronecker_mod ( short int *  dest,
const short int *  src1,
nat  n1,
const short int &  p 
)

Definition at line 153 of file kronecker_modular_int.cpp.

void square_kronecker_mod ( unsigned char *  dest,
const unsigned char *  src1,
nat  n1,
const unsigned char &  p 
)

Definition at line 152 of file kronecker_modular_int.cpp.

void square_kronecker_mod ( signed char *  dest,
const signed char *  src1,
nat  n1,
const signed char &  p 
)

Definition at line 151 of file kronecker_modular_int.cpp.

Referenced by square_kronecker().

static void mmx::square_kronecker_mod_int ( I *  dest,
const I *  src,
nat  n,
const I &  p 
) [inline, static]

Definition at line 134 of file kronecker_modular_int.cpp.

References decode_kronecker_mod(), encode_kronecker(), and square().

00134                                                                     {
00135   if (n == 0) return;
00136   for (nat i= 0; i < 2 * n - 1; i++) dest[i]= 0;
00137   while (n > 0 && src[n-1] == 0) n--;
00138   if (n == 0) return;
00139   if (n == 1) { dest[0]= square (src[0]); return; }
00140 
00141   xnat bits= 2 * bit_size (p-1) + bit_size (n);
00142   integer aux1;
00143   encode_kronecker (aux1, src, n, bits);
00144   integer aux= square (aux1);
00145   decode_kronecker_mod (dest, 2*n - 1, bits, aux, p);
00146 }

mmx::STRICT_COMPARE_SUGAR ( template< typename C, typename V >  ,
matrix< C, V >   
)
mmx::STYPE_TO_TYPE ( template< typename C, typename V, typename W >  ,
as_vector_type  ,
series< vector< C, W >, V >  ,
vector< series< C, V >, W >   
)
mmx::STYPE_TO_TYPE ( template< typename C, typename V, typename U >  ,
as_matrix_type  ,
series< matrix< C, U >, V >  ,
matrix< series< C, V >, U >   
)
mmx::STYPE_TO_TYPE ( template< typename C, typename V >  ,
monomial_type  ,
polynomial< C, V >  ,
nat   
)
mmx::STYPE_TO_TYPE ( template< typename C, typename V >  ,
scalar_type  ,
polynomial< C, V >  ,
 
)
mmx::STYPE_TO_TYPE ( template< typename C, typename V >  ,
scalar_type  ,
matrix< C, V >  ,
 
)
mmx::STYPE_TO_TYPE ( template< typename C, typename Extension >  ,
scalar_type  ,
algebraic< C, Extension >  ,
 
)
polynomial<C,V> mmx::subresultant ( const polynomial< C, V > &  P,
const polynomial< C, V > &  Q,
int  k 
) [inline]

Definition at line 988 of file polynomial.hpp.

References C, CF(), deg(), max(), min(), Polynomial, and promote().

00988                                                                {
00989   typedef implementation<polynomial_subresultant,V> Pol;
00990   if (k < 0) return promote (0, P);
00991   int n= deg (P), m= deg (Q);
00992   nat l= max (min (n, m), 0);
00993   ASSERT ((nat) k < l, "index out of range");
00994   Polynomial d;
00995   C zero= promote (0, CF(P)), one= promote (1, CF(P));
00996   vector<Polynomial>
00997     res (Polynomial (zero), l),
00998     co_P (Polynomial (zero), 0),
00999     co_Q (Polynomial (zero), 0);
01000   res [k]= Polynomial (one);
01001   Pol::subresultant_sequence (P, Q, res, co_P, co_Q,
01002                               d, d, d, d, d, d, 0);
01003   return res[k];
01004 }

polynomial<C,V> mmx::subresultant ( const polynomial< C, V > &  P,
const polynomial< C, V > &  Q,
int  k,
polynomial< C, V > &  coP 
) [inline]

Definition at line 967 of file polynomial.hpp.

References C, CF(), deg(), max(), min(), Polynomial, and promote().

00968                                {
00969   typedef implementation<polynomial_subresultant,V> Pol;
00970   int n= deg (P), m= deg (Q);
00971   nat l= max (min (n, m), 0);
00972   ASSERT (k < l, "index out of range");
00973   Polynomial d;
00974   C zero= promote (0, CF(P)), one= promote (1, CF(P));
00975   vector<Polynomial>
00976     res (Polynomial (zero), l),
00977     co_P (Polynomial (zero), l),
00978     co_Q (Polynomial (zero), 0); 
00979   res [k]= Polynomial (one);
00980   co_P[k]= Polynomial (one);
00981   Pol::subresultant_sequence (P, Q, res, co_P, co_Q,
00982                               d, d, d, d, d, d, 0);
00983   coP= co_P[k];
00984   return res[k];
00985 }

polynomial<C,V> mmx::subresultant ( const polynomial< C, V > &  P,
const polynomial< C, V > &  Q,
int  k,
polynomial< C, V > &  coP,
polynomial< C, V > &  coQ 
) [inline]

Definition at line 945 of file polynomial.hpp.

References C, CF(), deg(), max(), min(), Polynomial, and promote().

Referenced by GLUE_103(), GLUE_38(), GLUE_97(), implementation< polynomial_subresultant_base, V, polynomial_ring_naive< W > >::subresultant(), and implementation< polynomial_subresultant_base, V, polynomial_ring_naive< W > >::subresultant_sequence().

00946                                                 {
00947   typedef implementation<polynomial_subresultant,V> Pol;
00948   int n= deg (P), m= deg (Q);
00949   nat l= max (min (n, m), 0);
00950   ASSERT (k < l, "index out of range");
00951   C zero= promote (0, CF(P)), one= promote (1, CF(P));
00952   Polynomial d; 
00953   vector<Polynomial>
00954     res (Polynomial (zero), l),
00955     co_P (Polynomial (zero), l),
00956     co_Q (Polynomial (zero), l); 
00957   res [k]= Polynomial (one);
00958   co_P[k]= Polynomial (one);
00959   co_Q[k]= Polynomial (one);
00960   Pol::subresultant_sequence (P, Q, res, co_P, co_Q,
00961                               d, d, d, d, d, d, 0);
00962   coP= co_P[k]; coQ= co_Q[k];
00963   return res[k];
00964 }

vector< polynomial<C,V> > mmx::subresultants ( const polynomial< C, V > &  P,
const polynomial< C, V > &  Q 
) [inline]

Definition at line 930 of file polynomial.hpp.

References C, CF(), deg(), max(), min(), Polynomial, and promote().

00930                                                          {
00931   typedef implementation<polynomial_subresultant,V> Pol;
00932   int n= deg (P), m= deg (Q); nat l= max (min (n, m), 0);
00933   Polynomial d;
00934   C zero= promote (0, CF(P)), one= promote (1, CF(P));
00935   vector<Polynomial>
00936     res (Polynomial(one), l),
00937     co_P (Polynomial (zero), 0),
00938     co_Q (Polynomial (zero), 0); 
00939   Pol::subresultant_sequence (P, Q, res, co_P, co_Q,
00940                               d, d, d, d, d, d, 0);
00941   return res;
00942 }

vector< polynomial<C,V> > mmx::subresultants ( const polynomial< C, V > &  P,
const polynomial< C, V > &  Q,
vector< polynomial< C, V > > &  co_P 
) [inline]

Definition at line 916 of file polynomial.hpp.

References C, CF(), deg(), max(), min(), Polynomial, and promote().

00917                                          {
00918   typedef implementation<polynomial_subresultant,V> Pol;
00919   int n= deg (P), m= deg (Q); nat l= max (min (n, m), 0);
00920   Polynomial d;
00921   C zero= promote (0, CF(P)), one= promote (1, CF(P));
00922   vector<Polynomial> res (Polynomial (one), l), co_Q (Polynomial (zero), 0); 
00923   co_P= vector<Polynomial> (Polynomial (one), l);
00924   Pol::subresultant_sequence (P, Q, res, co_P, co_Q,
00925                               d, d, d, d, d, d, 0);
00926   return res;
00927 }

vector< polynomial<C,V> > mmx::subresultants ( const polynomial< C, V > &  P,
const polynomial< C, V > &  Q,
vector< polynomial< C, V > > &  co_P,
vector< polynomial< C, V > > &  co_Q 
) [inline]

Definition at line 902 of file polynomial.hpp.

References C, CF(), deg(), max(), min(), Polynomial, and promote().

Referenced by wrap_subresultants().

00903                                                                    {
00904   typedef implementation<polynomial_subresultant,V> Pol;
00905   int n= deg (P), m= deg (Q); nat l= max (min (n, m), 0);
00906   C one= promote (1, CF(P));
00907   Polynomial d; vector<Polynomial> res (Polynomial (one), l);
00908   co_P= vector<Polynomial> (Polynomial (one), l);
00909   co_Q= vector<Polynomial> (Polynomial (one), l); 
00910   Pol::subresultant_sequence (P, Q, res, co_P, co_Q,
00911                               d, d, d, d, d, d, 0);
00912   return res;
00913 }

unknown<C,V> mmx::substitute ( const unknown< C, V > &  c  )  [inline]

Definition at line 250 of file series_implicit.hpp.

References C, min(), and UC.

Referenced by solver_series_rep< C, V >::next(), subst_mul_series_rep< C, V, UV >::next(), known_series_rep< C, V, UV >::next(), and operator*().

00250                          {
00251   //mmerr << "    substitute " << c << "\n";
00252   if (c->i1 == c->i2 || c->i1 >= c->f->n * c->f->m) return c;
00253   nat i1= min (c->f->n * c->f->m, c->i2);
00254   nat d= i1 - c->i1;
00255   nat n= c->i2 - i1;
00256   C*  s= mmx_new<C> (n);
00257   C   b= c->b;
00258   for (nat i=0; i<d; i++) {
00259     nat k= (i + c->i1) / c->f->m;
00260     nat j= (i + c->i1) % c->f->m;
00261     b += c->s[i] * c->f->a[k][j];
00262   }
00263   for (nat i=0; i<n; i++)
00264     s[i]= c->s[i + d];
00265   return UC (c->f, b, s, i1, c->i2);
00266 }

void mmx::swap_col ( matrix< C, V > &  m,
nat  i,
nat  j 
) [inline]

Definition at line 1066 of file matrix.hpp.

References cols(), is_non_scalar(), rows(), and tab().

01066                                    {
01067   typedef implementation<matrix_linear,V> Mat;
01068   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01069   nat mrows= rows (m), mcols= cols (m);
01070   ASSERT (i < mcols && j < mcols, "out of range");
01071   Mat::col_swap (tab (m), i, j, mrows, mcols);
01072 }

void mmx::swap_row ( matrix< C, V > &  m,
nat  i,
nat  j 
) [inline]

Definition at line 1057 of file matrix.hpp.

References cols(), is_non_scalar(), rows(), and tab().

01057                                    {
01058   typedef implementation<matrix_linear,V> Mat;
01059   ASSERT (is_non_scalar (m), "non-scalar matrix expected");
01060   nat mrows= rows (m), mcols= cols (m);
01061   ASSERT (i < mrows && j < mrows, "out of range");
01062   Mat::row_swap (tab (m), i, j, mrows, mcols);
01063 }

const C * tab ( const matrix< C, V > &  m  )  [inline]

Definition at line 195 of file matrix.hpp.

00195 { return m->a; }

C * tab ( matrix< C, V > &  m  )  [inline]
quotient_series<Series,Monomial> mmx::tail ( const quotient_series< Series, Monomial > &  f,
const list< Monomial > &  l 
) [inline]

Definition at line 126 of file quotient_series.hpp.

References Quotient_series.

Referenced by nrelax_mul_series_rep< C, V >::direct_transform(), level_info< C >::level_info(), and level_info< C >::~level_info().

00126                                                                      {
00127   return Quotient_series (tail (f->f, stair_mul (1/f->m, l)), f->m); }

series<C,V> mmx::tan ( const series< C, V > &  f  )  [inline]

Definition at line 124 of file series_elementary.hpp.

Referenced by GLUE_25(), GLUE_42(), and GLUE_69().

00124                       {
00125   return unary_recursive_series<tan_op> (f);
00126 }

matrix<C> mmx::tensor_matrix ( const vector< C > &  v,
const vector< C > &  w 
) [inline]

Definition at line 814 of file matrix.hpp.

References CF(), is_non_scalar(), N(), and promote().

Referenced by GLUE_45(), GLUE_51(), and GLUE_90().

00814                                                        {
00815   ASSERT (is_non_scalar (v), "non-scalar vector expected");
00816   ASSERT (is_non_scalar (w), "non-scalar vector expected");
00817   matrix<C> m (promote (0, CF(v)), N(v), N(w));
00818   for (nat i=0; i<N(v); i++)
00819     for (nat j=0; j<N(w); j++)
00820       m (i, j)= v[i] * w[j];
00821   return m;
00822 }

series<C,V> mmx::ternary_scalar_series ( const series< C, V > &  f,
const X &  x,
const Y &  y 
) [inline]

Definition at line 564 of file series.hpp.

References Series_rep.

00564                                                                 {
00565   typedef implementation<series_scalar_abstractions,V> Ser;
00566   typedef typename Ser::template ternary_scalar_series_rep<Op,C,V,X,Y>
00567     Ternary_rep;
00568   return (Series_rep*) new Ternary_rep (f, x, y);
00569 }

polynomial<C,typename polynomial_variant_helper< C >::PV > mmx::tevaluate ( const vector< C > &  v,
const vector< C > &  x,
nat  l 
) [inline]

Definition at line 1210 of file polynomial.hpp.

01210                                                     {
01211   return tevaluate_bis<C,typename Polynomial_variant(C) > (v, x, l);
01212 }

polynomial<C,typename polynomial_variant_helper< C >::PV > mmx::tevaluate ( const C &  v,
const C &  x,
nat  n 
) [inline]

Definition at line 1188 of file polynomial.hpp.

Referenced by implementation< polynomial_evaluate, V, polynomial_naive >::tevaluate(), and tevaluate_bis().

01188                                           {
01189   return tevaluate_bis<C,typename Polynomial_variant(C) > (v, x, n);
01190 }

polynomial<C,V> mmx::tevaluate_bis ( const vector< C > &  v,
const vector< C > &  x,
nat  l 
) [inline]

Definition at line 1204 of file polynomial.hpp.

01204                                                         {
01205   typedef implementation<polynomial_evaluate,V> Pol;
01206   return Pol::template tevaluate<Polynomial> (v, x, l);
01207 }

polynomial<C,V> mmx::tevaluate_bis ( const C &  v,
const C &  x,
nat  n 
) [inline]

Definition at line 1179 of file polynomial.hpp.

References C, Polynomial, and tevaluate().

01179                                               {
01180   typedef implementation<polynomial_evaluate,V> Pol;
01181   nat l= aligned_size<C,V> (n);
01182   C* buf= mmx_formatted_new<C> (l, get_format (v));
01183   Pol::tevaluate (v, buf, x, n);
01184   return Polynomial (buf, n, l, get_format (v));
01185 }

algebraic_number mmx::times_i ( const algebraic_number &  z  )  [inline]

Definition at line 397 of file algebraic_number.hpp.

Referenced by gaussian(), GLUE_76(), and primitive_root_helper< C >::op().

00397                                     {
00398   return z * imaginary_cst<algebraic_number> ();
00399 }

vector<C> mmx::tinterpolate ( const polynomial< C, V > &  p,
const vector< C > &  x 
) [inline]

Definition at line 1226 of file polynomial.hpp.

Referenced by implementation< polynomial_evaluate, V, polynomial_naive >::tinterpolate().

01226                                                     {
01227   typedef implementation<polynomial_evaluate,V> Pol;
01228   return Pol::tinterpolate (p, x);
01229 }

polynomial<C,V> mmx::tmul ( int  d2,
const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Transposed multiplication. The returned polynomial has degree at most d2.

Definition at line 524 of file polynomial.hpp.

References C, CF(), copy(), max(), N(), Polynomial, and seg().

Referenced by implementation< polynomial_multiply, V, polynomial_kronecker< W > >::tmul(), implementation< polynomial_multiply, V, polynomial_karatsuba< W > >::tmultiply(), implementation< polynomial_divide, V, polynomial_ring_dicho_inc< W > >::tquo_rem(), and implementation< polynomial_divide, V, polynomial_dicho< BV > >::tquo_rem().

00524                                                           {
00525   typedef implementation<polynomial_multiply,V> Pol;
00526   nat n2 = max (0, d2 + 1), n1= N(P1), n= N(P2);
00527   if (n1 == 0 || n2 == 0) return Polynomial (CF(P1));
00528   ASSERT (n < n1 + n2, "bad dimension in tmul");
00529   nat l2= aligned_size<C,V> (n2);
00530   C* r= mmx_formatted_new<C> (l2, CF(P1));
00531   if (n != n1 + n2 - 1) {
00532     nat l= aligned_size<C,V> (n1+n2-1);
00533     C* s2= mmx_formatted_new<C> (l, CF(P1));
00534     Pol::copy (s2, seg (P2), n);
00535     Pol::clear (s2 + n, n1+n2-n-1);
00536     Pol::tmul (r, seg (P1), s2, n1, n2);
00537     mmx_delete<C> (s2, l);
00538   }
00539   else
00540     Pol::tmul (r, seg (P1), seg (P2), n1, n2);
00541   return Polynomial (r, n2, l2, CF(P1));
00542 }

series< modular<modulus<Lift_type(M)>, modular_global_series_carry_monoblock <M,s,BV> > ,BV> mmx::to_monoblock ( const series< M, V > &  f,
const series_carry_monoblock_transformer< M, V, s, BV > &  blocker 
) [inline]
matrix<C> mmx::toeplitz_matrix ( const vector< C > &  v  )  [inline]

Definition at line 854 of file matrix.hpp.

References CF(), N(), and promote().

Referenced by GLUE_43(), GLUE_49(), GLUE_80(), and GLUE_88().

00854                                      {
00855   ASSERT ((N(v)&1) == 1, "odd dimension expected");
00856   nat n= (N(v) >> 1) + 1;
00857   matrix<C> m (promote (0, CF(v)), n, n);
00858   for (nat i=0; i<n; i++)
00859     for (nat j=0; j<n; j++)
00860       m (i, j)= v [n-1 + i-j];
00861   return m;
00862 }

polynomial<C,V> mmx::tquo ( int  d1,
const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Transposed quotient in the division in degree d1 by P2.

Definition at line 653 of file polynomial.hpp.

References C, CF(), copy(), max(), N(), Polynomial, and seg().

00653                                                           {
00654   typedef implementation<polynomial_divide,V> Pol;
00655   nat n1= max (0, d1+1), n= N(P1), n2= N(P2);
00656   ASSERT (n <= n1-n2+1, "bad dimension in tquo");
00657   if (n1 < n2 || n2 == 0) return Polynomial (CF(P1));
00658   nat l= aligned_size<C,V> (n1);
00659   C* q= mmx_formatted_new<C> (l, CF(P1));
00660   C* r= mmx_formatted_new<C> (l, CF(P1));
00661   Pol::clear (r, n1);
00662   Pol::copy  (r+n2-1, seg (P1), n);
00663   Pol::tquo_rem (q, r, seg (P2), n1, n2);
00664   mmx_delete<C> (r, l);
00665   return Polynomial (q, n1, l, CF(P1));
00666 }

matrix<C,V> mmx::transpose ( const matrix< C, V > &  m  )  [inline]

Definition at line 918 of file matrix.hpp.

References CF(), cols(), is_a_scalar(), Matrix, rows(), and tab().

Referenced by GLUE_12(), GLUE_13(), GLUE_42(), GLUE_75(), join(), and row_echelon().

00918                              {
00919   typedef implementation<matrix_linear,V> Mat;
00920   if (is_a_scalar (m)) return m;
00921   nat nrows= rows (m), ncols= cols (m);
00922   nat l= aligned_size<C,V> (nrows * ncols);
00923   C*  r= mmx_formatted_new<C> (l, CF(m));
00924   Mat::transpose (r, tab (m), nrows, ncols);
00925   return Matrix (r, ncols, nrows, CF(m));
00926 }

permutation transposition ( nat  i,
nat  j,
nat  n 
)

Definition at line 20 of file permutation.cpp.

References id_vector().

Referenced by GLUE_3().

00020                                     {
00021   vector<nat> v= id_vector (n);
00022   v[i]= j;
00023   v[j]= i;
00024   return permutation (v);
00025 }

polynomial<C,V> mmx::trem ( int  d1,
const polynomial< C, V > &  P1,
const polynomial< C, V > &  P2 
) [inline]

Transposed remainder in the division in degree d1 by P2.

Definition at line 706 of file polynomial.hpp.

References C, CF(), copy(), max(), N(), Polynomial, and seg().

00706                                                           {
00707   typedef implementation<polynomial_divide,V> Pol;
00708   nat n1= max (0, d1+1), n= N(P1), n2= N(P2);
00709   ASSERT (n <= n2-1, "bad dimension in trem");
00710   if (n1 < n2 || n2 == 0) return P1;
00711   nat l= aligned_size<C,V> (n1);
00712   C* q= mmx_formatted_new<C> (l, CF(P1));
00713   C* r= mmx_formatted_new<C> (l, CF(P1));
00714   Pol::copy  (r, seg (P1), n);
00715   Pol::clear (r+n, n1-n);
00716   Pol::tquo_rem (q, r, seg (P2), n1, n2);
00717   mmx_delete<C> (r, l);
00718   return Polynomial (q, n1, l, CF(P1));
00719 }

series<C,V> series<C,V> series<vector<C,W>,V> mmx::trig ( const series< vector< C, W >, V > &  f  )  [inline]
Type Constraints

Definition at line 104 of file series_elementary.hpp.

Referenced by cos_sin().

00104                                       {
00105   return unary_recursive_series<trig_op> (f);
00106 }

Extension mmx::trivial_extension ( const format< C > &  fm  )  [inline]

Definition at line 54 of file algebraic.hpp.

References trivial_extension_helper< FT, C, Extension >::ext().

00054                                         {
00055   typedef typename format<C>::FT FT;
00056   return trivial_extension_helper<FT,C,Extension>::ext (fm);
00057 }

Extension mmx::trivial_extension (  )  [inline]

Definition at line 48 of file algebraic.hpp.

References trivial_extension_helper< FT, C, Extension >::ext().

00048                      {
00049   typedef typename format<C>::FT FT;
00050   return trivial_extension_helper<FT,C,Extension>::ext ();
00051 }

mmx::TRUE_IDENTITY_OP_SUGAR ( template< typename C, typename V >  ,
unknown< C, V >   
)
mmx::TRUE_IDENTITY_OP_SUGAR ( template< typename C, typename V >  ,
polynomial< C, V >   
)
mmx::TRUE_IDENTITY_OP_SUGAR ( template< typename C, typename V >  ,
matrix< C, V >   
)
polynomial<C,V> mmx::truncate ( const polynomial< C, V > &  p,
nat  sigma 
) [inline]

Definition at line 1272 of file series.hpp.

References range().

01272 { return range (p, 0, sigma); }

polynomial<C, typename series_polynomial_helper<C,V>::PV> mmx::truncate ( const series< C, V > &  f,
nat  n 
) [inline]

Definition at line 234 of file series.hpp.

References C, CF(), and Polynomial.

00234                                   {
00235   typedef typename series_polynomial_helper<C,V>::PV PV;
00236   nat l= aligned_size<C,PV> (n);
00237   C* coeffs= mmx_formatted_new<C> (l, CF(f));
00238   if (n>0) (void) f[n-1];
00239   for (nat i=0; i<n; i++) coeffs[i]= f[i];
00240   return Polynomial (coeffs, n, l, CF(f));
00241 }

matrix<Truncate_type(C)> mmx::truncate ( const matrix< C, V > &  v,
nat  n 
) [inline]
series<C,V> mmx::truncate_mul ( const series< C, V > &  f,
const series< C, V > &  g,
nat  nf,
nat  ng 
) [inline]

Definition at line 1102 of file series.hpp.

Referenced by truncate_mul_monoblock_series_rep< M, V, s, BV, t >::Increase_order(), mul_series_rep< M, V >::mul_series_rep(), truncate_mul_monoblock_series_rep< M, V, s, BV, t >::truncate_mul_monoblock_series_rep(), and truncate_mul_series_rep< M, V >::truncate_mul_series_rep().

01102                                                                 {
01103   // Product of the only nf first terms of f by the ng first ones of g
01104   typedef implementation<series_multiply,V> Ser;
01105   return Ser::ser_truncate_mul (f, g, nf, ng);
01106 }

series<M,V> mmx::truncate_mul_monoblock_series ( const series< M, V > &  f,
const series< M, V > &  g,
nat  nf,
nat  ng 
) [inline]

Definition at line 271 of file series_carry_blocks.hpp.

References Series_rep.

00272                                                {
00273   typedef truncate_mul_monoblock_series_rep<M,V,s,BV,t> Mul_rep;
00274   return (Series_rep*) new Mul_rep (f, g, nf, ng); }

nat mmx::unary_hash ( const unknown< C, V > &  c  )  [inline]

Definition at line 125 of file series_implicit.hpp.

00125                          {
00126   register nat i, h= 78460;
00127   if (c->i1 == c->i2) return Op::op (c->b) ^ h;
00128   h += (c->i1 << 3) ^ Op::op (c->b);
00129   for (i=0; i<c->i2 - c->i1; i++)
00130     h= (h<<1) ^ (h<<5) ^ (h>>27) ^ Op::op (c->s[i]);
00131   return h;
00132 }

V nat mmx::unary_hash ( const series< C, V > &  s  ) 
Type Constraints

Definition at line 283 of file series.hpp.

00283                              {
00284   register nat i, h= 7531;
00285   for (i=0; i< Series::get_cancel_order (); i++)
00286     h= (h<<1) ^ (h<<5) ^ (h>>27) ^ Op::op (s[i]);
00287   return h;
00288 }

nat mmx::unary_hash ( const polynomial< C, V > &  p  )  [inline]

Definition at line 274 of file polynomial.hpp.

References N().

00274                                  {
00275   register nat i, h= 642531, n= N(p);
00276   for (i=0; i<n; i++)
00277     h= (h<<1) ^ (h<<5) ^ (h>>27) ^ Op::op (p[i]);
00278   return h;
00279 }

nat mmx::unary_hash ( const matrix< C, V > &  m  )  [inline]

Definition at line 414 of file matrix.hpp.

References cols(), and rows().

00414                                   {
00415   register nat i, j, h= 214365, nr= rows (m), nc= cols (m);
00416   for (i=0; i<nr; i++)
00417     for (j=0; j<nc; j++)
00418       h= (h<<1) ^ (h<<5) ^ (h>>27) ^ Op::op (m (i, j));
00419   return h;
00420 }

polynomial<Unary_return_type(Op,C),V> mmx::unary_map ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1345 of file polynomial.hpp.

References C, CF(), N(), seg(), and Unary_return_type().

01345                                      {
01346   typedef implementation<vector_linear,V> Vec;
01347   typedef Unary_return_type(Op,C) T;
01348   nat n= N(p);
01349   nat l= aligned_size<T,V> (n);
01350   format<T> fm= unary_map<Op> (CF(p));
01351   T* r= mmx_formatted_new<T> (l, fm);
01352   Vec::template vec_unary<Op> (r, seg (p), n);
01353   return polynomial<T,V> (r, n, l, fm);
01354 }

matrix<Unary_return_type(Op,C),V> mmx::unary_map ( const matrix< C, V > &  m  )  [inline]

Definition at line 424 of file matrix.hpp.

References C, CF(), cols(), is_a_scalar(), rows(), matrix< C, V >::scalar(), tab(), and Unary_return_type().

00424                                  {
00425   typedef implementation<vector_linear,V> Vec;
00426   typedef Unary_return_type(Op,C) T;
00427   format<T> fm= unary_map<Op> (CF(m));
00428   if (is_a_scalar (m)) return matrix<T,V> (Op::op (m.scalar()));
00429   nat nrows= rows (m);
00430   nat ncols= cols (m);
00431   nat l= aligned_size<T,V> (nrows * ncols);
00432   T*  r= mmx_formatted_new<T> (l, fm);
00433   Vec::template vec_unary<Op> (r, tab (m), nrows*ncols);
00434   return matrix<T,V> (r, nrows, ncols, fm);
00435 }

series<C,V> mmx::unary_map_as ( const series< S, SV > &  f  )  [inline]

Definition at line 576 of file series.hpp.

References Series_rep.

00576                                      {
00577   typedef implementation<series_map_as_abstractions,V> Ser;
00578   typedef typename Ser::
00579     template unary_map_as_series_rep<Op,C,V,S,SV> Map_as_rep;
00580   return (Series_rep*) new Map_as_rep (f);
00581 }

series<M,V> mmx::unary_polynomial_recursive_monoblock_series ( const polynomial< L > &  P,
const M &  init 
) [inline]

Definition at line 324 of file series_carry_blocks.hpp.

References Series_rep.

00325                                                             {
00326   typedef unary_polynomial_recursive_monoblock_series_rep<Op,M,V,s,BV,t,L> 
00327     Op_rep;
00328   return (Series_rep*) new Op_rep (P, init); }

series<M,V> mmx::unary_polynomial_recursive_monoblock_series ( const polynomial< L > &  P  )  [inline]

Definition at line 317 of file series_carry_blocks.hpp.

References Series_rep.

Referenced by implementation< series_polynomial_regular_root, U, series_carry_monoblock< W, s, BV, t > >::pol_root(), and implementation< series_polynomial_regular_root, U, series_carry_monoblock< W, s, BV, t > >::pol_root_init().

00317                                                                      {
00318   typedef unary_polynomial_recursive_monoblock_series_rep<Op,M,V,s,BV,t,L> 
00319     Op_rep;
00320   return (Series_rep*) new Op_rep (P); }

series<C,V> mmx::unary_polynomial_recursive_series ( const polynomial< L > &  P,
const C &  init 
) [inline]

Definition at line 677 of file series.hpp.

References recursive(), Series, and Series_rep.

00677                                                                           {
00678   typedef implementation<series_recursive_abstractions,V> Ser;
00679   typedef typename Ser::
00680     template unary_polynomial_recursive_series_rep<Op,C,V,L> Unary;
00681   Series_rep* rep= new Unary (P, init);
00682   return recursive (Series (rep));
00683 }

series<C,V> mmx::unary_polynomial_recursive_series ( const polynomial< L > &  P  )  [inline]

Definition at line 668 of file series.hpp.

References recursive(), Series, and Series_rep.

Referenced by implementation< series_polynomial_regular_root, U, series_carry_naive >::pol_root().

00668                                                            {
00669   typedef implementation<series_recursive_abstractions,V> Ser;
00670   typedef typename Ser::
00671     template unary_polynomial_recursive_series_rep<Op,C,V,L> Unary;
00672   Series_rep* rep= new Unary (P);
00673   return recursive (Series (rep));
00674 }

series<C,V> mmx::unary_recursive_series ( const series< C, V > &  f,
const C &  c 
) [inline]

Definition at line 634 of file series.hpp.

References recursive(), Series, and Series_rep.

00634                                                      {
00635   typedef implementation<series_recursive_abstractions,V> Ser;
00636   typedef typename Ser::template unary_recursive_series_rep<Op,C,V> Unary;
00637   Series_rep* rep= new Unary (f, c);
00638   return recursive (Series (rep));
00639 }

series<C,V> mmx::unary_recursive_series ( const series< C, V > &  f  )  [inline]

Definition at line 626 of file series.hpp.

References recursive(), Series, and Series_rep.

00626                                          {
00627   typedef implementation<series_recursive_abstractions,V> Ser;
00628   typedef typename Ser::template unary_recursive_series_rep<Op,C,V> Unary;
00629   Series_rep* rep= new Unary (f);
00630   return recursive (Series (rep));
00631 }

mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
complete_op  ,
quotient< polynomial< C, V >, polynomial< C, V > >  ,
series< C >   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
complete_op  ,
polynomial< C, V >  ,
series< C >   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
complete_op  ,
series< C, V >  ,
series< C, V >   
)
mmx::UNARY_RETURN_TYPE ( template< typename NT, typename DT >  ,
denominator_op  ,
quotient< NT, DT >  ,
DT   
)
mmx::UNARY_RETURN_TYPE ( template< typename NT, typename DT >  ,
numerator_op  ,
quotient< NT, DT >  ,
NT   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
reconstruct_op  ,
polynomial< C, V >  ,
polynomial< Reconstruct_type(C)>   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
project_op  ,
polynomial< C, V >  ,
polynomial< Project_type(C)>   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
lift_op  ,
polynomial< C, V >  ,
polynomial< Lift_type(C)>   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
radius_op  ,
polynomial< C, V >  ,
polynomial< Radius_type(C), V >   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
center_op  ,
polynomial< C, V >  ,
polynomial< Center_type(C), V >   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
abs_op  ,
polynomial< C, V >  ,
polynomial< Abs_type(C), V >   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
Re_op  ,
polynomial< C, V >  ,
polynomial< Real_type(C), V >   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V, typename MoV, typename MaV >  ,
reconstruct_op  ,
modular< modulus< polynomial< C, V >, MoV >, MaV >  ,
quotient< polynomial< C, V >, polynomial< C, V > >   
)
Unary_return_type ( Op  ,
 
) const [inline]

Referenced by unary_map().

mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
complete_op  ,
matrix< C, V >  ,
matrix< Complete_type(C)>   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
reconstruct_op  ,
matrix< C, V >  ,
matrix< Reconstruct_type(C)>   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
project_op  ,
matrix< C, V >  ,
matrix< Project_type(C)>   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
lift_op  ,
matrix< C, V >  ,
matrix< Lift_type(C)>   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
radius_op  ,
matrix< C, V >  ,
matrix< Radius_type(C), V >   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
center_op  ,
matrix< C, V >  ,
matrix< Center_type(C), V >   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
Re_op  ,
matrix< C, V >  ,
matrix< Real_type(C), V >   
)
mmx::UNARY_RETURN_TYPE ( template< typename C, typename V >  ,
abs_op  ,
matrix< C, V >  ,
matrix< Abs_type(C), V >   
)
mmx::UNARY_RETURN_TYPE ( STMPL  ,
abs_op  ,
algebraic_number  ,
algebraic_real   
)
mmx::UNARY_RETURN_TYPE ( STMPL  ,
Re_op  ,
algebraic_number  ,
algebraic_real   
)
series<C,V> mmx::unary_series ( const series< C, V > &  f  )  [inline]

Definition at line 690 of file series.hpp.

References Series_rep.

00690                                {
00691   typedef implementation<series_abstractions,V> Ser;
00692   typedef typename Ser::template unary_series_rep<Op,C,V> Unary;
00693   return (Series_rep*) new Unary (f);
00694 }

matrix<T,V>& mmx::unary_set ( matrix< T, V > &  m,
const matrix< C, V > &  n 
) [inline]

Definition at line 481 of file matrix.hpp.

References cols(), extend(), is_a_scalar(), is_non_scalar(), rows(), matrix< C, V >::scalar(), and tab().

00481                                                  {
00482   typedef implementation<vector_linear,V> Vec;
00483   if (is_a_scalar (m) || is_a_scalar (n)) {
00484     if (is_non_scalar (m))
00485       return unary_set<Op> (m, extend (n, m));
00486     else if (is_non_scalar (n))
00487       m= extend (m, n);
00488     else {
00489       Op::set_op (m.scalar(), n.scalar());
00490       return m;
00491     }
00492   }
00493   nat nrows= rows (m);
00494   nat ncols= cols (m);
00495   ASSERT (rows (n) == nrows, "unequal number of rows");
00496   ASSERT (cols (n) == ncols, "unequal number of columns");
00497   Vec::template vec_unary<Op> (tab (m), tab (n), nrows*ncols);
00498   return m;
00499 }

matrix<T,V>& mmx::unary_set_scalar ( matrix< T, V > &  m,
const X &  x 
) [inline]

Definition at line 502 of file matrix.hpp.

References cols(), is_a_scalar(), rows(), matrix< C, V >::scalar(), and tab().

00502                                               {
00503   typedef implementation<vector_linear,V> Vec;
00504   if (is_a_scalar (m)) {
00505     Op::set_op (m.scalar(), x);
00506     return m;
00507   }
00508   nat nrows= rows (m);
00509   nat ncols= cols (m);
00510   Vec::template vec_unary_scalar<Op> (tab (m), x, nrows*ncols);
00511   return m;
00512 }

series< unknown<C,V> > mmx::unknown_series ( solver_series_rep< C, V > *  f,
nat  k 
) [inline]

Definition at line 346 of file series_implicit.hpp.

References USeries_rep.

Referenced by solver_series_rep< C, V >::me().

00346                                       {
00347   return (USeries_rep*) new unknown_series_rep<C> (f, k);
00348 }

algebraic_number_extension<C,Ball> mmx::upgrade ( const algebraic_number_extension< C, Ball > &  ext1,
const algebraic_number_extension< C, Ball > &  ext2,
typename algebraic_number_extension< C, Ball >::El &  p1,
typename algebraic_number_extension< C, Ball >::El &  p2 
) [inline]

Definition at line 341 of file algebraic_number.hpp.

References compose(), Element, Field, hard_eq(), and join().

00341                                                                          {
00342   if (hard_eq (ext1, ext2)) return ext1;
00343   Element z1, z2;
00344   Field ext= join (ext1, ext2, z1, z2);
00345   if (!hard_eq (ext1, ext)) p1= compose (ext.ext, p1, z1);
00346   if (!hard_eq (ext2, ext)) p2= compose (ext.ext, p2, z2);
00347   return ext;
00348 }

algebraic_extension<C> mmx::upgrade ( const algebraic_extension< C > &  ext1,
const algebraic_extension< C > &  ext2,
typename algebraic_extension< C >::El &  p1,
typename algebraic_extension< C >::El &  p2 
) [inline]

Definition at line 295 of file algebraic_extension.hpp.

References CF(), compose(), Element, Extension, hard_eq(), join(), and promote().

00297 {
00298   if (hard_eq (ext1, ext2)) return ext1;
00299   Element z1= promote (0, CF(ext1)), z2= promote (0, CF(ext1));
00300   Extension ext= join (ext1, ext2, z1, z2);
00301   if (!hard_eq (ext1, ext)) p1= compose (ext, p1, z1);
00302   if (!hard_eq (ext2, ext)) p2= compose (ext, p2, z2);
00303   return ext;
00304 }

void mmx::upgrade ( algebraic< C, Extension > &  a1,
algebraic< C, Extension > &  a2 
) [inline]

Definition at line 170 of file algebraic.hpp.

References Algebraic, Element, Extension, field(), hard_neq(), and value().

Referenced by lcommon(), operator*(), operator+(), operator-(), operator/(), and rcommon().

00170                                        {
00171   if (hard_neq (field (a1), field (a2))) {
00172     Element p1= value (a1), p2= value (a2);
00173     Extension ext= upgrade (field (a1), field (a2), p1, p2);
00174     a1= Algebraic (ext, p1);
00175     a2= Algebraic (ext, p2);
00176   }
00177 }

polynomial<Center_type(C),V> mmx::upper ( const polynomial< C, V > &  p  )  [inline]

Definition at line 1466 of file polynomial.hpp.

01466                                                    {
01467   return unary_map<upper_op> (p); }

matrix<Center_type(C),V> mmx::upper ( const matrix< C, V > &  m  )  [inline]

Definition at line 783 of file matrix.hpp.

00783                                            {
00784   return unary_map<upper_op> (m); }

int mmx::val ( const series< C, V > &  f  )  [inline]

Definition at line 338 of file series.hpp.

00338                       {
00339   for (nat n=0; n< Series::get_cancel_order (); n++)
00340     if (f[n] != 0) return n;
00341   return (int) (((nat) (-1)) >> 1);
00342 }

int mmx::val ( const quotient_series< Series, Monomial > &  f,
const typename Series::variable_type &  v 
) [inline]

Definition at line 117 of file quotient_series.hpp.

References val().

00117                                                                   {
00118   return val (f->f, v) * f->m[v]; }

int mmx::val ( const polynomial< C, V > &  P  )  [inline]

Definition at line 361 of file polynomial.hpp.

References N().

Referenced by cols(), divides(), REP_STRUCT_1(), rows(), implementation< polynomial_subresultant_base, V, polynomial_naive >::subresultant_sequence(), and val().

00361                           {
00362   for (nat i=0; i<N(P); i++)
00363     if (P[i] != 0) return (int) i;
00364   return (int) (((nat) (-1)) >> 1);
00365 }

Extension::El mmx::value ( const algebraic< C, Extension > &  x  )  [inline]
matrix<C> mmx::vandermonde ( const vector< C > &  v  )  [inline]

Definition at line 834 of file matrix.hpp.

References CF(), is_non_scalar(), N(), and promote().

Referenced by GLUE_46(), GLUE_52(), GLUE_83(), and GLUE_91().

00834                                  {
00835   ASSERT (is_non_scalar (v), "non-scalar vector expected");
00836   matrix<C> m (promote (0, CF(v)), N(v), N(v));
00837   for (nat i=0; i<N(v); i++) {
00838     C p= promote (1, CF(v));
00839     for (nat j=0; j<N(v); j++, p *= v[i])
00840       m (i, j)= p;
00841   }
00842   return m;
00843 }

generic mmx::var ( const series< C, V > &  f  )  [inline]

Definition at line 175 of file series.hpp.

00175                                           {
00176   (void) f; return Series::get_variable_name ();
00177 }

generic mmx::var ( const polynomial< C, V > &  P  )  [inline]

Definition at line 307 of file polynomial.hpp.

Referenced by flatten().

00307                                               {
00308   (void) P; return Polynomial::get_variable_name (); }

table<bool, typename Series::variable_type > mmx::variables ( const quotient_series< Series, Monomial > &  f  )  [inline]

Definition at line 115 of file quotient_series.hpp.

00115                                                      {
00116   return variables (f->f) | variables (f->m); }

matrix<C,V> mmx::vertical_join ( const matrix< C, V > &  m1,
const matrix< C, V > &  m2 
) [inline]

Definition at line 899 of file matrix.hpp.

References CF(), cols(), is_non_scalar(), Matrix, promote(), and rows().

Referenced by GLUE_14(), GLUE_15(), GLUE_44(), GLUE_77(), and krylov().

00899                                                    {
00900   ASSERT (is_non_scalar (m1) || is_non_scalar (m2),
00901           "non-scalar matrix expected");
00902   if (!is_non_scalar (m1))
00903     return vertical_join (Matrix (m1.scalar(), cols (m2), cols (m2)), m2);
00904   if (!is_non_scalar (m2))
00905     return vertical_join (m1, Matrix (m2.scalar(), cols (m1), cols (m1)));
00906   ASSERT (cols (m1) == cols (m2), "unequal number of columns");
00907   Matrix r (promote (0, CF(m1)), rows (m1) + rows (m2), cols (m1));
00908   for (nat j=0; j<cols(m1); j++) {
00909     for (nat i=0; i<rows(m1); i++)
00910       r(i,j)= m1(i,j);
00911     for (nat i=0; i<rows(m2); i++)
00912       r(i+rows(m1),j)= m2(i,j);
00913   }
00914   return r;
00915 }

mmx::WRAP_BINARY_IMPL ( STMPL  ,
permutation  ,
vector< nat >  ,
"Per"  ,
"Permutation"   
) const

Definition at line 69 of file permutation.hpp.

References N().

00075                                     { return N(p.v); }

vector< generic > wrap_column_reduced_echelon_with_permutation ( const matrix< C > &  m  )  [inline]

Definition at line 59 of file glue_matrix_rational.cpp.

References column_reduced_echelon().

Referenced by GLUE_121(), GLUE_46(), and GLUE_70().

00059                                                                     {
00060     permutation permut;
00061     generic tp=as<generic> (column_reduced_echelon (m, permut));
00062     return vec (tp, as<generic> (permut));
00063   }

vector< generic > wrap_column_reduced_echelon_with_transform ( const matrix< C > &  m  )  [inline]

Definition at line 66 of file glue_matrix_rational.cpp.

References column_reduced_echelon().

Referenced by GLUE_120(), GLUE_45(), and GLUE_69().

00066                                                                   {
00067     matrix<C> k;
00068     generic tp=as<generic> (column_reduced_echelon (m, k));
00069     return vec (tp, as<generic> (k));
00070   }

vector< generic > wrap_row_reduced_echelon_with_transform ( const matrix< C > &  m  )  [inline]

Definition at line 73 of file glue_matrix_rational.cpp.

References row_reduced_echelon().

Referenced by GLUE_119(), GLUE_44(), and GLUE_68().

00073                                                                {
00074     matrix<C> k;
00075     generic tp=as<generic> (row_reduced_echelon (m, k));
00076     return vec (tp, as<generic> (k));
00077   }

vector< generic > wrap_subresultants ( const polynomial< C > &  f,
const polynomial< C > &  g 
) [inline]

Definition at line 56 of file glue_series_rational.cpp.

References subresultants().

Referenced by GLUE_104(), GLUE_39(), and GLUE_98().

00056                                                                         {
00057       return as<vector<generic> > (subresultants (f, g)); }

mmx::WRAP_WRAPPED_IMPL ( inline  ,
permutation   
)
mmx::WRAP_WRAPPED_IMPL ( template< typename C >  inline,
multiplier< C >   
)
series<C,V> mmx::xderive ( const series< C, V > &  f  )  [inline]

Definition at line 947 of file series.hpp.

References CF(), is_exact_zero(), Series, and Series_rep.

00947                           {
00948   if (is_exact_zero (f)) return Series (CF(f));
00949   return (Series_rep*) new xderive_series_rep<C,V> (f);
00950 }

quotient<NT,DT> mmx::xderive ( const quotient< NT, DT > &  x  )  [inline]

Definition at line 324 of file quotient.hpp.

References denominator(), numerator(), Quotient, square(), and xderive().

00324                             {
00325   return Quotient (xderive (numerator (x)) * denominator (x) -
00326                    numerator (x) * xderive (denominator (x)),
00327                    square (denominator (x)),
00328                    true);
00329 }

polynomial<C,V> mmx::xderive ( const polynomial< C, V > &  P  )  [inline]

Definition at line 1060 of file polynomial.hpp.

References C, CF(), N(), Polynomial, and seg().

Referenced by xderive_series_rep< C, V >::expression(), GLUE_114(), GLUE_146(), GLUE_20(), GLUE_30(), GLUE_31(), GLUE_33(), GLUE_85(), GLUE_94(), and xderive().

01060                               {
01061   typedef implementation<polynomial_linear,V> Pol;
01062   nat n= N(P);
01063   nat l= aligned_size<C,V> (n);
01064   C* r= mmx_formatted_new<C> (l, CF(P));
01065   Pol::xderive (r, seg (P), n);
01066   return Polynomial (r, n, l, CF(P));
01067 }


Variable Documentation

static polynomial_carry_variant_helper< mmx_modular(integer) >::PV & arg_1

Definition at line 74 of file glue_p_adic_modular_integer.cpp.

Referenced by GLUE_1(), GLUE_10(), GLUE_100(), GLUE_102(), GLUE_103(), GLUE_104(), GLUE_105(), GLUE_106(), GLUE_107(), GLUE_108(), GLUE_109(), GLUE_11(), GLUE_110(), GLUE_112(), GLUE_113(), GLUE_114(), GLUE_115(), GLUE_116(), GLUE_117(), GLUE_118(), GLUE_119(), GLUE_12(), GLUE_120(), GLUE_121(), GLUE_122(), GLUE_123(), GLUE_124(), GLUE_125(), GLUE_126(), GLUE_127(), GLUE_128(), GLUE_129(), GLUE_13(), GLUE_130(), GLUE_132(), GLUE_134(), GLUE_136(), GLUE_137(), GLUE_138(), GLUE_139(), GLUE_140(), GLUE_141(), GLUE_142(), GLUE_145(), GLUE_146(), GLUE_147(), GLUE_148(), GLUE_149(), GLUE_150(), GLUE_151(), GLUE_153(), GLUE_154(), GLUE_155(), GLUE_156(), GLUE_157(), GLUE_158(), GLUE_159(), GLUE_160(), GLUE_161(), GLUE_162(), GLUE_163(), GLUE_168(), GLUE_169(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_4(), GLUE_40(), GLUE_47(), GLUE_48(), GLUE_5(), GLUE_54(), GLUE_57(), GLUE_58(), GLUE_59(), GLUE_6(), GLUE_61(), GLUE_62(), GLUE_63(), GLUE_64(), GLUE_65(), GLUE_66(), GLUE_67(), GLUE_68(), GLUE_69(), GLUE_7(), GLUE_70(), GLUE_71(), GLUE_72(), GLUE_73(), GLUE_74(), GLUE_75(), GLUE_76(), GLUE_77(), GLUE_78(), GLUE_8(), GLUE_84(), GLUE_85(), GLUE_86(), GLUE_87(), GLUE_88(), GLUE_89(), GLUE_9(), GLUE_90(), GLUE_91(), GLUE_92(), GLUE_93(), GLUE_94(), GLUE_95(), GLUE_96(), GLUE_97(), and GLUE_98().

const int& arg_2
matrix<C,V> ARITH_SCALAR_INT_SUGAR(template< typename C, typename V >, matrix< C, V >)
C

Definition at line 114 of file series.hpp.

Referenced by implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_dicho_inc< BV > >::_half_gcd(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::_multi_rem(), implementation< polynomial_evaluate, V, polynomial_naive >::annulator(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::annulator(), as_p_expansion(), binary_helper< matrix< C, V > >::assemble(), implementation< matrix_determinant, V, matrix_bareiss< W > >::bareiss_pivoting(), big_add(), binary_map_scalar(), implementation< matrix_vectorial, V, matrix_naive >::clear_range(), implementation< matrix_linear, V, matrix_naive >::col_combine_sub(), implementation< matrix_echelon, V, matrix_ring_naive< W > >::col_echelon(), implementation< matrix_echelon, V, matrix_naive >::col_echelon(), implementation< matrix_orthogonalization, V, matrix_naive >::col_orthogonalize(), implementation< matrix_orthogonalization, V, matrix_naive >::col_orthonormalize(), implementation< crt_transform, V, crt_dicho< W > >::combine(), combine_crt(), implementation< polynomial_compose, V, polynomial_naive >::compose(), compose(), fft_threads_transformer< C, FFTER, thr >::copy(), moduli_signed_integer_helper< short int, M, W >::covering(), moduli_unsigned_integer_helper< unsigned int, M, W >::covering(), crt_naive_transformer< C, S, V >::crt_naive_transformer(), as_helper< polynomial< modular< modulus< C, U1 >, U2 >, V >, Lift_type(modular< modulus< C, U1 >, U2 >)>::cv(), fast_helper< series< C, V > >::dd(), decode_kronecker(), decode_modular_int(), ser_polynomial_regular_root_op::def(), ser_separable_root_op::def(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_ducos_inc< BV > >::defected_prem(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_naive_inc< W > >::defected_prem(), DEFINE_VARIANT(), root_modular_naive::degree_one_factorization(), fft_blocks_transformer< C, FFTER, log2_outer_block_size, log2_block_number, log2_inner_block_size, threshold >::delocate(), derive(), implementation< matrix_determinant, V, matrix_ring_naive< W > >::det(), implementation< matrix_determinant, V, matrix_naive >::det(), implementation< matrix_determinant, V, matrix_bareiss< W > >::det(), fft_naive_transformer< C, V >::dfft(), fft_blocks_transformer< C, FFTER, log2_outer_block_size, log2_block_number, log2_inner_block_size, threshold >::dfft(), dilate(), implementation< base_transform, V, base_signed< W > >::direct(), implementation< base_transform, V, base_naive >::direct(), implementation< base_transform, V, base_dicho< W > >::direct(), fkt_package< V >::direct_fkt(), nrelax_mul_series_rep< C, V >::direct_transform(), crt_naive_transformer< C, S, V >::direct_transform(), crt_dicho_transformer< C, S, V >::direct_transform(), implementation< polynomial_exact_divide, V, polynomial_polynomial< W > >::div(), implementation< polynomial_exact_divide, V, polynomial_naive >::div(), encode_kronecker(), implementation< polynomial_euclidean, V, polynomial_naive >::euclidean_sequence(), implementation< polynomial_evaluate, V, polynomial_naive >::evaluate(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::evaluate(), outer_fft_task_rep::execute(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::expand(), expand(), coprime_moduli_sequence_polynomial::extend(), fft_prime_sequence_int< s >::extend(), extract_mod(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::factorials(), fft_threads_transformer< C, FFTER, thr >::fft(), flatten(), series_carry_monoblock_transformer< M, W, s, BV >::from_monoblock(), binary_polynomial_helper< C, V >::full_type_name(), binary_helper< matrix< C, V > >::full_type_name(), binary_helper< algebraic_number_extension< C, Ball > >::full_type_name(), binary_helper< algebraic_extension< C > >::full_type_name(), binary_helper< algebraic< C, Extension > >::full_type_name(), implementation< polynomial_gcd, V, polynomial_ring_naive< W > >::gcd(), implementation< polynomial_gcd, V, polynomial_naive >::gcd(), implementation< polynomial_euclidean, V, polynomial_naive >::gcd(), implementation< polynomial_euclidean, V, polynomial_dicho< BV > >::gcd(), gcd(), get_matrix_format(), get_vector_format(), implementation< polynomial_graeffe, V, polynomial_unrolled< W, m > >::graeffe(), implementation< polynomial_graeffe, V, polynomial_naive >::graeffe(), graeffe(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_dicho_inc< BV > >::half_subresultant(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_dicho_inc< BV > >::half_subresultant_rec(), fft_naive_transformer< C, V >::ifft(), fft_blocks_transformer< C, FFTER, log2_outer_block_size, log2_block_number, log2_inner_block_size, threshold >::ifft(), implementation< matrix_image, V, matrix_naive >::image(), reverse_series_rep< C, V >::initialize(), div_series_rep< M, V >::initialize(), rdiv_sc_series_rep< M, V, X >::initialize(), inv_mod_polynomial_series_rep< C, U, V, W >::initialize(), integrate(), implementation< polynomial_evaluate, V, polynomial_naive >::interpolate(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::interpolate(), implementation< crt_transform, V, crt_dicho< W > >::inverse(), implementation< base_transform, V, base_dicho< W > >::inverse(), inverse_base(), inverse_crt(), fkt_package< V >::inverse_fkt(), fkt_package< V >::inverse_fkt_step(), fft_triadic_threads_transformer< C, FFTER, thr >::inverse_transform_triadic(), implementation< matrix_invert, V, matrix_ring_naive< W > >::invert(), implementation< matrix_invert, V, matrix_naive >::invert(), implementation< polynomial_divide, V, polynomial_naive >::invert_hi(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::invert_hi(), invert_hi(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::invert_lo(), invert_lo(), implementation< matrix_invert, V, matrix_naive >::invert_lower_triangular(), implementation< polynomial_gcd, X, polynomial_series< BV > >::invert_mod(), implementation< polynomial_gcd, V, polynomial_ring_naive< W > >::invert_mod(), implementation< polynomial_gcd, V, polynomial_naive >::invert_mod(), join(), implementation< matrix_kernel, V, matrix_naive >::kernel(), root_modular_naive::linear_splitting(), lshiftz(), implementation< matrix_multiply_base, V, matrix_strassen< W > >::mat_load(), implementation< matrix_multiply_base, V, matrix_strassen< W > >::mat_save(), matrix< M >::matrix(), matrix_new(), implementation< polynomial_multiply, V, polynomial_balanced_tft< W > >::mul(), implementation< polynomial_multiply, V, polynomial_tft_inc< W, Th > >::mul(), implementation< polynomial_multiply, V, polynomial_tangent< CV > >::mul(), implementation< polynomial_multiply, V, polynomial_schonhage_triadic_inc< W, Th > >::mul(), implementation< polynomial_multiply, V, polynomial_schonhage_inc< W, Th, Th_rec > >::mul(), implementation< polynomial_multiply, V, polynomial_quotient< W > >::mul(), implementation< polynomial_multiply, V, polynomial_modular< W > >::mul(), implementation< polynomial_multiply, V, polynomial_kronecker< W > >::mul(), implementation< polynomial_multiply, V, polynomial_complex< CV > >::mul(), implementation< polynomial_multiply, V, polynomial_balanced< W > >::mul(), multiplier_helper< C, void, m >::mul(), multiplier_helper< C, D, m >::mul(), implementation< matrix_multiply, V, matrix_quotient< W > >::mul(), implementation< matrix_multiply, V, matrix_crt< W > >::mul(), implementation< matrix_multiply, V, matrix_complex< CV > >::mul(), implementation< matrix_multiply, V, matrix_balanced< W > >::mul(), mul_kronecker(), implementation< polynomial_multiply, V, polynomial_schonhage_triadic_inc< W, Th > >::mul_triadic(), implementation< polynomial_evaluate, V, polynomial_naive >::multi_mod(), implementation< polynomial_evaluate, V, polynomial_naive >::multi_rem(), implementation< polynomial_multiply, V, polynomial_karatsuba< W > >::multiply(), vector_access_series_rep< C, V, W >::next(), truncate_mul_series_rep< C, V >::next(), mul_series_rep< C, V >::next(), unary_map_as_series_rep< Op, C, V, S, SV >::next(), matrix_series_rep< C, V, U >::next(), solver_series_rep< C, V >::next(), unknown_series_rep< C, V >::next(), nrelax_mul_series_rep< C, V >::next(), carry_mul_sc_series_rep< M, V, X >::next(), q_difference_series_rep< C, V >::next(), shift_series_rep< C, V >::next(), iterator_series_rep< C, V >::next(), mul_series_rep< M, V >::next(), REP_STRUCT< Series, Monomial >::normalize(), quotient_normalization_helper< polynomial< C, V >, polynomial< C, V > >::normalize(), nth_roots(), nullary_recursive_series(), polynomial_quo_rem_helper< V, C >::op(), primitive_root_helper< C >::op(), operator*(), operator+(), operator-(), operator/(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::pinvert_hi(), implementation< series_polynomial_regular_root, U, series_naive >::pol_root(), polynomial< L >::polynomial(), pquo(), implementation< polynomial_divide, V, polynomial_ring_dicho_inc< W > >::pquo_rem(), implementation< polynomial_divide, V, polynomial_naive >::pquo_rem(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::pquo_rem(), prem(), primitive_part(), implementation< matrix_iterate, V, matrix_naive >::project_iterate_mul(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::q_binomial(), q_difference(), quo(), implementation< polynomial_divide, V, polynomial_ring_dicho_inc< W > >::quo_rem(), implementation< polynomial_divide, V, polynomial_naive >::quo_rem(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::quo_rem(), range(), implementation< matrix_image, V, matrix_ring_naive< W > >::rank(), implementation< matrix_image, V, matrix_naive >::rank(), binary_helper< polynomial< C, V > >::read(), binary_helper< matrix< C, V > >::read(), implementation< polynomial_gcd, V, polynomial_naive >::reconstruct(), implementation< polynomial_euclidean, V, polynomial_naive >::reconstruct(), implementation< polynomial_euclidean, V, polynomial_dicho< BV > >::reconstruct(), reduce(), fft_blocks_transformer< C, FFTER, log2_outer_block_size, log2_block_number, log2_inner_block_size, threshold >::relocate(), rem(), REP_STRUCT_1(), resultant(), reverse(), root_modular_naive::roots(), implementation< matrix_linear, V, matrix_naive >::row_combine_sub(), implementation< matrix_orthogonalization, V, matrix_naive >::row_orthogonalize(), implementation< matrix_orthogonalization, V, matrix_naive >::row_orthonormalize(), implementation< series_separable_root, U, series_naive >::sep_root(), separable_roots(), multiplier_helper< C, void, m >::set(), nrelax_mul_series_rep< C, V >::Set_order(), implementation< matrix_vectorial, V, matrix_naive >::set_range(), crt_dicho_transformer< C, S, V >::setup_inverse(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::shift(), shift(), binary_polynomial_helper< C, V >::short_type_name(), binary_helper< matrix< C, V > >::short_type_name(), binary_helper< algebraic_number_extension< C, Ball > >::short_type_name(), binary_helper< algebraic_extension< C > >::short_type_name(), binary_helper< algebraic< C, Extension > >::short_type_name(), matrix_crt_multiply_helper< C >::size(), skew_div(), solve_lde(), implementation< polynomial_multiply, V, polynomial_tft_inc< W, Th > >::square(), implementation< polynomial_multiply, V, polynomial_tangent< CV > >::square(), implementation< polynomial_multiply, V, polynomial_quotient< W > >::square(), implementation< polynomial_multiply, V, polynomial_modular< W > >::square(), implementation< polynomial_multiply, V, polynomial_kronecker< W > >::square(), implementation< polynomial_multiply, V, polynomial_karatsuba< W > >::square(), implementation< polynomial_multiply, V, polynomial_complex< CV > >::square(), square(), square_kronecker(), implementation< polynomial_subresultant_base, V, polynomial_ring_naive< W > >::subresultant(), subresultant(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_dicho_inc< BV > >::subresultant_compose(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_ducos_inc< BV > >::subresultant_sequence(), implementation< polynomial_subresultant_base, V, polynomial_gcd_ring_naive_inc< W > >::subresultant_sequence(), implementation< polynomial_subresultant_base, V, polynomial_ring_naive< W > >::subresultant_sequence(), implementation< polynomial_subresultant_base, V, polynomial_naive >::subresultant_sequence(), subresultants(), substitute(), implementation< polynomial_evaluate, V, polynomial_naive >::tevaluate(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::tevaluate(), tevaluate_bis(), implementation< polynomial_evaluate, V, polynomial_naive >::tinterpolate(), implementation< polynomial_evaluate, V, polynomial_dicho< BV > >::tinterpolate(), tmul(), implementation< polynomial_multiply, V, polynomial_karatsuba< W > >::tmultiply(), tquo(), implementation< polynomial_divide, V, polynomial_ring_dicho_inc< W > >::tquo_rem(), implementation< polynomial_divide, V, polynomial_naive >::tquo_rem(), implementation< polynomial_divide, V, polynomial_dicho< BV > >::tquo_rem(), trem(), truncate(), unary_map(), unknown_series_rep< C, V >::unknown_series_rep(), implementation< series_pth_root, U, series_carry_p_adic< W > >::unsep_root(), fast_helper< polynomial< C, V > >::uu(), fast_helper< matrix< C, V > >::uu(), implementation< vector_abstractions, Z, vector_aligned< V, W > >::vec_unary_big(), and xderive().

series<C,V> COMPARE_INT_SUGAR(template< typename C, typename V >, series< C, V >) EQUAL_SCALAR_SUGAR(template< typename C
series<C,V> C COMPARE_SCALAR_SUGAR(template< typename C, typename V >, series< C, V >,C) EQUAL_SCALAR_SUGAR_BIS(template< typename C
series<C,V> C C COMPARE_SCALAR_SUGAR_BIS(template< typename C, typename V >, series< C, V >,C)template< typename C
polynomial<C,V> COMPARE_SUGAR(template< typename C, typename V >, polynomial< C, V >) EQUAL_SCALAR_SUGAR(template< typename C
D
DT
series<C,V> INV_HYPER_SUGAR(template< typename C, typename V >, series< C, V >) ARG_HYPER_SUGAR(template< typename C

Definition at line 87 of file quotient_series.hpp.

Referenced by operator+(), operator-(), operator/(), and operator==().

NT

Definition at line 397 of file polynomial.hpp.

quotient< NT, DT >

Definition at line 90 of file quotient.hpp.

Definition at line 87 of file quotient_series.hpp.

Definition at line 90 of file quotient.hpp.

series< C, V > C series< C, V >

Definition at line 114 of file series.hpp.

nat str

Definition at line 53 of file matrix_quotient.hpp.

Th
series< C, V > V

Definition at line 633 of file matrix.hpp.

W
DT& x

Definition at line 347 of file quotient.hpp.

Referenced by slp_polynomial_regular_root_series_rep< M, V, L >::_derive(), slp_polynomial_regular_root_series_rep< M, V, L >::_eps(), abs(), as_p_expansion(), binary_helper< matrix< C, V > >::assemble(), binary_helper< algebraic_number_extension< C, Ball > >::assemble(), binary_helper< algebraic_extension< C > >::assemble(), ser_carry_separable_root_op::binpow_no_tangent(), as_helper< polynomial< modular< modulus< C, U1 >, U2 >, V >, Lift_type(modular< modulus< C, U1 >, U2 >)>::cv(), decode_kronecker(), root_modular_naive::degree_one_factorization(), implementation< base_transform, V, base_signed< W > >::direct(), implementation< base_transform, V, base_naive >::direct(), encode_kronecker(), binary_scalar_recursive_series_rep< Op, C, V, X >::expression(), carry_mul_sc_series_rep< M, V, X >::expression(), matrix_carry_mul_quo_series_rep< M, V, X >::expression(), vector_carry_mul_quo_series_rep< M, V, X >::expression(), coprime_moduli_sequence_polynomial::extend(), flatten(), improve_zero(), slp_polynomial_regular_root_monoblock_series_rep< M, V, L >::Increase_order(), increase_precision(), binary_scalar_recursive_series_rep< Op, C, V, X >::initialize(), slp_polynomial_regular_root_series_rep< M, V, L >::initialize(), fft_truncated_transformer< C, Ffter >::inverse_transform(), fft_threads_transformer< C, FFTER, thr >::inverse_transform(), fft_naive_transformer< C, V >::inverse_transform(), fft_blocks_transformer< C, FFTER, log2_outer_block_size, log2_block_number, log2_inner_block_size, threshold >::inverse_transform(), is_reconstructible(), join(), implementation< matrix_kernel, V, matrix_naive >::kernel(), root_modular_naive::linear_splitting(), matrix_carry_mul_quo_series_rep< M, V, X >::matrix_carry_mul_quo_series_rep(), carry_mul_sc_series_rep< M, V, X >::next(), matrix_carry_mul_quo_series_rep< M, V, X >::next(), vector_carry_mul_quo_series_rep< M, V, X >::next(), primitive_root_max_int(), Re(), reconstruct(), modulus_multiplier_int_preinverse_helper< size >::set(), global_variables< S >::set_variable_name(), series< vector< C >, V >::set_variable_name(), global_variables< polynomial< quotient< polynomial< C, V1 >, polynomial< C, V1 > >, V2 > >::set_variable_name(), global_variables< polynomial< polynomial< polynomial< C, V1 >, V2 >, V3 > >::set_variable_name(), global_variables< polynomial< polynomial< C, V1 >, V2 > >::set_variable_name(), global_variables< P >::set_variable_name(), set_variable_name(), polynomial< L >::set_variable_name(), implementation< series_slp_polynomial_regular_root, U, series_naive >::slp_pol_root(), implementation< series_slp_polynomial_regular_root, U, series_carry_monoblock< W, s, BV, t > >::slp_pol_root(), slp_polynomial_regular_root(), slp_polynomial_regular_root_monoblock_series_rep< M, V, L >::slp_polynomial_regular_root_monoblock_series_rep(), square_kronecker(), and vector_carry_mul_quo_series_rep< M, V, X >::vector_carry_mul_quo_series_rep().


Generated on 6 Dec 2012 for algebramix by  doxygen 1.6.1