realroot_doc 0.1.1
|
Module for generic functions on vectors. Generic implementations for vectors are gathered in the namespace array
. These are generic functions, that can be used to build new linear classes. The type {R} must provide the following definitions or methods: {SIGNATURE} typename index_t; typename value_type; typename iterator; typename const_iterator;.
Namespace for explicit type conversion.
namespace for representation of polynomials as sequence of monomials
namespace for representation of polynomials as dense tensor product.
Module for Univariate POLynomials with a Direct Access Representation.
Namespace for parsing and printing in @ format.
typedef __mpf_struct MPF |
Definition at line 18 of file scalar_floating.hpp.
typedef MP_RAT MPQ |
Definition at line 17 of file scalar_rational.hpp.
typedef MP_INT MPZ |
Definition at line 18 of file scalar_integer.hpp.
typedef GMP::rational QQ |
typedef GMP::floating RR |
typedef GMP::integer ZZ |
void mmx::abs | ( | Interval< C, r > & | x, |
const Interval< C, r > & | a | ||
) |
Definition at line 175 of file Interval_fcts.hpp.
References Interval< T, r >::lower(), max(), and Interval< T, r >::upper().
Referenced by solver_mv_monomial< FT, POL >::check_root(), mmx::realroot::clean_result(), density(), mmx::linear::doolittle(), Kioustelidis_bound_1::foo(), AkritasBound< RT >::lower_bound(), HongBound< RT >::lower_bound(), Cauchy< C >::lower_bound(), AkritasBound< RT >::lower_power_2(), Cauchy< C >::lower_power_2(), MCF_positive(), abs_max< T >::operator()(), mmx::linear::pythag(), mmx::vctops::sgnchg(), size(), Size(), support(), mmx::linear::tqli(), Cauchy< C >::upper_bound(), and mmx::linear::Usolve().
{ if ( a.upper() > -a.lower() ) { x.upper() = a.upper(); x.lower() = std::max(-a.lower(),0); } else { x.upper() = -a.lower(); x.lower() = a.upper(); }; };
scalar< T > abs | ( | const scalar< T > & | b | ) | [inline] |
T mmx::abs | ( | const T & | x | ) | [inline] |
Definition at line 25 of file univariate_bounds.hpp.
{ return (x < 0 ? -x : x); }
void mmx::add | ( | polynomial< C, with< Rep, Ord > > & | r, |
const polynomial< C, with< Rep, Ord > > & | a | ||
) | [inline] |
Definition at line 17 of file polynomial_operators.hpp.
References add().
{ add (r.rep (), a.rep () ); }
void mmx::add | ( | polynomial< C, with< Rep, Ord > > & | r, |
const polynomial< C, with< Rep, Ord > > & | a, | ||
const C & | b | ||
) | [inline] |
Definition at line 25 of file polynomial_operators.hpp.
References add().
{ add (r.rep (), a.rep (), b); }
void mmx::add | ( | polynomial< C, with< Rep, Ord > > & | r, |
const C & | a, | ||
const polynomial< C, with< Rep, Ord > > & | b | ||
) | [inline] |
Definition at line 29 of file polynomial_operators.hpp.
References add().
{ add (r.rep(), b.rep(), a); }
void mmx::add | ( | polynomial< C, with< Rep, Ord > > & | r, |
const polynomial< C, with< Rep, Ord > > & | a, | ||
const polynomial< C, with< Rep, Ord > > & | b | ||
) | [inline] |
Definition at line 21 of file polynomial_operators.hpp.
References add().
{ add (r.rep (), a.rep (), b.rep ()); }
void add | ( | dynamic_exp< E > & | r, |
const dynamic_exp< E > & | A, | ||
const dynamic_exp< E > & | B | ||
) |
Definition at line 295 of file dynamicexp.hpp.
References mmx::array::add(), dynamic_exp< E >::init(), mmx::vctops::max(), and dynamic_exp< E >::size().
Referenced by use< operators_of, tensor::monomials< C > >::add(), use< operators_of, tensor::bernstein< C > >::add(), use< operators_of, sparse::monomial_seq< C, O, MONOM, REP > >::add(), use< operators_of, sparse::dual< C, O > >::add(), use< operators_of, polynomial< C, with< Rep, Ord > > >::add(), add(), box_rep< C >::min_grad(), operator+(), bigunsigned< N >::operator+=(), polynomial< C, with< Rep, Ord > >::operator+=(), operator-(), seq2b(), and eenv_base::spmeval().
{ r.init(std::max(A.size(),B.size()) ); array::add(r,A,B); }
void mmx::add | ( | Interval< C, r > & | a, |
const Interval< C, r > & | b, | ||
const C & | x | ||
) | [inline] |
Definition at line 213 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwadd(), Interval< T, r >::M, Interval< T, r >::m, and interval_base< T,((unsigned) r)%4 >::upadd().
{ a.m = a.dwadd(b.m,x); a.M = a.upadd(b.M,x); };
void mmx::add | ( | Interval< C, r > & | a, |
const C & | x, | ||
const Interval< C, r > & | b | ||
) | [inline] |
void mmx::add | ( | Interval< C, r > & | a, |
const Interval< C, r > & | x | ||
) | [inline] |
Definition at line 233 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwadd(), Interval< T, r >::M, Interval< T, r >::m, and interval_base< T,((unsigned) r)%4 >::upadd().
{ a.m = a.dwadd(a.m,x.m); a.M = a.upadd(a.M,x.M); };
void mmx::add | ( | Interval< C, r > & | a, |
const C & | x | ||
) | [inline] |
Definition at line 205 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwadd(), Interval< T, r >::M, Interval< T, r >::m, and interval_base< T,((unsigned) r)%4 >::upadd().
{ a.m = a.dwadd(a.m,x); a.M = a.upadd(a.M,x); };
void mmx::add | ( | Interval< C, r > & | a, |
const Interval< C, r > & | b, | ||
const Interval< C, r > & | x | ||
) | [inline] |
Definition at line 237 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwadd(), Interval< T, r >::M, Interval< T, r >::m, and interval_base< T,((unsigned) r)%4 >::upadd().
{ a.m = a.dwadd(b.m,x.m); a.M = a.upadd(b.M,x.M); };
void mmx::add | ( | bigunsigned< N > & | r, |
typename bigunsigned< N >::hdwi_t | n | ||
) | [inline] |
Definition at line 186 of file scalar_bigunsigned.hpp.
References N().
{ typedef typename bigunsigned<N>::hdwi_t hdwi_t; unsigned i = 0; while ( n ) { hdwi_t delta = numerics::hdwi<hdwi_t>::nmax - r[i]; if ( delta < n ) { r[i] += n; n -= r[i]; } else { r[i] += n; n = 0; break; }; i = i + 1; if ( i == N ) break; }; bigunsigned<N>::s_overflow = (n != 0); };
void mmx::add | ( | bigunsigned< 1 > & | r, |
const bigunsigned< 1 > & | a | ||
) | [inline] |
void mmx::add | ( | bigunsigned< N > & | r, |
const bigunsigned< N > & | a | ||
) | [inline] |
Definition at line 215 of file scalar_bigunsigned.hpp.
References add(), N(), and bigunsigned< N >::next().
Seq<C,R> mmx::adds | ( | Seq< C, R > | a, |
const Seq< C, R > & | b | ||
) |
Definition at line 284 of file Seq.hpp.
References Seq< C, R >::begin(), and Seq< C, R >::end().
{ //assert( a.size()==b.size() ); Seq<C,R> r=a; typename Seq<C,R>::const_iterator it2= b.begin(); for(typename Seq<C,R>::iterator it=r.begin();it!= r.end();++it) { *it += *it2; ++it2; } return r; }
T as | ( | const F & | x | ) | [inline] |
Definition at line 24 of file assign.hpp.
References as_helper< T, F >::cv().
{
return as_helper<T,F>::cv (x);
}
T mmx::as | ( | const F & | x, |
const U & | u | ||
) | [inline] |
Definition at line 29 of file assign.hpp.
References as_helper< T, F >::cv().
{
return as_helper<T,F>::cv (x,u);
}
T mmx::as | ( | const F & | x, |
const U & | u, | ||
const V & | v | ||
) | [inline] |
Definition at line 34 of file assign.hpp.
References as_helper< T, F >::cv().
{
return as_helper<T,F>::cv (x,u,v);
}
POL1 mmx::as | ( | const polynomial< C2, with< R2, V2 > > & | p | ) | [inline] |
Definition at line 173 of file polynomial_fcts.hpp.
References mmx::let::assign().
{ POL1 res; let::assign(res,p); return res; }
char* mmx::as_charp | ( | const scalar< MPQ > & | b | ) | [inline] |
Definition at line 479 of file scalar_rational.hpp.
References scalar< T >::rep().
Referenced by diff(), polynomial_bernstein(), polynomial_dual(), polynomial_sparse(), polynomial_tensor(), print(), ring_bernstein_extend_generic(), ring_bernstein_generic(), ring_bernstein_string(), ring_sparse_extend_generic(), ring_sparse_generic(), ring_sparse_string(), ring_tensor_extend_generic(), ring_tensor_generic(), and ring_tensor_string().
{
return mpq_get_str(NULL,10,&b.rep());
}
double mmx::as_double | ( | const RR & | a | ) | [inline] |
Definition at line 51 of file GMP.hpp.
References scalar< T >::rep().
Referenced by print_as_double().
{ return mpf_get_d(&a.rep()); }
Interval< FT > mmx::as_interval | ( | const FT & | a, |
const FT & | b | ||
) | [inline] |
Definition at line 32 of file contfrac_intervaldata.hpp.
{ if ( a <= b ) return Interval<FT>( a, b); return Interval<FT>( b, a); }
IntervalData<RT,Poly> mmx::as_interval_data | ( | const RT & | a, |
const RT & | b, | ||
const RT & | c, | ||
const RT & | d, | ||
const Poly & | f | ||
) |
Definition at line 40 of file contfrac_intervaldata.hpp.
References degree(), and mmx::univariate::eval_homogeneous().
Referenced by solver< C, ContFrac< Approximate > >::solve().
{ Poly X = Poly("x")*a+Poly(b), Y=Poly("x")*c+Poly(d); Poly F = univariate::eval_homogeneous(f,X,Y); return IntervalData<RT,Poly> (a,b,c,d,F,degree(f)); }
std::string mmx::as_string | ( | const polynomial< C, with< Rep, Ord > > & | p | ) |
Definition at line 73 of file polynomial_fcts.hpp.
References print().
{ std::ostringstream s; print(s,p); return s.str(); }
std::string mmx::as_string | ( | const polynomial< C, with< Rep, Ord > > & | p, |
const variables & | var | ||
) |
Definition at line 80 of file polynomial_fcts.hpp.
References print().
{ std::ostringstream s; print(s,p,var); return s.str(); }
void mmx::assign | ( | double & | r, |
const scalar< MPF > & | z | ||
) | [inline] |
Definition at line 537 of file scalar_floating.hpp.
References scalar< T >::rep().
Referenced by template_expression< binary_operator<O, A, B > >::_eval_(), mmx::let::assign(), cell_mv_bernstein< C >::cell_mv_bernstein(), cell_uv_bernstein< C >::cell_uv_bernstein(), solver_mv_monomial< FT, POL >::check_root(), mmx::univariate::convertm2b(), as_helper< double, scalar< MPQ > >::cv(), cast_helper< double, QQ >::cv(), template_expression< binary_operator<O, A, B > >::eval(), template_expression< unary_operator<O, A > >::eval(), mmx::sparse::eval(), mmx::univariate::eval_homogeneous(), mmx::univariate::eval_horner(), template_expression< unary_operator<O, A > >::evalterm(), mmx::realroot::exclude1(), solver< Ring, Bspline >::first_root(), mmx::realroot::include3(), binary_sleeve_subdivision< K >::init_pol(), Interval< T, r >::Interval(), mmx::realroot::jacobian(), BezierBound::lower_bound(), box_rep< C >::max_eval(), Seq< Interval< C > >::operator=(), Interval< T, r >::operator=(), polynomial< C, with< Rep, Ord > >::polynomial(), scalar< T >::scalar(), Seq< C, R >::Seq(), Seq< Interval< C > >::Seq(), and binary_sleeve_subdivision< K >::solve_bernstein().
{ r = mpf_get_d(&z.rep()); };
void mmx::assign | ( | scalar< MPF > & | r, |
double | d | ||
) | [inline] |
Definition at line 538 of file scalar_floating.hpp.
References scalar< T >::rep().
{ mpf_set_d(&r.rep(),d); }
scalar< T > & BigIntFactorial | ( | unsigned long | n | ) | [inline] |
Definition at line 511 of file scalar.hpp.
References scalar< T >::factorial(), NONRCODE, and NRCODE.
scalar<T>& mmx::BigIntPow | ( | unsigned long | base, |
unsigned long | exp | ||
) | [inline] |
Definition at line 518 of file scalar.hpp.
References NONRCODE, NRCODE, and scalar< T >::pow().
signed long mmx::BigIntToSL | ( | const scalar< MPZ > & | b | ) | [inline] |
Definition at line 601 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return mpz_get_si(&b.rep());
}
unsigned long mmx::BigIntToUL | ( | const scalar< MPZ > & | b | ) | [inline] |
Definition at line 596 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return mpz_get_ui(&b.rep());
}
T mmx::binomial | ( | int | n, |
int | p | ||
) |
Binomial coefficients
Definition at line 52 of file binomials.hpp.
Referenced by bbasis(), and binary_convert< K, Approximate >::binomial().
{ T n1=1; if(p!=0) { if((n-p)<p) p=n-p; int n2=n; for(int i=1;i<=p;i++,n2--) n1=n1*n2/T(i); } return(n1); }
MP mmx::binomial | ( | typename MP::coeff_t | coeff, |
int | i, | ||
int | d, | ||
typename MP::coeff_t | a | ||
) |
Expansion of coeff*(x_i+a)^d, where i is the index of the variable x, a is the shift, d is the degree.
Definition at line 201 of file polynomial_fcts.hpp.
References pow().
{ MP polynomial; typename MP::coeff_t tmp; for ( int k = 0 ; k <= d ; k++ ) { tmp = coeff * binomials<typename MP::coeff_t>()(d, k) * pow(a,d-k); polynomial += MP( typename MP::monom_t( tmp , i, k ) ); } return polynomial; }
Definition at line 104 of file Interval_fcts.hpp.
References Interval< T, r >::lower(), median(), and Interval< T, r >::upper().
{ typedef Interval<T,r> I; const T m(median(x)); return std::pair<I,I>(I(x.lower(), m), I(m, x.upper())); }
void mmx::bissect | ( | Interval< T, r > & | g, |
Interval< T, r > & | d, | ||
const Interval< T, r > & | x | ||
) | [inline] |
Definition at line 112 of file Interval_fcts.hpp.
References Interval< T, r >::define(), Interval< T, r >::lower(), median(), and Interval< T, r >::upper().
{ const T m(median(x)); g.define( x.lower(), m ); d.define( m, x.upper() ); };
void mmx::bit_precision | ( | unsigned long | l | ) | [inline] |
Set the default precision for the MPZ numbers. This is not the precision of the results of operations on these numbers, because of error propagations.
Definition at line 62 of file GMP.hpp.
{ mpf_set_default_prec(l); }
void mmx::bit_precision | ( | RR | b, |
unsigned long | l | ||
) | [inline] |
Set the precision for RR. This precision is not the precision of the result of operations on this number.
Definition at line 71 of file GMP.hpp.
References scalar< T >::rep().
{ mpf_set_prec(&b.rep(),l); }
long int mmx::bit_size | ( | const ZZ & | z | ) | [inline] |
Definition at line 32 of file GMPXX.hpp.
Referenced by bit_size(), AkritasBound< RT >::lower_bound(), HongBound< RT >::lower_bound(), Cauchy< C >::lower_bound(), BezierBound::lower_bound(), AkritasBound< RT >::lower_power_2(), and Cauchy< C >::lower_power_2().
{return mpz_sizeinbase(z.get_mpz_t(),2);}
long int bit_size | ( | const rational & | z | ) | [inline] |
Definition at line 26 of file glue_solver_univariate_floating.cpp.
References bit_size(), denominator(), max(), and numerator().
{return std::max(bit_size(numerator(z)), bit_size(denominator(z))); }
long int mmx::bit_size | ( | const scalar< MPZ > & | z | ) | [inline] |
Definition at line 696 of file scalar_integer.hpp.
References scalar< T >::rep().
{return mpz_sizeinbase(&z.rep(),2);}
FT mmx::bound_root | ( | const POLY & | p, |
const Cauchy< FT > & | m | ||
) |
Prototype function, Computes an upper bound for the real roots.
p | Univariate Polynomial |
mth | Method that we use in order to compute the root bound |
AsType<T> | The return type |
Definition at line 341 of file univariate_bounds.hpp.
References Cauchy< C >::upper_bound().
Referenced by as_helper< interval< FT >, IntervalData< RT, Poly > >::cv(), as_helper< Interval< FT >, IntervalData< RT, Poly > >::cv(), max_bound(), MCF_positive(), min_bound(), solver< C, Sleeve< V > >::solve(), and continued_fraction_subdivision< K >::solve_positive().
{
return m.upper_bound(p);
}
void mmx::CF_positive | ( | const typename K::Poly & | f, |
Seq< typename K::FIT > & | RL, | ||
bool | posneg, | ||
K | |||
) |
Definition at line 180 of file contfrac.hpp.
References IntervalData< RT, Poly >::a, IntervalData< RT, Poly >::b, IntervalData< RT, Poly >::c, IntervalData< RT, Poly >::d, mmx::meta::do_scale(), IntervalData< RT, Poly >::p, Seq< C, R >::push_back(), reverse(), IntervalData< RT, Poly >::s, shift_by_1(), sign_variation(), mmx::sparse::swap(), mmx::meta::times_2_to_k(), to_FIT(), to_rational(), and Kioustelidis_bound_1::upper().
Referenced by CF_solve().
{ // std::cout << __FUNCTION__ << std::endl; typedef typename K::RT RT; typedef typename K::FT FT; typedef typename K::FT rational_t; typedef typename K::FIT FIT; typedef typename K::Poly Poly; typedef IntervalData< RT, Poly> IntervalData; meta ::Kioustelidis_bound_1 bound; int iters = 0; const RT One( 1); FT Zero(0); // FT B = bound_root( f, Cauchy<RT>()); FT B = meta::times_2_to_k( RT( 1), bound.upper( f)); unsigned long s = sign_variation(f); if ( s == 0 ) { return; } if ( s == 1 ) { // std::cout << "A) Sign variation: 1"<<std::endl;; if ( posneg ) { // std::cout<<to_FIT( FT(0), B)<<std::endl;; RL.push_back( to_FIT( FT(0), B)); } else RL.push_back( to_FIT( FT(0), FT(-B))); return; } Poly X(2, AsSize()); X[1] = RT(1); X[0]=RT(0); std::stack< IntervalData > S; if ( posneg) S.push( IntervalData( 1, 0, 0, 1, f, s)); else S.push( IntervalData( -1, 0, 0, 1, f, s)); while ( !S.empty() ) { ++iters; IntervalData ID = S.top(); S.pop(); //std::cout << "Polynomial is " << ID.p << std::endl; // Steps 3 - 4: Choose the method for computing the lower bound //typename K::bound Bd; // Cauchy<RT> Bd; //HongBound<RT> Bd; // RT M = Bd.upper(ID.p); // scale(ID,M); // reverse(ID); // translate_by_1(ID); // reverse(ID); // Interval<rational_t> q=Bd.range(ID.p); // std::cout<<"Sign var: "<< sign_variation(ID.p)<<" "; // RT a, b; // if(q<0) // { // continue; // } // else if(q!=0) // { // a=numerator(q.lower()); // b=denominator(q.lower()); // inv_scale(ID,b); // shift(ID, a); // scale(ID,b); // let::assign(a,rational_t(q.upper()-q.lower())); // shift(ID,a); // a=One; // } // std::cout<<"("<< sign_variation(ID.p)<<")"<<std::endl;; // RT a = Bd.lower(ID.p); //long k = bound.lower( ID.p); long k = AkritasBound<RT>().lower_power_2( ID.p); // std::cout << "k: " << k << std::endl; // std::cout<< "\t Lower bound is "<< a<< std::endl; if (k > 0) { meta::do_scale( ID, k); } // if ( a > One ) { scale(ID,a); a = One; } // Step 5 // // if ( a >= One ) if ( k >= 0 ) { shift_by_1(ID); //shift(ID, a); if ( ID.p[0] == RT(0)) { RL.push_back( to_FIT( to_rational( ID.b, ID.d), to_rational( ID.b, ID.d ))); ID.p /= X; } ID.s = sign_variation( ID.p); if ( ID.s == 0 ) { continue; } if ( ID.s == 1 ) { // std::cout << "B) Sign variation: 1"<<std::endl; RL.push_back( to_FIT<K>( ID.a, ID.b, ID.c, ID.d, B)); continue; } } // Step 6 IntervalData I1; shift_by_1( I1, ID); unsigned long r = 0; if (I1.p[0] == RT(0)) { // std::cout << "Zero at end point"<<std::endl;; RL.push_back( to_FIT( to_rational( I1.b, I1.d), to_rational(I1.b, I1.d) )); I1.p /= X; r = 1; } I1.s = sign_variation( I1.p); IntervalData I2; I2.s = ID.s - I1.s - r; I2.a = ID.b; I2.b = ID.a + ID.b; I2.c = ID.d; I2.d = ID.c + ID.d; // Step 7; if ( I2.s > 1 ) { //p2 = p2( 1 / (x+1)); reverse( I2.p, ID.p); shift_by_1( I2.p); if ( I2.p[0] == 0) { I2.p /= X; } I2.s = sign_variation( I2.p); } // Step 8 if ( I1.s < I2.s ) { std::swap( I1, I2); } // Step 9 if ( I1.s == 1 ) { // std::cout << "C) Sign variation: 1"<<std::endl;; RL.push_back( to_FIT<K>( I1.a, I1.b, I1.c, I1.d, B)); } else if ( I1.s > 1) { S.push( IntervalData( I1.a, I1.b, I1.c, I1.d, I1.p, I1.s)); } // Step 10 if ( I2.s == 1 ) { // std::cout << "D) Sign variation: 1"<<std::endl;; RL.push_back( to_FIT<K>( I2.a, I2.b, I2.c, I2.d, B)); } else if ( I2.s > 1) { S.push( IntervalData( I2.a, I2.b, I2.c, I2.d, I2.p, I2.s)); } } // while // std::cout << "-------------------- iters: " << iters << std::endl; return; }
OutputIterator mmx::CF_solve | ( | const typename K::Poly & | f, |
OutputIterator | sol, | ||
int | mult, | ||
K | |||
) |
Definition at line 538 of file contfrac.hpp.
References CF_positive(), degree(), Seq< C, R >::push_back(), Seq< C, R >::resize(), and Seq< C, R >::size().
Referenced by solve_contfrac().
{ typedef typename K::Poly Poly; typedef typename K::FIT FIT; Seq < FIT > isolating_intervals; // Check if 0 is a root int idx; for (idx = 0; idx <= degree( f); ++idx) { if ( f[idx] != 0 ) break; } Poly p; if ( idx == 0 ) { p = f; } else { p.resize( degree(f) + 1 - idx); for (int j = idx; j <= degree( f); ++j) p[j-idx] = f[j]; } //std::cout << "Solving: " << p << std::endl; // Isolate the negative roots for (int i = 1; i <= degree(p); i+=2) p[i] *= -1; CF_positive( p, isolating_intervals, false, K()); // std::cout << "Ok negative" << std::endl; // Is 0 a root? if (idx != 0) isolating_intervals.push_back( FIT( 0, 0)); // Isolate the positive roots for (int i = 1; i <= degree(p); i+=2) p[i] *= -1; CF_positive( p, isolating_intervals, true, K()); // std::cout << "Ok, positive" << std::endl; // sort( isolating_intervals.begin(), isolating_intervals.end(), CompareFIT()); // std::cout << "ok sorting" << std::endl; // for (unsigned i = 0 ; i < isolating_intervals.size(); ++i) { // if ( singleton( isolating_intervals[i]) ) { // if ( lower( isolating_intervals[i]) == 0 ) continue; // Poly t( 2, AsSize()); // t[1] = denominator( isolating_intervals[i].lower()); // t[0] = - numerator( isolating_intervals[i].lower()); // Poly dummy; // UPOLDSE::div_rem( dummy, p, t); // p = dummy; // } // } // std::cout << "now p: " << p << ", #nr: " << isolating_intervals.size() << std::endl; // std::cout << "Done...." << std::endl; for (unsigned i = 0 ; i < isolating_intervals.size(); ++i) {*sol++ = isolating_intervals[i];} return sol; }
Seq< polynomial<C, with<MonomialTensor> > > mmx::coefficients | ( | const polynomial< C, with< MonomialTensor > > & | f, |
const int & | v | ||
) | [inline] |
Definition at line 78 of file polynomial_tensor.hpp.
References degree(), Monomial, N(), and POLYNOMIAL.
{ int N = degree(f,v)+1; Seq<POLYNOMIAL> r(N); typename POLYNOMIAL::Monomial m; for(int i=0;i<N; i++) { r[i]=POLYNOMIAL(0); } return r; }
Seq<C> mmx::coefficients | ( | const polynomial< C, with< MonomialTensor > > & | f | ) | [inline] |
Definition at line 89 of file polynomial_tensor.hpp.
{ Seq<C> r; for(int i=0;i<f.size(); i++) { r<<f[i]; } return r; }
Seq< polynomial< C, with<Univariate> > > mmx::coefficients | ( | const polynomial< C, with< Univariate > > & | f, |
const int & | v | ||
) | [inline] |
Definition at line 66 of file polynomial_univariate.hpp.
References degree(), Monomial, and N().
{ int N = degree(f,v)+1; Seq<POLYNOMIAL> r(N); typename POLYNOMIAL::Monomial m; for(int i=0;i<N; i++) { r[i]=0; } return r; }
Seq<C> mmx::coefficients | ( | const polynomial< C, with< Univariate > > & | f | ) | [inline] |
Definition at line 77 of file polynomial_univariate.hpp.
{ Seq<C> r; for(int i=0;i<f.size(); i++) { r<<f[i]; } return r; }
Seq<typename ring<C,Bernstein>::Polynomial> mmx::coefficients | ( | const typename ring< C, Bernstein >::Polynomial & | pol, |
int | v | ||
) | [inline] |
Definition at line 74 of file polynomial_bernstein.hpp.
Referenced by coefficients(), polynomial_bernstein_coefficients(), polynomial_dual_coefficients(), polynomial_sparse_coefficients(), polynomial_sturm_sequence(), polynomial_tensor_coefficients(), subresultant< PREM >::sequence(), and subresultant< PREM >::subres_gcd().
{ Seq<typename ring<C,Bernstein>::Polynomial> res; return res; }
Seq<C> mmx::coefficients | ( | const polynomial< C, with< Rep, Ord > > & | pol | ) | [inline] |
Definition at line 110 of file polynomial_fcts.hpp.
References coefficients().
{ return coefficients(pol.rep()); }
Seq< polynomial<C, with<Rep,Ord> > > mmx::coefficients | ( | const polynomial< C, with< Rep, Ord > > & | pol, |
int | v | ||
) | [inline] |
Definition at line 115 of file polynomial_fcts.hpp.
References coefficients(), and Seq< C, R >::rep().
{ typedef typename Polynomial::Ring Ring; Seq<Polynomial> res; coefficients(res,pol.rep(),v); return res; }
int compare | ( | const QQ & | a, |
const QQ & | b | ||
) | [inline] |
int mmx::compare | ( | const scalar< MPF > & | b1, |
const scalar< MPF > & | b2 | ||
) | [inline] |
Definition at line 516 of file scalar_floating.hpp.
References scalar< T >::rep().
{
return mpf_cmp(&b1.rep(), &b2.rep());
}
int mmx::compare | ( | const scalar< MPF > & | b, |
unsigned long | ul | ||
) | [inline] |
Definition at line 521 of file scalar_floating.hpp.
References scalar< T >::rep().
{
return mpf_cmp_ui(&b.rep(), ul);
}
int mmx::compare | ( | const scalar< MPF > & | b, |
long | sl | ||
) | [inline] |
Definition at line 526 of file scalar_floating.hpp.
References scalar< T >::rep().
{
return mpf_cmp_si(&b.rep(), sl);
}
int mmx::compare | ( | const scalar< MPZ > & | b1, |
const scalar< MPZ > & | b2 | ||
) | [inline] |
Definition at line 625 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return mpz_cmp(&b1.rep(), &b2.rep());
}
int mmx::compare | ( | const scalar< MPZ > & | b, |
unsigned long | ul | ||
) | [inline] |
Definition at line 630 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return mpz_cmp_ui(&b.rep(), ul);
}
int mmx::compare | ( | const scalar< MPZ > & | b, |
long | sl | ||
) | [inline] |
Definition at line 635 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return mpz_cmp_si(&b.rep(), sl);
}
int mmx::compare | ( | const scalar< MPQ > & | b1, |
const scalar< MPQ > & | b2 | ||
) | [inline] |
Definition at line 518 of file scalar_rational.hpp.
References scalar< T >::rep().
{
return mpq_cmp(&b1.rep(), &b2.rep());
}
int mmx::compare | ( | const scalar< MPQ > & | b, |
unsigned long | ul | ||
) | [inline] |
Definition at line 523 of file scalar_rational.hpp.
References scalar< T >::rep().
{
return mpq_cmp_ui(&b.rep(), ul, 1);
}
int mmx::compare | ( | const scalar< MPQ > & | b, |
long | sl | ||
) | [inline] |
Definition at line 528 of file scalar_rational.hpp.
References assert, and scalar< T >::rep().
{ assert(sl>=0); return mpq_cmp_ui(&b.rep(), sl, 1); }
bool mmx::contain_zero | ( | const Interval< T, r > & | x | ) | [inline] |
Definition at line 97 of file Interval_fcts.hpp.
References Interval< T, r >::lower(), and Interval< T, r >::upper().
{ return x.lower() <= static_cast<T>(0) && x.upper() >= static_cast<T>(0); };
polynomial<C, with<Rep,Ord> >::Scalar mmx::content | ( | const polynomial< C, with< Rep, Ord > > & | p | ) |
Definition at line 234 of file polynomial_fcts.hpp.
Referenced by subresultant< PREM >::subres_gcd().
{ return content(p.rep()); }
void mmx::convert | ( | scalar< MPF > & | n, |
char * | s | ||
) | [inline] |
Definition at line 433 of file scalar_floating.hpp.
References scalar< T >::rep().
Referenced by binary_convert< K, Approximate >::get(), binary_convert< K, Isolate >::get(), polynomial_bernstein_of(), polynomial_sparse_of(), and polynomial_tensor_of().
{ // printf("%s\n",s); mpf_init_set_str(&n.rep(), s, 10); //cout<<"apres convert "<<mpf_get_d(n.rep())<<endl;; }
void mmx::convert | ( | scalar< MPZ > & | n, |
char * | s | ||
) | [inline] |
Definition at line 430 of file scalar_integer.hpp.
References scalar< T >::rep().
{ mpz_init_set_str(&n.rep(), s, 10); }
void mmx::convert | ( | scalar< MPQ > & | dd, |
char * | s | ||
) | [inline] |
Definition at line 538 of file scalar_rational.hpp.
References scalar< T >::rep().
{ mpq_clear(&dd.rep()); mpq_init(&dd.rep()); mpz_set_str(mpq_numref(&dd.rep()),s,10); }
int mmx::Count | ( | const T & | v | ) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
typename K::floating | , | ||
Interval< Ca, Na > | , | ||
_mul_ | , | ||
operator* | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
typename K::floating | , | ||
Interval< Ca, Na > | , | ||
_sub_ | , | ||
operator- | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
typename K::floating | , | ||
Interval< Ca, Na > | , | ||
_div_ | , | ||
operator/ | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
Interval< Ca, Na > | , | ||
typename K::rational | , | ||
_add_ | , | ||
operator+ | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
Interval< Ca, Na > | , | ||
typename K::rational | , | ||
_sub_ | , | ||
operator- | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
Interval< Ca, Na > | , | ||
typename K::rational | , | ||
_mul_ | , | ||
operator* | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
Interval< Ca, Na > | , | ||
typename K::rational | , | ||
_div_ | , | ||
operator/ | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
typename K::rational | , | ||
Interval< Ca, Na > | , | ||
_add_ | , | ||
operator+ | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
typename K::rational | , | ||
Interval< Ca, Na > | , | ||
_mul_ | , | ||
operator* | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
typename K::rational | , | ||
Interval< Ca, Na > | , | ||
_sub_ | , | ||
operator- | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
typename K::rational | , | ||
Interval< Ca, Na > | , | ||
_div_ | , | ||
operator/ | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
typename K::integer | , | ||
Interval< Ca, Na > | , | ||
_add_ | , | ||
operator+ | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
typename K::integer | , | ||
Interval< Ca, Na > | , | ||
_sub_ | , | ||
operator- | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
typename K::integer | , | ||
Interval< Ca, Na > | , | ||
_mul_ | , | ||
operator* | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
typename K::integer | , | ||
Interval< Ca, Na > | , | ||
_div_ | , | ||
operator/ | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
Interval< Ca, Na > | , | ||
typename K::floating | , | ||
_add_ | , | ||
operator+ | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
Interval< Ca, Na > | , | ||
typename K::floating | , | ||
_sub_ | , | ||
operator- | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
Interval< Ca, Na > | , | ||
typename K::floating | , | ||
_mul_ | , | ||
operator* | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
Interval< Ca, Na > | , | ||
typename K::floating | , | ||
_div_ | , | ||
operator/ | |||
) |
mmx::declare_binary_operator | ( | template< class Ca, int Na, class K > | , |
typename K::floating | , | ||
Interval< Ca, Na > | , | ||
_add_ | , | ||
operator+ | |||
) |
mmx::DECLARE_CLASS | ( | MonomialTensor | , |
"MonomialTensor" | |||
) | const |
mmx::DECLARE_CLASS | ( | Bernstein | , |
"Bernstein" | |||
) | const |
mmx::DECLARE_SET | ( | "ZZ" | , |
integer | |||
) |
mmx::DECLARE_SET | ( | "QQ" | , |
rational | |||
) |
class Ord class X mmx::define_operator_r_r | ( | polynomial< C, with< Rep, Ord > > | , |
X | , | ||
polynomial< C, with< Rep, Ord > > | , | ||
operator+ | , | ||
use< operators_of, typename polynomial< C, with< Rep, Ord > >::rep_t >::add | |||
) |
class Ord class X mmx::define_operator_r_r | ( | polynomial< C, with< Rep, Ord > > | , |
X | , | ||
polynomial< C, with< Rep, Ord > > | , | ||
operator- | , | ||
use< operators_of, typename polynomial< C, with< Rep, Ord > >::rep_t >::sub | |||
) |
class Ord class X mmx::define_operator_r_r | ( | polynomial< C, with< Rep, Ord > > | , |
X | , | ||
polynomial< C, with< Rep, Ord > > | , | ||
operator* | , | ||
use< operators_of, typename polynomial< C, with< Rep, Ord > >::rep_t >::mul | |||
) |
class Ord class X mmx::define_operator_rr_ | ( | polynomial< C, with< Rep, Ord > > | , |
polynomial< C, with< Rep, Ord > > | , | ||
X | , | ||
operator+ | , | ||
use< operators_of, typename polynomial< C, with< Rep, Ord > >::rep_t >::add | |||
) |
class Ord class X mmx::define_operator_rr_ | ( | polynomial< C, with< Rep, Ord > > | , |
polynomial< C, with< Rep, Ord > > | , | ||
X | , | ||
operator- | , | ||
use< operators_of, typename polynomial< C, with< Rep, Ord > >::rep_t >::sub | |||
) |
class Ord class X mmx::define_operator_rr_ | ( | polynomial< C, with< Rep, Ord > > | , |
polynomial< C, with< Rep, Ord > > | , | ||
X | , | ||
operator* | , | ||
use< operators_of, typename polynomial< C, with< Rep, Ord > >::rep_t >::mul | |||
) |
class Ord class X mmx::define_operator_rr_ | ( | polynomial< C, with< Rep, Ord > > | , |
polynomial< C, with< Rep, Ord > > | , | ||
X | , | ||
operator/ | , | ||
use< operators_of, typename polynomial< C, with< Rep, Ord > >::rep_t >::div | |||
) |
mmx::define_operator_rrr | ( | polynomial< C, with< Rep, Ord > > | , |
polynomial< C, with< Rep, Ord > > | , | ||
polynomial< C, with< Rep, Ord > > | , | ||
operator+ | , | ||
use< operators_of, typename polynomial< C, with< Rep, Ord > >::rep_t >::add | |||
) |
class Ord mmx::define_operator_rrr | ( | polynomial< C, with< Rep, Ord > > | , |
polynomial< C, with< Rep, Ord > > | , | ||
polynomial< C, with< Rep, Ord > > | , | ||
operator- | , | ||
use< operators_of, typename polynomial< C, with< Rep, Ord > >::rep_t >::sub | |||
) |
class Ord mmx::define_operator_rrr | ( | polynomial< C, with< Rep, Ord > > | , |
polynomial< C, with< Rep, Ord > > | , | ||
polynomial< C, with< Rep, Ord > > | , | ||
operator* | , | ||
use< operators_of, typename polynomial< C, with< Rep, Ord > >::rep_t >::mul | |||
) |
class Ord mmx::define_operator_rrr | ( | polynomial< C, with< Rep, Ord > > | , |
polynomial< C, with< Rep, Ord > > | , | ||
polynomial< C, with< Rep, Ord > > | , | ||
operator/ | , | ||
use< operators_of, typename polynomial< C, with< Rep, Ord > >::rep_t >::div | |||
) |
class Ord mmx::define_operator_rrr | ( | polynomial< C, with< Rep, Ord > > | , |
polynomial< C, with< Rep, Ord > > | , | ||
polynomial< C, with< Rep, Ord > > | , | ||
operator% | , | ||
use< operators_of, typename polynomial< C, with< Rep, Ord > >::rep_t >::rem | |||
) |
class O mmx::define_operator_rrr | ( | polynomial< C, with< Sparse, O > > | , |
polynomial< C, with< Dual, O > > | , | ||
polynomial< C, with< Sparse, O > > | , | ||
operator* | , | ||
sparse::mul | |||
) |
mmx::define_operator_rrr | ( | polynomial< C, with< Dual, O > > | , |
polynomial< C, with< Sparse, O > > | , | ||
polynomial< C, with< Dual, O > > | , | ||
operator* | , | ||
sparse::mul | |||
) |
dynamic_exp<E>::degree_t mmx::degree | ( | const dynamic_exp< E > & | t | ) | [inline] |
Definition at line 191 of file dynamicexp.hpp.
References dynamic_exp< E >::_size.
Referenced by as_interval_data(), mmx::let::assign(), CF_solve(), coefficients(), degree(), mmx::meta::do_scale(), solver< Ring, Bspline >::first_root(), GLUE_4(), GLUE_5(), GLUE_6(), AkritasBound< RT >::lower_bound(), HongBound< RT >::lower_bound(), Cauchy< C >::lower_bound(), NISP< C >::lower_bound(), BezierBound::lower_bound(), AkritasBound< RT >::lower_power_2(), Cauchy< C >::lower_power_2(), box_rep< C >::max_eval(), min_bound(), euclidean::pseudo_div(), reverse(), run_solver(), subresultant< PREM >::sequence(), shift_by_1(), solver< C, Sleeve< V > >::solve(), continued_fraction_subdivision< K >::solve(), solver< C, ProjRd< MTH > >::solve_monomial(), continued_fraction_subdivision< K >::solve_positive(), and subresultant< PREM >::subres_gcd().
{ typename dynamic_exp<E>::degree_t d(0); for (typename dynamic_exp<E>::size_type i = 0; i < t._size; ++i) d+=t[i]; return(d); }
E::degree_t mmx::degree | ( | const monom< C, E > & | m | ) | [inline] |
int mmx::degree | ( | const polynomial< C, with< Rep, Ord > > & | mp | ) | [inline] |
Definition at line 45 of file polynomial_fcts.hpp.
References degree().
{ return degree(mp.rep()); }
int mmx::degree | ( | const polynomial< C, with< Rep, Ord > > & | mp, |
int | v | ||
) | [inline] |
Definition at line 48 of file polynomial_fcts.hpp.
References degree().
{ return degree(mp.rep(),v); }
ZZ mmx::denominator | ( | const QQ & | a | ) | [inline] |
Definition at line 96 of file GMPXX.hpp.
Referenced by mmx::let::assign(), bit_size(), as_helper< ZZ, QQ >::cv(), mmx::array::lcm_denominator(), NISP< C >::lower_bound(), mmx::univariate::numer(), rfloor(), and solver< C, ContFrac< Approximate > >::solve().
{ return a.get_den(); }
Definition at line 514 of file scalar_rational.hpp.
References scalar< T >::rep().
{ scalar<MPZ> r; mpq_get_den(&r.rep(),&q.rep()); return r;}
polynomial<C, with<Rep,Ord> > mmx::diff | ( | const polynomial< C, with< Rep, Ord > > & | pol, |
int | v | ||
) | [inline] |
Multivariate Polynomial Differentiation. Compute the partial derivative of @ w.r.t @ the vth variable of @. The result is stored in @.
Definition at line 94 of file polynomial_fcts.hpp.
References Polynomial.
Referenced by diff(), solver_bspline< Real >::first_root(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), mmx::realroot::jacobian(), box_rep< C >::min_grad(), solver_mv_fatarcs< C >::prepro(), and solve().
{ Polynomial der; diff(der.rep(),pol.rep(),v); return der; }
polynomial<C, with<Rep,Ord> > mmx::diff | ( | const polynomial< C, with< Rep, Ord > > & | pol | ) | [inline] |
Multivariate Polynomial Differentiation. Compute the partial derivative of @ w.r.t @ the vth variable of @. The result is stored in @.
Definition at line 105 of file polynomial_fcts.hpp.
References diff().
{ return diff(pol,0);//leading_variable(p.rep())); }
polynomial<C, with<V,W> > mmx::diff | ( | const polynomial< C, with< V, W > > & | p, |
const generic & | v | ||
) |
Definition at line 22 of file polynomial_glue.hpp.
References as_charp(), and diff().
void mmx::div | ( | polynomial< C, with< Rep, Ord > > & | r, |
const polynomial< C, with< Rep, Ord > > & | a, | ||
const polynomial< C, with< Rep, Ord > > & | b | ||
) | [inline] |
Definition at line 64 of file polynomial_operators.hpp.
References div().
{ div (r.rep (), a.rep (), b.rep ()); }
void mmx::div | ( | polynomial< C, with< Rep, Ord > > & | r, |
const polynomial< C, with< Rep, Ord > > & | a, | ||
const C & | b | ||
) | [inline] |
Definition at line 68 of file polynomial_operators.hpp.
References div().
{ div (r.rep (), a.rep (), b); }
void mmx::div | ( | monom< C, E > & | a, |
const monom< C, E > & | m1, | ||
const monom< C, E > & | m2 | ||
) | [inline] |
Definition at line 229 of file monomial.hpp.
References erase(), mmx::vctops::max(), and mmx::array::sub().
{ a.coeff() = (m1.coeff()/m2.coeff()); if (a.coeff() !=0) { a.rep().reserve(std::max(m1.rep().size(),m2.rep().size())); array::sub(a.rep(),m1.rep(),m2.rep()); } else { erase(a.rep()); } }
monom<C,E> mmx::div | ( | const monom< C, E > & | m1, |
const monom< C, E > & | m2 | ||
) | [inline] |
Definition at line 243 of file monomial.hpp.
References Monomial.
{ Monomial res(1); res*=(m1.coeff()/m2.coeff()); for (int i = 0; i <= m1.nvars(); ++i) res.set_expt(i,m1[i] - m2[i]); return res; }
void mmx::div | ( | Interval< C, r > & | a, |
const C & | x | ||
) | [inline] |
Definition at line 420 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwdiv(), Interval< T, r >::M, Interval< T, r >::m, and interval_base< T,((unsigned) r)%4 >::updiv().
Referenced by use< operators_of, tensor::monomials< C > >::div(), use< operators_of, tensor::bernstein< C > >::div(), use< operators_of, sparse::monomial_seq< C, O, MONOM, REP > >::div(), use< operators_of, sparse::dual< C, O > >::div(), use< operators_of, polynomial< C, with< Rep, Ord > > >::div(), div(), divide(), operator/(), and polynomial< C, with< Rep, Ord > >::operator/=().
{ if ( x > 0 ) { a.m = a.dwdiv(a.m,x); a.M = a.updiv(a.M,x); } else { C sv(a.m); a.m = a.dwdiv(a.M,x); a.M = a.updiv(sv,x); }; };
void mmx::div | ( | Interval< C, r > & | a, |
const Interval< C, r > & | b, | ||
const C & | x | ||
) | [inline] |
Definition at line 435 of file Interval_fcts.hpp.
References div(), interval_base< T,((unsigned) r)%4 >::dwdiv(), Interval< T, r >::M, Interval< T, r >::m, and interval_base< T,((unsigned) r)%4 >::updiv().
{ if ( &a == &b ) { div(a,x); return; }; if ( x > 0 ) { a.m = a.dwdiv(b.m,x); a.M = a.updiv(b.M,x); } else { a.m = a.dwdiv(b.M,x); a.M = a.updiv(b.m,x); }; };
void mmx::div | ( | Interval< C, r > & | a, |
const C & | x, | ||
const Interval< C, r > & | b | ||
) | [inline] |
Definition at line 450 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwdiv(), Interval< T, r >::M, Interval< T, r >::m, and interval_base< T,((unsigned) r)%4 >::updiv().
{ if ( x > 0 ) { a.m = a.dwdiv(x,b.M); a.M = a.updiv(x,b.m); } else { a.m = a.dwdiv(x,b.m); a.M = a.updiv(x,b.M); }; };
void mmx::div | ( | Interval< C, r > & | a, |
const Interval< C, r > & | b | ||
) | [inline] |
Definition at line 464 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwdiv(), Interval< T, r >::M, Interval< T, r >::m, return, and interval_base< T,((unsigned) r)%4 >::updiv().
{ if ( a.m > 0 ) { if ( b.m > 0 ) { a.m = a.dwdiv(a.m,b.M); a.M = a.updiv(a.M,b.m); return; }; if ( b.M < 0 ) { C sv(a.m); a.m = a.dwdiv(a.M,b.M); a.M = a.updiv(sv,b.m); return; }; if ( r == 3 ) { throw typename Interval<C,r>::extended(a.updiv(a.m,b.m),a.dwdiv(a.M,b.M)); }; }; if ( a.M < 0 ) { if ( b.m > 0 ) { a.m = a.dwdiv(a.m,b.m); a.M = a.updiv(a.M,b.M); return; }; if ( b.M < 0 ) { C sv(a.m); a.m = a.dwdiv(a.M,b.m); a.M = a.updiv(sv,b.M); return; }; if ( r == 3 ) { throw typename Interval<C,r>::extended(a.updiv(a.m,b.M),a.dwdiv(a.M,b.m)); }; } if ( b.m > 0 ) { a.m = a.dwdiv(a.m,b.m); a.M = a.updiv(a.M,b.m); return ; }; if ( b.M < 0 ) { C sv(a.m); a.m = a.dwdiv(a.M,b.m); a.M = a.updiv(sv,b.m); return; }; if ( r == 3 ) throw typename Interval<C,r>::extended(0,0); };
void mmx::div | ( | Interval< C, r > & | x, |
const Interval< C, r > & | a, | ||
const Interval< C, r > & | b | ||
) | [inline] |
Definition at line 527 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwdiv(), Interval< T, r >::M, Interval< T, r >::m, sign(), and interval_base< T,((unsigned) r)%4 >::updiv().
{ /* if ( b.m > 0 ) { if ( a.m > 0 ) { x.m = a.dwdiv(a.m,b.M); x.M = a.updiv(a.M,b.m); } else x.m = a.dwdiv(a.m,b.m); return; } if ( b.M < 0 ) { }; */ switch( sign(a.m) ) { case 1: if ( b.m > 0 ) { x.m = a.dwdiv(a.m,b.M); x.M = a.updiv(a.M,b.m); } else if ( b.M < 0 ) { x.m = a.dwdiv(a.M,b.M); x.M = a.updiv(a.m,b.m); } else throw typename Interval<C,r>::extended(a.updiv(a.m,b.m),a.dwdiv(a.M,b.M)); break; case -1: if ( b.m > 0 ) { x.m = a.dwdiv(a.m,b.m); x.M = a.updiv(a.M,b.M); }else if ( b.M < 0 ) { // C sv(a.M); x.m = a.dwdiv(a.M,b.m); x.M = a.updiv(a.m,b.M); } else throw typename Interval<C,r>::extended(a.updiv(a.m,b.M),a.dwdiv(a.M,b.m)); break; case 0: if ( b.m > 0 ) { x.m = 0; x.M = a.updiv(a.M,b.m); } else if ( b.M < 0 ) { x.m = a.dwdiv(a.M,b.m); x.M = a.updiv(a.m,b.m); } else throw typename Interval<C,r>::extended(0,0); break; }; };
scalar< T > & Div2Exp | ( | const scalar< T > & | b, |
unsigned long | exponent_of_2 | ||
) | [inline] |
monom<C,E> mmx::div_quo | ( | const monom< C, E > & | m1, |
const monom< C, E > & | m2 | ||
) | [inline] |
Definition at line 251 of file monomial.hpp.
References Monomial.
{ Monomial res(1); res*=(m1.coeff()/m2.coeff()); for (int i = 0; i <= m1.nvars(); ++i) res.set_expt(i,m1[i] - m2[i]); return res; }
void mmx::div_x | ( | POL & | p, |
int | k | ||
) |
Definition at line 8 of file contfrac_intervaldata.hpp.
Referenced by continued_fraction_subdivision< K >::solve_homography().
{ for(int i=0;i< int(p.size()-k);i++) p[i]=p[i+k]; for(int i=p.size()-k; i<(int)p.size();i++) p[i]=0; }
bool mmx::divide | ( | const monom< C, E > & | m1, |
const monom< C, E > & | m2, | ||
monom< C, E > & | r | ||
) | [inline] |
Definition at line 207 of file monomial.hpp.
References div().
Referenced by mmx::sparse::div_rem().
{ div(r,m1,m2); for (int i = 0; i <= r.nvars(); ++i) if(r[i]<0) return false; return true; }
void mmx::DivMod | ( | scalar< MPZ > & | q, |
scalar< MPZ > & | r, | ||
const scalar< MPZ > & | divdend, | ||
const scalar< MPZ > & | divisor | ||
) | [inline] |
Definition at line 571 of file scalar_integer.hpp.
References scalar< T >::rep().
{ mpz_divmod(&q.rep(), &r.rep(), &divdend.rep(), &divisor.rep()); }
void mmx::DivMod | ( | scalar< MPZ > & | q, |
scalar< MPZ > & | r, | ||
const scalar< MPZ > & | divdend, | ||
unsigned long | divisor | ||
) | [inline] |
Definition at line 577 of file scalar_integer.hpp.
References scalar< T >::rep().
{ mpz_divmod_ui(&q.rep(), &r.rep(), &divdend.rep(), divisor); }
int mmx::Eps | ( | const T & | v | ) |
Definition at line 161 of file sign_variation.hpp.
Referenced by Count().
{ typedef typename T::const_iterator iter; int result=0; iter iti, itj=v.begin()+1; iti=itj; // std::cout<<(*iti)<<" "<<(*itj)<<std::endl; while (itj!=v.end()) { // std::cout<<"L "<<(*iti)<<" "<<(*itj)<<std::endl; if ((*itj)==0) { iti=itj+1; while(iti!=v.end() && (*iti==0)) ++iti; if (iti!=v.end()) { // std::cout<<*iti<<" "<<*itj<<std::endl; if (std::distance(itj,iti)%2==0) { int val; if (sign(*(itj-1))*sign(*iti)>0) val=1; else val=-1; result += val*pow(-1,std::distance(itj,iti)/2); } itj=iti+1; } else return result; } else ++itj; } return result; }
bool mmx::eq | ( | const Seq< C, R > & | v1, |
const Seq< C, R > & | v2 | ||
) |
bool mmx::eq | ( | const set_of< C > & | R1, |
const set_of< C > & | R2 | ||
) | [inline] |
Definition at line 30 of file set_of.hpp.
{
return R1==R2;
}
void mmx::erase | ( | dynamic_exp< E > & | A | ) |
Definition at line 269 of file dynamicexp.hpp.
References dynamic_exp< E >::_size, dynamic_exp< E >::_tab, and dynamic_exp< E >::clear().
Referenced by div(), mul(), operator*(), monom< C, E >::operator*=(), operator/(), and monom< C, E >::operator/=().
{ A.clear(); A._tab = NULL; A._size = 0; }
Result mmx::eval | ( | const polynomial< C, with< Rep, Ord > > & | polynomial, |
const Parameters & | parameters, | ||
int | n | ||
) | [inline] |
Definition at line 136 of file polynomial_fcts.hpp.
References eval().
{ Result result; eval(result, polynomial.rep(), parameters, n ); return result; }
Result mmx::eval | ( | const polynomial< C, with< Rep, Ord > > & | polynomial, |
const Parameters & | parameters | ||
) | [inline] |
Multivariate Polynomial Evaluation. The type { Prm } must a container type, @ corresponds to the $0..nvr()$ coordinates. The computation is done in the { Sup Type} of the { Contained Type } of { Prm} and { Coeff}. The type { Result } is the type of the result, it is assumed to have an operator= on the computation type.
Definition at line 129 of file polynomial_fcts.hpp.
Referenced by template_expression< binary_operator<O, A, B > >::_eval_(), solver_mv_monomial< FT, POL >::check_root(), box_rep< C >::corner_event(), corner_values(), arc_rep< C >::critpt(), template_expression< binary_operator<O, A, B > >::eval(), template_expression< unary_operator<O, A > >::eval(), eval(), mmx::realroot::eval_poly_matrix(), mmx::realroot::exclude1(), mmx::realroot::include3(), template_expression< binary_operator<O, A, B > >::operator E(), template_expression< unary_operator<O, A > >::operator E(), template_expression< binary_operator<O, A, B > >::operator!=(), polynomial< C, with< Rep, Ord > >::operator()(), mmx::realroot::precondition(), solver_mv_fatarcs< C >::prepro(), and mmx::realroot::signof().
{ Result result; eval(result, polynomial.rep(), parameters ); return result; }
void mmx::eval | ( | Result & | result, |
const polynomial< C, with< Rep, Ord > > & | polynomial, | ||
const Parameters & | parameters | ||
) | [inline] |
Definition at line 143 of file polynomial_fcts.hpp.
References eval().
{ eval(result, polynomial.rep(), parameters ); }
bool mmx::exact_eq | ( | const ring< C, Sparse, DegRevLex > & | p, |
const ring< C, Sparse, DegRevLex > & | q | ||
) |
Definition at line 17 of file polynomial_sparse_glue.hpp.
{ return true;}
bool mmx::exact_eq | ( | const ring< C, MonomialTensor > & | p, |
const ring< C, MonomialTensor > & | q | ||
) |
Definition at line 21 of file polynomial_tensor_glue.hpp.
{ return true;}
bool mmx::exact_eq | ( | const Monomial & | v1, |
const Monomial & | v2 | ||
) |
Definition at line 23 of file monomial_glue.hpp.
{return v1==v2;}
bool mmx::exact_eq | ( | const ring< C, Bernstein > & | p, |
const ring< C, Bernstein > & | q | ||
) |
Definition at line 21 of file polynomial_bernstein_glue.hpp.
{ return true;}
bool mmx::exact_eq | ( | const ring< C, Dual, DegRevLex > & | p, |
const ring< C, Dual, DegRevLex > & | q | ||
) |
Definition at line 14 of file polynomial_dual_glue.hpp.
{ return true;}
bool mmx::exact_eq | ( | const polynomial< C, with< V, W > > & | p, |
const polynomial< C, with< V, W > > & | q | ||
) |
Definition at line 15 of file polynomial_glue.hpp.
{ return p==q;}
unsigned mmx::exact_hash | ( | const ring< C, Sparse, DegRevLex > & | p | ) |
Definition at line 15 of file polynomial_sparse_glue.hpp.
{ return 1;}
unsigned mmx::exact_hash | ( | const ring< C, MonomialTensor > & | p | ) |
Definition at line 18 of file polynomial_tensor_glue.hpp.
{ return 1;}
unsigned mmx::exact_hash | ( | const Monomial & | m | ) |
unsigned mmx::exact_hash | ( | const ring< C, Bernstein > & | p | ) |
Definition at line 18 of file polynomial_bernstein_glue.hpp.
{ return 1;}
unsigned mmx::exact_hash | ( | const ring< C, Dual, DegRevLex > & | p | ) |
Definition at line 12 of file polynomial_dual_glue.hpp.
{ return 1;}
unsigned mmx::exact_hash | ( | const polynomial< C, with< V, W > > & | p | ) |
Definition at line 13 of file polynomial_glue.hpp.
{ return 1;}
bool mmx::exact_neq | ( | const ring< C, Sparse, DegRevLex > & | p, |
const ring< C, Sparse, DegRevLex > & | q | ||
) |
Definition at line 18 of file polynomial_sparse_glue.hpp.
{ return false;}
bool mmx::exact_neq | ( | const ring< C, MonomialTensor > & | p, |
const ring< C, MonomialTensor > & | q | ||
) |
Definition at line 22 of file polynomial_tensor_glue.hpp.
{ return false;}
bool mmx::exact_neq | ( | const Monomial & | v1, |
const Monomial & | v2 | ||
) |
Definition at line 24 of file monomial_glue.hpp.
{return v1!=v2;}
bool mmx::exact_neq | ( | const ring< C, Bernstein > & | p, |
const ring< C, Bernstein > & | q | ||
) |
Definition at line 22 of file polynomial_bernstein_glue.hpp.
{ return false;}
bool mmx::exact_neq | ( | const ring< C, Dual, DegRevLex > & | p, |
const ring< C, Dual, DegRevLex > & | q | ||
) |
Definition at line 15 of file polynomial_dual_glue.hpp.
{ return false;}
bool mmx::exact_neq | ( | const polynomial< C, with< V, W > > & | p, |
const polynomial< C, with< V, W > > & | q | ||
) |
Definition at line 16 of file polynomial_glue.hpp.
{ return p!=q;}
void mmx::ExtGCD | ( | scalar< MPZ > & | gcd, |
scalar< MPZ > & | a, | ||
scalar< MPZ > & | b, | ||
const scalar< MPZ > & | x, | ||
const scalar< MPZ > & | y | ||
) | [inline] |
Definition at line 583 of file scalar_integer.hpp.
References scalar< T >::rep().
{ mpz_gcdext(&gcd.rep(), &a.rep(), &b.rep(), &x.rep(), &y.rep()); }
T mmx::factorial | ( | int | n | ) |
Factorial
Definition at line 40 of file binomials.hpp.
{ T r=1; for (int i=2;i<=n;i++) r*=n; return(r); }
syntactic mmx::flatten | ( | const interval< C > & | x | ) |
Definition at line 17 of file Interval_glue.hpp.
References lower(), and upper().
Referenced by flatten(), and mmx::tensor::print_flatten().
{ return flatten(cons(as<generic>(lower(x)), list<generic>(as<generic>(upper(x))))); }
syntactic mmx::flatten | ( | const ring< C, Sparse, DegRevLex > & | rg | ) |
Definition at line 23 of file polynomial_sparse_glue.hpp.
References flatten().
{ syntactic CF= flatten(scalar_set<C>()); vector<syntactic> Lv; Lv <<CF; for(int i=0;i<rg.nbvar();i++) Lv<<syntactic(RING::var[i].data()); return apply (GEN_ACCESS, Lv); }
syntactic mmx::flatten | ( | const polynomial< C, with< Sparse, DegRevLex > > & | p | ) |
Definition at line 52 of file polynomial_sparse_glue.hpp.
References flatten(), and pow().
{ typedef typename Polynomial::const_iterator iterator; typedef typename Polynomial::Ring Ring; syntactic r(0); for(iterator it=p.begin(); it!=p.end();it++) { syntactic m= flatten(it->coeff()); for(unsigned i=0;i<it->nbvar();i++) { syntactic v = Ring::var[i].data(); m = m*pow(v,syntactic((*it)[i])); } r+=m; } return r; }
syntactic mmx::flatten | ( | const ring< C, MonomialTensor > & | rg | ) |
Definition at line 27 of file polynomial_tensor_glue.hpp.
References flatten().
{ syntactic CF= flatten(scalar_set<C>()); vector<syntactic> Lv; Lv <<CF; for(int i=0;i<rg.nbvar();i++) { Lv<<syntactic(RING::var[i].data()); } return apply (GEN_ACCESS, Lv); }
syntactic mmx::flatten | ( | const polynomial< C, with< MonomialTensor > > & | p | ) |
Definition at line 70 of file polynomial_tensor_glue.hpp.
References mmx::tensor::print_flatten().
{ typedef typename POLYNOMIAL::const_iterator iterator; typedef typename POLYNOMIAL::Ring Ring; syntactic r(0); print_flatten(r,p.rep(),Ring::vars()); return r; }
syntactic mmx::flatten | ( | const monom< int > & | v | ) |
syntactic mmx::flatten | ( | const ring< C, Bernstein > & | rg | ) |
Definition at line 27 of file polynomial_bernstein_glue.hpp.
References flatten().
{ syntactic CF= flatten(scalar_set<C>()); vector<syntactic> Lv; Lv <<CF; for(int i=0;i<rg.nbvar();i++) { Lv<<syntactic(RING::var[i].data()); } Lv<<syntactic("Bernstein"); return apply (GEN_ACCESS, Lv); }
syntactic mmx::flatten | ( | const polynomial< C, with< Bernstein > > & | p | ) |
Definition at line 81 of file polynomial_bernstein_glue.hpp.
References mmx::tensor::convertb2m(), POLYNOMIAL, and mmx::tensor::print_flatten().
{ syntactic r(0); POLYNOMIAL tmp(p); tensor::convertb2m(tmp.rep()); print_flatten(r,tmp.rep(),RING::vars()); return r; }
syntactic mmx::flatten | ( | const ring< C, Dual, DegRevLex > & | Rg | ) |
Definition at line 20 of file polynomial_dual_glue.hpp.
References flatten().
{ syntactic CF= flatten(scalar_set<C>()); vector<syntactic> rg; rg <<CF; vector<syntactic> Lv; for(int i=0;i<Rg.nbvar();i++) Lv<<syntactic(string("d")<<RING_POL::var[i].data()); rg << apply(GEN_SQTUPLE,Lv); return apply (GEN_ACCESS, rg); }
syntactic mmx::flatten | ( | const polynomial< C, with< Dual, DegRevLex > > & | p | ) |
Definition at line 38 of file polynomial_dual_glue.hpp.
References flatten(), and pow().
{ typedef typename Polynomial::const_iterator iterator; syntactic r(0); for(iterator it=p.begin(); it!=p.end();it++) { syntactic m= flatten(it->coeff()); for(unsigned i=0;i<it->nbvar();i++) { syntactic v = string("d")<<RING_POL::var[i].data(); m = m*pow(v,syntactic(-(*it)[i])); } r+=m; } return r; }
syntactic mmx::flatten | ( | const polynomial< C, with< V, W > > & | p | ) |
Definition at line 18 of file polynomial_glue.hpp.
References flatten().
{ return flatten(p.rep()); }
syntactic mmx::flatten | ( | const set_of< X > & | s | ) | [inline] |
Definition at line 35 of file set_of.hpp.
{ return syntactic("XXX");//type_name< X >()); }
RR mmx::fracpart | ( | const RR & | r | ) | [inline] |
polynomial<C,V> mmx::gcd | ( | const polynomial< C, V > & | p, |
const polynomial< C, V > & | q | ||
) | [inline] |
Definition at line 227 of file subresultant.hpp.
References subresultant< PREM >::subres_gcd().
{
return subresultant<euclidean>::subres_gcd(p,q);
}
double mmx::gcd | ( | const double & | , |
const double & | |||
) | [inline] |
Definition at line 75 of file GMP.hpp.
Referenced by mmx::sparse::content(), lcm(), and subresultant< PREM >::subres_gcd().
{ return 1; }
scalar< T > & GCD | ( | const scalar< T > & | b1, |
const scalar< T > & | b2 | ||
) | [inline] |
scalar< T > & gcd | ( | const scalar< T > & | b1, |
const scalar< T > & | b2 | ||
) | [inline] |
ZZ mmx::gcd | ( | const ZZ & | a, |
const ZZ & | b | ||
) | [inline] |
Definition at line 698 of file scalar_integer.hpp.
References scalar< T >::rep().
{
scalar<MPZ> r;
mpz_gcd(&r.rep(), &a.rep(), &b.rep());
return r;
}
static interval<rational> mmx::GLUE_1 | ( | const rational & | arg_1 | ) | [static] |
Definition at line 10 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), glue_polynomial_tensor_rational(), glue_solver_univariate_floating(), glue_solver_univariate_integer(), and glue_solver_univariate_rational().
{
return interval<rational > (arg_1);
}
static rational mmx::GLUE_1 | ( | const ring< rational, Bernstein > & | arg_1 | ) | [static] |
Definition at line 27 of file glue_polynomial_bernstein_rational.cpp.
References sample().
{ return sample (arg_1); }
static rational mmx::GLUE_1 | ( | const ring< rational, Dual, DegRevLex > & | arg_1 | ) | [static] |
Definition at line 25 of file glue_polynomial_dual_rational.cpp.
References sample().
{ return sample (arg_1); }
static mmx_floating mmx::GLUE_1 | ( | const ring< mmx_floating, Sparse, DegRevLex > & | arg_1 | ) | [static] |
Definition at line 25 of file glue_polynomial_sparse_floating.cpp.
References sample().
{ return sample (arg_1); }
static integer mmx::GLUE_1 | ( | const ring< integer, Sparse, DegRevLex > & | arg_1 | ) | [static] |
Definition at line 25 of file glue_polynomial_sparse_integer.cpp.
References sample().
{ return sample (arg_1); }
static rational mmx::GLUE_1 | ( | const ring< rational, Sparse, DegRevLex > & | arg_1 | ) | [static] |
Definition at line 25 of file glue_polynomial_sparse_rational.cpp.
References sample().
{ return sample (arg_1); }
static mmx_floating mmx::GLUE_1 | ( | const ring< mmx_floating, MonomialTensor > & | arg_1 | ) | [static] |
Definition at line 26 of file glue_polynomial_tensor_floating.cpp.
References sample().
{ return sample (arg_1); }
static integer mmx::GLUE_1 | ( | const ring< integer, MonomialTensor > & | arg_1 | ) | [static] |
Definition at line 26 of file glue_polynomial_tensor_integer.cpp.
References sample().
{ return sample (arg_1); }
static rational mmx::GLUE_1 | ( | const ring< rational, MonomialTensor > & | arg_1 | ) | [static] |
Definition at line 26 of file glue_polynomial_tensor_rational.cpp.
References sample().
{ return sample (arg_1); }
static vector<generic> mmx::GLUE_1 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 32 of file glue_solver_univariate_floating.cpp.
References solver_univariate_contfrac_approx().
{ return solver_univariate_contfrac_approx (arg_1); }
static vector<generic> mmx::GLUE_1 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 32 of file glue_solver_univariate_integer.cpp.
References solver_univariate_contfrac().
{ return solver_univariate_contfrac (arg_1); }
static vector<generic> mmx::GLUE_1 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 32 of file glue_solver_univariate_rational.cpp.
References solver_univariate_contfrac().
{ return solver_univariate_contfrac (arg_1); }
static interval<rational> mmx::GLUE_10 | ( | const interval< rational > & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 55 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 - arg_2;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_10 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1, |
const ring< rational, Bernstein >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 72 of file glue_polynomial_bernstein_rational.cpp.
{
return arg_1 - arg_2;
}
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_10 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 70 of file glue_polynomial_dual_rational.cpp.
{
return square (arg_1);
}
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_10 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 70 of file glue_polynomial_sparse_floating.cpp.
{
return arg_1 - arg_2;
}
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_10 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 70 of file glue_polynomial_sparse_integer.cpp.
{
return arg_1 - arg_2;
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_10 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 70 of file glue_polynomial_sparse_rational.cpp.
{
return arg_1 - arg_2;
}
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_10 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1, |
const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 71 of file glue_polynomial_tensor_floating.cpp.
{
return arg_1 * arg_2;
}
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_10 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1, |
const ring< integer, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 71 of file glue_polynomial_tensor_integer.cpp.
{
return arg_1 * arg_2;
}
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_10 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const ring< rational, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 71 of file glue_polynomial_tensor_rational.cpp.
{
return arg_1 - arg_2;
}
static interval<rational> mmx::GLUE_11 | ( | const rational & | arg_1, |
const interval< rational > & | arg_2 | ||
) | [static] |
Definition at line 60 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 * arg_2;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_11 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1, |
const ring< rational, Bernstein >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 77 of file glue_polynomial_bernstein_rational.cpp.
{
return arg_1 * arg_2;
}
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_11 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 75 of file glue_polynomial_dual_rational.cpp.
References pow().
{ return pow (arg_1, arg_2); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_11 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 75 of file glue_polynomial_sparse_floating.cpp.
{
return arg_1 * arg_2;
}
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_11 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 75 of file glue_polynomial_sparse_integer.cpp.
{
return arg_1 * arg_2;
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_11 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 75 of file glue_polynomial_sparse_rational.cpp.
{
return arg_1 * arg_2;
}
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_11 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 76 of file glue_polynomial_tensor_floating.cpp.
{
return square (arg_1);
}
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_11 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 76 of file glue_polynomial_tensor_integer.cpp.
{
return square (arg_1);
}
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_11 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const ring< rational, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 76 of file glue_polynomial_tensor_rational.cpp.
{
return arg_1 * arg_2;
}
static interval<rational> mmx::GLUE_12 | ( | const interval< rational > & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 65 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 * arg_2;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_12 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1 | ) | [static] |
Definition at line 82 of file glue_polynomial_bernstein_rational.cpp.
{
return square (arg_1);
}
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_12 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 80 of file glue_polynomial_dual_rational.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_12 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 80 of file glue_polynomial_sparse_floating.cpp.
{
return square (arg_1);
}
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_12 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 80 of file glue_polynomial_sparse_integer.cpp.
{
return square (arg_1);
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_12 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 80 of file glue_polynomial_sparse_rational.cpp.
{
return square (arg_1);
}
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_12 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 81 of file glue_polynomial_tensor_floating.cpp.
References pow().
{ return pow (arg_1, arg_2); }
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_12 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 81 of file glue_polynomial_tensor_integer.cpp.
References pow().
{ return pow (arg_1, arg_2); }
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_12 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 81 of file glue_polynomial_tensor_rational.cpp.
{
return square (arg_1);
}
static interval<rational> mmx::GLUE_13 | ( | const interval< rational > & | arg_1, |
const interval< rational > & | arg_2 | ||
) | [static] |
Definition at line 70 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 / arg_2;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_13 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 87 of file glue_polynomial_bernstein_rational.cpp.
References pow().
{ return pow (arg_1, arg_2); }
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_13 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 85 of file glue_polynomial_dual_rational.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_13 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 85 of file glue_polynomial_sparse_floating.cpp.
References pow().
{ return pow (arg_1, arg_2); }
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_13 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 85 of file glue_polynomial_sparse_integer.cpp.
References pow().
{ return pow (arg_1, arg_2); }
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_13 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 85 of file glue_polynomial_sparse_rational.cpp.
References pow().
{ return pow (arg_1, arg_2); }
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_13 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 86 of file glue_polynomial_tensor_floating.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_13 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 86 of file glue_polynomial_tensor_integer.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_13 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 86 of file glue_polynomial_tensor_rational.cpp.
References pow().
{ return pow (arg_1, arg_2); }
static rational mmx::GLUE_14 | ( | const interval< rational > & | arg_1 | ) | [static] |
Definition at line 75 of file glue_interval.cpp.
References interval_lower().
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{ return interval_lower (arg_1); }
static ring<rational, Bernstein>::Polynomial mmx::GLUE_14 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 92 of file glue_polynomial_bernstein_rational.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_14 | ( | const rational & | arg_1, |
const ring< rational, Dual, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 90 of file glue_polynomial_dual_rational.cpp.
{
return arg_1 + arg_2;
}
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_14 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 90 of file glue_polynomial_sparse_floating.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_14 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 90 of file glue_polynomial_sparse_integer.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_14 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 90 of file glue_polynomial_sparse_rational.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_14 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 91 of file glue_polynomial_tensor_floating.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_14 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 91 of file glue_polynomial_tensor_integer.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_14 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 91 of file glue_polynomial_tensor_rational.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_15 | ( | const mmx_floating & | arg_1, |
const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 96 of file glue_polynomial_tensor_floating.cpp.
{
return arg_1 + arg_2;
}
static rational mmx::GLUE_15 | ( | const interval< rational > & | arg_1 | ) | [static] |
Definition at line 80 of file glue_interval.cpp.
References interval_upper().
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{ return interval_upper (arg_1); }
static ring<rational, Bernstein>::Polynomial mmx::GLUE_15 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 97 of file glue_polynomial_bernstein_rational.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_15 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 95 of file glue_polynomial_dual_rational.cpp.
{
return arg_1 + arg_2;
}
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_15 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 96 of file glue_polynomial_tensor_rational.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_15 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 95 of file glue_polynomial_sparse_floating.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_15 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 95 of file glue_polynomial_sparse_integer.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_15 | ( | const integer & | arg_1, |
const ring< integer, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 96 of file glue_polynomial_tensor_integer.cpp.
{
return arg_1 + arg_2;
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_15 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 95 of file glue_polynomial_sparse_rational.cpp.
References diff().
{ return diff (arg_1, arg_2); }
static interval<mmx_floating> mmx::GLUE_16 | ( | const mmx_floating & | arg_1 | ) | [static] |
Definition at line 85 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return interval<mmx_floating > (arg_1);
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_16 | ( | const rational & | arg_1, |
const ring< rational, Bernstein >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 102 of file glue_polynomial_bernstein_rational.cpp.
{
return arg_1 + arg_2;
}
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_16 | ( | const rational & | arg_1, |
const ring< rational, Dual, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 100 of file glue_polynomial_dual_rational.cpp.
{
return arg_1 - arg_2;
}
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_16 | ( | const mmx_floating & | arg_1, |
const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 100 of file glue_polynomial_sparse_floating.cpp.
{
return arg_1 + arg_2;
}
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_16 | ( | const integer & | arg_1, |
const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 100 of file glue_polynomial_sparse_integer.cpp.
{
return arg_1 + arg_2;
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_16 | ( | const rational & | arg_1, |
const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 100 of file glue_polynomial_sparse_rational.cpp.
{
return arg_1 + arg_2;
}
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_16 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1, |
const mmx_floating & | arg_2 | ||
) | [static] |
Definition at line 101 of file glue_polynomial_tensor_floating.cpp.
{
return arg_1 + arg_2;
}
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_16 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1, |
const integer & | arg_2 | ||
) | [static] |
Definition at line 101 of file glue_polynomial_tensor_integer.cpp.
{
return arg_1 + arg_2;
}
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_16 | ( | const rational & | arg_1, |
const ring< rational, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 101 of file glue_polynomial_tensor_rational.cpp.
{
return arg_1 + arg_2;
}
static interval<mmx_floating> mmx::GLUE_17 | ( | const mmx_floating & | arg_1, |
const mmx_floating & | arg_2 | ||
) | [static] |
Definition at line 90 of file glue_interval.cpp.
References interval_from_pair().
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{ return interval_from_pair (arg_1, arg_2); }
static ring<rational, Bernstein>::Polynomial mmx::GLUE_17 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 107 of file glue_polynomial_bernstein_rational.cpp.
{
return arg_1 + arg_2;
}
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_17 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 105 of file glue_polynomial_dual_rational.cpp.
{
return arg_1 - arg_2;
}
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_17 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const mmx_floating & | arg_2 | ||
) | [static] |
Definition at line 105 of file glue_polynomial_sparse_floating.cpp.
{
return arg_1 + arg_2;
}
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_17 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const integer & | arg_2 | ||
) | [static] |
Definition at line 105 of file glue_polynomial_sparse_integer.cpp.
{
return arg_1 + arg_2;
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_17 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 105 of file glue_polynomial_sparse_rational.cpp.
{
return arg_1 + arg_2;
}
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_17 | ( | const mmx_floating & | arg_1, |
const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 106 of file glue_polynomial_tensor_floating.cpp.
{
return arg_1 - arg_2;
}
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_17 | ( | const integer & | arg_1, |
const ring< integer, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 106 of file glue_polynomial_tensor_integer.cpp.
{
return arg_1 - arg_2;
}
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_17 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 106 of file glue_polynomial_tensor_rational.cpp.
{
return arg_1 + arg_2;
}
static interval<mmx_floating> mmx::GLUE_18 | ( | const interval< mmx_floating > & | arg_1 | ) | [static] |
Definition at line 95 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return -arg_1;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_18 | ( | const rational & | arg_1, |
const ring< rational, Bernstein >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 112 of file glue_polynomial_bernstein_rational.cpp.
{
return arg_1 - arg_2;
}
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_18 | ( | const rational & | arg_1, |
const ring< rational, Dual, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 110 of file glue_polynomial_dual_rational.cpp.
{
return arg_1 * arg_2;
}
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_18 | ( | const mmx_floating & | arg_1, |
const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 110 of file glue_polynomial_sparse_floating.cpp.
{
return arg_1 - arg_2;
}
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_18 | ( | const integer & | arg_1, |
const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 110 of file glue_polynomial_sparse_integer.cpp.
{
return arg_1 - arg_2;
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_18 | ( | const rational & | arg_1, |
const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 110 of file glue_polynomial_sparse_rational.cpp.
{
return arg_1 - arg_2;
}
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_18 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1, |
const mmx_floating & | arg_2 | ||
) | [static] |
Definition at line 111 of file glue_polynomial_tensor_floating.cpp.
{
return arg_1 - arg_2;
}
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_18 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1, |
const integer & | arg_2 | ||
) | [static] |
Definition at line 111 of file glue_polynomial_tensor_integer.cpp.
{
return arg_1 - arg_2;
}
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_18 | ( | const rational & | arg_1, |
const ring< rational, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 111 of file glue_polynomial_tensor_rational.cpp.
{
return arg_1 - arg_2;
}
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_19 | ( | const mmx_floating & | arg_1, |
const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 116 of file glue_polynomial_tensor_floating.cpp.
{
return arg_1 * arg_2;
}
static interval<mmx_floating> mmx::GLUE_19 | ( | const interval< mmx_floating > & | arg_1, |
const interval< mmx_floating > & | arg_2 | ||
) | [static] |
Definition at line 100 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 + arg_2;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_19 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 117 of file glue_polynomial_bernstein_rational.cpp.
{
return arg_1 - arg_2;
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_19 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 115 of file glue_polynomial_sparse_rational.cpp.
{
return arg_1 - arg_2;
}
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_19 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 115 of file glue_polynomial_dual_rational.cpp.
{
return arg_1 * arg_2;
}
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_19 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const mmx_floating & | arg_2 | ||
) | [static] |
Definition at line 115 of file glue_polynomial_sparse_floating.cpp.
{
return arg_1 - arg_2;
}
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_19 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const integer & | arg_2 | ||
) | [static] |
Definition at line 115 of file glue_polynomial_sparse_integer.cpp.
{
return arg_1 - arg_2;
}
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_19 | ( | const integer & | arg_1, |
const ring< integer, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 116 of file glue_polynomial_tensor_integer.cpp.
{
return arg_1 * arg_2;
}
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_19 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 116 of file glue_polynomial_tensor_rational.cpp.
{
return arg_1 - arg_2;
}
static interval<rational> mmx::GLUE_2 | ( | const rational & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 15 of file glue_interval.cpp.
References interval_from_pair().
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), glue_polynomial_tensor_rational(), glue_solver_univariate_floating(), glue_solver_univariate_integer(), and glue_solver_univariate_rational().
{ return interval_from_pair (arg_1, arg_2); }
static ring<rational, Bernstein> mmx::GLUE_2 | ( | const ring< rational, Sparse, DegRevLex > & | arg_1 | ) | [static] |
Definition at line 32 of file glue_polynomial_bernstein_rational.cpp.
References ring_bernstein_of().
{ return ring_bernstein_of (arg_1); }
static vector<generic> mmx::GLUE_2 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 37 of file glue_solver_univariate_floating.cpp.
References solver_univariate_contfrac_approx_prec().
{ return solver_univariate_contfrac_approx_prec (arg_1, arg_2); }
static ring<mmx_floating, Sparse, DegRevLex> mmx::GLUE_2 | ( | const ring< mmx_floating, Sparse, DegRevLex > & | arg_1, |
const tuple< generic > & | arg_2 | ||
) | [static] |
Definition at line 30 of file glue_polynomial_sparse_floating.cpp.
References ring_sparse_extend_generic().
{ return ring_sparse_extend_generic (arg_1, as_vector (arg_2)); }
static ring<integer, Sparse, DegRevLex> mmx::GLUE_2 | ( | const ring< integer, Sparse, DegRevLex > & | arg_1, |
const tuple< generic > & | arg_2 | ||
) | [static] |
Definition at line 30 of file glue_polynomial_sparse_integer.cpp.
References ring_sparse_extend_generic().
{ return ring_sparse_extend_generic (arg_1, as_vector (arg_2)); }
static ring<rational, Sparse, DegRevLex> mmx::GLUE_2 | ( | const ring< rational, Sparse, DegRevLex > & | arg_1, |
const tuple< generic > & | arg_2 | ||
) | [static] |
Definition at line 30 of file glue_polynomial_sparse_rational.cpp.
References ring_sparse_extend_generic().
{ return ring_sparse_extend_generic (arg_1, as_vector (arg_2)); }
static vector<generic> mmx::GLUE_2 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 37 of file glue_solver_univariate_integer.cpp.
References solver_univariate_contfrac_prec().
{ return solver_univariate_contfrac_prec (arg_1, arg_2); }
static ring<mmx_floating, MonomialTensor> mmx::GLUE_2 | ( | const ring< mmx_floating, Sparse, DegRevLex > & | arg_1 | ) | [static] |
Definition at line 31 of file glue_polynomial_tensor_floating.cpp.
References ring_tensor_of().
{ return ring_tensor_of (arg_1); }
static ring<integer, MonomialTensor> mmx::GLUE_2 | ( | const ring< integer, Sparse, DegRevLex > & | arg_1 | ) | [static] |
Definition at line 31 of file glue_polynomial_tensor_integer.cpp.
References ring_tensor_of().
{ return ring_tensor_of (arg_1); }
static vector<generic> mmx::GLUE_2 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 37 of file glue_solver_univariate_rational.cpp.
References solver_univariate_contfrac_prec().
{ return solver_univariate_contfrac_prec (arg_1, arg_2); }
static interval<mmx_floating> mmx::GLUE_20 | ( | const interval< mmx_floating > & | arg_1, |
const interval< mmx_floating > & | arg_2 | ||
) | [static] |
Definition at line 105 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 - arg_2;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_20 | ( | const rational & | arg_1, |
const ring< rational, Bernstein >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 122 of file glue_polynomial_bernstein_rational.cpp.
{
return arg_1 * arg_2;
}
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_20 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 120 of file glue_polynomial_dual_rational.cpp.
{
return arg_1 / arg_2;
}
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_20 | ( | const mmx_floating & | arg_1, |
const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 120 of file glue_polynomial_sparse_floating.cpp.
{
return arg_1 * arg_2;
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_20 | ( | const rational & | arg_1, |
const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 120 of file glue_polynomial_sparse_rational.cpp.
{
return arg_1 * arg_2;
}
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_20 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1, |
const mmx_floating & | arg_2 | ||
) | [static] |
Definition at line 121 of file glue_polynomial_tensor_floating.cpp.
{
return arg_1 * arg_2;
}
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_20 | ( | const rational & | arg_1, |
const ring< rational, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 121 of file glue_polynomial_tensor_rational.cpp.
{
return arg_1 * arg_2;
}
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_20 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1, |
const integer & | arg_2 | ||
) | [static] |
Definition at line 121 of file glue_polynomial_tensor_integer.cpp.
{
return arg_1 * arg_2;
}
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_20 | ( | const integer & | arg_1, |
const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 120 of file glue_polynomial_sparse_integer.cpp.
{
return arg_1 * arg_2;
}
static interval<mmx_floating> mmx::GLUE_21 | ( | const interval< mmx_floating > & | arg_1, |
const interval< mmx_floating > & | arg_2 | ||
) | [static] |
Definition at line 110 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 * arg_2;
}
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_21 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const mmx_floating & | arg_2 | ||
) | [static] |
Definition at line 125 of file glue_polynomial_sparse_floating.cpp.
{
return arg_1 * arg_2;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_21 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 127 of file glue_polynomial_bernstein_rational.cpp.
{
return arg_1 * arg_2;
}
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_21 | ( | const ring< rational, Dual, DegRevLex > & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 125 of file glue_polynomial_dual_rational.cpp.
References polynomial_dual().
{ return polynomial_dual (arg_1, arg_2); }
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_21 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const integer & | arg_2 | ||
) | [static] |
Definition at line 125 of file glue_polynomial_sparse_integer.cpp.
{
return arg_1 * arg_2;
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_21 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 125 of file glue_polynomial_sparse_rational.cpp.
{
return arg_1 * arg_2;
}
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_21 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1, |
const mmx_floating & | arg_2 | ||
) | [static] |
Definition at line 126 of file glue_polynomial_tensor_floating.cpp.
{
return arg_1 / arg_2;
}
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_21 | ( | const ring< integer, MonomialTensor > & | arg_1, |
const integer & | arg_2 | ||
) | [static] |
Definition at line 126 of file glue_polynomial_tensor_integer.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_21 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 126 of file glue_polynomial_tensor_rational.cpp.
{
return arg_1 * arg_2;
}
static interval<mmx_floating> mmx::GLUE_22 | ( | const mmx_floating & | arg_1, |
const interval< mmx_floating > & | arg_2 | ||
) | [static] |
Definition at line 115 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 + arg_2;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_22 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 132 of file glue_polynomial_bernstein_rational.cpp.
{
return arg_1 / arg_2;
}
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_22 | ( | const ring< rational, Dual, DegRevLex > & | arg_1, |
const rational & | arg_2, | ||
const int & | arg_3, | ||
const int & | arg_4 | ||
) | [static] |
Definition at line 130 of file glue_polynomial_dual_rational.cpp.
References polynomial_dual().
{ return polynomial_dual (arg_1, arg_2, arg_3, arg_4); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_22 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const mmx_floating & | arg_2 | ||
) | [static] |
Definition at line 130 of file glue_polynomial_sparse_floating.cpp.
{
return arg_1 / arg_2;
}
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_22 | ( | const ring< integer, Sparse, DegRevLex > & | arg_1, |
const integer & | arg_2 | ||
) | [static] |
Definition at line 130 of file glue_polynomial_sparse_integer.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_22 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 130 of file glue_polynomial_sparse_rational.cpp.
{
return arg_1 / arg_2;
}
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_22 | ( | const ring< mmx_floating, MonomialTensor > & | arg_1, |
const mmx_floating & | arg_2 | ||
) | [static] |
Definition at line 131 of file glue_polynomial_tensor_floating.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_22 | ( | const ring< integer, MonomialTensor > & | arg_1, |
const integer & | arg_2, | ||
const int & | arg_3, | ||
const int & | arg_4 | ||
) | [static] |
Definition at line 131 of file glue_polynomial_tensor_integer.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2, arg_3, arg_4); }
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_22 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 131 of file glue_polynomial_tensor_rational.cpp.
{
return arg_1 / arg_2;
}
static interval<mmx_floating> mmx::GLUE_23 | ( | const interval< mmx_floating > & | arg_1, |
const mmx_floating & | arg_2 | ||
) | [static] |
Definition at line 120 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 + arg_2;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_23 | ( | const ring< rational, Bernstein > & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 137 of file glue_polynomial_bernstein_rational.cpp.
References polynomial_bernstein().
{ return polynomial_bernstein (arg_1, arg_2); }
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_23 | ( | const ring< rational, Dual, DegRevLex > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 135 of file glue_polynomial_dual_rational.cpp.
References polynomial_dual().
{ return polynomial_dual (arg_1, arg_2); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_23 | ( | const ring< mmx_floating, Sparse, DegRevLex > & | arg_1, |
const mmx_floating & | arg_2 | ||
) | [static] |
Definition at line 135 of file glue_polynomial_sparse_floating.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_23 | ( | const ring< mmx_floating, MonomialTensor > & | arg_1, |
const mmx_floating & | arg_2, | ||
const int & | arg_3, | ||
const int & | arg_4 | ||
) | [static] |
Definition at line 136 of file glue_polynomial_tensor_floating.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2, arg_3, arg_4); }
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_23 | ( | const ring< integer, Sparse, DegRevLex > & | arg_1, |
const integer & | arg_2, | ||
const int & | arg_3, | ||
const int & | arg_4 | ||
) | [static] |
Definition at line 135 of file glue_polynomial_sparse_integer.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2, arg_3, arg_4); }
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_23 | ( | const ring< integer, MonomialTensor > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 136 of file glue_polynomial_tensor_integer.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_23 | ( | const ring< rational, Sparse, DegRevLex > & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 135 of file glue_polynomial_sparse_rational.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_23 | ( | const ring< rational, MonomialTensor > & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 136 of file glue_polynomial_tensor_rational.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static interval<mmx_floating> mmx::GLUE_24 | ( | const mmx_floating & | arg_1, |
const interval< mmx_floating > & | arg_2 | ||
) | [static] |
Definition at line 125 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 - arg_2;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_24 | ( | const ring< rational, Bernstein > & | arg_1, |
const rational & | arg_2, | ||
const int & | arg_3, | ||
const int & | arg_4 | ||
) | [static] |
Definition at line 142 of file glue_polynomial_bernstein_rational.cpp.
References polynomial_bernstein().
{ return polynomial_bernstein (arg_1, arg_2, arg_3, arg_4); }
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_24 | ( | const ring< rational, Dual, DegRevLex > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 140 of file glue_polynomial_dual_rational.cpp.
References polynomial_dual().
{ return polynomial_dual (arg_1, arg_2); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_24 | ( | const ring< mmx_floating, Sparse, DegRevLex > & | arg_1, |
const mmx_floating & | arg_2, | ||
const int & | arg_3, | ||
const int & | arg_4 | ||
) | [static] |
Definition at line 140 of file glue_polynomial_sparse_floating.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2, arg_3, arg_4); }
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_24 | ( | const ring< integer, Sparse, DegRevLex > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 140 of file glue_polynomial_sparse_integer.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_24 | ( | const ring< rational, Sparse, DegRevLex > & | arg_1, |
const rational & | arg_2, | ||
const int & | arg_3, | ||
const int & | arg_4 | ||
) | [static] |
Definition at line 140 of file glue_polynomial_sparse_rational.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2, arg_3, arg_4); }
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_24 | ( | const ring< mmx_floating, MonomialTensor > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 141 of file glue_polynomial_tensor_floating.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_24 | ( | const ring< integer, MonomialTensor > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 141 of file glue_polynomial_tensor_integer.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_24 | ( | const ring< rational, MonomialTensor > & | arg_1, |
const rational & | arg_2, | ||
const int & | arg_3, | ||
const int & | arg_4 | ||
) | [static] |
Definition at line 141 of file glue_polynomial_tensor_rational.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2, arg_3, arg_4); }
static interval<mmx_floating> mmx::GLUE_25 | ( | const interval< mmx_floating > & | arg_1, |
const mmx_floating & | arg_2 | ||
) | [static] |
Definition at line 130 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 - arg_2;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_25 | ( | const ring< rational, Bernstein > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 147 of file glue_polynomial_bernstein_rational.cpp.
References polynomial_bernstein().
{ return polynomial_bernstein (arg_1, arg_2); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_25 | ( | const ring< mmx_floating, Sparse, DegRevLex > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 145 of file glue_polynomial_sparse_floating.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_25 | ( | const ring< rational, Dual, DegRevLex > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 145 of file glue_polynomial_dual_rational.cpp.
References polynomial_dual().
{ return polynomial_dual (arg_1, arg_2); }
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_25 | ( | const ring< integer, Sparse, DegRevLex > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 145 of file glue_polynomial_sparse_integer.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_25 | ( | const ring< rational, Sparse, DegRevLex > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 145 of file glue_polynomial_sparse_rational.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_25 | ( | const ring< mmx_floating, MonomialTensor > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 146 of file glue_polynomial_tensor_floating.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_25 | ( | const ring< integer, MonomialTensor > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 146 of file glue_polynomial_tensor_integer.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_25 | ( | const ring< rational, MonomialTensor > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 146 of file glue_polynomial_tensor_rational.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static interval<mmx_floating> mmx::GLUE_26 | ( | const mmx_floating & | arg_1, |
const interval< mmx_floating > & | arg_2 | ||
) | [static] |
Definition at line 135 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 * arg_2;
}
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_26 | ( | const ring< rational, Dual, DegRevLex > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 150 of file glue_polynomial_dual_rational.cpp.
References polynomial_dual().
{ return polynomial_dual (arg_1, arg_2); }
static ring<rational, Bernstein>::Polynomial mmx::GLUE_26 | ( | const ring< rational, Bernstein > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 152 of file glue_polynomial_bernstein_rational.cpp.
References polynomial_bernstein().
{ return polynomial_bernstein (arg_1, arg_2); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_26 | ( | const ring< mmx_floating, Sparse, DegRevLex > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 150 of file glue_polynomial_sparse_floating.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_26 | ( | const ring< integer, Sparse, DegRevLex > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 150 of file glue_polynomial_sparse_integer.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_26 | ( | const ring< rational, Sparse, DegRevLex > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 150 of file glue_polynomial_sparse_rational.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_26 | ( | const ring< mmx_floating, MonomialTensor > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 151 of file glue_polynomial_tensor_floating.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_26 | ( | const ring< integer, MonomialTensor > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 151 of file glue_polynomial_tensor_integer.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_26 | ( | const ring< rational, MonomialTensor > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 151 of file glue_polynomial_tensor_rational.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_27 | ( | const ring< rational, Sparse, DegRevLex > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 155 of file glue_polynomial_sparse_rational.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static interval<mmx_floating> mmx::GLUE_27 | ( | const interval< mmx_floating > & | arg_1, |
const mmx_floating & | arg_2 | ||
) | [static] |
Definition at line 140 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 * arg_2;
}
static vector<generic> mmx::GLUE_27 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 155 of file glue_polynomial_dual_rational.cpp.
References polynomial_dual_coefficients().
{ return polynomial_dual_coefficients (arg_1, arg_2); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_27 | ( | const ring< mmx_floating, Sparse, DegRevLex > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 155 of file glue_polynomial_sparse_floating.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_27 | ( | const ring< integer, Sparse, DegRevLex > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 155 of file glue_polynomial_sparse_integer.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_27 | ( | const ring< mmx_floating, MonomialTensor > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 156 of file glue_polynomial_tensor_floating.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static vector<generic> mmx::GLUE_27 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 156 of file glue_polynomial_tensor_integer.cpp.
References polynomial_tensor_coefficients().
{ return polynomial_tensor_coefficients (arg_1, arg_2); }
static ring<rational, Bernstein>::Polynomial mmx::GLUE_27 | ( | const ring< rational, Bernstein > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 157 of file glue_polynomial_bernstein_rational.cpp.
References polynomial_bernstein().
{ return polynomial_bernstein (arg_1, arg_2); }
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_27 | ( | const ring< rational, MonomialTensor > & | arg_1, |
const string & | arg_2 | ||
) | [static] |
Definition at line 156 of file glue_polynomial_tensor_rational.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static vector<generic> mmx::GLUE_28 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 160 of file glue_polynomial_sparse_integer.cpp.
References polynomial_sparse_coefficients().
{ return polynomial_sparse_coefficients (arg_1, arg_2); }
static interval<mmx_floating> mmx::GLUE_28 | ( | const interval< mmx_floating > & | arg_1, |
const interval< mmx_floating > & | arg_2 | ||
) | [static] |
Definition at line 145 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 / arg_2;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_28 | ( | const ring< rational, Bernstein > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 162 of file glue_polynomial_bernstein_rational.cpp.
References polynomial_bernstein().
{ return polynomial_bernstein (arg_1, arg_2); }
static vector<generic> mmx::GLUE_28 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 160 of file glue_polynomial_dual_rational.cpp.
References polynomial_dual_coefficients().
{ return polynomial_dual_coefficients (arg_1); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_28 | ( | const ring< mmx_floating, Sparse, DegRevLex > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 160 of file glue_polynomial_sparse_floating.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_28 | ( | const ring< rational, Sparse, DegRevLex > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 160 of file glue_polynomial_sparse_rational.cpp.
References polynomial_sparse().
{ return polynomial_sparse (arg_1, arg_2); }
static vector<generic> mmx::GLUE_28 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 161 of file glue_polynomial_tensor_floating.cpp.
References polynomial_tensor_coefficients().
{ return polynomial_tensor_coefficients (arg_1, arg_2); }
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_28 | ( | const ring< rational, MonomialTensor > & | arg_1, |
const generic & | arg_2 | ||
) | [static] |
Definition at line 161 of file glue_polynomial_tensor_rational.cpp.
References polynomial_tensor().
{ return polynomial_tensor (arg_1, arg_2); }
static vector<generic> mmx::GLUE_28 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 161 of file glue_polynomial_tensor_integer.cpp.
References polynomial_tensor_coefficients().
{ return polynomial_tensor_coefficients (arg_1); }
static vector<generic> mmx::GLUE_29 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 165 of file glue_polynomial_sparse_floating.cpp.
References polynomial_sparse_coefficients().
{ return polynomial_sparse_coefficients (arg_1, arg_2); }
static mmx_floating mmx::GLUE_29 | ( | const interval< mmx_floating > & | arg_1 | ) | [static] |
Definition at line 150 of file glue_interval.cpp.
References interval_lower().
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{ return interval_lower (arg_1); }
static vector<generic> mmx::GLUE_29 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 167 of file glue_polynomial_bernstein_rational.cpp.
References polynomial_bernstein_coefficients().
{ return polynomial_bernstein_coefficients (arg_1, arg_2); }
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_29 | ( | const ring< rational, Dual, DegRevLex > & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 165 of file glue_polynomial_dual_rational.cpp.
{
return arg_1[arg_2];
}
static vector<generic> mmx::GLUE_29 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 165 of file glue_polynomial_sparse_integer.cpp.
References polynomial_sparse_coefficients().
{ return polynomial_sparse_coefficients (arg_1); }
static vector<generic> mmx::GLUE_29 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 165 of file glue_polynomial_sparse_rational.cpp.
References polynomial_sparse_coefficients().
{ return polynomial_sparse_coefficients (arg_1, arg_2); }
static vector<generic> mmx::GLUE_29 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 166 of file glue_polynomial_tensor_floating.cpp.
References polynomial_tensor_coefficients().
{ return polynomial_tensor_coefficients (arg_1); }
static vector<generic> mmx::GLUE_29 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 166 of file glue_polynomial_tensor_rational.cpp.
References polynomial_tensor_coefficients().
{ return polynomial_tensor_coefficients (arg_1, arg_2); }
static vector<generic> mmx::GLUE_3 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const interval< rational > & | arg_2 | ||
) | [static] |
Definition at line 42 of file glue_solver_univariate_rational.cpp.
References solver_univariate_contfrac().
{ return solver_univariate_contfrac (arg_1, arg_2); }
static interval<rational> mmx::GLUE_3 | ( | const interval< rational > & | arg_1 | ) | [static] |
Definition at line 20 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), glue_polynomial_tensor_rational(), glue_solver_univariate_integer(), and glue_solver_univariate_rational().
{
return -arg_1;
}
static ring<rational, Bernstein> mmx::GLUE_3 | ( | const ring< rational, Bernstein > & | arg_1, |
const tuple< generic > & | arg_2 | ||
) | [static] |
Definition at line 37 of file glue_polynomial_bernstein_rational.cpp.
References ring_bernstein_extend_generic().
{ return ring_bernstein_extend_generic (arg_1, as_vector (arg_2)); }
static int mmx::GLUE_3 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 35 of file glue_polynomial_dual_rational.cpp.
References size().
{ return size (arg_1); }
static ring<mmx_floating, Sparse, DegRevLex> mmx::GLUE_3 | ( | const scalar_set< floating<> > & | arg_1, |
const tuple< generic > & | arg_2 | ||
) | [static] |
Definition at line 35 of file glue_polynomial_sparse_floating.cpp.
References ring_sparse_generic().
{ return ring_sparse_generic (arg_1, as_vector (arg_2)); }
static ring<integer, Sparse, DegRevLex> mmx::GLUE_3 | ( | const scalar_set< integer > & | arg_1, |
const tuple< generic > & | arg_2 | ||
) | [static] |
Definition at line 35 of file glue_polynomial_sparse_integer.cpp.
References ring_sparse_generic().
{ return ring_sparse_generic (arg_1, as_vector (arg_2)); }
static ring<rational, Sparse, DegRevLex> mmx::GLUE_3 | ( | const scalar_set< rational > & | arg_1, |
const tuple< generic > & | arg_2 | ||
) | [static] |
Definition at line 35 of file glue_polynomial_sparse_rational.cpp.
References ring_sparse_generic().
{ return ring_sparse_generic (arg_1, as_vector (arg_2)); }
static ring<mmx_floating, MonomialTensor> mmx::GLUE_3 | ( | const ring< mmx_floating, MonomialTensor > & | arg_1, |
const tuple< generic > & | arg_2 | ||
) | [static] |
Definition at line 36 of file glue_polynomial_tensor_floating.cpp.
References ring_tensor_extend_generic().
{ return ring_tensor_extend_generic (arg_1, as_vector (arg_2)); }
static ring<integer, MonomialTensor> mmx::GLUE_3 | ( | const ring< integer, MonomialTensor > & | arg_1, |
const tuple< generic > & | arg_2 | ||
) | [static] |
Definition at line 36 of file glue_polynomial_tensor_integer.cpp.
References ring_tensor_extend_generic().
{ return ring_tensor_extend_generic (arg_1, as_vector (arg_2)); }
static ring<rational, MonomialTensor> mmx::GLUE_3 | ( | const ring< rational, MonomialTensor > & | arg_1, |
const tuple< generic > & | arg_2 | ||
) | [static] |
Definition at line 36 of file glue_polynomial_tensor_rational.cpp.
References ring_tensor_extend_generic().
{ return ring_tensor_extend_generic (arg_1, as_vector (arg_2)); }
static vector<generic> mmx::GLUE_3 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1, |
const interval< rational > & | arg_2 | ||
) | [static] |
Definition at line 42 of file glue_solver_univariate_integer.cpp.
References solver_univariate_contfrac().
{ return solver_univariate_contfrac (arg_1, arg_2); }
static mmx_floating mmx::GLUE_30 | ( | const interval< mmx_floating > & | arg_1 | ) | [static] |
Definition at line 155 of file glue_interval.cpp.
References interval_upper().
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{ return interval_upper (arg_1); }
static vector<generic> mmx::GLUE_30 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1 | ) | [static] |
Definition at line 172 of file glue_polynomial_bernstein_rational.cpp.
References polynomial_bernstein_coefficients().
{ return polynomial_bernstein_coefficients (arg_1); }
static vector<generic> mmx::GLUE_30 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 170 of file glue_polynomial_sparse_floating.cpp.
References polynomial_sparse_coefficients().
{ return polynomial_sparse_coefficients (arg_1); }
static vector<generic> mmx::GLUE_30 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 170 of file glue_polynomial_sparse_integer.cpp.
References polynomial_sparse_monomials().
{ return polynomial_sparse_monomials (arg_1); }
static vector<generic> mmx::GLUE_30 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 170 of file glue_polynomial_sparse_rational.cpp.
References polynomial_sparse_coefficients().
{ return polynomial_sparse_coefficients (arg_1); }
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_30 | ( | const ring< integer, MonomialTensor > & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 171 of file glue_polynomial_tensor_integer.cpp.
{
return arg_1[arg_2];
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_30 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1, |
const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 170 of file glue_polynomial_dual_rational.cpp.
{
return arg_1 * arg_2;
}
static vector<generic> mmx::GLUE_30 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 171 of file glue_polynomial_tensor_rational.cpp.
References polynomial_tensor_coefficients().
{ return polynomial_tensor_coefficients (arg_1); }
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_31 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< rational, Dual, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 175 of file glue_polynomial_dual_rational.cpp.
{
return arg_1 * arg_2;
}
static vector<generic> mmx::GLUE_31 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 175 of file glue_polynomial_sparse_floating.cpp.
References polynomial_sparse_monomials().
{ return polynomial_sparse_monomials (arg_1); }
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_31 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 175 of file glue_polynomial_sparse_integer.cpp.
References homogenize().
{ return homogenize (arg_1, arg_2); }
static ring<rational, Bernstein>::Polynomial mmx::GLUE_31 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 177 of file glue_polynomial_bernstein_rational.cpp.
References polynomial_bernstein_of().
Referenced by glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), and glue_polynomial_tensor_rational().
{ return polynomial_bernstein_of (arg_1); }
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_31 | ( | const ring< mmx_floating, MonomialTensor > & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 176 of file glue_polynomial_tensor_floating.cpp.
{
return arg_1[arg_2];
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_32 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1 | ) | [static] |
Definition at line 182 of file glue_polynomial_bernstein_rational.cpp.
References polynomial_sparse_of().
Referenced by glue_polynomial_bernstein_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), and glue_polynomial_tensor_rational().
{ return polynomial_sparse_of (arg_1); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_32 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 180 of file glue_polynomial_sparse_floating.cpp.
References homogenize().
{ return homogenize (arg_1, arg_2); }
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_32 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2, | ||
const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_3 | ||
) | [static] |
Definition at line 180 of file glue_polynomial_sparse_integer.cpp.
References homogenize().
{ return homogenize (arg_1, arg_2, arg_3); }
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_32 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 180 of file glue_polynomial_sparse_rational.cpp.
References homogenize().
{ return homogenize (arg_1, arg_2); }
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_32 | ( | const ring< rational, MonomialTensor > & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 181 of file glue_polynomial_tensor_rational.cpp.
{
return arg_1[arg_2];
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_33 | ( | const ring< rational, Bernstein > & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 187 of file glue_polynomial_bernstein_rational.cpp.
Referenced by glue_polynomial_bernstein_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), and glue_polynomial_sparse_rational().
{
return arg_1[arg_2];
}
static generic mmx::GLUE_33 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const vector< generic > & | arg_2 | ||
) | [static] |
Definition at line 185 of file glue_polynomial_sparse_integer.cpp.
References polynomial_sparse_eval_generic().
{ return polynomial_sparse_eval_generic (arg_1, arg_2); }
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_33 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2, | ||
const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_3 | ||
) | [static] |
Definition at line 185 of file glue_polynomial_sparse_rational.cpp.
References homogenize().
{ return homogenize (arg_1, arg_2, arg_3); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_33 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const int & | arg_2, | ||
const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_3 | ||
) | [static] |
Definition at line 185 of file glue_polynomial_sparse_floating.cpp.
References homogenize().
{ return homogenize (arg_1, arg_2, arg_3); }
static generic mmx::GLUE_34 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const vector< generic > & | arg_2 | ||
) | [static] |
Definition at line 190 of file glue_polynomial_sparse_floating.cpp.
References polynomial_sparse_eval_generic().
Referenced by glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), and glue_polynomial_sparse_rational().
{ return polynomial_sparse_eval_generic (arg_1, arg_2); }
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_34 | ( | const ring< integer, Sparse, DegRevLex > & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 190 of file glue_polynomial_sparse_integer.cpp.
{
return arg_1[arg_2];
}
static generic mmx::GLUE_34 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const vector< generic > & | arg_2 | ||
) | [static] |
Definition at line 190 of file glue_polynomial_sparse_rational.cpp.
References polynomial_sparse_eval_generic().
{ return polynomial_sparse_eval_generic (arg_1, arg_2); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_35 | ( | const ring< mmx_floating, Sparse, DegRevLex > & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 195 of file glue_polynomial_sparse_floating.cpp.
Referenced by glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), and glue_polynomial_sparse_rational().
{
return arg_1[arg_2];
}
static vector<generic> mmx::GLUE_35 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_2, | ||
const int & | arg_3 | ||
) | [static] |
Definition at line 195 of file glue_polynomial_sparse_integer.cpp.
References polynomial_sturm_sequence().
{ return polynomial_sturm_sequence (arg_1, arg_2, arg_3); }
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_35 | ( | const ring< rational, Sparse, DegRevLex > & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 195 of file glue_polynomial_sparse_rational.cpp.
{
return arg_1[arg_2];
}
static vector<generic> mmx::GLUE_36 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_2, | ||
const int & | arg_3 | ||
) | [static] |
Definition at line 200 of file glue_polynomial_sparse_rational.cpp.
References polynomial_sturm_sequence().
{ return polynomial_sturm_sequence (arg_1, arg_2, arg_3); }
static vector<generic> mmx::GLUE_36 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_2, | ||
const int & | arg_3 | ||
) | [static] |
Definition at line 200 of file glue_polynomial_sparse_floating.cpp.
References polynomial_sturm_sequence().
Referenced by glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), and glue_polynomial_sparse_rational().
{ return polynomial_sturm_sequence (arg_1, arg_2, arg_3); }
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_36 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_2, | ||
const int & | arg_3 | ||
) | [static] |
Definition at line 200 of file glue_polynomial_sparse_integer.cpp.
References polynomial_resultant().
{ return polynomial_resultant (arg_1, arg_2, arg_3); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_37 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_2, | ||
const int & | arg_3 | ||
) | [static] |
Definition at line 205 of file glue_polynomial_sparse_floating.cpp.
References polynomial_resultant().
Referenced by glue_polynomial_sparse_floating(), and glue_polynomial_sparse_rational().
{ return polynomial_resultant (arg_1, arg_2, arg_3); }
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_37 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_2, | ||
const int & | arg_3 | ||
) | [static] |
Definition at line 205 of file glue_polynomial_sparse_rational.cpp.
References polynomial_resultant().
{ return polynomial_resultant (arg_1, arg_2, arg_3); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_38 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 210 of file glue_polynomial_sparse_floating.cpp.
Referenced by glue_polynomial_sparse_floating(), and glue_polynomial_sparse_rational().
{
return arg_1 / arg_2;
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_38 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 210 of file glue_polynomial_sparse_rational.cpp.
{
return arg_1 / arg_2;
}
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_39 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 215 of file glue_polynomial_sparse_floating.cpp.
Referenced by glue_polynomial_sparse_floating(), and glue_polynomial_sparse_rational().
{
return arg_1 / arg_2;
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_39 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 215 of file glue_polynomial_sparse_rational.cpp.
{
return arg_1 / arg_2;
}
static int mmx::GLUE_4 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 41 of file glue_polynomial_tensor_integer.cpp.
References size().
{ return size (arg_1); }
static interval<rational> mmx::GLUE_4 | ( | const interval< rational > & | arg_1, |
const interval< rational > & | arg_2 | ||
) | [static] |
Definition at line 25 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), glue_polynomial_tensor_rational(), glue_solver_univariate_integer(), and glue_solver_univariate_rational().
{
return arg_1 + arg_2;
}
static ring<rational, Bernstein> mmx::GLUE_4 | ( | const scalar_set< rational > & | arg_1, |
const Bernstein & | arg_2, | ||
const tuple< generic > & | arg_3 | ||
) | [static] |
Definition at line 42 of file glue_polynomial_bernstein_rational.cpp.
References ring_bernstein_generic().
{ return ring_bernstein_generic (arg_1, arg_2, as_vector (arg_3)); }
static int mmx::GLUE_4 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 40 of file glue_polynomial_dual_rational.cpp.
References degree().
{ return degree (arg_1); }
static ring<mmx_floating, Sparse, DegRevLex> mmx::GLUE_4 | ( | const scalar_set< floating<> > & | arg_1, |
const tuple< generic > & | arg_2 | ||
) | [static] |
Definition at line 40 of file glue_polynomial_sparse_floating.cpp.
References ring_sparse_generic().
{ return ring_sparse_generic (arg_1, as_vector (arg_2)); }
static ring<integer, Sparse, DegRevLex> mmx::GLUE_4 | ( | const scalar_set< integer > & | arg_1, |
const tuple< generic > & | arg_2 | ||
) | [static] |
Definition at line 40 of file glue_polynomial_sparse_integer.cpp.
References ring_sparse_generic().
{ return ring_sparse_generic (arg_1, as_vector (arg_2)); }
static ring<rational, Sparse, DegRevLex> mmx::GLUE_4 | ( | const scalar_set< rational > & | arg_1, |
const tuple< generic > & | arg_2 | ||
) | [static] |
Definition at line 40 of file glue_polynomial_sparse_rational.cpp.
References ring_sparse_generic().
{ return ring_sparse_generic (arg_1, as_vector (arg_2)); }
static int mmx::GLUE_4 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 41 of file glue_polynomial_tensor_floating.cpp.
References size().
{ return size (arg_1); }
static ring<rational, MonomialTensor> mmx::GLUE_4 | ( | const scalar_set< rational > & | arg_1, |
const MonomialTensor & | arg_2, | ||
const tuple< generic > & | arg_3 | ||
) | [static] |
Definition at line 41 of file glue_polynomial_tensor_rational.cpp.
References ring_tensor_generic().
{ return ring_tensor_generic (arg_1, arg_2, as_vector (arg_3)); }
static vector<generic> mmx::GLUE_4 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 47 of file glue_solver_univariate_rational.cpp.
References solver_univariate_contfrac_approx().
{ return solver_univariate_contfrac_approx (arg_1); }
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_40 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 220 of file glue_polynomial_sparse_floating.cpp.
Referenced by glue_polynomial_sparse_floating(), and glue_polynomial_sparse_rational().
{
return arg_1 % arg_2;
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_40 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 220 of file glue_polynomial_sparse_rational.cpp.
{
return arg_1 % arg_2;
}
static interval<rational> mmx::GLUE_5 | ( | const interval< rational > & | arg_1, |
const interval< rational > & | arg_2 | ||
) | [static] |
Definition at line 30 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), glue_polynomial_tensor_rational(), glue_solver_univariate_integer(), and glue_solver_univariate_rational().
{
return arg_1 - arg_2;
}
static int mmx::GLUE_5 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1 | ) | [static] |
Definition at line 47 of file glue_polynomial_bernstein_rational.cpp.
References size().
{ return size (arg_1); }
static int mmx::GLUE_5 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 45 of file glue_polynomial_dual_rational.cpp.
References nbvar().
{ return nbvar (arg_1); }
static int mmx::GLUE_5 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 45 of file glue_polynomial_sparse_floating.cpp.
References size().
{ return size (arg_1); }
static vector<generic> mmx::GLUE_5 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 52 of file glue_solver_univariate_integer.cpp.
References solver_univariate_contfrac_approx_prec().
{ return solver_univariate_contfrac_approx_prec (arg_1, arg_2); }
static int mmx::GLUE_5 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 45 of file glue_polynomial_sparse_integer.cpp.
References size().
{ return size (arg_1); }
static int mmx::GLUE_5 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 45 of file glue_polynomial_sparse_rational.cpp.
References size().
{ return size (arg_1); }
static int mmx::GLUE_5 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 46 of file glue_polynomial_tensor_floating.cpp.
References degree().
{ return degree (arg_1); }
static int mmx::GLUE_5 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 46 of file glue_polynomial_tensor_integer.cpp.
References degree().
{ return degree (arg_1); }
static int mmx::GLUE_5 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 46 of file glue_polynomial_tensor_rational.cpp.
References size().
{ return size (arg_1); }
static vector<generic> mmx::GLUE_5 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const int & | arg_2 | ||
) | [static] |
Definition at line 52 of file glue_solver_univariate_rational.cpp.
References solver_univariate_contfrac_approx_prec().
{ return solver_univariate_contfrac_approx_prec (arg_1, arg_2); }
static interval<rational> mmx::GLUE_6 | ( | const interval< rational > & | arg_1, |
const interval< rational > & | arg_2 | ||
) | [static] |
Definition at line 35 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), glue_polynomial_tensor_rational(), glue_solver_univariate_integer(), and glue_solver_univariate_rational().
{
return arg_1 * arg_2;
}
static int mmx::GLUE_6 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1 | ) | [static] |
Definition at line 52 of file glue_polynomial_bernstein_rational.cpp.
References degree().
{ return degree (arg_1); }
static int mmx::GLUE_6 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 50 of file glue_polynomial_sparse_floating.cpp.
References degree().
{ return degree (arg_1); }
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_6 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 50 of file glue_polynomial_dual_rational.cpp.
{
return -arg_1;
}
static int mmx::GLUE_6 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 50 of file glue_polynomial_sparse_integer.cpp.
References degree().
{ return degree (arg_1); }
static int mmx::GLUE_6 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 50 of file glue_polynomial_sparse_rational.cpp.
References degree().
{ return degree (arg_1); }
static int mmx::GLUE_6 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 51 of file glue_polynomial_tensor_floating.cpp.
References nbvar().
{ return nbvar (arg_1); }
static int mmx::GLUE_6 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 51 of file glue_polynomial_tensor_integer.cpp.
References nbvar().
{ return nbvar (arg_1); }
static int mmx::GLUE_6 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 51 of file glue_polynomial_tensor_rational.cpp.
References degree().
{ return degree (arg_1); }
static interval<mmx_floating> mmx::GLUE_6 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1, |
const interval< mmx_floating > & | arg_2 | ||
) | [static] |
Definition at line 57 of file glue_solver_univariate_integer.cpp.
References solver_univariate_newton().
{ return solver_univariate_newton (arg_1, arg_2); }
static interval<mmx_floating> mmx::GLUE_6 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const interval< mmx_floating > & | arg_2 | ||
) | [static] |
Definition at line 57 of file glue_solver_univariate_rational.cpp.
References solver_univariate_newton().
{ return solver_univariate_newton (arg_1, arg_2); }
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_7 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1, |
const ring< rational, Dual, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 55 of file glue_polynomial_dual_rational.cpp.
{
return arg_1 + arg_2;
}
static int mmx::GLUE_7 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 56 of file glue_polynomial_tensor_rational.cpp.
References nbvar().
{ return nbvar (arg_1); }
static int mmx::GLUE_7 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 55 of file glue_polynomial_sparse_floating.cpp.
References nbvar().
{ return nbvar (arg_1); }
static int mmx::GLUE_7 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 55 of file glue_polynomial_sparse_integer.cpp.
References nbvar().
{ return nbvar (arg_1); }
static interval<rational> mmx::GLUE_7 | ( | const rational & | arg_1, |
const interval< rational > & | arg_2 | ||
) | [static] |
Definition at line 40 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 + arg_2;
}
static int mmx::GLUE_7 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1 | ) | [static] |
Definition at line 57 of file glue_polynomial_bernstein_rational.cpp.
References nbvar().
{ return nbvar (arg_1); }
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_7 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 56 of file glue_polynomial_tensor_integer.cpp.
{
return -arg_1;
}
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_7 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 56 of file glue_polynomial_tensor_floating.cpp.
{
return -arg_1;
}
static int mmx::GLUE_7 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 55 of file glue_polynomial_sparse_rational.cpp.
References nbvar().
{ return nbvar (arg_1); }
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_8 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1, |
const ring< integer, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 61 of file glue_polynomial_tensor_integer.cpp.
{
return arg_1 + arg_2;
}
static interval<rational> mmx::GLUE_8 | ( | const interval< rational > & | arg_1, |
const rational & | arg_2 | ||
) | [static] |
Definition at line 45 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 + arg_2;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_8 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1 | ) | [static] |
Definition at line 62 of file glue_polynomial_bernstein_rational.cpp.
{
return -arg_1;
}
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_8 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1, |
const ring< rational, Dual, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 60 of file glue_polynomial_dual_rational.cpp.
{
return arg_1 - arg_2;
}
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_8 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 60 of file glue_polynomial_sparse_floating.cpp.
{
return -arg_1;
}
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_8 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 60 of file glue_polynomial_sparse_integer.cpp.
{
return -arg_1;
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_8 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1 | ) | [static] |
Definition at line 60 of file glue_polynomial_sparse_rational.cpp.
{
return -arg_1;
}
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_8 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1, |
const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 61 of file glue_polynomial_tensor_floating.cpp.
{
return arg_1 + arg_2;
}
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_8 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1 | ) | [static] |
Definition at line 61 of file glue_polynomial_tensor_rational.cpp.
{
return -arg_1;
}
static interval<rational> mmx::GLUE_9 | ( | const rational & | arg_1, |
const interval< rational > & | arg_2 | ||
) | [static] |
Definition at line 50 of file glue_interval.cpp.
Referenced by glue_interval(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), and glue_polynomial_tensor_rational().
{
return arg_1 - arg_2;
}
static ring<rational, Bernstein>::Polynomial mmx::GLUE_9 | ( | const ring< rational, Bernstein >::Polynomial & | arg_1, |
const ring< rational, Bernstein >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 67 of file glue_polynomial_bernstein_rational.cpp.
{
return arg_1 + arg_2;
}
static ring<rational, Sparse, DegRevLex>::Polynomial mmx::GLUE_9 | ( | const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< rational, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 65 of file glue_polynomial_sparse_rational.cpp.
{
return arg_1 + arg_2;
}
static ring<mmx_floating, Sparse, DegRevLex>::Polynomial mmx::GLUE_9 | ( | const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< mmx_floating, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 65 of file glue_polynomial_sparse_floating.cpp.
{
return arg_1 + arg_2;
}
static ring<integer, Sparse, DegRevLex>::Polynomial mmx::GLUE_9 | ( | const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_1, |
const ring< integer, Sparse, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 65 of file glue_polynomial_sparse_integer.cpp.
{
return arg_1 + arg_2;
}
static ring<rational, Dual, DegRevLex>::Polynomial mmx::GLUE_9 | ( | const ring< rational, Dual, DegRevLex >::Polynomial & | arg_1, |
const ring< rational, Dual, DegRevLex >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 65 of file glue_polynomial_dual_rational.cpp.
{
return arg_1 * arg_2;
}
static ring<mmx_floating, MonomialTensor>::Polynomial mmx::GLUE_9 | ( | const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_1, |
const ring< mmx_floating, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 66 of file glue_polynomial_tensor_floating.cpp.
{
return arg_1 - arg_2;
}
static ring<integer, MonomialTensor>::Polynomial mmx::GLUE_9 | ( | const ring< integer, MonomialTensor >::Polynomial & | arg_1, |
const ring< integer, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 66 of file glue_polynomial_tensor_integer.cpp.
{
return arg_1 - arg_2;
}
static ring<rational, MonomialTensor>::Polynomial mmx::GLUE_9 | ( | const ring< rational, MonomialTensor >::Polynomial & | arg_1, |
const ring< rational, MonomialTensor >::Polynomial & | arg_2 | ||
) | [static] |
Definition at line 66 of file glue_polynomial_tensor_rational.cpp.
{
return arg_1 + arg_2;
}
void glue_interval | ( | ) |
Definition at line 160 of file glue_interval.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_realroot().
{ static bool done = false; if (done) return; done = true; call_glue (string ("glue_rational")); call_glue (string ("glue_floating")); define_type<interval<rational> > (gen (lit ("Interval"), lit ("Rational"))); define ("interval", GLUE_1); define ("interval", GLUE_2); define ("-", GLUE_3); define ("+", GLUE_4); define ("-", GLUE_5); define ("*", GLUE_6); define ("+", GLUE_7); define ("+", GLUE_8); define ("-", GLUE_9); define ("-", GLUE_10); define ("*", GLUE_11); define ("*", GLUE_12); define ("/", GLUE_13); define ("lower", GLUE_14); define ("upper", GLUE_15); define_type<interval<mmx_floating> > (gen (lit ("Interval"), lit ("Floating"))); define ("interval", GLUE_16); define ("interval", GLUE_17); define ("-", GLUE_18); define ("+", GLUE_19); define ("-", GLUE_20); define ("*", GLUE_21); define ("+", GLUE_22); define ("+", GLUE_23); define ("-", GLUE_24); define ("-", GLUE_25); define ("*", GLUE_26); define ("*", GLUE_27); define ("/", GLUE_28); define ("lower", GLUE_29); define ("upper", GLUE_30); }
void glue_kernel | ( | ) |
Definition at line 17 of file glue_kernel.cpp.
References set_of_bigfloat, set_of_double, set_of_integer, and set_of_rational.
Referenced by glue_realroot().
{ static bool done = false; if (done) return; done = true; call_glue (string ("glue_integer")); call_glue (string ("glue_rational")); call_glue (string ("glue_floating")); define_type<scalar_set<double> > (lit ("DoubleSet")); define_type<scalar_set<integer> > (lit ("IntegerSet")); define_type<scalar_set<rational> > (lit ("RationalSet")); define_type<scalar_set<floating<> > > (lit ("FloatingSet")); define_constant<scalar_set<double> > ("DD", set_of_double); define_constant<scalar_set<integer> > ("ZZ", set_of_integer); define_constant<scalar_set<rational> > ("QQ", set_of_rational); define_constant<scalar_set<floating<> > > ("RR", set_of_bigfloat); }
void glue_polynomial_bernstein_rational | ( | ) |
Definition at line 192 of file glue_polynomial_bernstein_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_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_4(), GLUE_5(), GLUE_6(), GLUE_7(), GLUE_8(), GLUE_9(), and Polynomial.
Referenced by glue_realroot().
{ static bool done = false; if (done) return; done = true; call_glue (string ("glue_int")); call_glue (string ("glue_vector_generic")); call_glue (string ("glue_string")); call_glue (string ("glue_kernel")); define_type<ring<rational, Sparse, DegRevLex> > (gen (lit ("MonomialSparseRing"), lit ("Rational"))); define_type<Bernstein > (lit ("BernsteinBasis")); define_constant<Bernstein > ("Bernstein", Bernstein ()); define_type<ring<rational, Bernstein> > (gen (lit ("BernsteinTensorRing"), lit ("Rational"))); define ("sample", GLUE_1); define ("bernstein", GLUE_2); define (".[]", GLUE_3); define ("ring", GLUE_4); define_type<ring<rational, Bernstein>::Polynomial > (gen (lit ("Polynomial"), gen (lit ("BernsteinTensorRing"), lit ("Rational")))); define_type<ring<rational, Sparse, DegRevLex>::Polynomial > (gen (lit ("Polynomial"), gen (lit ("MonomialSparseRing"), lit ("Rational")))); define ("#", GLUE_5); define ("degree", GLUE_6); define ("nbvar", GLUE_7); define ("-", GLUE_8); define ("+", GLUE_9); define ("-", GLUE_10); define ("*", GLUE_11); define ("square", GLUE_12); define ("^", GLUE_13); define ("diff", GLUE_14); define ("diff", GLUE_15); define ("+", GLUE_16); define ("+", GLUE_17); define ("-", GLUE_18); define ("-", GLUE_19); define ("*", GLUE_20); define ("*", GLUE_21); define ("/", GLUE_22); define ("polynomial", GLUE_23); define ("polynomial", GLUE_24); define ("polynomial", GLUE_25); define ("polynomial", GLUE_26); define ("<<", GLUE_27); define ("<<", GLUE_28); define ("coefficients", GLUE_29); define ("coefficients", GLUE_30); define ("bernstein", GLUE_31); define ("sparse", GLUE_32); define (".[]", GLUE_33); }
void glue_polynomial_dual_rational | ( | ) |
Definition at line 180 of file glue_polynomial_dual_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_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_4(), GLUE_5(), GLUE_6(), GLUE_7(), GLUE_8(), GLUE_9(), and Polynomial.
Referenced by glue_realroot().
{ static bool done = false; if (done) return; done = true; call_glue (string ("glue_int")); call_glue (string ("glue_vector_generic")); call_glue (string ("glue_string")); call_glue (string ("glue_kernel")); call_glue (string ("glue_polynomial_sparse_rational")); define_type<ring<rational, Dual, DegRevLex> > (gen (lit ("MonomialDualRing"), lit ("Rational"))); define ("sample", GLUE_1); define ("dual", GLUE_2); define_type<ring<rational, Dual, DegRevLex>::Polynomial > (gen (lit ("Polynomial"), gen (lit ("MonomialDualRing"), lit ("Rational")))); define ("#", GLUE_3); define ("degree", GLUE_4); define ("nbvar", GLUE_5); define ("-", GLUE_6); define ("+", GLUE_7); define ("-", GLUE_8); define ("*", GLUE_9); define ("square", GLUE_10); define ("^", GLUE_11); define ("diff", GLUE_12); define ("diff", GLUE_13); define ("+", GLUE_14); define ("+", GLUE_15); define ("-", GLUE_16); define ("-", GLUE_17); define ("*", GLUE_18); define ("*", GLUE_19); define ("/", GLUE_20); define ("polynomial", GLUE_21); define ("polynomial", GLUE_22); define ("polynomial", GLUE_23); define ("polynomial", GLUE_24); define ("<<", GLUE_25); define ("<<", GLUE_26); define ("coefficients", GLUE_27); define ("coefficients", GLUE_28); define (".[]", GLUE_29); define ("*", GLUE_30); define ("*", GLUE_31); }
void glue_polynomial_sparse_complex | ( | ) |
Definition at line 24 of file glue_polynomial_sparse_complex.cpp.
Referenced by glue_realroot().
{ static bool done = false; if (done) return; done = true; call_glue (string ("glue_int")); call_glue (string ("glue_vector_generic")); call_glue (string ("glue_string")); call_glue (string ("glue_kernel")); }
void glue_polynomial_sparse_floating | ( | ) |
Definition at line 225 of file glue_polynomial_sparse_floating.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_5(), GLUE_6(), GLUE_7(), GLUE_8(), GLUE_9(), and Polynomial.
Referenced by glue_realroot().
{ static bool done = false; if (done) return; done = true; call_glue (string ("glue_int")); call_glue (string ("glue_vector_generic")); call_glue (string ("glue_string")); call_glue (string ("glue_kernel")); define_type<ring<mmx_floating, Sparse, DegRevLex> > (gen (lit ("MonomialSparseRing"), lit ("Floating"))); define ("sample", GLUE_1); define (".[]", GLUE_2); define (".[]", GLUE_3); define ("ring", GLUE_4); define_type<ring<mmx_floating, Sparse, DegRevLex>::Polynomial > (gen (lit ("Polynomial"), gen (lit ("MonomialSparseRing"), lit ("Floating")))); define ("#", GLUE_5); define ("degree", GLUE_6); define ("nbvar", GLUE_7); define ("-", GLUE_8); define ("+", GLUE_9); define ("-", GLUE_10); define ("*", GLUE_11); define ("square", GLUE_12); define ("^", GLUE_13); define ("diff", GLUE_14); define ("diff", GLUE_15); define ("+", GLUE_16); define ("+", GLUE_17); define ("-", GLUE_18); define ("-", GLUE_19); define ("*", GLUE_20); define ("*", GLUE_21); define ("/", GLUE_22); define ("polynomial", GLUE_23); define ("polynomial", GLUE_24); define ("polynomial", GLUE_25); define ("polynomial", GLUE_26); define ("<<", GLUE_27); define ("<<", GLUE_28); define ("coefficients", GLUE_29); define ("coefficients", GLUE_30); define ("monomials", GLUE_31); define ("homogenize", GLUE_32); define ("homogenize", GLUE_33); define ("eval", GLUE_34); define (".[]", GLUE_35); define ("sturm_seq", GLUE_36); define ("resultant", GLUE_37); define ("/", GLUE_38); define ("quo", GLUE_39); define ("rem", GLUE_40); }
void glue_polynomial_sparse_integer | ( | ) |
Definition at line 205 of file glue_polynomial_sparse_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(), GLUE_9(), and Polynomial.
Referenced by glue_realroot().
{ static bool done = false; if (done) return; done = true; call_glue (string ("glue_int")); call_glue (string ("glue_vector_generic")); call_glue (string ("glue_string")); call_glue (string ("glue_kernel")); define_type<ring<integer, Sparse, DegRevLex> > (gen (lit ("MonomialSparseRing"), lit ("Integer"))); define ("sample", GLUE_1); define (".[]", GLUE_2); define (".[]", GLUE_3); define ("ring", GLUE_4); define_type<ring<integer, Sparse, DegRevLex>::Polynomial > (gen (lit ("Polynomial"), gen (lit ("MonomialSparseRing"), lit ("Integer")))); define ("#", GLUE_5); define ("degree", GLUE_6); define ("nbvar", GLUE_7); define ("-", GLUE_8); define ("+", GLUE_9); define ("-", GLUE_10); define ("*", GLUE_11); define ("square", GLUE_12); define ("^", GLUE_13); define ("diff", GLUE_14); define ("diff", GLUE_15); define ("+", GLUE_16); define ("+", GLUE_17); define ("-", GLUE_18); define ("-", GLUE_19); define ("*", GLUE_20); define ("*", GLUE_21); define ("polynomial", GLUE_22); define ("polynomial", GLUE_23); define ("polynomial", GLUE_24); define ("polynomial", GLUE_25); define ("<<", GLUE_26); define ("<<", GLUE_27); define ("coefficients", GLUE_28); define ("coefficients", GLUE_29); define ("monomials", GLUE_30); define ("homogenize", GLUE_31); define ("homogenize", GLUE_32); define ("eval", GLUE_33); define (".[]", GLUE_34); define ("sturm_seq", GLUE_35); define ("resultant", GLUE_36); }
void glue_polynomial_sparse_rational | ( | ) |
Definition at line 225 of file glue_polynomial_sparse_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_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_5(), GLUE_6(), GLUE_7(), GLUE_8(), GLUE_9(), and Polynomial.
Referenced by glue_realroot().
{ static bool done = false; if (done) return; done = true; call_glue (string ("glue_int")); call_glue (string ("glue_vector_generic")); call_glue (string ("glue_string")); call_glue (string ("glue_kernel")); define_type<ring<rational, Sparse, DegRevLex> > (gen (lit ("MonomialSparseRing"), lit ("Rational"))); define ("sample", GLUE_1); define (".[]", GLUE_2); define (".[]", GLUE_3); define ("ring", GLUE_4); define_type<ring<rational, Sparse, DegRevLex>::Polynomial > (gen (lit ("Polynomial"), gen (lit ("MonomialSparseRing"), lit ("Rational")))); define ("#", GLUE_5); define ("degree", GLUE_6); define ("nbvar", GLUE_7); define ("-", GLUE_8); define ("+", GLUE_9); define ("-", GLUE_10); define ("*", GLUE_11); define ("square", GLUE_12); define ("^", GLUE_13); define ("diff", GLUE_14); define ("diff", GLUE_15); define ("+", GLUE_16); define ("+", GLUE_17); define ("-", GLUE_18); define ("-", GLUE_19); define ("*", GLUE_20); define ("*", GLUE_21); define ("/", GLUE_22); define ("polynomial", GLUE_23); define ("polynomial", GLUE_24); define ("polynomial", GLUE_25); define ("polynomial", GLUE_26); define ("<<", GLUE_27); define ("<<", GLUE_28); define ("coefficients", GLUE_29); define ("coefficients", GLUE_30); define ("monomials", GLUE_31); define ("homogenize", GLUE_32); define ("homogenize", GLUE_33); define ("eval", GLUE_34); define (".[]", GLUE_35); define ("sturm_seq", GLUE_36); define ("resultant", GLUE_37); define ("/", GLUE_38); define ("quo", GLUE_39); define ("rem", GLUE_40); }
void glue_polynomial_tensor_floating | ( | ) |
Definition at line 181 of file glue_polynomial_tensor_floating.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_4(), GLUE_5(), GLUE_6(), GLUE_7(), GLUE_8(), GLUE_9(), and Polynomial.
Referenced by glue_realroot().
{ static bool done = false; if (done) return; done = true; call_glue (string ("glue_int")); call_glue (string ("glue_vector_generic")); call_glue (string ("glue_string")); call_glue (string ("glue_kernel")); define_type<ring<mmx_floating, Sparse, DegRevLex> > (gen (lit ("MonomialSparseRing"), lit ("Floating"))); define_type<MonomialTensor > (lit ("MonomialBasis")); define_constant<MonomialTensor > ("Monomials", MonomialTensor ()); define_type<ring<mmx_floating, MonomialTensor> > (gen (lit ("MonomialTensorRing"), lit ("Floating"))); define ("sample", GLUE_1); define ("tensor", GLUE_2); define (".[]", GLUE_3); define_type<ring<mmx_floating, MonomialTensor>::Polynomial > (gen (lit ("Polynomial"), gen (lit ("MonomialTensorRing"), lit ("Floating")))); define_type<ring<mmx_floating, Sparse, DegRevLex>::Polynomial > (gen (lit ("Polynomial"), gen (lit ("MonomialSparseRing"), lit ("Floating")))); define ("#", GLUE_4); define ("degree", GLUE_5); define ("nbvar", GLUE_6); define ("-", GLUE_7); define ("+", GLUE_8); define ("-", GLUE_9); define ("*", GLUE_10); define ("square", GLUE_11); define ("^", GLUE_12); define ("diff", GLUE_13); define ("diff", GLUE_14); define ("+", GLUE_15); define ("+", GLUE_16); define ("-", GLUE_17); define ("-", GLUE_18); define ("*", GLUE_19); define ("*", GLUE_20); define ("/", GLUE_21); define ("polynomial", GLUE_22); define ("polynomial", GLUE_23); define ("polynomial", GLUE_24); define ("polynomial", GLUE_25); define ("<<", GLUE_26); define ("<<", GLUE_27); define ("coefficients", GLUE_28); define ("coefficients", GLUE_29); define ("tensor", GLUE_30); define (".[]", GLUE_31); }
void glue_polynomial_tensor_integer | ( | ) |
Definition at line 176 of file glue_polynomial_tensor_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_4(), GLUE_5(), GLUE_6(), GLUE_7(), GLUE_8(), GLUE_9(), and Polynomial.
Referenced by glue_realroot().
{ static bool done = false; if (done) return; done = true; call_glue (string ("glue_int")); call_glue (string ("glue_vector_generic")); call_glue (string ("glue_string")); call_glue (string ("glue_kernel")); define_type<ring<integer, Sparse, DegRevLex> > (gen (lit ("MonomialSparseRing"), lit ("Integer"))); define_type<MonomialTensor > (lit ("MonomialBasis")); define_constant<MonomialTensor > ("Monomials", MonomialTensor ()); define_type<ring<integer, MonomialTensor> > (gen (lit ("MonomialTensorRing"), lit ("Integer"))); define ("sample", GLUE_1); define ("tensor", GLUE_2); define (".[]", GLUE_3); define_type<ring<integer, MonomialTensor>::Polynomial > (gen (lit ("Polynomial"), gen (lit ("MonomialTensorRing"), lit ("Integer")))); define_type<ring<integer, Sparse, DegRevLex>::Polynomial > (gen (lit ("Polynomial"), gen (lit ("MonomialSparseRing"), lit ("Integer")))); define ("#", GLUE_4); define ("degree", GLUE_5); define ("nbvar", GLUE_6); define ("-", GLUE_7); define ("+", GLUE_8); define ("-", GLUE_9); define ("*", GLUE_10); define ("square", GLUE_11); define ("^", GLUE_12); define ("diff", GLUE_13); define ("diff", GLUE_14); define ("+", GLUE_15); define ("+", GLUE_16); define ("-", GLUE_17); define ("-", GLUE_18); define ("*", GLUE_19); define ("*", GLUE_20); define ("polynomial", GLUE_21); define ("polynomial", GLUE_22); define ("polynomial", GLUE_23); define ("polynomial", GLUE_24); define ("<<", GLUE_25); define ("<<", GLUE_26); define ("coefficients", GLUE_27); define ("coefficients", GLUE_28); define ("tensor", GLUE_29); define (".[]", GLUE_30); }
void glue_polynomial_tensor_rational | ( | ) |
Definition at line 186 of file glue_polynomial_tensor_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_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_4(), GLUE_5(), GLUE_6(), GLUE_7(), GLUE_8(), GLUE_9(), and Polynomial.
Referenced by glue_realroot().
{ static bool done = false; if (done) return; done = true; call_glue (string ("glue_int")); call_glue (string ("glue_vector_generic")); call_glue (string ("glue_string")); call_glue (string ("glue_kernel")); define_type<ring<rational, Sparse, DegRevLex> > (gen (lit ("MonomialSparseRing"), lit ("Rational"))); define_type<MonomialTensor > (lit ("MonomialBasis")); define_constant<MonomialTensor > ("Monomials", MonomialTensor ()); define_type<ring<rational, MonomialTensor> > (gen (lit ("MonomialTensorRing"), lit ("Rational"))); define ("sample", GLUE_1); define ("tensor", GLUE_2); define (".[]", GLUE_3); define ("ring", GLUE_4); define_type<ring<rational, MonomialTensor>::Polynomial > (gen (lit ("Polynomial"), gen (lit ("MonomialTensorRing"), lit ("Rational")))); define_type<ring<rational, Sparse, DegRevLex>::Polynomial > (gen (lit ("Polynomial"), gen (lit ("MonomialSparseRing"), lit ("Rational")))); define ("#", GLUE_5); define ("degree", GLUE_6); define ("nbvar", GLUE_7); define ("-", GLUE_8); define ("+", GLUE_9); define ("-", GLUE_10); define ("*", GLUE_11); define ("square", GLUE_12); define ("^", GLUE_13); define ("diff", GLUE_14); define ("diff", GLUE_15); define ("+", GLUE_16); define ("+", GLUE_17); define ("-", GLUE_18); define ("-", GLUE_19); define ("*", GLUE_20); define ("*", GLUE_21); define ("/", GLUE_22); define ("polynomial", GLUE_23); define ("polynomial", GLUE_24); define ("polynomial", GLUE_25); define ("polynomial", GLUE_26); define ("<<", GLUE_27); define ("<<", GLUE_28); define ("coefficients", GLUE_29); define ("coefficients", GLUE_30); define ("tensor", GLUE_31); define (".[]", GLUE_32); }
void mmx::glue_realroot | ( | ) |
Definition at line 22 of file glue_realroot.cpp.
References glue_interval(), glue_kernel(), glue_polynomial_bernstein_rational(), glue_polynomial_dual_rational(), glue_polynomial_sparse_complex(), glue_polynomial_sparse_floating(), glue_polynomial_sparse_integer(), glue_polynomial_sparse_rational(), glue_polynomial_tensor_floating(), glue_polynomial_tensor_integer(), glue_polynomial_tensor_rational(), glue_solver_univariate_floating(), glue_solver_univariate_integer(), and glue_solver_univariate_rational().
{ static bool done = false; if (done) return; done = true; register_glue (string ("glue_interval"), (& (glue_interval))); register_glue (string ("glue_kernel"), (& (glue_kernel))); register_glue (string ("glue_polynomial_bernstein_rational"), (& (glue_polynomial_bernstein_rational))); register_glue (string ("glue_polynomial_dual_rational"), (& (glue_polynomial_dual_rational))); register_glue (string ("glue_polynomial_sparse_complex"), (& (glue_polynomial_sparse_complex))); register_glue (string ("glue_polynomial_sparse_floating"), (& (glue_polynomial_sparse_floating))); register_glue (string ("glue_polynomial_sparse_integer"), (& (glue_polynomial_sparse_integer))); register_glue (string ("glue_polynomial_sparse_rational"), (& (glue_polynomial_sparse_rational))); register_glue (string ("glue_polynomial_tensor_floating"), (& (glue_polynomial_tensor_floating))); register_glue (string ("glue_polynomial_tensor_integer"), (& (glue_polynomial_tensor_integer))); register_glue (string ("glue_polynomial_tensor_rational"), (& (glue_polynomial_tensor_rational))); register_glue (string ("glue_solver_univariate_floating"), (& (glue_solver_univariate_floating))); register_glue (string ("glue_solver_univariate_integer"), (& (glue_solver_univariate_integer))); register_glue (string ("glue_solver_univariate_rational"), (& (glue_solver_univariate_rational))); register_glue (string ("glue_realroot"), (& (glue_realroot))); dl_link ("numerix"); glue_interval (); glue_kernel (); glue_polynomial_bernstein_rational (); glue_polynomial_dual_rational (); glue_polynomial_sparse_complex (); glue_polynomial_sparse_floating (); glue_polynomial_sparse_integer (); glue_polynomial_sparse_rational (); glue_polynomial_tensor_floating (); glue_polynomial_tensor_integer (); glue_polynomial_tensor_rational (); glue_solver_univariate_floating (); glue_solver_univariate_integer (); glue_solver_univariate_rational (); }
void glue_solver_univariate_floating | ( | ) |
Definition at line 42 of file glue_solver_univariate_floating.cpp.
References GLUE_1(), and GLUE_2().
Referenced by glue_realroot().
void glue_solver_univariate_integer | ( | ) |
Definition at line 62 of file glue_solver_univariate_integer.cpp.
References GLUE_1(), GLUE_2(), GLUE_3(), GLUE_4(), GLUE_5(), and GLUE_6().
Referenced by glue_realroot().
{ static bool done = false; if (done) return; done = true; call_glue (string ("glue_kernel")); call_glue (string ("glue_interval")); call_glue (string ("glue_polynomial_tensor_integer")); define ("solve", GLUE_1); define ("solve", GLUE_2); define ("solve", GLUE_3); define ("solve_approx", GLUE_4); define ("solve_approx", GLUE_5); define ("solve_newton", GLUE_6); }
void glue_solver_univariate_rational | ( | ) |
Definition at line 62 of file glue_solver_univariate_rational.cpp.
References GLUE_1(), GLUE_2(), GLUE_3(), GLUE_4(), GLUE_5(), and GLUE_6().
Referenced by glue_realroot().
{ static bool done = false; if (done) return; done = true; call_glue (string ("glue_kernel")); call_glue (string ("glue_interval")); call_glue (string ("glue_polynomial_tensor_rational")); define ("solve", GLUE_1); define ("solve", GLUE_2); define ("solve", GLUE_3); define ("solve_approx", GLUE_4); define ("solve_approx", GLUE_5); define ("solve_newton", GLUE_6); }
void mmx::HalfExtGCD | ( | scalar< MPZ > & | gcd, |
scalar< MPZ > & | a, | ||
const scalar< MPZ > & | x, | ||
const scalar< MPZ > & | y | ||
) | [inline] |
Definition at line 590 of file scalar_integer.hpp.
References scalar< T >::rep().
{ mpz_gcdext(&gcd.rep(), &a.rep(), 0, &x.rep(), &y.rep()); }
bool mmx::has_sign_variation | ( | Iterator | b, |
Iterator | e | ||
) |
Definition at line 84 of file sign_variation.hpp.
References sign_variation().
Referenced by mmx::realroot::no_variation(), uv_binary_isolate::reduce(), uv_binary_approx::reduce(), mv_binary_isolate::reduce(), mv_binary_approx::reduce(), binary_isolate::reduce(), binary_approx::reduce(), uv_binary_approx::regular(), mv_binary_approx::regular(), and binary_approx::regular().
{ return (sign_variation(b,e,1)>0); }
bool mmx::has_sign_variation | ( | const Vector & | t | ) |
Definition at line 90 of file sign_variation.hpp.
References sign_variation_n().
{ return (sign_variation_n(t,t.size(),1)>0); }
mmx::nat mmx::hash | ( | const interval< C > & | p | ) | [inline] |
Definition at line 12 of file Interval_glue.hpp.
Referenced by exact_hash(), hash(), and soft_hash().
{ return 1;}
unsigned mmx::hash | ( | const ring< C, Sparse, DegRevLex > & | p | ) |
Definition at line 14 of file polynomial_sparse_glue.hpp.
{ return 1;}
unsigned mmx::hash | ( | const Monomial & | v | ) |
Definition at line 26 of file monomial_glue.hpp.
References hash().
unsigned mmx::hash | ( | const ring< C, Dual, DegRevLex > & | p | ) |
Definition at line 11 of file polynomial_dual_glue.hpp.
{ return 1;}
unsigned mmx::hash | ( | const Seq< C, R > & | v | ) |
Definition at line 198 of file Seq.hpp.
References hash(), and Seq< C, R >::size().
{ register unsigned i, h= 214365, n= v.size(); for (i=0; i<n; i++) h= (h<<1) ^ (h<<5) ^ (h>>27) ^ hash(v[i]); return h; }
unsigned mmx::hash | ( | const polynomial< C, with< V, W > > & | p | ) |
Definition at line 12 of file polynomial_glue.hpp.
{ return 1;}
int mmx::hash | ( | const set_of< C > & | R | ) | [inline] |
Definition at line 28 of file set_of.hpp.
{ return 1;}
polynomial<C, with<Rep,Ord> > mmx::homogenize | ( | const polynomial< C, with< Rep, Ord > > & | p, |
const polynomial< C, with< Rep, Ord > > & | v | ||
) | [inline] |
Definition at line 148 of file polynomial_fcts.hpp.
References Polynomial.
Referenced by GLUE_31(), GLUE_32(), GLUE_33(), and homogenize().
{ Polynomial r; homogenize(r.rep(),p.rep(),v.rep()); return r; }
polynomial<C, with<Rep,Ord> > mmx::homogenize | ( | const polynomial< C, with< Rep, Ord > > & | p, |
int | i, | ||
const polynomial< C, with< Rep, Ord > > & | v | ||
) | [inline] |
Definition at line 153 of file polynomial_fcts.hpp.
References homogenize(), and Polynomial.
{ Polynomial r; homogenize(r.rep(),p.rep(),i,v.rep()); return r; }
Interval<T,r> mmx::hull | ( | const Interval< T, r > & | a, |
const Interval< T, r > & | b | ||
) | [inline] |
Definition at line 125 of file Interval_fcts.hpp.
References Interval< T, r >::lower(), mmx::vctops::max(), min(), and Interval< T, r >::upper().
void hull | ( | Interval< T, r > & | v, |
const Interval< T, r > & | a, | ||
const Interval< T, r > & | b | ||
) | [inline] |
Definition at line 120 of file Interval_fcts.hpp.
References Interval< T, r >::define(), Interval< T, r >::lower(), mmx::vctops::max(), mmx::vctops::min(), and Interval< T, r >::upper().
bool mmx::in | ( | const T & | x, |
const Interval< T, r > & | y | ||
) | [inline] |
Definition at line 100 of file Interval_fcts.hpp.
References Interval< T, r >::lower(), and Interval< T, r >::upper().
Referenced by mmx::let::assign(), and run_solver().
{ return y.lower() <= x && x <= y.upper(); };
bool intersect | ( | Interval< T, r > & | result, |
const Interval< T, r > & | a, | ||
const Interval< T, r > & | b | ||
) | [inline] |
Definition at line 140 of file Interval_fcts.hpp.
References Interval< T, r >::define(), intersectp(), lower(), mmx::vctops::max(), mmx::vctops::min(), and upper().
Referenced by interval_newton< INT, CT >::newton_iteration().
Interval<T,r> mmx::intersection | ( | const Interval< T, r > & | a, |
const Interval< T, r > & | b | ||
) | [inline] |
bool mmx::intersectp | ( | const Interval< T, r > & | a, |
const Interval< T, r > & | b | ||
) | [inline] |
Definition at line 130 of file Interval_fcts.hpp.
References lower(), and upper().
Referenced by intersect().
interval<C> mmx::interval_from_pair | ( | const C & | a, |
const C & | b | ||
) |
C mmx::interval_lower | ( | const interval< C > & | I | ) | [inline] |
C mmx::interval_size | ( | const interval< C > & | p | ) |
C mmx::interval_upper | ( | const interval< C > & | I | ) | [inline] |
void mmx::inv_scale | ( | IntervalData< RT, Poly > & | ID, |
const RT & | a | ||
) | [inline] |
Definition at line 238 of file contfrac_intervaldata.hpp.
References IntervalData< RT, Poly >::b, IntervalData< RT, Poly >::d, mmx::univariate::inv_scale(), and IntervalData< RT, Poly >::p.
{ univariate::inv_scale( ID.p, ID.p, a); ID.b *= a; ID.d *= a; }
bool mmx::is_polynomial | ( | const std::ostringstream & | sm | ) | [inline] |
Definition at line 465 of file monomial.hpp.
Referenced by print(), and print_as_double().
{ for(unsigned i=1; i<sm.str().length();i++) if(sm.str()[i]=='+' || (sm.str()[i]=='-' && (i>0 && sm.str()[i-1]=='e'))) return true; return false; }
bool mmx::IsEven | ( | const scalar< MPZ > & | b | ) | [inline] |
Definition at line 664 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return b.rep()._mp_size == 0 || (b.rep()._mp_d[0] ^ ((mp_limb_t) 0));
}
bool mmx::IsMinusOne | ( | const scalar< MPZ > & | b | ) | [inline] |
Definition at line 656 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return b.rep()._mp_size == -1 && b.rep()._mp_d[0] == 1;
}
bool mmx::IsNegative | ( | const scalar< MPZ > & | b | ) | [inline] |
Definition at line 644 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return b.rep()._mp_size < 0;
}
bool mmx::IsOdd | ( | const scalar< MPZ > & | b | ) | [inline] |
Definition at line 660 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return b.rep()._mp_size != 0 && (b.rep()._mp_d[0] & ((mp_limb_t) 1));
}
bool mmx::IsOne | ( | const scalar< MPZ > & | b | ) | [inline] |
Definition at line 652 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return b.rep()._mp_size == 1 && b.rep()._mp_d[0] == 1;
}
bool mmx::IsPerfectSquare | ( | const scalar< MPZ > & | b | ) | [inline] |
Definition at line 668 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return mpz_perfect_square_p(&b.rep());
}
bool mmx::IsPositive | ( | const scalar< MPZ > & | b | ) | [inline] |
Definition at line 640 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return b.rep()._mp_size > 0;
}
bool mmx::IsProbablyPrime | ( | const scalar< MPZ > & | b, |
int | reps | ||
) | [inline] |
Definition at line 673 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return mpz_probab_prime_p(&b.rep(), reps);
}
ZZ mmx::isqrt | ( | const ZZ & | a | ) | [inline] |
bool mmx::IsZero | ( | const scalar< MPZ > & | b | ) | [inline] |
Definition at line 648 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return b.rep()._mp_size == 0;
}
Seq<C,R>::const_iterator mmx::iterate | ( | const Seq< C, R > & | m | ) |
Real mmx::knotSum | ( | Real * | t, |
int | k, | ||
int | d | ||
) |
Definition at line 21 of file solver_uv_bspline.hpp.
Referenced by solver_bspline< Real >::first_root().
{ Real ret = t[k+1]; for ( int i=2; i<=d; ++i) ret+=t[k+i]; return ret; }
ZZ mmx::lcm | ( | const ZZ & | a, |
const ZZ & | b | ||
) | [inline] |
Definition at line 58 of file GMPXX.hpp.
References gcd().
Referenced by mmx::array::lcm_denominator(), and mmx::univariate::numer().
{ return (a*b)/gcd(a,b); }
size_t mmx::log | ( | const scalar< MPZ > & | b | ) | [inline] |
Definition at line 606 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return mpz_size(&b.rep());
}
size_t mmx::log | ( | const scalar< MPF > & | b | ) | [inline] |
Definition at line 506 of file scalar_floating.hpp.
References scalar< T >::rep().
Referenced by mmx::meta::bitsize(), and mmx::univariate::reciprocal().
{
return mpf_size(&b.rep());
}
size_t mmx::log | ( | const scalar< MPZ > & | b, |
int | base | ||
) | [inline] |
Definition at line 611 of file scalar_integer.hpp.
References assert, and scalar< T >::rep().
{ assert(base >= 2 && base <= 36); return mpz_sizeinbase(&b.rep(), base); }
T mmx::lower | ( | const Interval< T, r > & | x | ) | [inline] |
Definition at line 87 of file Interval_fcts.hpp.
References Interval< T, r >::lower().
Referenced by solver_cffirst< Real, POL >::all_roots(), interval_newton< INT, CT >::bisection_iteration(), as_helper< interval< T >, interval< F > >::cv(), solver_cffirst< Real, POL >::first_root(), flatten(), Interval< double >::inf(), intersect(), intersection(), intersectp(), interval_lower(), interval_size(), interval_newton< INT, CT >::median(), median(), interval_newton< INT, CT >::newton_iteration(), Interval< T, r >::operator T(), interval_newton< INT, CT >::singleton(), solver_univariate_contfrac(), solver_univariate_contfrac_approx_prec(), solver_univariate_contfrac_prec(), and interval_newton< INT, CT >::width().
{ return x.lower(); };
int mmx::lvar | ( | const dynamic_exp< E > & | A | ) |
Definition at line 262 of file dynamicexp.hpp.
References dynamic_exp< E >::_size.
Referenced by monom< C, E >::l_variable(), monom< C, E >::nbvar(), and monom< C, E >::nvars().
{ int r=A._size-1; while(r>=0 && (A[r]==0)) r--; return r; }
set_of<C> mmx::make_set | ( | const C & | c | ) | [inline] |
Definition at line 27 of file set_of.hpp.
{ return set_of<C>(); }
Definition at line 535 of file scalar_rational.hpp.
Referenced by abs(), abs_max_coeff(), mmx::tensor::add(), bit_size(), mmx::realroot::clean_result(), eenv::common(), eenv::diff(), solver_bspline< Real >::first_root(), Kioustelidis_bound_1::foo(), solver_bspline< Real >::insert_knot(), intersection(), max_coeff(), mmx::tensor::mescan(), run_solver(), mmx::tensor::sub(), subresultant< PREM >::subres_gcd(), and NISP< C >::upper_bound().
{return (a1>a2?a1:a2);}
FT mmx::max_bound | ( | const POLY & | p, |
const Cauchy< FT > & | m | ||
) |
Definition at line 348 of file univariate_bounds.hpp.
References bound_root().
{ return bound_root(p,m); }
void mmx::MCF_positive | ( | const typename K::Poly & | f, |
Seq< typename K::root_t > & | RL, | ||
bool | posneg, | ||
K | |||
) |
Definition at line 360 of file contfrac.hpp.
References IntervalData< RT, Poly >::a, abs(), IntervalData< RT, Poly >::b, bound_root(), IntervalData< RT, Poly >::c, IntervalData< RT, Poly >::d, IntervalData< RT, Poly >::p, Seq< C, R >::push_back(), reverse(), IntervalData< RT, Poly >::s, scale(), shift(), shift_by_1(), sign(), sign_variation(), mmx::sparse::swap(), and to_FIT().
{ // std::cout << __FUNCTION__ << std::endl; typedef typename K::RT RT; typedef typename K::FT FT; typedef typename K::root_t FIT; typedef typename K::Poly Poly; typedef IntervalData< RT, Poly> IntervalData; int iters = 0; //std::cout <<"Polynomial is "<< f << std::endl; FT B = bound_root( f, Cauchy<FT>()); // std::cout << "Upper bound is "<< B << " Positive or negative " << posneg << std::endl; unsigned long s = sign_variation( f); if ( s == 0 ) { return; } if ( s == 1 ) { if ( posneg ) RL.push_back( to_FIT( FT(0), B)); else RL.push_back( to_FIT( FT(0), FT(-B))); return; } Poly X(2, AsSize()); X[1] = RT(1); std::stack< IntervalData > S; if ( posneg) S.push( IntervalData( 1, 0, 0, 1, f, s)); else S.push( IntervalData( -1, 0, 0, 1, f, s)); IntervalData ID, I1, I2;// ID is the data associated with the parent and // I1, I2 are the data associated with its children RT lowerBound; FT midpoint; // The point corresponding to the midpoint of the interval // with endpoints (a/c), (b/d). FT temp; // A temporary variable unsigned long mult = 0; // multiplicity of an exact root. while ( !S.empty() ) { ++iters; ID = S.top(); S.pop(); // std::cout <<"Transformation is " << ID.a << ":" << ID.b << ":"<< ID.c << ":" << ID.d << std::endl; // Steps 3 - 4 lowerBound = CauchyMinimumBound( ID.p); std::cout << "lower bound is "<< lowerBound << std::endl; if(ID.c == 0){// then ID.a is not equal to zero midpoint = FT(ID.d * B - ID.b*sign(ID.a), 2* abs(ID.a)); //std::cout << "Midpoint = " << midpoint << std::endl; }else if (ID.d > ID.c ){ midpoint = FT(ID.d, ID.c); }else{} if(midpoint < 1) midpoint = 1; std::cout << "Midpoint = " << midpoint << std::endl; if(lowerBound >= midpoint){ if ( lowerBound > 1 ) { UPOLDSE::scale( ID.p, ID.p, lowerBound); ID.a *= lowerBound; ID.c *= lowerBound; lowerBound = 1; } if ( lowerBound == 1 ) { shift_by_1( ID.p, ID.p);// If we scaled above then this is required ID.b += ID.a; // to bring the origin to lowerBound ID.d += ID.c; if ( ID.p[0] == RT(0)) { RL.push_back( to_FIT( FT( ID.b, ID.d), FT( ID.b, ID.d))); ID.p /= X; } ID.s = sign_variation( ID.p); if ( ID.s == 0 ) { continue; } if ( ID.s == 1 ) { RL.push_back( to_FIT<K>( ID.a, ID.b, ID.c, ID.d, B)); continue; } } shift_by_1( I1.p, ID.p); I1.a = ID.a; I1.b = ID.a + ID.b; I1.c = ID.c; I1.d = ID.c + ID.d; if (I1.p[0] == RT(0)) { RL.push_back( to_FIT( FT( I1.b, I1.d), FT( I1.b, I1.d))); I1.p /= X; mult = 1; } I1.s = sign_variation( I1.p); I2.s = ID.s - I1.s - mult; I2.a = ID.b; I2.b = ID.a + ID.b; I2.c = ID.d; I2.d = ID.c + ID.d; if ( I2.s > 1 ) { //p2 = p2( 1 / (x+1)); reverse( I2.p, ID.p); shift_by_1( I2.p); } }else{// midpoint > lowerbound, so perform subdivision like the Descartes method // Construct the polynomial p(X+midpoint) // std::cout << "Performing shift by midpoint " << std::endl; UPOLDSE::shift(I1.p, ID.p, RT(midpoint)); I1.a = ID.a; I1.b = ID.a * RT(midpoint) + ID.b; I1.c = ID.c; I1.d = ID.c * RT(midpoint) + ID.d; mult = 0; // std::cout <<"Transformation is " << I1.a << ":" << I1.b << ":"<< I1.c << ":" << I1.d << std::endl; if (I1.p[0] == RT(0)) { RL.push_back( to_FIT( FT( I1.b, I1.d), FT( I1.b, I1.d))); I1.p /= X; mult = 1; } I1.s = sign_variation( I1.p); I2.a = ID.b; I2.b = ID.b + ID.a * RT(midpoint); I2.c = ID.d; I2.d = ID.d + ID.c * RT(midpoint); I2.s = ID.s - I1.s - mult; // std::cout <<"Transformation is " << I2.a << ":" << I2.b << ":"<< I2.c << ":" << I2.d << std::endl; // std::cout << "Predicted sign variations of I2 " << ID.s - I1.s - mult << std::endl; if( I2.s > 1){// Construct the polynomial (X+1)^n p(midpoint/(X+1)) // std::cout << "Before scaling by " << RT(midpoint) << "poly is "<< ID.p << std::endl; UPOLDSE::scale( I2.p, ID.p, RT(midpoint)); // std::cout << "After scaling poly is "<< I2.p << std::endl; // std::cout << "Sign variations of I2 " << sign_variation(I2.p) << std::endl; reverse(I2.p); // std::cout << "poly is " << I2.p << std::endl; shift_by_1(I2.p); // std::cout << "After shift poly is " << I2.p << std::endl; } }// end of else if(I2.s > 1){ if ( I2.p[0] == 0) {//If I2.p[0] = 0 then so is I1.p[0]; so avoid recounting I2.p /= X; } I2.s = sign_variation( I2.p); } // std::cout <<"Sign variations " << I1.s << ":" << I2.s << std::endl; if ( I1.s < I2.s ) { std::swap( I1, I2); } if ( I1.s == 1 ) { RL.push_back( to_FIT<K>( I1.a, I1.b, I1.c, I1.d, B)); } else if ( I1.s > 1) { S.push( IntervalData( I1.a, I1.b, I1.c, I1.d, I1.p, I1.s)); } if ( I2.s == 1 ) { RL.push_back( to_FIT<K>( I2.a, I2.b, I2.c, I2.d, B)); } else if ( I2.s > 1) { S.push( IntervalData( I2.a, I2.b, I2.c, I2.d, I2.p, I2.s)); } } // while std::cout << "---------------- iters: " << iters << std::endl; return; }
T mmx::median | ( | const Interval< T, r > & | x | ) | [inline] |
Definition at line 91 of file Interval_fcts.hpp.
References lower(), and upper().
Referenced by bissect(), and solver_mv_fatarcs< C >::box_gen().
monom<C,E> mmx::MGcd | ( | const monom< C, E > & | m1, |
const monom< C, E > & | m2 | ||
) |
Definition at line 264 of file monomial.hpp.
References Monomial.
{ int d = Gcd(m1.coeff(),m2.coeff()); Monomial res(d); int v = Min(m1.nvars(),m2.nvars()); for (int i = 0; i <= v; ++i) res.set_expt(i, Min(m1[i],m2[i])); return res; }
Definition at line 534 of file scalar_rational.hpp.
Referenced by abs_max_coeff(), data_t::alloc(), solver_bspline< Real >::first_root(), hull(), intersection(), min_coeff(), method< system, _strgy_, _rdslv_, _sbdrl_ >::reduction(), monomials< C >::resize(), and subresultant< PREM >::sequence().
{return (a1<a2?a1:a2);}
FT mmx::min_bound | ( | const POLY & | p, |
Cauchy< FT > | |||
) |
Definition at line 355 of file univariate_bounds.hpp.
References bound_root(), degree(), mmx::univariate::degree(), and mmx::univariate::reverse().
{ using univariate::degree; POLY f(p); univariate::reverse(f, degree(p)); FT tmp = bound_root(f, Cauchy<FT>()); // let::convert(denominator(tmp), numerator(tmp), texp::As<FT>()); return FT(1)/tmp; }
scalar< T > & Mod2Exp | ( | const scalar< T > & | b, |
unsigned long | exponent_of_2 | ||
) | [inline] |
monom<int> mmx::monomial_from_vector | ( | const vector< int > & | t | ) |
void mmx::mul | ( | polynomial< C, with< Rep, Ord > > & | r, |
const polynomial< C, with< Rep, Ord > > & | a | ||
) | [inline] |
Definition at line 49 of file polynomial_operators.hpp.
References mul().
{ mul (r.rep (), a.rep () ); }
void mmx::mul | ( | polynomial< C, with< Rep, Ord > > & | r, |
const polynomial< C, with< Rep, Ord > > & | a, | ||
const polynomial< C, with< Rep, Ord > > & | b | ||
) | [inline] |
Definition at line 53 of file polynomial_operators.hpp.
References mul().
{ mul (r.rep (), a.rep (), b.rep ()); }
void mmx::mul | ( | polynomial< C, with< Rep, Ord > > & | r, |
const polynomial< C, with< Rep, Ord > > & | a, | ||
const C & | b | ||
) | [inline] |
Definition at line 57 of file polynomial_operators.hpp.
References mul().
{ mul (r.rep (), a.rep (), b); }
void mmx::mul | ( | polynomial< C, with< Rep, Ord > > & | r, |
const C & | a, | ||
const polynomial< C, with< Rep, Ord > > & | b | ||
) | [inline] |
Definition at line 60 of file polynomial_operators.hpp.
References mul().
{ mul (r.rep (), b.rep (), a); }
void mmx::mul | ( | Interval< C, r > & | a, |
const C & | x | ||
) | [inline] |
Definition at line 249 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwmul(), Interval< T, r >::M, Interval< T, r >::m, and interval_base< T,((unsigned) r)%4 >::upmul().
Referenced by approx(), bbasis(), box_rep< C >::min_grad(), use< operators_of, tensor::monomials< C > >::mul(), use< operators_of, tensor::bernstein< C > >::mul(), use< operators_of, sparse::monomial_seq< C, O, MONOM, REP > >::mul(), use< operators_of, sparse::dual< C, O > >::mul(), use< operators_of, polynomial< C, with< Rep, Ord > > >::mul(), mul(), operator*(), polynomial< C, with< Rep, Ord > >::operator*=(), operator-(), and pow().
{ if ( x > 0 ) { a.m = a.dwmul(a.m,x); a.M = a.upmul(a.M,x); } else { C sv(a.m); a.m = a.dwmul(a.M,x); a.M = a.dwmul(sv,x); }; };
void mmx::mul | ( | monom< C, E > & | a, |
const monom< C, E > & | m1, | ||
const monom< C, E > & | m2 | ||
) | [inline] |
Definition at line 215 of file monomial.hpp.
References mmx::array::add(), erase(), mmx::vctops::max(), and Scalar.
{ a.coeff() = (m1.coeff()*m2.coeff()); if (a.coeff() !=(typename Monomial::Scalar)0) { a.rep().reserve(std::max(m1.rep().size(),m2.rep().size())); array::add(a.rep(),m1.rep(),m2.rep()); } else { erase(a.rep()); } }
void mmx::mul | ( | Interval< C, r > & | a, |
const Interval< C, r > & | b, | ||
const C & | x | ||
) | [inline] |
Definition at line 264 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwmul(), Interval< T, r >::M, Interval< T, r >::m, mul(), and interval_base< T,((unsigned) r)%4 >::upmul().
{ if ( &a == &b ) { mul(a,x); return; }; if ( x > 0 ) { a.m = a.dwmul(b.m,x); a.M = a.upmul(b.M,x); } else { a.m = a.dwmul(b.M,x); a.M = a.dwmul(b.m,x); }; };
void mmx::mul | ( | Interval< C, r > & | x, |
const Interval< C, r > & | a, | ||
const Interval< C, r > & | b | ||
) | [inline] |
Definition at line 352 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwmul(), Interval< T, r >::M, Interval< T, r >::m, mul(), and interval_base< T,((unsigned) r)%4 >::upmul().
{ if ( &x == &a ) { mul(x,b); return; }; if ( &x == &b ) { mul(x,a); return; }; if ( a.m > 0 ) { if ( b.m > 0 ) { x.m = a.dwmul(a.m,b.m); x.M = a.upmul(a.M,b.M); return; }; if ( b.M < 0 ) { x.m = a.dwmul(a.M,b.m); x.M = a.upmul(a.m,b.M); return; }; x.m = a.dwmul(a.M,b.m); x.M = a.upmul(a.M,b.M); return; }; //std::cout << "popo\n"; if ( a.M < 0 ) { if ( b.m > 0 ) { x.m = a.dwmul(b.M,a.m); x.M = a.upmul(b.m,a.M); return; }; if ( b.M < 0 ) { x.m = a.dwmul(a.M,b.M); x.M = a.upmul(a.m,b.m); return; }; x.m = a.dwmul(a.m,b.M); x.M = a.upmul(a.m,b.m); return; }; if ( b.m > 0 ) { x.m = a.dwmul(a.m,b.M); x.M = a.upmul(a.M,b.M); return; } if ( b.M < 0 ) { x.m = a.dwmul(a.M,b.m); x.M = a.upmul(a.m,b.m); return; }; C m0(a.dwmul(a.M,b.m)); C m1(a.dwmul(a.m,b.M)); if ( m0 > m1 ) m0 = m1; C M0(a.upmul(a.M,b.M)); C M1(a.upmul(a.m,b.m)); if ( M0 < M1 ) M0 = M1; x.m = m0; x.M = M0; };
void mmx::mul | ( | Interval< C, r > & | a, |
const Interval< C, r > & | b | ||
) | [inline] |
Definition at line 284 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwmul(), Interval< T, r >::M, Interval< T, r >::m, and interval_base< T,((unsigned) r)%4 >::upmul().
{ if ( a.m > 0 ) { if ( b.m > 0 ) { a.m = a.dwmul(a.m,b.m); a.M = a.upmul(a.M,b.M); return; }; if ( b.M < 0 ) { C sv(a.m); a.m = a.dwmul(a.M,b.m); a.M = a.upmul(sv,b.M); return; }; a.m = a.dwmul(a.M,b.m); a.M = a.upmul(a.M,b.M); return; }; if ( a.M < 0 ) { if ( b.m > 0 ) { a.m = a.dwmul(b.M,a.m); a.M = a.upmul(b.m,a.M); return; }; if ( b.M < 0 ) { C sv(a.m); a.m = a.dwmul(a.M,b.M); a.M = a.upmul(sv,b.m); return; }; C sv(a.m); a.m = a.dwmul(a.m,b.M); a.M = a.upmul(sv,b.m); return; }; if ( b.m > 0 ) { a.m = a.dwmul(a.m,b.M); a.M = a.upmul(a.M,b.M); return; } if ( b.M < 0 ) { C sv(a.m); a.m = a.dwmul(a.M,b.m); a.M = a.upmul(sv,b.m); return; }; // std::cout << "last case X\n"; C m0(a.dwmul(a.M,b.m)); C m1(a.dwmul(a.m,b.M)); if ( m0 > m1 ) m0 = m1; C M0(a.upmul(a.M,b.M)); C M1(a.upmul(a.m,b.m)); if ( M0 < M1 ) M0 = M1; a.m = m0; a.M = M0; };
Seq<C,R> mmx::mul | ( | C | b, |
Seq< C, R > | a | ||
) |
Definition at line 303 of file Seq.hpp.
References Seq< C, R >::begin(), and Seq< C, R >::end().
{ Seq<C,R> r=a; for(typename Seq<C,R>::iterator it=r.begin();it!= r.end();++it) *it= b * *it ; return r; }
void mmx::mul | ( | Interval< C, r > & | a, |
const C & | x, | ||
const Interval< C, r > & | b | ||
) | [inline] |
scalar< T > & Mul2Exp | ( | const scalar< T > & | b, |
unsigned long | exponent_of_2 | ||
) | [inline] |
int mmx::N | ( | const monom< int > & | v | ) | [inline] |
Definition at line 60 of file monomial_glue.hpp.
Referenced by add(), bigunsigned< N >::bigunsigned(), mmx::sparse::coefficients(), coefficients(), mmx::tensor::convert(), continued_fraction_approximate< K, B >::is_good(), monomial_from_vector(), bigunsigned< N >::next(), bigunsigned< N >::operator<(), bigunsigned< N >::operator<<=(), bigunsigned< N >::operator==(), bigunsigned< N >::operator>(), bigunsigned< N >::operator>>=(), bigunsigned< N >::operator|=(), reverse(), ring_bernstein_extend_generic(), ring_bernstein_generic(), ring_bernstein_string(), ring_sparse_extend_generic(), ring_sparse_generic(), ring_sparse_string(), ring_tensor_extend_generic(), ring_tensor_generic(), ring_tensor_string(), rprint(), run_solver(), subresultant< PREM >::sequence(), size(), solver_bspline< Real >::solver_bspline(), and solver_univariate_contfrac().
{ return v.size(); }
int mmx::nbvar | ( | const polynomial< C, with< Rep, Ord > > & | mp | ) | [inline] |
Definition at line 42 of file polynomial_fcts.hpp.
Referenced by eenv::eenv(), GLUE_5(), GLUE_6(), GLUE_7(), polynomial< C, with< Rep, Ord > >::operator()(), ring_bernstein_extend_generic(), ring_sparse_extend_generic(), ring_tensor_extend_generic(), solver< C, MCFapproximate >::solve(), solver< C, MCFisolate >::solve(), and subresultant< PREM >::subres_gcd().
{ return mp.nbvar(); }
void mmx::neg | ( | Interval< C, r > & | a, |
const Interval< C, r > & | b | ||
) | [inline] |
Definition at line 198 of file Interval_fcts.hpp.
References Interval< T, r >::m, and Interval< T, r >::M.
{ a.M = -b.m; a.m = -b.M; };
void mmx::neg | ( | Interval< C, r > & | a | ) | [inline] |
Definition at line 190 of file Interval_fcts.hpp.
References Interval< T, r >::m, and Interval< T, r >::M.
Referenced by mmx::sparse::mul(), and operator-().
{ C sv(a.M); a.M = -a.m; a.m = -sv; };
scalar<T>& mmx::neg | ( | const scalar< T > & | b | ) |
bool mmx::neq | ( | const Seq< C, R > & | v1, |
const Seq< C, R > & | v2 | ||
) |
ZZ mmx::numerator | ( | const QQ & | a | ) | [inline] |
Definition at line 95 of file GMPXX.hpp.
Referenced by mmx::let::assign(), bit_size(), as_helper< ZZ, QQ >::cv(), NISP< C >::lower_bound(), mmx::univariate::numer(), rfloor(), and solver< C, ContFrac< Approximate > >::solve().
{ return a.get_num(); }
Definition at line 513 of file scalar_rational.hpp.
References scalar< T >::rep().
{ scalar<MPZ> r; mpq_get_num(&r.rep(),&q.rep()); return r;}
bool mmx::operator!= | ( | const ring< C, Dual, DegRevLex > & | p, |
const ring< C, Dual, DegRevLex > & | q | ||
) |
Definition at line 18 of file polynomial_dual_glue.hpp.
{ return false;}
bool mmx::operator!= | ( | const polynomial< C, V > & | p, |
const X & | q | ||
) |
Definition at line 181 of file polynomial_operators.hpp.
{return !(p==q);}
bool mmx::operator!= | ( | const ring< C, MonomialTensor > & | p, |
const ring< C, MonomialTensor > & | q | ||
) |
Definition at line 25 of file polynomial_tensor_glue.hpp.
{ return false;}
bool mmx::operator!= | ( | const ring< C, Sparse, DegRevLex > & | p, |
const ring< C, Sparse, DegRevLex > & | q | ||
) |
Definition at line 21 of file polynomial_sparse_glue.hpp.
{ return false;}
bool mmx::operator!= | ( | const ring< C, Bernstein > & | p, |
const ring< C, Bernstein > & | q | ||
) |
Definition at line 25 of file polynomial_bernstein_glue.hpp.
{ return false;}
bool mmx::operator!= | ( | const Seq< C, R > & | a, |
const Seq< C, R > & | b | ||
) |
bool mmx::operator!= | ( | const set_of< X > & | r1, |
const set_of< X > & | r2 | ||
) |
Definition at line 25 of file set_of.hpp.
{ return !(r1==r2); }
scalar< T > & operator% | ( | const scalar< T > & | b, |
unsigned long | ul | ||
) | [inline] |
scalar<T>& mmx::operator% | ( | const scalar< T > & | b, |
long | sl | ||
) |
scalar<T>& mmx::operator% | ( | const scalar< T > & | b, |
long int | sl | ||
) | [inline] |
scalar<T>& mmx::operator% | ( | const scalar< T > & | b, |
int | sl | ||
) | [inline] |
scalar<T>& mmx::operator% | ( | const scalar< T > & | b, |
unsigned | sl | ||
) | [inline] |
unsigned mmx::operator& | ( | const bigunsigned< N > & | b, |
unsigned | n | ||
) |
Definition at line 178 of file scalar_bigunsigned.hpp.
{
return b[0] & n;
};
texp::sup< Interval<Ca,Na> , Interval<Cb,Nb> >::T mmx::operator* | ( | const Interval< Ca, Na > & | Ia, |
const Interval< Cb, Nb > & | Ib | ||
) |
Definition at line 651 of file Interval_fcts.hpp.
References mul().
{ typename texp::sup<ARG0,ARG1>::T res; mul(res,Ia,Ib); return res; }
scalar< T > & operator* | ( | unsigned long | ul, |
const scalar< T > & | b | ||
) | [inline] |
Definition at line 337 of file scalar.hpp.
{
return b * ul;
}
monom<C,E> mmx::operator* | ( | const monom< C, E > & | m1, |
const C & | c2 | ||
) | [inline] |
scalar<T>& mmx::operator* | ( | const scalar< T > & | b, |
int | sl | ||
) | [inline] |
interval<C> mmx::operator* | ( | const interval< C > & | I, |
const C & | c | ||
) |
monom<C,E> mmx::operator* | ( | const monom< C, E > & | m1, |
const monom< C, E > & | m2 | ||
) | [inline] |
interval<C> mmx::operator* | ( | const C & | c, |
const interval< C > & | I | ||
) |
monom<C,E> mmx::operator* | ( | const C & | c2, |
const monom< C, E > & | m1 | ||
) | [inline] |
Definition at line 427 of file monomial.hpp.
{
return(m1*c2);
}
scalar< T > & operator* | ( | const scalar< T > & | b, |
unsigned long | ul | ||
) | [inline] |
Definition at line 429 of file scalar_rational.hpp.
{
return a2 * scalar<MPQ>(a1);
}
scalar< T > & operator* | ( | long | sl, |
const scalar< T > & | b | ||
) | [inline] |
Definition at line 398 of file scalar.hpp.
{
return b * sl;
}
scalar<T>& mmx::operator* | ( | double | d, |
const scalar< T > & | b | ||
) |
scalar<T>& mmx::operator* | ( | const scalar< T > & | b, |
long int | sl | ||
) | [inline] |
scalar<T>& mmx::operator* | ( | int | sl, |
const scalar< T > & | b | ||
) |
Definition at line 404 of file scalar_floating.hpp.
References scalar< T >::rep().
{
scalar<MPF> result;
mpf_mul(&result.rep(), &a1.rep(), &a2.rep());
return result;
}
Definition at line 400 of file scalar_integer.hpp.
References scalar< T >::rep().
{
scalar<MPZ> result;
mpz_mul(&result.rep(), &a1.rep(), &a2.rep());
return result;
}
scalar<T>& mmx::operator* | ( | const scalar< T > & | b, |
unsigned | sl | ||
) | [inline] |
scalar<T>& mmx::operator* | ( | const scalar< T > & | b, |
long | sl | ||
) |
texp::sup< Interval<Ca,Na> , Cb >::T mmx::operator* | ( | const Cb & | Ia, |
const Interval< Ca, Na > & | Ib | ||
) |
Definition at line 682 of file Interval_fcts.hpp.
References mul().
{ typename texp::sup<ARG0,ARG1>::T res; mul(res,Ib,(typename texp::sup<Ca,Cb>::T)Ia); return res; }
Definition at line 408 of file scalar_rational.hpp.
References scalar< T >::rep().
{ // static scalar<MPQ> result; // if(mpq_cmp_ui(&a1.rep(),0ul,1ul) && mpq_cmp_ui(&a2.rep(),0ul,1ul)) mpq_mul(&result.rep(), &a1.rep(), &a2.rep()); return result; }
Definition at line 418 of file scalar_rational.hpp.
{
return a1*scalar<MPQ>(a2);
}
Definition at line 423 of file scalar_rational.hpp.
{
return a2*scalar<MPQ>(a1);
}
Definition at line 435 of file scalar_rational.hpp.
{
return a2 * scalar<MPQ>(a1);
}
texp::sup< Interval<Ca,Na> , Cb >::T mmx::operator* | ( | const Interval< Ca, Na > & | Ia, |
const Cb & | Ib | ||
) |
Definition at line 669 of file Interval_fcts.hpp.
References mul().
{ typename texp::sup<ARG0,ARG1>::T res; mul(res,Ia,(typename texp::sup<Ca,Cb>::T)Ib); return res; }
texp::sup< Interval<Ca,Na> , typename K::integer >::T mmx::operator* | ( | const Interval< Ca, Na > & | Ia, |
const typename K::integer & | Ib | ||
) |
Definition at line 703 of file Interval_fcts.hpp.
References mul().
{ typename texp::sup<ARG0,ARG1>::T res; mul(res,Ia,Ib); return res; }
Definition at line 378 of file scalar_integer.hpp.
References scalar< T >::rep().
{
scalar<MPZ> result;
mpz_add(&result.rep(), &a1.rep(), &a2.rep());
return result;
}
interval<C> mmx::operator+ | ( | const C & | c, |
const interval< C > & | I | ||
) |
interval<C> mmx::operator+ | ( | const interval< C > & | I, |
const C & | c | ||
) |
scalar<T>& mmx::operator+ | ( | const scalar< T > & | b, |
int | sl | ||
) | [inline] |
monom<C,E> mmx::operator+ | ( | const monom< C, E > & | m1, |
const monom< C, E > & | m2 | ||
) | [inline] |
Definition at line 381 of file monomial.hpp.
References Monomial.
{ Monomial res(m1); res.coeff() += m2.coeff(); return (*res); }
scalar< T > & operator+ | ( | const scalar< T > & | b, |
unsigned long | ul | ||
) | [inline] |
scalar< T > & operator+ | ( | long | sl, |
const scalar< T > & | b | ||
) | [inline] |
Definition at line 392 of file scalar.hpp.
{
return b + sl;
}
scalar<T>& mmx::operator+ | ( | const scalar< T > & | b, |
unsigned | sl | ||
) | [inline] |
scalar< T > & operator+ | ( | unsigned long | ul, |
const scalar< T > & | b | ||
) | [inline] |
Definition at line 331 of file scalar.hpp.
{
return b + ul;
}
scalar<T>& mmx::operator+ | ( | const scalar< T > & | b, |
long int | sl | ||
) | [inline] |
scalar<T>& mmx::operator+ | ( | const scalar< T > & | b, |
long | sl | ||
) |
Definition at line 382 of file scalar_floating.hpp.
References scalar< T >::rep().
{
scalar<MPF> result;
mpf_add(&result.rep(), &a1.rep(), &a2.rep());
return result;
}
texp::sup< Interval<Ca,Na> , Cb >::T mmx::operator+ | ( | const Cb & | Ia, |
const Interval< Ca, Na > & | Ib | ||
) |
Definition at line 676 of file Interval_fcts.hpp.
References add().
{ typename texp::sup<ARG0,ARG1>::T res; add(res,Ib,(typename texp::sup<Ca,Cb>::T)Ia); return res; }
texp::sup< Interval<Ca,Na> , Cb >::T mmx::operator+ | ( | const Interval< Ca, Na > & | Ia, |
const Cb & | Ib | ||
) |
Definition at line 663 of file Interval_fcts.hpp.
References add().
{ typename texp::sup<ARG0,ARG1>::T res; add(res,Ia,(typename texp::sup<Ca,Cb>::T)Ib); return res; }
bigunsigned<N> mmx::operator+ | ( | const bigunsigned< N > & | b, |
unsigned | n | ||
) | [inline] |
Definition at line 170 of file scalar_bigunsigned.hpp.
References add().
{ bigunsigned<N> tmp; tmp = b; add(tmp,n); return tmp; };
Seq<C,R> mmx::operator+ | ( | Seq< C, R > | a, |
const Seq< C, R > & | b | ||
) |
Definition at line 274 of file Seq.hpp.
References Seq< C, R >::begin(), Seq< C, R >::end(), and Seq< C, R >::push_back().
{ Seq<C,R> r=a; for(typename Seq<C,R>::const_iterator it=b.begin();it!= b.end();++it) r.push_back(*it); return r; }
texp::sup< Interval<Ca,Na> , typename K::integer >::T mmx::operator+ | ( | const Interval< Ca, Na > & | Ia, |
const typename K::integer & | Ib | ||
) |
Definition at line 697 of file Interval_fcts.hpp.
References add().
{ typename texp::sup<ARG0,ARG1>::T res; add(res,Ia,(Ca)Ib); return res; }
Definition at line 385 of file scalar_rational.hpp.
References scalar< T >::rep().
{ scalar<MPQ> result; mpq_add(&result.rep(), &a1.rep(), &a2.rep()); //mpq_canonicalize(&result.rep()); return result; }
texp::sup< Interval<Ca,Na> , Interval<Cb,Nb> >::T mmx::operator+ | ( | const Interval< Ca, Na > & | Ia, |
const Interval< Cb, Nb > & | Ib | ||
) |
Definition at line 645 of file Interval_fcts.hpp.
References add().
{ typename texp::sup<ARG0,ARG1>::T res; add(res,Ia,Ib); return res; }
Definition at line 394 of file scalar_integer.hpp.
References scalar< T >::rep().
{
scalar<MPZ> r; mpz_neg(&r.rep(), &a1.rep()); return r;
}
Definition at line 398 of file scalar_floating.hpp.
References scalar< T >::rep().
{
scalar<MPF> r; mpf_neg(&r.rep(), &a1.rep()); return r;
}
polynomial<C, with<Rep,Ord> > mmx::operator- | ( | const polynomial< C, with< Rep, Ord > > & | p | ) | [inline] |
Definition at line 140 of file polynomial_operators.hpp.
References mul(), and POLYNOMIAL.
{ POLYNOMIAL r(p); mul(r.rep(),(typename POLYNOMIAL::value_type)(-1)); return r; }
Definition at line 390 of file scalar_floating.hpp.
References scalar< T >::rep().
{
scalar<MPF> result;
mpf_sub(&result.rep(),&a1.rep(), &a2.rep());
return result;
}
monom<C,E> mmx::operator- | ( | const monom< C, E > & | m1, |
const monom< C, E > & | m2 | ||
) | [inline] |
Definition at line 388 of file monomial.hpp.
References Monomial.
{ Monomial res(m1); res.coeff() -= m2.coeff(); return (res); }
texp::sup< Interval<Ca,Na> , typename K::integer >::T mmx::operator- | ( | const Interval< Ca, Na > & | Ia, |
const typename K::integer & | Ib | ||
) |
Definition at line 700 of file Interval_fcts.hpp.
References sub().
{ typename texp::sup<ARG0,ARG1>::T res; sub(res,Ia,(Ca)Ib); return res; }
texp::sup< Interval<Ca,Na> , Interval<Cb,Nb> >::T mmx::operator- | ( | const Interval< Ca, Na > & | Ia, |
const Interval< Cb, Nb > & | Ib | ||
) |
Definition at line 648 of file Interval_fcts.hpp.
References sub().
{ typename texp::sup<ARG0,ARG1>::T res; sub(res,Ia,Ib); return res; }
Definition at line 386 of file scalar_integer.hpp.
References scalar< T >::rep().
{
scalar<MPZ> result;
mpz_sub(&result.rep(), &a1.rep(), &a2.rep());
return result;
}
scalar< T > & operator- | ( | const scalar< T > & | b, |
unsigned long | ul | ||
) | [inline] |
interval<C> mmx::operator- | ( | const interval< C > & | I, |
const C & | c | ||
) |
interval<C> mmx::operator- | ( | const C & | c, |
const interval< C > & | I | ||
) |
Definition at line 402 of file scalar_rational.hpp.
References scalar< T >::rep().
{
scalar<MPQ> r; mpq_neg(&r.rep(), &a1.rep()); return r;
}
scalar<T>& mmx::operator- | ( | const scalar< T > & | b, |
long int | sl | ||
) | [inline] |
scalar<T>& mmx::operator- | ( | const scalar< T > & | b, |
int | sl | ||
) | [inline] |
Interval<C,R> mmx::operator- | ( | const Interval< C, R > & | I | ) |
Definition at line 639 of file Interval_fcts.hpp.
References neg().
{ Interval<C,R> res; neg(res,I); return res; }
scalar<T>& mmx::operator- | ( | const scalar< T > & | b, |
long | sl | ||
) |
texp::sup< Interval<Ca,Na> , Cb >::T mmx::operator- | ( | const Interval< Ca, Na > & | Ia, |
const Cb & | Ib | ||
) |
Definition at line 666 of file Interval_fcts.hpp.
References sub().
{ typename texp::sup<ARG0,ARG1>::T res; sub(res,Ia,(typename texp::sup<Ca,Cb>::T)Ib); return res; }
texp::sup< Interval<Ca,Na> , Cb >::T mmx::operator- | ( | const Cb & | Ia, |
const Interval< Ca, Na > & | Ib | ||
) |
Definition at line 679 of file Interval_fcts.hpp.
References add().
{ typename texp::sup<ARG0,ARG1>::T res; add(res,-Ib,(typename texp::sup<Ca,Cb>::T)Ia); return res; }
Definition at line 394 of file scalar_rational.hpp.
References scalar< T >::rep().
{ scalar<MPQ> result; mpq_sub(&result.rep(), &a1.rep(), &a2.rep()); //mpq_canonicalize(&result.rep()); return result; }
scalar<T>& mmx::operator- | ( | const scalar< T > & | b, |
unsigned | sl | ||
) | [inline] |
Definition at line 412 of file scalar_floating.hpp.
References scalar< T >::rep().
{
scalar<MPF> result;
mpf_div(&result.rep(), &a1.rep(), &a2.rep());
return result;
}
scalar<T>& mmx::operator/ | ( | const scalar< T > & | b, |
unsigned | sl | ||
) | [inline] |
monom<C,E> mmx::operator/ | ( | const monom< C, E > & | m1, |
const monom< C, E > & | m2 | ||
) | [inline] |
scalar<T>& mmx::operator/ | ( | const scalar< T > & | b, |
long int | sl | ||
) | [inline] |
monom<C,E> mmx::operator/ | ( | const monom< C, E > & | m1, |
const C & | c2 | ||
) | [inline] |
scalar<T>& mmx::operator/ | ( | const scalar< T > & | b, |
long | sl | ||
) |
texp::sup< Interval<Ca,Na> , Cb >::T mmx::operator/ | ( | const Interval< Ca, Na > & | Ia, |
const Cb & | Ib | ||
) |
Definition at line 672 of file Interval_fcts.hpp.
References div().
{ typename texp::sup<ARG0,ARG1>::T res; div(res,Ia,(typename texp::sup<Ca,Cb>::T)Ib); return res; }
Definition at line 449 of file scalar_rational.hpp.
{
return a1/scalar<MPQ>(a2);
}
scalar< T > & operator/ | ( | const scalar< T > & | b, |
unsigned long | ul | ||
) | [inline] |
texp::sup< Interval<Ca,Na> , Interval<Cb,Nb> >::T mmx::operator/ | ( | const Interval< Ca, Na > & | Ia, |
const Interval< Cb, Nb > & | Ib | ||
) |
Definition at line 654 of file Interval_fcts.hpp.
References div().
{ typename texp::sup<ARG0,ARG1>::T res; div(res,Ia,Ib); return res; }
scalar<T>& mmx::operator/ | ( | const scalar< T > & | b, |
int | sl | ||
) | [inline] |
texp::sup< Interval<Ca,Na> , Cb >::T mmx::operator/ | ( | const Cb & | Ia, |
const Interval< Ca, Na > & | Ib | ||
) |
Definition at line 685 of file Interval_fcts.hpp.
References div().
{ typename texp::sup<ARG0,ARG1>::T res; div(res,Ib,(typename texp::sup<Ca,Cb>::T)Ia); return res; }
Definition at line 441 of file scalar_rational.hpp.
References scalar< T >::rep().
{
scalar<MPQ> result;
mpq_div(&result.rep(), &a1.rep(), &a2.rep());
return result;
}
Definition at line 409 of file scalar_integer.hpp.
References scalar< T >::rep().
{
scalar<MPZ> result;
mpz_div(&result.rep(), &a1.rep(), &a2.rep());
return result;
}
texp::sup< Interval<Ca,Na> , typename K::integer >::T mmx::operator/ | ( | const Interval< Ca, Na > & | Ia, |
const typename K::integer & | Ib | ||
) |
Definition at line 706 of file Interval_fcts.hpp.
References div().
{ typename texp::sup<ARG0,ARG1>::T res; div(res,Ia,Ib); return res; }
Seq<C,R> mmx::operator/ | ( | Seq< C, R > | a, |
const C | b | ||
) |
Definition at line 313 of file Seq.hpp.
References Seq< C, R >::begin(), and Seq< C, R >::end().
{ Seq<C,R> r=a; for(typename Seq<C,R>::iterator it=r.begin();it!= r.end();++it) *it= *it / b; return r; }
std::ostream& mmx::operator<< | ( | std::ostream & | os, |
const dynamic_exp< E > & | t | ||
) |
Definition at line 199 of file dynamicexp.hpp.
{ bool first=true; if(t._size) for (typename dynamic_exp<E>::size_type i = 0; i < t._size; ++i) { if (t[i] == 1){ if(first) first=false; else os <<"*"; os <<'X'<< i; }else if (t[i] == 0); else { if(first) first=false; else os <<"*"; os <<"X"<< i << '^' <<(int)(t[i]); } } return os; }
std::ostream& mmx::operator<< | ( | std::ostream & | os, |
const scalar< MPF > & | b | ||
) | [inline] |
Definition at line 443 of file scalar_floating.hpp.
{ double temp; temp=mpf_get_d(&b.rep()); os<<temp; //mpf_out_str(stdout, 10,16,&b.rep()); return os; }
bigunsigned<N> mmx::operator<< | ( | const bigunsigned< N > & | b, |
unsigned | n | ||
) |
Definition at line 154 of file scalar_bigunsigned.hpp.
{
bigunsigned<N> tmp = b;
tmp <<= n;
return tmp;
};
std::ostream& mmx::operator<< | ( | std::ostream & | o, |
const Interval< T, r > & | i | ||
) |
Definition at line 168 of file Interval_fcts.hpp.
{ o << "[" << (i.lower()) << ", " << (i.upper()) << "]"; return o; };
std::ostream & operator<< | ( | std::ostream & | os, |
const scalar< MPQ > & | b | ||
) | [inline] |
Definition at line 473 of file scalar_rational.hpp.
{ mpq_out_str(stdout, 10, &b.rep()); //MP_INT tmp; //mpz_init(&tmp); return os; }
std::ostream& mmx::operator<< | ( | std::ostream & | os, |
const scalar< MPZ > & | b | ||
) | [inline] |
Definition at line 438 of file scalar_integer.hpp.
{
mpz_out_str(stdout, 10, &b.rep());
return os;
}
std::ostream& mmx::operator<< | ( | std::ostream & | os, |
const monom< C, E > & | m | ||
) | [inline] |
Output operator.
Definition at line 541 of file monomial.hpp.
References print().
{ if (m.coeff() ==0 ) os<<"(0)"; else print(os,m); return os; }
std::ostream& mmx::operator<< | ( | std::ostream & | o, |
const bigunsigned< N > & | bi | ||
) |
Definition at line 267 of file scalar_bigunsigned.hpp.
References print().
{ print(o,bi); return o; };
Definition at line 679 of file scalar_integer.hpp.
References scalar< T >::rep().
{ scalar<MPZ> r; if (s >= 0) mpz_mul_2exp (&r.rep(), &x.rep(), s); else mpz_div_2exp (&r.rep(), &x.rep(), -s); return r; }
std::ostream& mmx::operator<< | ( | std::ostream & | os, |
const polynomial< C, with< Rep, Ord > > & | mp | ||
) |
Definition at line 57 of file polynomial_fcts.hpp.
References print().
{ print(os, mp.rep(), Polynomial::Ring::vars()); return os; }
std::ostream& mmx::operator<< | ( | std::ostream & | os, |
const std::vector< C > & | V | ||
) |
Seq<C,R>& mmx::operator<< | ( | Seq< C, R > & | r, |
const C & | x | ||
) | [inline] |
Definition at line 230 of file Seq.hpp.
References Seq< C, R >::push_back().
{
r.push_back(x); return r;
}
std::ostream& mmx::operator<< | ( | std::ostream & | os, |
const Seq< C, R > & | s | ||
) |
Definition at line 687 of file scalar_integer.hpp.
{ if (s >= 0) mpz_mul_2exp (&x.rep(), &x.rep(), s); else mpz_div_2exp (&x.rep(), &x.rep(), -s); return x; }
bool mmx::operator== | ( | const ring< C, Bernstein > & | p, |
const ring< C, Bernstein > & | q | ||
) |
Definition at line 24 of file polynomial_bernstein_glue.hpp.
Referenced by bernstein< C >::operator==().
{ return true;}
bool mmx::operator== | ( | const ring< C, MonomialTensor > & | p, |
const ring< C, MonomialTensor > & | q | ||
) |
Definition at line 24 of file polynomial_tensor_glue.hpp.
{ return true;}
bool mmx::operator== | ( | const polynomial< C, with< Rep, Ord > > & | mp, |
unsigned | n | ||
) |
Definition at line 175 of file polynomial_operators.hpp.
{
return mp.rep() == (C)n;
}
bool mmx::operator== | ( | const ring< C, Sparse, DegRevLex > & | p, |
const ring< C, Sparse, DegRevLex > & | q | ||
) |
Definition at line 20 of file polynomial_sparse_glue.hpp.
{ return true;}
bool mmx::operator== | ( | const Seq< C, R > & | a, |
const Seq< C, R > & | b | ||
) |
bool mmx::operator== | ( | const ring< C, Dual, DegRevLex > & | p, |
const ring< C, Dual, DegRevLex > & | q | ||
) |
Definition at line 17 of file polynomial_dual_glue.hpp.
{ return true;}
bool mmx::operator== | ( | const polynomial< C, with< Rep, Ord > > & | mp, |
const C & | c | ||
) |
Definition at line 170 of file polynomial_operators.hpp.
{
return mp.rep() == c;
}
bool mmx::operator== | ( | const set_of< X > & | r1, |
const set_of< X > & | r2 | ||
) |
Definition at line 23 of file set_of.hpp.
{ return true; }
std::istream& mmx::operator>> | ( | std::istream & | is, |
Seq< C, R > & | V | ||
) | [inline] |
Input operator for standard matrices. The input format is of the form c0 c1 ...@ where @ is the number of elements.
Definition at line 263 of file Seq.hpp.
References Seq< C, R >::rep().
{ typedef typename R::size_type size_type; size_type s; is >> s; V.rep().resize(s); for(size_type i=0; i< s; ++i) is >> V[i]; return(is); }
std::istream& mmx::operator>> | ( | std::istream & | is, |
scalar< MPF > & | b | ||
) | [inline] |
Definition at line 453 of file scalar_floating.hpp.
References scalar< T >::rep().
{
std::string s;is >> s;
mpf_init_set_str(&b.rep(),s.c_str(), 10);
return is;
}
std::istream& mmx::operator>> | ( | std::istream & | is, |
scalar< MPZ > & | b | ||
) | [inline] |
Definition at line 445 of file scalar_integer.hpp.
References scalar< T >::rep().
{
std::string s;is >> s;
mpz_init_set_str(&b.rep(),s.c_str(), 10);
return is;
}
std::istream& mmx::operator>> | ( | std::istream & | is, |
scalar< MPQ > & | b | ||
) | [inline] |
Definition at line 489 of file scalar_rational.hpp.
References scalar< T >::rep().
{
std::string s;is >> s;
MP_INT tmp;
mpz_init_set_str(&tmp,s.c_str(), 10);
mpq_init(&b.rep());
mpq_set_z(&b.rep(),&tmp);
return is;
}
class Ord polynomial<C, with<Rep,Ord> > mmx::operator^ | ( | const polynomial< C, with< Rep, Ord > > & | a, |
unsigned | n | ||
) |
bigunsigned<N> mmx::operator| | ( | const bigunsigned< N > & | b, |
unsigned | n | ||
) |
Definition at line 162 of file scalar_bigunsigned.hpp.
{
bigunsigned<N> tmp = b;
tmp <<= n;
return tmp;
};
int mmx::Per | ( | const T & | v | ) |
Per is computing the number of equal consecutive signs -1 to 1.
Definition at line 147 of file sign_variation.hpp.
References sign().
Referenced by Count().
polynomial<C, with<Bernstein> > mmx::polynomial_bernstein | ( | const ring< C, Bernstein > & | r, |
const C & | c | ||
) |
Definition at line 90 of file polynomial_bernstein_glue.hpp.
References POLYNOMIAL.
Referenced by GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), and GLUE_28().
{ return POLYNOMIAL(c); }
polynomial<C, with<Bernstein> > mmx::polynomial_bernstein | ( | const ring< C, Bernstein > & | r, |
const string & | s | ||
) |
Definition at line 100 of file polynomial_bernstein_glue.hpp.
References as_charp(), and POLYNOMIAL.
{ return POLYNOMIAL(as_charp(s)); }
polynomial<C, with<Bernstein> > mmx::polynomial_bernstein | ( | const ring< C, Bernstein > & | r, |
const generic & | s | ||
) |
Definition at line 105 of file polynomial_bernstein_glue.hpp.
References as_charp(), and POLYNOMIAL.
{ return POLYNOMIAL(as_charp(as_mmx(s))); }
polynomial<C, with<Bernstein> > mmx::polynomial_bernstein | ( | const ring< C, Bernstein > & | r, |
const C & | c, | ||
const int & | d, | ||
const int & | v | ||
) |
Definition at line 95 of file polynomial_bernstein_glue.hpp.
References POLYNOMIAL.
{ return POLYNOMIAL(c,d,v); }
vector<generic> mmx::polynomial_bernstein_coefficients | ( | const polynomial< C, with< Bernstein > > & | p | ) |
Definition at line 140 of file polynomial_bernstein_glue.hpp.
{ vector<generic> r; for(unsigned i=0; i< p.size();i++) r<< as<generic>(p[i]); return r; }
vector<generic> mmx::polynomial_bernstein_coefficients | ( | const polynomial< C, with< Bernstein > > & | f, |
const int & | v | ||
) |
Definition at line 131 of file polynomial_bernstein_glue.hpp.
References coefficients(), and Seq< C, R >::size().
Referenced by GLUE_29(), and GLUE_30().
{ Seq<POLYNOMIAL> l = coefficients(f,v); vector<generic> r; for(unsigned i=0; i< l.size(); i++) r<< as<generic>(l[i]); return r; }
polynomial<C, with<Bernstein> > mmx::polynomial_bernstein_of | ( | const polynomial< C, with< Sparse, DegRevLex > > & | f | ) |
Definition at line 110 of file polynomial_bernstein_glue.hpp.
References convert(), and POLYNOMIAL.
Referenced by GLUE_31().
{ POLYNOMIAL r; convert(r.rep(), f.rep()); return r; }
polynomial<C, with<Dual,DegRevLex> > mmx::polynomial_dual | ( | const ring< C, Dual, DegRevLex > & | rg, |
const C & | c, | ||
int | d, | ||
int | v | ||
) |
Definition at line 60 of file polynomial_dual_glue.hpp.
References Polynomial.
{ return Polynomial(c,v,d); }
polynomial<C, with<Dual,DegRevLex> > mmx::polynomial_dual | ( | const ring< C, Dual, DegRevLex > & | r, |
const generic & | s | ||
) |
Definition at line 69 of file polynomial_dual_glue.hpp.
References as_charp(), and Polynomial.
{ return Polynomial(as_charp(as_mmx(s))); }
polynomial<C, with<Dual,DegRevLex> > mmx::polynomial_dual | ( | const ring< C, Dual, DegRevLex > & | rg, |
const string & | s | ||
) |
Definition at line 65 of file polynomial_dual_glue.hpp.
References as_charp(), and Polynomial.
{ return Polynomial(as_charp(s)); }
polynomial<C, with<Dual,DegRevLex> > mmx::polynomial_dual | ( | const ring< C, Dual, DegRevLex > & | rg, |
const C & | c | ||
) |
Definition at line 55 of file polynomial_dual_glue.hpp.
References Polynomial.
Referenced by GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), and GLUE_26().
{ return Polynomial(c); }
vector<generic> mmx::polynomial_dual_coefficients | ( | const polynomial< C, with< Dual, DegRevLex > > & | p | ) |
Definition at line 83 of file polynomial_dual_glue.hpp.
{ typedef typename Polynomial::const_iterator const_iterator; vector<generic> r; for(const_iterator it=p.begin(); it!=p.end();it++) r<< as<generic>(it->coeff()); return r; }
vector<generic> mmx::polynomial_dual_coefficients | ( | const polynomial< C, with< Dual, DegRevLex > > & | f, |
const int & | v | ||
) |
Definition at line 74 of file polynomial_dual_glue.hpp.
References coefficients(), and Seq< C, R >::size().
Referenced by GLUE_27(), and GLUE_28().
{ Seq<Polynomial> l = coefficients(f,v); vector<generic> r; for(unsigned i=0; i< l.size(); i++) r<< as<generic>(l[i]); return r; }
polynomial<C, with<V,W> > mmx::polynomial_gcd | ( | const polynomial< C, with< V, W > > & | p, |
const polynomial< C, with< V, W > > & | q, | ||
int | v | ||
) |
Definition at line 68 of file polynomial_glue.hpp.
{
return p;
}
polynomial<C, with<V,W> > mmx::polynomial_resultant | ( | const polynomial< C, with< V, W > > & | p, |
const polynomial< C, with< V, W > > & | q, | ||
int | v | ||
) |
Definition at line 58 of file polynomial_glue.hpp.
References Polynomial, and subresultant< PREM >::sequence().
Referenced by GLUE_36(), and GLUE_37().
{ Seq< Seq<Polynomial> > s = subresultant<euclidean>::sequence(p,q,v); Polynomial r; return (s[0])[0]; }
polynomial< C, with<Sparse,DegRevLex> > mmx::polynomial_sparse | ( | const ring< C, Sparse, DegRevLex > & | r, |
const C & | c | ||
) |
Definition at line 68 of file polynomial_sparse_glue.hpp.
References Polynomial.
Referenced by GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), and GLUE_28().
{ return Polynomial(c); }
polynomial< C, with<Sparse,DegRevLex> > mmx::polynomial_sparse | ( | const ring< C, Sparse, DegRevLex > & | r, |
const string & | s | ||
) |
Definition at line 77 of file polynomial_sparse_glue.hpp.
References as_charp(), and Polynomial.
{ return Polynomial(as_charp(s)); }
polynomial< C, with<Sparse,DegRevLex> > mmx::polynomial_sparse | ( | const ring< C, Sparse, DegRevLex > & | r, |
const C & | c, | ||
const int & | d, | ||
const int & | v | ||
) |
Definition at line 73 of file polynomial_sparse_glue.hpp.
References Polynomial.
{ return Polynomial(c,d,v); }
polynomial< C, with<Sparse,DegRevLex> > mmx::polynomial_sparse | ( | const ring< C, Sparse, DegRevLex > & | r, |
const generic & | s | ||
) |
Definition at line 82 of file polynomial_sparse_glue.hpp.
References as_charp(), and Polynomial.
{ return Polynomial(as_charp(as_mmx(s))); }
vector<generic> mmx::polynomial_sparse_coefficients | ( | const polynomial< C, with< Sparse, DegRevLex > > & | p | ) |
Definition at line 96 of file polynomial_sparse_glue.hpp.
{ typedef typename Polynomial::const_iterator const_iterator; vector<generic> r; for(const_iterator it=p.begin(); it!=p.end();it++) r<< as<generic>(it->coeff()); return r; }
vector<generic> mmx::polynomial_sparse_coefficients | ( | const polynomial< C, with< Sparse, DegRevLex > > & | f, |
const int & | v | ||
) |
Definition at line 87 of file polynomial_sparse_glue.hpp.
References coefficients(), and Seq< C, R >::size().
Referenced by GLUE_28(), GLUE_29(), and GLUE_30().
{ Seq<Polynomial> l = coefficients(f,v); vector<generic> r; for(unsigned i=0; i< l.size(); i++) r<< as<generic>(l[i]); return r; }
generic mmx::polynomial_sparse_eval_generic | ( | const polynomial< C, with< Sparse, DegRevLex > > & | p, |
const vector< generic > & | v | ||
) |
Definition at line 118 of file polynomial_sparse_glue.hpp.
Referenced by GLUE_33(), and GLUE_34().
{
return sparse::eval<generic>(p.rep(),v);
}
vector<generic> mmx::polynomial_sparse_monomials | ( | const polynomial< C, with< Sparse, DegRevLex > > & | p | ) |
Definition at line 105 of file polynomial_sparse_glue.hpp.
References Monomial, and Polynomial.
Referenced by GLUE_30(), and GLUE_31().
{ typedef typename Polynomial::const_iterator const_iterator; typedef typename Polynomial::Monomial Monomial; vector<generic> r; for(const_iterator it=p.begin(); it!=p.end();it++){ Monomial m(*it); m.coeff()= C(1); r<< as<generic>(Polynomial(m)); } return r; }
polynomial<C, with<Sparse,DegRevLex> > mmx::polynomial_sparse_of | ( | const polynomial< C, with< Bernstein > > & | f | ) |
Definition at line 117 of file polynomial_bernstein_glue.hpp.
References convert().
Referenced by GLUE_32().
{ polynomial<C, with<Sparse,DegRevLex> > r; convert(r.rep(), f.rep()); return r; }
polynomial<C, with<Sparse, DegRevLex> > mmx::polynomial_sparse_of | ( | const polynomial< C, with< MonomialTensor > > & | f | ) |
Definition at line 106 of file polynomial_tensor_glue.hpp.
References convert(), and POLYNOMIAL.
{ POLYNOMIAL r; convert(r.rep(), f.rep()); return r; }
vector<generic> mmx::polynomial_sturm_sequence | ( | const polynomial< C, with< V, W > > & | p, |
const polynomial< C, with< V, W > > & | q, | ||
int | v | ||
) |
Definition at line 30 of file polynomial_glue.hpp.
References coefficients(), subresultant< PREM >::sequence(), and Seq< C, R >::size().
Referenced by GLUE_35(), and GLUE_36().
{ vector<generic> res; Seq<Polynomial> lp = coefficients(p,v); vector<generic> vp; for (unsigned j=0;j<lp.size();j++) vp << as<generic>(lp[j]); res << as<generic>(vp); Seq<Polynomial> lq = coefficients(q,v); vector<generic> vq; for (unsigned j=0;j<lq.size();j++) vq << as<generic>(lq[j]); res << as<generic>(vq); Seq< Seq<Polynomial> > s = subresultant<euclidean>::sequence(p,q,v); for(unsigned i=0;i<s.size();i++) { Seq<Polynomial> ri = s[s.size()-i-1]; vector<generic> vi; for (unsigned j=0;j<ri.size();j++) vi << as<generic>(ri[j]); res << as<generic>(vi); } return res; }
polynomial<C, with<MonomialTensor> > mmx::polynomial_tensor | ( | const ring< C, MonomialTensor > & | r, |
const generic & | s | ||
) |
Definition at line 94 of file polynomial_tensor_glue.hpp.
References as_charp(), and POLYNOMIAL.
{ return POLYNOMIAL(as_charp(as_mmx(s))); }
polynomial<C, with<MonomialTensor> > mmx::polynomial_tensor | ( | const ring< C, MonomialTensor > & | r, |
const C & | c, | ||
const int & | d, | ||
const int & | v | ||
) |
Definition at line 84 of file polynomial_tensor_glue.hpp.
References POLYNOMIAL.
{ return POLYNOMIAL(c,d,v); }
polynomial<C, with<MonomialTensor> > mmx::polynomial_tensor | ( | const ring< C, MonomialTensor > & | r, |
const string & | s | ||
) |
Definition at line 89 of file polynomial_tensor_glue.hpp.
References as_charp(), and POLYNOMIAL.
{ return POLYNOMIAL(as_charp(s)); }
polynomial<C, with<MonomialTensor> > mmx::polynomial_tensor | ( | const ring< C, MonomialTensor > & | r, |
const C & | c | ||
) |
Definition at line 79 of file polynomial_tensor_glue.hpp.
References POLYNOMIAL.
Referenced by GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), and GLUE_28().
{ return POLYNOMIAL(c); }
vector<generic> mmx::polynomial_tensor_coefficients | ( | const polynomial< C, with< MonomialTensor > > & | p | ) |
Definition at line 122 of file polynomial_tensor_glue.hpp.
{ vector<generic> r; for(unsigned i=0; i< p.size();i++) r<< as<generic>(p[i]); return r; }
vector<generic> mmx::polynomial_tensor_coefficients | ( | const polynomial< C, with< MonomialTensor > > & | f, |
const int & | v | ||
) |
Definition at line 113 of file polynomial_tensor_glue.hpp.
References coefficients(), and Seq< C, R >::size().
Referenced by GLUE_27(), GLUE_28(), GLUE_29(), and GLUE_30().
{ Seq<POLYNOMIAL> l = coefficients(f,v); vector<generic> r; for(unsigned i=0; i< l.size(); i++) r<< as<generic>(l[i]); return r; }
polynomial<C, with<MonomialTensor> > mmx::polynomial_tensor_of | ( | const polynomial< C, with< Sparse, DegRevLex > > & | f | ) |
Definition at line 99 of file polynomial_tensor_glue.hpp.
References convert(), and POLYNOMIAL.
{ POLYNOMIAL r; convert(r.rep(), f.rep()); return r; }
polynomial<C, with<MonomialTensor> > mmx::polynomial_tensor_of | ( | const polynomial< C, with< Bernstein > > & | f | ) |
Definition at line 124 of file polynomial_bernstein_glue.hpp.
References convert().
{ polynomial<C, with<MonomialTensor> > r; convert(r.rep(), f.rep()); return r; }
ZZ mmx::pow | ( | const ZZ & | a, |
unsigned | n | ||
) | [inline] |
T pow | ( | const T & | a, |
int | i | ||
) |
Definition at line 12 of file binomials.hpp.
References assert.
Referenced by binomial(), interval_rep< POL >::contract_box(), mmx::tensor::contraction(), mmx::sparse::convert(), Eps(), flatten(), GLUE_11(), GLUE_12(), GLUE_13(), BezierBound::lower_bound(), box_rep< C >::max_eval(), mmx::array::norm(), operator^(), mmx::tensor::print_flatten(), euclidean::pseudo_div(), mmx::univariate::reciprocal(), mmx::sparse::scale(), scale(), subresultant< PREM >::sequence(), solver< C, ProjRd< MTH > >::set_precision(), and mmx::sparse::subs().
{ assert(i>=0); if(i == 1) return a; if(i > 0) { if (a == T(1)) return a; if (a == T(-1)) return (i % 2 == 0) ? T(1) : T(-1); T y(a); T z(1); unsigned int n = i; unsigned int m; while (n > 0) { m = n / 2; if (n %2 ) { z *= y; } y = y * y; n = m; } return z; } return T(1); }
Definition at line 707 of file scalar_integer.hpp.
References scalar< T >::rep().
{
scalar<MPZ> r;
mpz_pow_ui(&r.rep(), &a.rep(), n);
return r;
}
monom<C,E> mmx::pow | ( | const monom< C, E > & | m1, |
int | n | ||
) | [inline] |
Definition at line 275 of file monomial.hpp.
References Monomial.
{ Monomial res(m1); for (int i = 0; i <= m1.nvars(); ++i) res.set_expt(i,m1[i]*n); return res; }
scalar< T > pow | ( | const scalar< T > & | base, |
unsigned long | exp | ||
) | [inline] |
T mmx::pow2 | ( | int | i | ) |
Definition at line 30 of file univariate_bounds.hpp.
References assert.
{ assert(i>=0); if(i == 1) return 2; if(i > 0) { T y(2); T z(1); unsigned int n = i; unsigned int m; while (n > 0) { m = n / 2; if (n %2 ) { z *= y; } y = y * y; n = m; } return z; } return T(1); }
scalar< T > & PowMod | ( | const scalar< T > & | b, |
const scalar< T > & | exp, | ||
const scalar< T > & | m | ||
) | [inline] |
scalar< T > & PowMod | ( | const scalar< T > & | b, |
unsigned long | exp, | ||
const scalar< T > & | m | ||
) | [inline] |
void Precision | ( | unsigned long | l | ) | [inline] |
void mmx::Precision | ( | scalar< MPF > & | b, |
unsigned long | l | ||
) | [inline] |
Set the precision for MPZ. This precision is not the precision of the result of operations on this number.
Definition at line 473 of file scalar_floating.hpp.
References scalar< T >::rep().
{ mpf_set_prec(&b.rep(),l); }
void mmx::Precision | ( | RR | b, |
unsigned long | l | ||
) | [inline] |
OSTREAM& mmx::print | ( | OSTREAM & | os, |
const polynomial< C, with< Rep, Ord > > & | mp, | ||
const variables & | Var | ||
) | [inline] |
void mmx::print | ( | OSTREAM & | os, |
const scalar< MPQ > & | b | ||
) | [inline] |
OSTREAM& mmx::print | ( | OSTREAM & | os, |
const monom< C, E > & | m, | ||
const variables & | V = variables::default_ |
||
) | [inline] |
Definition at line 473 of file monomial.hpp.
References is_polynomial(), print(), and print_pp().
{ if (m.coeff() == C(0) ) os<<"0"; else { int i=m.nvars(); while(i> -1 && m[i]==0) i--; if(i<0) print(os,m.coeff()); else { if(m.coeff() != (C)1) { if(m.coeff()==(C)-1) { os << "-"; } else { std::ostringstream sm; print(sm,m.coeff()); bool is_pol = is_polynomial(sm); if (is_pol) os <<"+("; os<<sm.str(); if (is_pol) os <<")"; os <<"*"; } } print_pp(os,m,V); } } return os; }
void mmx::print | ( | OSTREAM & | os, |
long int | x | ||
) | [inline] |
void mmx::print | ( | std::ostream & | o, |
const bigunsigned< N > & | bi | ||
) |
OSTREAM& mmx::print | ( | OSTREAM & | os, |
const polynomial< C, with< Rep, Ord > > & | mp | ||
) | [inline] |
Definition at line 62 of file polynomial_fcts.hpp.
References print().
{ print(os,mp.rep()); return os; }
void mmx::print | ( | OSTREAM & | os, |
unsigned | x | ||
) | [inline] |
void mmx::print | ( | OSTREAM & | os, |
double | x | ||
) | [inline] |
void mmx::print | ( | OSTREAM & | os, |
const Interval< T, r > & | a | ||
) | [inline] |
Definition at line 134 of file Interval.hpp.
References Interval< T, r >::lower(), mmx::texp::print(), and Interval< T, r >::upper().
Referenced by as_string(), operator<<(), mmx::bernstein::operator<<(), print(), and print_as_double().
OSTREAM& mmx::print_as_double | ( | OSTREAM & | os, |
const monom< C, E > & | m, | ||
const variables & | V = variables::default_ |
||
) | [inline] |
Definition at line 506 of file monomial.hpp.
References as_double(), is_polynomial(), print(), and print_pp().
{ if (m.coeff() == C(0) ) os<<"0"; else { int i=m.nvars(); while(i> -1 && m[i]==0) i--; if(i<0) print(os,as_double(m.coeff())); else { if(m.coeff() != (C)1) { if(m.coeff()==(C)-1) { os << "-"; } else { std::ostringstream sm; print(sm,as_double(m.coeff())); bool is_pol = is_polynomial(sm); if (is_pol) os <<"+("; os<<sm.str(); if (is_pol) os <<")"; os <<"*"; } } print_pp(os,m,V); } } return os; }
OSTREAM& mmx::print_pp | ( | OSTREAM & | os, |
const monom< C, E > & | m, | ||
const variables & | V | ||
) | [inline] |
Definition at line 444 of file monomial.hpp.
Referenced by print(), and print_as_double().
{ bool first=true; for (typename E::size_type i = 0; i < m.rep().size(); ++i) { if (m[i] !=0) { if(first) { first =false; } else { os<<'*'; } os << V[i]; if (m[i] != 1) { os << '^' <<m[i]; } } } return os; }
const ShapeForeachContainer<T>* mmx::qForeachContainer | ( | const ShapeForeachContainerBase * | base, |
const T * | |||
) | [inline] |
ShapeForeachContainer<T> mmx::qForeachContainerNew | ( | const T & | t | ) | [inline] |
T* mmx::qForeachpointer | ( | const T & | ) | [inline] |
scalar<T> mmx::quo | ( | const scalar< T > & | dividend, |
const scalar< T > & | divisor | ||
) | [inline] |
scalar< T > quo | ( | const scalar< T > & | dividend, |
unsigned long | divisor | ||
) | [inline] |
void mmx::QuoRem | ( | scalar< MPZ > & | q, |
scalar< MPZ > & | r, | ||
const scalar< MPZ > & | divdend, | ||
const scalar< MPZ > & | divisor | ||
) | [inline] |
Definition at line 559 of file scalar_integer.hpp.
References scalar< T >::rep().
{ mpz_mdivmod(&q.rep(), &r.rep(), &divdend.rep(), &divisor.rep()); }
unsigned long mmx::QuoRem | ( | scalar< MPZ > & | q, |
scalar< MPZ > & | r, | ||
const scalar< MPZ > & | divdend, | ||
unsigned long | divisor | ||
) | [inline] |
Definition at line 565 of file scalar_integer.hpp.
References scalar< T >::rep().
{
return mpz_mdivmod_ui(&q.rep(), &r.rep(), &divdend.rep(), divisor);
}
const C& mmx::read | ( | const Seq< C, R > & | m, |
unsigned | i | ||
) | [inline] |
void mmx::reciprocal | ( | polynomial< C, with< Rep, Ord > > & | f, |
const int & | v | ||
) | [inline] |
Inplace reciprocal w.r.t. variable v
Definition at line 228 of file polynomial_fcts.hpp.
Referenced by box_rep< POL >::restrict(), box_rep< POL >::reverse_and_shift_box(), and box_rep< POL >::reverse_box().
{ reciprocal( f.rep(), v ); }
void mmx::rem | ( | polynomial< C, with< Rep, Ord > > & | r, |
const polynomial< C, with< Rep, Ord > > & | a, | ||
const polynomial< C, with< Rep, Ord > > & | b | ||
) | [inline] |
Definition at line 72 of file polynomial_operators.hpp.
Referenced by use< operators_of, sparse::monomial_seq< C, O, MONOM, REP > >::rem(), use< operators_of, sparse::dual< C, O > >::rem(), and use< operators_of, polynomial< C, with< Rep, Ord > > >::rem().
{ rem (r.rep (), b.rep (), a.rep); }
unsigned long rem | ( | const scalar< T > & | b, |
unsigned long | divisor | ||
) | [inline] |
Definition at line 504 of file scalar.hpp.
References scalar< T >::rem().
{
scalar<T> r(b);
return r.rem(divisor);
}
scalar< T > & rem | ( | const scalar< T > & | dividend, |
const scalar< T > & | divisor | ||
) | [inline] |
const R& mmx::rep | ( | const R & | r | ) | [inline] |
Allows us to access to the data when we don't use shared object.
Definition at line 177 of file shared_object.hpp.
{return r;}
R& mmx::rep | ( | shared_object< R > & | r | ) | [inline] |
Allows us to access to the data when we use shared object.
Definition at line 181 of file shared_object.hpp.
{return *r;}
const R& mmx::rep | ( | const shared_object< R > & | r | ) | [inline] |
Allows us to access to the data when we use shared object.
Definition at line 185 of file shared_object.hpp.
{return *r;}
R& mmx::rep | ( | R & | r | ) | [inline] |
Allows us to access to the data when we don't use shared object.
Definition at line 173 of file shared_object.hpp.
Referenced by scalar< T >::abs(), polynomial< C, with< Rep, Ord > >::at(), polynomial< C, with< Rep, Ord > >::begin(), polynomial< C, with< Rep, Ord > >::coefof(), box_rep< POL >::contract_box(), mmx::tensor::convert(), arc_rep< C >::critpt(), scalar< T >::Div2Exp(), shared_object< std::vector< homography< real > > >::divorce(), polynomial< C, with< Rep, Ord > >::end(), box_rep< POL >::eval(), mmx::realroot::eval_poly_matrix(), box_rep< POL >::exclude1(), scalar< T >::factorial(), scalar< T >::GCD(), box_rep< POL >::is_root(), scalar< T >::Mod2Exp(), scalar< T >::Mul2Exp(), polynomial< C, with< Rep, Ord > >::nbvar(), scalar< T >::negate(), scalar< T >::operator!=(), scalar< T >::operator%=(), polynomial< C, with< Rep, Ord > >::operator()(), scalar< T >::operator*=(), polynomial< C, with< Rep, Ord > >::operator*=(), monom< C, E >::operator*=(), scalar< T >::operator++(), scalar< T >::operator+=(), polynomial< C, with< Rep, Ord > >::operator+=(), scalar< T >::operator--(), scalar< T >::operator-=(), polynomial< C, with< Rep, Ord > >::operator-=(), scalar< T >::operator/=(), polynomial< C, with< Rep, Ord > >::operator/=(), monom< C, E >::operator/=(), scalar< T >::operator<(), scalar< T >::operator<=(), scalar< T >::operator=(), scalar< T >::operator==(), scalar< T >::operator>(), scalar< T >::operator>=(), polynomial< C, with< Rep, Ord > >::operator[](), polynomial< C, with< Rep, Ord > >::polynomial(), scalar< T >::pow(), scalar< T >::PowMod(), mmx::realroot::precondition(), solver_mv_fatarcs< C >::prepro(), scalar< T >::quo(), polynomial< C, with< Rep, Ord > >::rbegin(), scalar< T >::rem(), polynomial< C, with< Rep, Ord > >::rend(), box_rep< POL >::restrict(), box_rep< POL >::reverse_and_shift_box(), box_rep< POL >::reverse_box(), scalar< T >::scalar(), box_rep< POL >::shift_box(), polynomial< C, with< Rep, Ord > >::size(), scalar< T >::sqrt(), and scalar< T >::~scalar().
{return r;}
void mmx::reverse | ( | IntervalData< RT, Poly > & | I1 | ) | [inline] |
Definition at line 153 of file contfrac_intervaldata.hpp.
References IntervalData< RT, Poly >::a, IntervalData< RT, Poly >::b, IntervalData< RT, Poly >::c, IntervalData< RT, Poly >::d, IntervalData< RT, Poly >::p, reverse(), and mmx::sparse::swap().
void mmx::reverse | ( | Poly & | R, |
const Poly & | P | ||
) | [inline] |
Definition at line 136 of file contfrac_intervaldata.hpp.
Referenced by CF_positive(), data_t::convert(), NISP< C >::lower_bound(), MCF_positive(), print(), reverse(), reverse_shift(), and continued_fraction_subdivision< K >::solve_homography().
{ R=P; reverse(R); }
void mmx::reverse | ( | bigunsigned< N > & | r, |
const bigunsigned< N > & | lu | ||
) |
Definition at line 230 of file scalar_bigunsigned.hpp.
References N(), and hdwi< hardware_int >::reverse().
{ typedef typename bigunsigned<N>::hdwi_t hdwi_t; for ( unsigned i = 0; i < N/2; i ++ ) { r[i] = numerics::hdwi<hdwi_t>::reverse(lu[N-1-i]); r[N-1-i] = numerics::hdwi<hdwi_t>::reverse(lu[i]); }; if ( N & 1 ) r[N/2] = numerics::hdwi<hdwi_t>::reverse(lu[N/2]); };
void mmx::reverse | ( | Poly & | R | ) | [inline] |
Definition at line 143 of file contfrac_intervaldata.hpp.
References degree().
{ int deg = degree(R); Poly temp(R); for (int i = 0; i <= deg; ++i) R[i] = temp[deg-i]; }
void mmx::reverse_shift | ( | IntervalData< RT, Poly > & | I2, |
const IntervalData< RT, Poly > & | ID | ||
) | [inline] |
Definition at line 268 of file contfrac_intervaldata.hpp.
References IntervalData< RT, Poly >::a, IntervalData< RT, Poly >::b, IntervalData< RT, Poly >::c, IntervalData< RT, Poly >::d, IntervalData< RT, Poly >::p, reverse(), IntervalData< RT, Poly >::s, shift_by_1(), and sign_variation().
{ I2.a = ID.b; I2.b = ID.a + ID.b; I2.c = ID.d; I2.d = ID.c + ID.d; I2.p= ID.p; reverse(I2); shift_by_1(I2); I2.s = sign_variation(I2.p); }
void mmx::reverse_shift_homography | ( | IntervalData< RT, Poly > & | I2, |
const IntervalData< RT, Poly > & | ID | ||
) | [inline] |
Definition at line 258 of file contfrac_intervaldata.hpp.
References IntervalData< RT, Poly >::a, IntervalData< RT, Poly >::b, IntervalData< RT, Poly >::c, and IntervalData< RT, Poly >::d.
Referenced by continued_fraction_subdivision< K >::solve_homography().
{ I2.a = ID.b; I2.b = ID.a + ID.b; I2.c = ID.d; I2.d = ID.c + ID.d; }
Definition at line 515 of file scalar_rational.hpp.
References denominator(), and numerator().
Referenced by solver_cffirst< Real, POL >::first_root_floor(), and rceil().
{ scalar<MPZ> r=numerator(q); r/=denominator(q); return r; }
ring<C,Bernstein> mmx::ring_bernstein_extend_generic | ( | const ring< C, Bernstein > & | R, |
const vector< generic > & | s | ||
) |
Definition at line 74 of file polynomial_bernstein_glue.hpp.
References as_charp(), N(), nbvar(), and POLYNOMIAL.
Referenced by GLUE_3().
{ int nv= RING::nbvar(); for(nat j=0;j<N(s);j++) R[nv+j] = POLYNOMIAL( as_charp(as_mmx(s[j])) ); return R; }
ring<C,Bernstein> mmx::ring_bernstein_generic | ( | const scalar_set< C > & | rg, |
const Bernstein & | b, | ||
const vector< generic > & | s | ||
) |
Definition at line 67 of file polynomial_bernstein_glue.hpp.
References as_charp(), N(), and RING.
Referenced by GLUE_4().
Definition at line 56 of file polynomial_bernstein_glue.hpp.
References ring< C, B, O >::nbvar(), and RING.
Referenced by GLUE_2().
{ std::string v; for(int i=0; i<r.nbvar(); i++) { v += ring<C, Sparse, DegRevLex >::var[i]; if(i<r.nbvar()-1) v +=" "; } return RING(v.data());; }
ring<C,Bernstein> mmx::ring_bernstein_string | ( | const scalar_set< C > & | rg, |
const vector< string > & | s | ||
) |
Definition at line 38 of file polynomial_bernstein_glue.hpp.
References as_charp(), N(), and RING.
ring<C, Sparse,DegRevLex > mmx::ring_sparse_extend_generic | ( | const ring< C, Sparse, DegRevLex > & | R, |
const vector< generic > & | s | ||
) |
Definition at line 45 of file polynomial_sparse_glue.hpp.
References as_charp(), N(), nbvar(), and Polynomial.
Referenced by GLUE_2().
{ int nv= RING::nbvar(); for(nat j=0;j<N(s);j++) R[nv+j] = Polynomial(as_charp(as_mmx(s[j]))); return R; }
ring<C, Sparse,DegRevLex > mmx::ring_sparse_generic | ( | const scalar_set< C > & | rg, |
const vector< generic > & | s | ||
) |
Definition at line 39 of file polynomial_sparse_glue.hpp.
References as_charp(), N(), and RING.
ring<C, Sparse,DegRevLex > mmx::ring_sparse_string | ( | const scalar_set< C > & | rg, |
const vector< string > & | s | ||
) |
Definition at line 32 of file polynomial_sparse_glue.hpp.
References as_charp(), N(), and RING.
ring<C, MonomialTensor > mmx::ring_tensor_extend_generic | ( | const ring< C, MonomialTensor > & | R, |
const vector< generic > & | s | ||
) |
Definition at line 63 of file polynomial_tensor_glue.hpp.
References as_charp(), N(), nbvar(), and POLYNOMIAL.
Referenced by GLUE_3().
{ int nv= RING::nbvar(); for(nat j=0;j<N(s);j++) R[nv+j] = POLYNOMIAL(as_charp(as_mmx(s[j]))); return R; }
ring<C, MonomialTensor > mmx::ring_tensor_generic | ( | const scalar_set< C > & | rg, |
const MonomialTensor & | b, | ||
const vector< generic > & | s | ||
) |
Definition at line 56 of file polynomial_tensor_glue.hpp.
References as_charp(), N(), and RING.
Referenced by GLUE_4().
Definition at line 45 of file polynomial_bernstein_glue.hpp.
References ring< C, Bernstein >::nbvar(), and RING.
Referenced by GLUE_2().
{ typedef ring<C, Bernstein > Ring; std::string v; for(int i=0; i<r.nbvar(); i++) { v += Ring::var[i]; if(i<r.nbvar()-1) v +=" "; } return RING(v.data());; }
ring<C, MonomialTensor > mmx::ring_tensor_of | ( | const ring< C, Sparse, DegRevLex > & | r | ) |
Definition at line 43 of file polynomial_tensor_glue.hpp.
References ring< C, B, O >::nbvar(), and RING.
{ typedef ring<C, Sparse, DegRevLex> SparseRing; std::string v; for(int i=0; i<r.nbvar(); i++) { v +=SparseRing::var[i]; if(i<r.nbvar()-1) v +=" "; } return RING(v.data());; }
ring<C, MonomialTensor > mmx::ring_tensor_string | ( | const scalar_set< C > & | rg, |
const vector< string > & | s | ||
) |
Definition at line 37 of file polynomial_tensor_glue.hpp.
References as_charp(), N(), and RING.
void mmx::rprint | ( | std::ostream & | o, |
unsigned | n | ||
) | [inline] |
Definition at line 241 of file scalar_bigunsigned.hpp.
Referenced by print(), and rprint().
{ for ( unsigned b = 0; b < numerics::hdwi<unsigned>::nbit; b ++ ) { o << ( n& 1); n >>= 1; }; };
void mmx::rprint | ( | std::ostream & | o, |
bigunsigned< N > & | bu | ||
) |
void mmx::run_solver | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 18 of file solver_run.hpp.
References Seq< C, R >::begin(), degree(), Seq< C, R >::end(), in(), max(), N(), POL, mmx::xml::print(), mmx::xml::read(), and solve().
{ double total=0,start,end; using std::cout; using std::endl; using std::string; int N=0; bool verbose=true; for(int i=0;i<argc;i++) if (string(argv[i]) == string("-h")) { std::cout<<"Usage: "<<argv[0]<<" file [-h|-q|-v]"<<std::endl; return; } else if (string(argv[i]) == string("-v")) verbose=true; else if (string(argv[i]) == string("-q")) verbose=false; else if (string(argv[i]) == string("-n")) N = atoi(argv[i+1]); std::ifstream in(argv[1],std::ios::in); if(!in.good()) { std::cout<<"file: "<<argv[1]<<std::endl; return; } std::string s; typedef POL upol_t; Seq<POL> L; POL p; int nbp=0; int deg=0; variables Vr("x"); while(xml::read(in,p,Vr) && (N==0 || nbp < N)) { L<<p; deg= std::max(deg,degree(p)); nbp++; } int nr=0; for(typename Seq<POL>::const_iterator it = L.begin(); it != L.end(); ++it) { if(verbose) { xml::print(std::cout,*it,"polynomial")<<std::endl; typename SLV::Solutions sol; SLV::solve(sol,*it); nr+= sol.size(); xml::print(std::cout,sol,"solution")<<std::endl; } else { typename SLV::Solutions sol; start = clock(); SLV::solve(sol,*it); end = clock(); total += (end - start); nr+= sol.size(); } } cout << "<nb_pol>" << nbp << "</nb_pol>"; cout << "<degree>" << deg << "</degree>"; cout << "<nb_root>" <<nr<<"</nb_root>"; if(!verbose) { cout << "<time>" << (total / CLOCKS_PER_SEC) << "</time> "; cout << "<speed>" << int(nr/(total / CLOCKS_PER_SEC)) << "</speed>"; } std::cout<<std::endl; }
C mmx::sample | ( | const ring< C, B, O > & | R | ) |
C mmx::sample | ( | const ring< C, Dual, O > & | rg | ) |
C mmx::sample | ( | const ring< C, Sparse, O > & | R | ) |
Definition at line 82 of file polynomial_sparse.hpp.
{ return (C)0; }
void mmx::scale | ( | IntervalData< RT, Poly > & | ID, |
const RT & | a | ||
) | [inline] |
Definition at line 218 of file contfrac_intervaldata.hpp.
References IntervalData< RT, Poly >::a, IntervalData< RT, Poly >::c, IntervalData< RT, Poly >::p, and mmx::univariate::scale().
Referenced by data_t::convert(), binary_convert< K, Approximate >::get(), binary_convert< K, Isolate >::get(), mmx::linear::householder(), MCF_positive(), and continued_fraction_subdivision< K >::solve_homography().
{ univariate::scale( ID.p, ID.p, a); ID.a *= a; ID.c *= a; }
void mmx::scale | ( | IntervalData< RT, Poly > & | ID, |
long | k | ||
) | [inline] |
Definition at line 227 of file contfrac_intervaldata.hpp.
References IntervalData< RT, Poly >::a, IntervalData< RT, Poly >::c, IntervalData< RT, Poly >::p, pow(), and mmx::univariate::scale().
{ RT a = pow( RT( 2), k); univariate::scale( ID.p, ID.p, a); ID.a *= a; ID.c *= a; }
void mmx::shift | ( | polynomial< C, with< Rep, Ord > > & | f, |
const C & | t, | ||
const int & | v | ||
) | [inline] |
Inplace shift by t in variable v
Definition at line 216 of file polynomial_fcts.hpp.
References shift().
{ shift( f.rep(), t, v ); }
void mmx::shift | ( | IntervalData< RT, Poly > & | ID, |
const RT & | a | ||
) | [inline] |
Definition at line 247 of file contfrac_intervaldata.hpp.
References IntervalData< RT, Poly >::a, IntervalData< RT, Poly >::b, IntervalData< RT, Poly >::c, IntervalData< RT, Poly >::d, IntervalData< RT, Poly >::p, IntervalData< RT, Poly >::s, mmx::univariate::shift(), and sign_variation().
Referenced by MCF_positive(), euclidean::pseudo_div(), box_rep< POL >::restrict(), box_rep< POL >::reverse_and_shift_box(), Seq< C, R >::Seq(), shift(), box_rep< POL >::shift_box(), and continued_fraction_subdivision< K >::solve_homography().
{ univariate::shift( ID.p, ID.p, a); ID.s = sign_variation(ID.p); ID.b += a * ID.a; ID.d += ID.c * a; }
void mmx::shift | ( | polynomial< C, with< Rep, Ord > > & | r, |
const polynomial< C, with< Rep, Ord > > & | p, | ||
int | d, | ||
int | v = 0 |
||
) | [inline] |
Inplace shift p by degree d in variable v
Definition at line 222 of file polynomial_fcts.hpp.
References shift().
{ shift( r.rep(), p.rep(), d, v ); }
void mmx::shift_by_1 | ( | Poly & | R, |
const Poly & | P | ||
) | [inline] |
Definition at line 165 of file contfrac_intervaldata.hpp.
References degree().
Referenced by CF_positive(), MCF_positive(), reverse_shift(), shift_by_1(), and continued_fraction_subdivision< K >::solve_homography().
{ R=P; int deg = degree(P); for (int j = deg-1; j >= 0; j--) { for (int i = j; i < deg; i++) { R[i] += R[i+1]; } } return; }
void mmx::shift_by_1 | ( | Poly & | R | ) | [inline] |
Definition at line 204 of file contfrac_intervaldata.hpp.
References degree().
{ long deg = degree( R); for (int j = deg-1; j >= 0; j--) { for (int i = j; i < deg; i++) { R[i] += R[i+1]; } } return; }
void mmx::shift_by_1 | ( | IntervalData< RT, Poly > & | I1, |
const IntervalData< RT, Poly > & | I2 | ||
) | [inline] |
Definition at line 181 of file contfrac_intervaldata.hpp.
References IntervalData< RT, Poly >::a, IntervalData< RT, Poly >::b, IntervalData< RT, Poly >::c, IntervalData< RT, Poly >::d, IntervalData< RT, Poly >::p, IntervalData< RT, Poly >::s, shift_by_1(), and sign_variation().
{ shift_by_1(I1.p,I2.p); I1.a = I2.a; I1.b = I2.a + I2.b; I1.c = I2.c; I1.d = I2.c + I2.d; I1.s = sign_variation(I1.p); return; }
void mmx::shift_by_1 | ( | IntervalData< RT, Poly > & | I1 | ) | [inline] |
Definition at line 194 of file contfrac_intervaldata.hpp.
References IntervalData< RT, Poly >::a, IntervalData< RT, Poly >::b, IntervalData< RT, Poly >::c, IntervalData< RT, Poly >::d, IntervalData< RT, Poly >::p, IntervalData< RT, Poly >::s, shift_by_1(), and sign_variation().
{ shift_by_1(I1.p); I1.b += I1.a; I1.d += I1.c; I1.s = sign_variation(I1.p); }
int mmx::sign | ( | const scalar< MPZ > & | b | ) | [inline] |
Definition at line 617 of file scalar_integer.hpp.
References scalar< T >::rep().
{ if (b.rep()._mp_size == 0) return 0; else return b.rep()._mp_size > 0 ? 1 : -1; }
int mmx::sign | ( | const scalar< MPF > & | b | ) | [inline] |
Definition at line 511 of file scalar_floating.hpp.
References scalar< T >::rep().
{
return mpf_sgn(&b.rep());
}
int sign | ( | const T & | x | ) | [inline] |
Definition at line 12 of file Interval_fcts.hpp.
{return ( x < T(0) ? -1 : (T(0) < x ? 1 : 0) ); }
int sign | ( | const QQ & | a | ) | [inline] |
Definition at line 44 of file GMP.hpp.
References scalar< T >::rep().
Referenced by interval_newton< INT, CT >::bisection_iteration(), as_helper< interval< FT >, IntervalData< RT, Poly > >::cv(), as_helper< Interval< FT >, IntervalData< RT, Poly > >::cv(), div(), box_rep< C >::edge_event(), Eps(), box_rep< C >::first_nonzero(), Kioustelidis_bound_1::foo(), AkritasBound< RT >::lower_bound(), HongBound< RT >::lower_bound(), Cauchy< C >::lower_bound(), BezierBound::lower_bound(), AkritasBound< RT >::lower_power_2(), Cauchy< C >::lower_power_2(), MCF_positive(), arc_rep< C >::midc(), interval_newton< INT, CT >::newton_iteration(), box_rep< C >::not_empty(), Per(), polynomial< C, with< Rep, Ord > >::polynomial(), mmx::univariate::sign_at(), solve2(), and to_FIT().
{ return mpq_sgn(&a.rep()); }
int mmx::sign_of | ( | const Vector & | t | ) |
Definition at line 97 of file sign_variation.hpp.
{ int i; for (i=0; (i<t.size() && t[i]==0); i++) ; if(i==t.size()) return 0; bool ng; for (ng=(t[i]<=0); i<t.size(); i++) if(ng !=(t[i]<=0)) return 0; return (ng?-1:1); }
unsigned mmx::sign_variation | ( | const C(&) | t[N] | ) | [inline] |
Definition at line 122 of file sign_variation.hpp.
References sign_variation().
{ return sign_variation(t,t+N); };
unsigned mmx::sign_variation | ( | const C * | t, |
unsigned | size, | ||
unsigned | maxv | ||
) | [inline] |
Definition at line 134 of file sign_variation.hpp.
References sign_variation().
{ return sign_variation(t,t+size,maxv); };
int mmx::sign_variation | ( | const T & | v, |
unsigned | maxv | ||
) | [inline] |
Definition at line 118 of file sign_variation.hpp.
References sign_variation().
{ return sign_variation(v.begin(),v.end(),maxv); };
unsigned mmx::sign_variation | ( | const C * | t, |
unsigned | size | ||
) | [inline] |
Definition at line 130 of file sign_variation.hpp.
References sign_variation().
{ return sign_variation(t,t+size); };
int mmx::sign_variation | ( | const T & | v | ) | [inline] |
Definition at line 115 of file sign_variation.hpp.
References sign_variation().
{ return sign_variation(v.begin(),v.end()); }
unsigned mmx::sign_variation | ( | Iterator | b, |
Iterator | e | ||
) |
Function that computes the number of sign changes between @ and @.
Definition at line 27 of file sign_variation.hpp.
Referenced by CF_positive(), has_sign_variation(), MCF_positive(), reverse_shift(), shift(), shift_by_1(), interval_rep< POL >::sign_var(), sign_variation(), continued_fraction_subdivision< K >::solve_homography(), continued_fraction_subdivision< K >::solve_positive(), and Var().
{ unsigned c = 0; while ( *b == 0 && b != e ) b++; if ( b != e ) { Iterator p = b; bool v = (*b<0); for( ++b; b != e; ++b ) if ( (*b != 0) && ( (*b<0) != v ) ) { c++; p = b; v = !v; }; }; return c; }
unsigned mmx::sign_variation | ( | const C(&) | t[N], |
unsigned | maxv | ||
) | [inline] |
Definition at line 126 of file sign_variation.hpp.
References sign_variation().
{ return sign_variation(t,t+N,maxv); };
unsigned mmx::sign_variation | ( | Iterator | b, |
Iterator | e, | ||
unsigned | maxv | ||
) |
Definition at line 45 of file sign_variation.hpp.
{ unsigned c = 0; while ( *b == 0 && b != e ) b++; if ( b != e ) { Iterator p = b; bool v = (*b<0); for( ++b; c < maxv && b != e; ++b ) { if ( (*b != 0) && ( (*b<0) != v ) ) { c++; p = b; v = !v; }; } }; return c; }
unsigned mmx::sign_variation_n | ( | const Vector & | t, |
unsigned | l, | ||
unsigned | maxv | ||
) |
Definition at line 65 of file sign_variation.hpp.
Referenced by has_sign_variation().
{ unsigned c = 0, i=0; while ( t[i] == 0 && i< l ) i++; if ( i<l ) { unsigned p = i; bool v = (t[i]<0); for( ++i; c < maxv && i<l; ++i ) { if ( (t[i] != 0) && ( (t[i]<0) != v ) ) { c++; p = i; v = !v; }; } }; return c; }
bool mmx::singleton | ( | const Interval< T, r > & | x | ) | [inline] |
Definition at line 95 of file Interval_fcts.hpp.
References Interval< T, r >::lower(), and Interval< T, r >::upper().
{ return x.lower() == x.upper(); };
int mmx::size | ( | const monom< int > & | v | ) | [inline] |
ZZ Size | ( | const QQ & | r | ) | [inline] |
unsigned mmx::size | ( | const polynomial< C, with< Rep, Ord > > & | p | ) | [inline] |
Definition at line 52 of file polynomial_fcts.hpp.
{
return p.size();
}
scalar<T> mmx::Size | ( | const scalar< T > & | r | ) |
QQ size | ( | const ZZ & | z | ) | [inline] |
Definition at line 67 of file GMPXX.hpp.
References abs().
Referenced by arc_rep< C >::arc_rep(), mmx::univariate::convertm2b(), GLUE_3(), GLUE_4(), GLUE_5(), median(), monomial_seq< C, O, MONOM, REP >::operator==(), and mmx::realroot::scan_monom_env().
{ return abs(z); };
T mmx::size | ( | const Interval< T, r > & | i | ) |
Definition at line 165 of file Interval_fcts.hpp.
References Interval< T, r >::size().
{ return i.size(); };
unsigned mmx::soft_hash | ( | const ring< C, Bernstein > & | p | ) |
Definition at line 19 of file polynomial_bernstein_glue.hpp.
{ return 1;}
unsigned mmx::soft_hash | ( | const polynomial< C, with< V, W > > & | p | ) |
Definition at line 14 of file polynomial_glue.hpp.
{ return 1;}
unsigned mmx::soft_hash | ( | const ring< C, Sparse, DegRevLex > & | p | ) |
Definition at line 16 of file polynomial_sparse_glue.hpp.
{ return 1;}
unsigned mmx::soft_hash | ( | const ring< C, Dual, DegRevLex > & | p | ) |
Definition at line 13 of file polynomial_dual_glue.hpp.
{ return 1;}
int mmx::soft_hash | ( | const set_of< C > & | R | ) | [inline] |
Definition at line 29 of file set_of.hpp.
{ return 1;}
unsigned mmx::soft_hash | ( | const Seq< C, R > & | m | ) |
unsigned mmx::soft_hash | ( | const Monomial & | m | ) |
unsigned mmx::soft_hash | ( | const ring< C, MonomialTensor > & | p | ) |
Definition at line 19 of file polynomial_tensor_glue.hpp.
{ return 1;}
solver<typename POL::Scalar,SLV>::Solutions mmx::solve | ( | const POL & | p, |
const SLV & | s | ||
) |
Definition at line 107 of file solver.hpp.
References solve().
{ typedef solver<typename POL::Scalar,SLV> solver_t; typename solver<typename POL::Scalar,SLV>::Solutions sol; solver_t::solve(sol,p); return sol; }
solver<typename POL::Scalar,SLV>::Solutions mmx::solve | ( | const POL & | p, |
const SLV & | s, | ||
const Domain1 & | D1, | ||
const Domain2 & | D2 | ||
) |
Definition at line 135 of file solver.hpp.
References solve().
{ typedef solver<typename POL::Scalar,SLV> solver_t; typename solver<typename POL::Scalar,SLV>::Solutions sol; solver_t::solve(sol,p,D1,D2); return sol; }
solver<typename POL::Scalar, ContFrac<M> >::Solutions mmx::solve | ( | const POL & | p, |
const ContFrac< M > & | slv, | ||
const B & | b1, | ||
const B & | b2 | ||
) |
Definition at line 461 of file solver_uv_continued_fraction.hpp.
References solve().
{ typedef solver<B, ContFrac<M> > Solver; typedef typename solver<B, ContFrac<M> >::Solutions Solutions; Solutions sol; Solver::solve(sol,p,b1,b2); return sol; }
solver<typename POL::Scalar, ContFrac<M> >::Solutions mmx::solve | ( | const POL & | p, |
const ContFrac< M > & | slv | ||
) |
Definition at line 449 of file solver_uv_continued_fraction.hpp.
References Scalar, and solve().
{ typedef typename POL::Scalar Scalar; typedef solver<Scalar, ContFrac<M> > Solver; typedef typename solver<Scalar, ContFrac<M> >::Solutions Solutions; Solutions sol; Solver::solve(sol,p); return sol; }
Seq<std::vector<C> > mmx::solve | ( | const MPC & | l, |
const ProjRd< MTH > & | , | ||
const Domains & | D, | ||
bool | verbose = false |
||
) |
Definition at line 451 of file solver_mv_bernstein.hpp.
References mmx::let::assign(), and POL.
{ typedef typename MPC::value_type POL; typedef typename POL::value_type coeff; // typedef typename kernelof<coeff>::ieee C; typedef QQ Rational; Seq<Rational> box(D.size()); for(unsigned i=0;i<D.size();i++) let::assign(box[i],D[i]); std::cout<<"Box: "<<box<<std::endl; Seq<std::vector<C> > sol; solver<C, ProjRd<MTH> >::solve_monomial(sol,l,D,verbose); return sol; }
solver<B, Sleeve<M> >::Solutions mmx::solve | ( | const POL & | p, |
const Sleeve< M > & | slv, | ||
const B & | u, | ||
const B & | v | ||
) |
Definition at line 655 of file solver_uv_sleeve.hpp.
References solve().
{ typedef solver<B, Sleeve<M> > Solver; typedef typename Solver::Solutions Solutions; Solutions sol; Solver::solve(sol,p, u,v); return sol; }
IntervalNewton<IT,typename POL::coeff_t>::solutions_t mmx::solve | ( | const POL & | f, |
IntervalNewton< IT, typename POL::coeff_t > & | s | ||
) |
Definition at line 256 of file solver_uv_interval_newton.hpp.
References IntervalNewton< INT, C >::delta, diff(), IntervalNewton< INT, C >::initial_approx, POL, and IntervalNewton< INT, C >::status.
solver<typename POL::Scalar, Sleeve<M> >::Solutions mmx::solve | ( | const POL & | p, |
const Sleeve< M > & | slv | ||
) |
Definition at line 665 of file solver_uv_sleeve.hpp.
References Scalar, and solve().
{ typedef typename POL::Scalar Scalar; typedef solver<Scalar, Sleeve<M> > Solver; typedef typename solver<Scalar, Sleeve<M> >::Solutions Solutions; Solutions sol; Solver::solve(sol,p); return sol; }
Seq< typename ContFrac<NT,LB>::root_t > mmx::solve | ( | const typename ContFrac< NT >::Poly & | f, |
ContFrac< NT, LB > | |||
) | [inline] |
Definition at line 164 of file contfrac.hpp.
References Seq< C, R >::rep(), and solve_contfrac().
Referenced by run_solver(), solve(), solver_univariate_contfrac(), solver_univariate_contfrac_approx_prec(), solver_univariate_contfrac_prec(), solver_univariate_newton(), and solver_univariate_sleeve().
{ typedef ContFrac<NT,LB> K; typedef typename K::root_t root_t; Seq<root_t> sol; // std::cout << "**In this" << std::endl; solve_contfrac(f, std::back_inserter(sol.rep()), K()); // std::stable_sort( sol.begin(), sol.end(), ALGEBRAIC::Refine_compare()); return sol; }
solver<typename POL::Scalar,SLV>::Solutions mmx::solve | ( | const POL & | p, |
const SLV & | s, | ||
const Domain & | D | ||
) |
Definition at line 126 of file solver.hpp.
References solve().
{ typedef solver<typename POL::Scalar,SLV> solver_t; typename solver<typename POL::Scalar,SLV>::Solutions sol; solver_t::solve(sol,p,D); return sol; }
solver<typename POL::Scalar,SLV>::Solutions mmx::solve | ( | const POL & | p, |
SLV & | s | ||
) |
Definition at line 116 of file solver.hpp.
References solve().
{ typedef solver<typename POL::Scalar,SLV> solver_t; typename solver<typename POL::Scalar,SLV>::Solutions sol; solver_t::solve(sol,p); return sol; }
OutputIterator mmx::solve_contfrac | ( | const typename K::Poly & | h, |
OutputIterator | sol, | ||
K | |||
) | [inline] |
Definition at line 609 of file contfrac.hpp.
References CF_solve().
Referenced by solve().
{ CF_solve( h, sol, 1, K()); return sol; }
vector<generic> mmx::solver_univariate_contfrac | ( | const polynomial< C, with< MonomialTensor > > & | p, |
const interval< rational > & | D | ||
) |
Definition at line 67 of file solver_univariate_glue.hpp.
References lower(), N(), solve(), and upper().
{ typedef Numerix kernel; typedef typename kernel::integer Integer; typedef typename kernel::rational Rational; typedef typename kernel::interval_rational interval_rational; typedef solver<Integer, ContFrac<Approximate> > Solver; vector<interval_rational> sol; Solver::set_precision(mmx_bit_precision); Solver::solve(sol,p,lower(D),upper(D)); sort(sol); vector<generic> r; for(unsigned i=0;i<N(sol);i++) r <<as<generic>(interval< rational > (lower(sol[i]),upper(sol[i]))); return r; }
vector<generic> mmx::solver_univariate_contfrac | ( | const polynomial< C, with< MonomialTensor > > & | p | ) |
Definition at line 61 of file solver_univariate_glue.hpp.
References solver_univariate_contfrac_prec().
Referenced by GLUE_1(), and GLUE_3().
{ return solver_univariate_contfrac_prec(p,mmx_bit_precision); }
vector<generic> mmx::solver_univariate_contfrac_approx | ( | const polynomial< C, with< MonomialTensor > > & | p | ) |
Definition at line 111 of file solver_univariate_glue.hpp.
References solver_univariate_contfrac_approx_prec().
Referenced by GLUE_1(), and GLUE_4().
{ return solver_univariate_contfrac_approx_prec(p,mmx_bit_precision); }
vector<generic> mmx::solver_univariate_contfrac_approx_prec | ( | const polynomial< C, with< MonomialTensor > > & | p, |
const int & | prec | ||
) |
Definition at line 87 of file solver_univariate_glue.hpp.
References lower(), solve(), and upper().
Referenced by GLUE_2(), GLUE_5(), and solver_univariate_contfrac_approx().
{ typedef Numerix kernel; typedef typename kernel::integer Integer; typedef typename kernel::rational rational; typedef typename kernel::interval_rational interval_rational; typedef solver<Integer,ContFrac<Approximate> > Solver; Solver::set_precision(prec); vector<interval_rational> sol; Solver::solve(sol,p); sort(sol); long int old_prec = mmx_bit_precision; vector<generic> r; mmx_bit_precision = prec; for(unsigned i=0;i<sol.size();i++) { r << as<generic>(as<floating<> >((lower(sol[i])+upper(sol[i]))/2)); } mmx_bit_precision = old_prec; return r; }
vector<generic> mmx::solver_univariate_contfrac_prec | ( | const polynomial< C, with< MonomialTensor > > & | p, |
const int & | prec | ||
) |
Definition at line 41 of file solver_univariate_glue.hpp.
References lower(), solve(), and upper().
Referenced by GLUE_2(), and solver_univariate_contfrac().
{ typedef Numerix kernel; typedef typename kernel::integer Integer; typedef typename kernel::rational Rational; typedef typename kernel::interval_rational interval_rational; typedef solver< Integer, ContFrac<Approximate> > Solver; vector<interval_rational> sol; Solver::set_precision(prec); Solver::solve(sol,p); sort(sol); vector<generic> r; for(unsigned i=0;i<sol.size();i++) r <<as<generic>(interval< Rational > (lower(sol[i]),upper(sol[i]))); //r <<as<generic>(sol[i]); return r; }
interval<floating<> > mmx::solver_univariate_newton | ( | const polynomial< C, with< MonomialTensor > > & | p, |
const interval< floating<> > & | I | ||
) |
Definition at line 130 of file solver_univariate_glue.hpp.
References solve().
Referenced by GLUE_6().
{ typedef interval<floating<> > interval_t; IntervalNewton<interval_t,C> Nwt(I); Seq<interval_t> sol =solve(p,Nwt); return sol[0]; }
vector<generic> mmx::solver_univariate_sleeve | ( | const polynomial< C, with< MonomialTensor > > & | p | ) |
Definition at line 116 of file solver_univariate_glue.hpp.
References solve().
{ typedef Numerix kernel; typedef typename kernel::integer Integer; typedef typename kernel::rational rational; typedef typename kernel::interval_rational interval_rational; typedef kernel::interval_rational interval_rational; Seq<interval_rational> sol; solver<RING,Sleeve<Isolate> >::solve(sol,p); vector<generic> r; for(unsigned i=0;i<sol.size();i++) r << as<generic>(sol[i]); return r; }
void mmx::split | ( | Interval< C, R > & | l, |
Interval< C, R > & | r | ||
) |
Definition at line 632 of file Interval_fcts.hpp.
References Interval< T, r >::m, and Interval< T, r >::M.
Referenced by uv_binary_approx::subdivide().
{ r.M = l.M; r.m = (l.M+l.m)/C(2); l.M = r.m; };
scalar< T > sqrt | ( | const scalar< T > & | b | ) | [inline] |
Definition at line 497 of file scalar.hpp.
References NONRCODE, and NRCODE.
Referenced by solver_mv_fatarcs< C >::box_gen(), domain< coeff_t >::diam(), mmx::linear::householder(), isqrt(), arc_rep< C >::midc(), mmx::array::norm(), arc_rep< C >::offset(), mmx::linear::pythag(), solve2(), and v_length().
void mmx::SqrtRem | ( | scalar< MPZ > & | sqrt, |
scalar< MPZ > & | rem, | ||
const scalar< MPZ > & | b | ||
) | [inline] |
Definition at line 553 of file scalar_integer.hpp.
References scalar< T >::rep().
void mmx::sub | ( | Interval< C, r > & | a, |
const C & | x, | ||
const Interval< C, r > & | b | ||
) | [inline] |
Definition at line 229 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwsub(), Interval< T, r >::M, Interval< T, r >::m, and interval_base< T,((unsigned) r)%4 >::upsub().
{ a.m = a.dwsub(x,b.M); a.M = a.upsub(x,b.m); };
void mmx::sub | ( | polynomial< C, with< Rep, Ord > > & | r, |
const polynomial< C, with< Rep, Ord > > & | a, | ||
const polynomial< C, with< Rep, Ord > > & | b | ||
) | [inline] |
Definition at line 37 of file polynomial_operators.hpp.
References sub().
{ sub (r.rep (), a.rep (), b.rep ()); }
void mmx::sub | ( | Interval< C, r > & | a, |
const Interval< C, r > & | b, | ||
const Interval< C, r > & | x | ||
) | [inline] |
Definition at line 245 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwsub(), Interval< T, r >::M, Interval< T, r >::m, and interval_base< T,((unsigned) r)%4 >::upsub().
{ a.m = a.dwsub(b.m,x.M); a.M = a.upsub(b.M,x.m); };
void mmx::sub | ( | Interval< C, r > & | a, |
const Interval< C, r > & | x | ||
) | [inline] |
Definition at line 241 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwsub(), Interval< T, r >::M, Interval< T, r >::m, and interval_base< T,((unsigned) r)%4 >::upsub().
{ a.m = a.dwsub(a.m,x.M); a.M = a.upsub(a.M,x.m); };
void mmx::sub | ( | polynomial< C, with< Rep, Ord > > & | r, |
const polynomial< C, with< Rep, Ord > > & | a, | ||
const C & | b | ||
) | [inline] |
Definition at line 45 of file polynomial_operators.hpp.
References sub().
{ sub (r.rep (), a.rep (), b); }
void mmx::sub | ( | polynomial< C, with< Rep, Ord > > & | r, |
const polynomial< C, with< Rep, Ord > > & | a | ||
) | [inline] |
Definition at line 33 of file polynomial_operators.hpp.
References sub().
{ sub (r.rep (), a.rep () ); }
void mmx::sub | ( | Interval< C, r > & | a, |
const C & | x | ||
) | [inline] |
Definition at line 221 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwsub(), Interval< T, r >::M, Interval< T, r >::m, and interval_base< T,((unsigned) r)%4 >::upsub().
Referenced by operator-(), polynomial< C, with< Rep, Ord > >::operator-=(), use< operators_of, tensor::monomials< C > >::sub(), use< operators_of, tensor::bernstein< C > >::sub(), use< operators_of, sparse::monomial_seq< C, O, MONOM, REP > >::sub(), use< operators_of, sparse::dual< C, O > >::sub(), use< operators_of, polynomial< C, with< Rep, Ord > > >::sub(), and sub().
{ a.m = a.dwsub(a.m,x); a.M = a.upsub(a.M,x); };
void mmx::sub | ( | polynomial< C, with< Rep, Ord > > & | r, |
const C & | a, | ||
const polynomial< C, with< Rep, Ord > > & | b | ||
) | [inline] |
Definition at line 41 of file polynomial_operators.hpp.
References sub().
{ sub (r.rep (), a, b.rep ()); }
void mmx::sub | ( | Interval< C, r > & | a, |
const Interval< C, r > & | b, | ||
const C & | x | ||
) | [inline] |
Definition at line 225 of file Interval_fcts.hpp.
References interval_base< T,((unsigned) r)%4 >::dwsub(), Interval< T, r >::M, Interval< T, r >::m, and interval_base< T,((unsigned) r)%4 >::upsub().
{ a.m = a.dwsub(b.m,x); a.M = a.upsub(b.M,x); };
double mmx::to_double | ( | const scalar< MPZ > & | z | ) | [inline] |
Definition at line 730 of file scalar_integer.hpp.
References scalar< T >::rep().
{ return mpz_get_d(&z.rep()); }
double mmx::to_double | ( | const scalar< MPQ > & | a | ) | [inline] |
Definition at line 558 of file scalar_rational.hpp.
References scalar< T >::rep().
{ return mpq_get_d(&a.rep()); }
double to_double | ( | const RR & | a | ) | [inline] |
Definition at line 50 of file GMP.hpp.
References scalar< T >::rep().
Referenced by to_XT().
{ return mpf_get_d(&a.rep()); }
K::FIT mmx::to_FIT | ( | const typename K::RT & | a, |
const typename K::RT & | b, | ||
const typename K::RT & | c, | ||
const typename K::RT & | d, | ||
const typename K::FT & | B | ||
) |
Definition at line 110 of file contfrac_intervaldata.hpp.
References sign(), to_FIT(), and to_FT().
{ typedef typename K::RT RT; typedef typename K::FT FT; typedef typename K::FIT FIT; FT left; FT right; if ( c == RT(0)) left = sign(a) * B; // else left = as<FT>(a, c); else left = to_FT(a,c); if ( d == RT(0)) right = sign(b) * B; // else right = as<FT>(b, d); else right = to_FT(b,d); return to_FIT( left, right); }
Interval< FT > mmx::to_FIT | ( | const FT & | a, |
const FT & | b | ||
) | [inline] |
Definition at line 100 of file contfrac_intervaldata.hpp.
Referenced by CF_positive(), MCF_positive(), and to_FIT().
{ if ( a <= b ) return Interval<FT>( a, b); return Interval<FT>( b, a); }
QQ to_FT | ( | const ZZ & | a, |
const ZZ & | b = 1 |
||
) | [inline] |
Definition at line 144 of file GMP.hpp.
References mmx::let::assign().
{ QQ r,d; let::assign(r,a); let::assign(d,b); r /=d; // r.canonicalize(); return r; }
texp::rationalof<C>::T mmx::to_FT | ( | const C & | a, |
const C & | b | ||
) |
Definition at line 90 of file contfrac_intervaldata.hpp.
Referenced by continued_fraction_subdivision< K >::solve_homography(), and to_FIT().
{ typedef typename texp::rationalof<C>::T rational; return (rational(a)/b); }
meta::rationalof<C>::T mmx::to_rational | ( | const C & | a, |
const C & | b | ||
) |
Definition at line 142 of file contfrac.hpp.
Referenced by CF_positive().
{ typedef typename meta::rationalof<C>::T rational; return (rational(a)/b); }
double to_XT | ( | const ZZ & | a | ) | [inline] |
T mmx::upper | ( | const Interval< T, r > & | x | ) | [inline] |
Definition at line 89 of file Interval_fcts.hpp.
References Interval< T, r >::upper().
Referenced by interval_newton< INT, CT >::bisection_iteration(), as_helper< interval< T >, interval< F > >::cv(), flatten(), intersect(), intersection(), intersectp(), interval_size(), interval_upper(), median(), interval_newton< INT, CT >::newton_iteration(), Interval< T, r >::operator T(), interval_newton< INT, CT >::singleton(), cell_mv_bernstein< C >::size(), solver_univariate_contfrac(), solver_univariate_contfrac_approx_prec(), solver_univariate_contfrac_prec(), Interval< double >::sup(), and interval_newton< INT, CT >::width().
{ return x.upper(); };
int mmx::Var | ( | const T & | v | ) |
Var is computing the number of sign variations from -1 to 1 or 1 to -1.
Definition at line 142 of file sign_variation.hpp.
References sign_variation().
Referenced by Count(), mmx::tensor::print(), print(), and mmx::tensor::print_flatten().
{ return sign_variation(v); }
vector<int> mmx::vector_from_monomial | ( | const monom< int > & | m | ) |
Definition at line 54 of file monomial_glue.hpp.
{ vector<int> res; for(nat i=0;i<m.size();i++) res<<m[i]; return res; }
T mmx::width | ( | const Interval< T, r > & | x | ) | [inline] |
Definition at line 93 of file Interval_fcts.hpp.
References Interval< T, r >::width().
Referenced by Interval< double >::size().
{ return x.width(); };
bool with_plus_sign | ( | const ZZ & | c | ) | [inline] |
bool mmx::with_plus_sign | ( | const Interval< C, r > & | I | ) | [inline] |
Definition at line 16 of file Interval_fcts.hpp.
{ return true;}
bool with_plus_sign | ( | const X & | x | ) | [inline] |
Definition at line 12 of file tensor_monomials_fcts.hpp.
{return x>0;}
bool mmx::with_plus_sign | ( | const tensor::monomials< C > & | x | ) | [inline] |
Definition at line 14 of file tensor_monomials_fcts.hpp.
{ return true; }
class O class Q struct mul_helper |
Definition at line 77 of file polynomial_dual.hpp.
Definition at line 17 of file polynomial_bernstein_glue.hpp.
Referenced by div().
char * synaps_inputptr |
Definition at line 310 of file monomial.hpp.
Referenced by monom< C, E >::monom(), polynomial< C, with< Rep, Ord > >::polynomial(), and Seq< C, R >::Seq().