realroot_doc 0.1.1
|
Sequence of terms with reference counter. More...
#include <Seq.hpp>
Sequence of terms with reference counter.
It allows to use it as output of other functions. The container @ should have the following signatures:
typename R::size_type; typename R::iterator; typename R::const_iterator; typename R::reverse_iterator; typename R::const_reverse_iterator; C begin(); C end(); C rbegin(); C rend(); C& operator[] (size_type); const C& operator[] (size_type) const;
typedef R::const_iterator const_iterator |
typedef R::const_reverse_iterator const_reverse_iterator |
typedef R::reverse_iterator reverse_iterator |
typedef C value_type |
Seq | ( | size_type | s, |
value_type * | t | ||
) | [inline] |
Seq | ( | char * | str | ) |
Definition at line 347 of file Seq.hpp.
References mmx::assign(), BLIST, ELIST, Seq< C, R >::push_back(), Seq< C, R >::rep(), mmx::shift(), synaps_input, synaps_inputlim, mmx::synaps_inputptr, yylex(), and yylval.
: data() { rep().resize(0); synaps_input = s; synaps_inputptr = synaps_input; synaps_inputlim = s + strlen(s); C term; bool shift = true; int Ask; for (;;) { Ask = yylex(); if (shift && Ask == BLIST) { shift = false ; } else if (Ask == ELIST) { break; } else { let::assign(term,yylval); this->push_back(term); } } }
iterator begin | ( | ) | [inline] |
Definition at line 86 of file Seq.hpp.
Referenced by mmx::adds(), mmx::let::assign(), Seq< Interval< C > >::erase(), mmx::iterate(), Seq< Interval< C > >::max(), Seq< Interval< C > >::min(), mmx::mul(), mmx::operator+(), mmx::operator/(), Seq< Interval< C > >::operator<<(), Seq< Interval< C > >::reverse(), mmx::run_solver(), and Seq< Interval< C > >::sort().
{return rep().begin();}
const_iterator begin | ( | ) | const [inline] |
self_t& clear | ( | ) | [inline] |
Definition at line 116 of file Seq.hpp.
Referenced by box_rep< C >::max_eval().
{ rep().clear(); return *this; }
iterator end | ( | ) | [inline] |
Definition at line 87 of file Seq.hpp.
Referenced by mmx::adds(), mmx::let::assign(), Seq< Interval< C > >::max(), Seq< Interval< C > >::min(), mmx::mul(), mmx::operator+(), mmx::operator/(), Seq< Interval< C > >::operator<<(), Seq< Interval< C > >::reverse(), mmx::run_solver(), and Seq< Interval< C > >::sort().
{return rep().end();}
const_iterator end | ( | ) | const [inline] |
const value_type& front | ( | ) | const [inline] |
C max | ( | ) | [inline] |
C max | ( | Compare | comp | ) | [inline] |
bool member | ( | const C & | x | ) | [inline] |
C min | ( | ) | [inline] |
C min | ( | Compare | comp | ) | [inline] |
Seq< C, R > operator, | ( | const C & | x | ) | const |
Concatenate an element at the end of the sequence.
Definition at line 222 of file Seq.hpp.
References Seq< C, R >::push_back(), and Seq< C, R >::rep().
Definition at line 177 of file Seq.hpp.
{ for(const_iterator it=s.begin(); it!=s.end();++it) this->push_back(*it); return *this; }
value_type& operator[] | ( | size_type | i | ) | [inline] |
const value_type& operator[] | ( | size_type | i | ) | const [inline] |
self_t& push_back | ( | const C & | x | ) | [inline] |
Definition at line 109 of file Seq.hpp.
Referenced by mmx::let::assign(), mmx::CF_positive(), mmx::CF_solve(), mmx::MCF_positive(), mmx::operator+(), Seq< C, R >::operator,(), mmx::operator<<(), Seq< Interval< C > >::operator<<(), and Seq< C, R >::Seq().
{ rep().push_back(x); return *this; }
const_reverse_iterator rbegin | ( | ) | const [inline] |
reverse_iterator rbegin | ( | ) | [inline] |
reverse_iterator rend | ( | ) | [inline] |
const_reverse_iterator rend | ( | ) | const [inline] |
R& rep | ( | ) | [inline] |
Definition at line 61 of file Seq.hpp.
Referenced by solver_mv_monomial< FT, POL >::approximate(), Seq< Interval< C > >::begin(), Seq< Interval< C > >::clear(), mmx::coefficients(), Seq< Interval< C > >::empty(), Seq< Interval< C > >::end(), Seq< Interval< C > >::erase(), Seq< Interval< C > >::front(), Seq< Interval< C > >::max(), Seq< Interval< C > >::member(), Seq< Interval< C > >::min(), Seq< C, R >::operator,(), mmx::operator==(), mmx::operator>>(), Seq< Interval< C > >::operator[](), Seq< Interval< C > >::push_back(), Seq< Interval< C > >::rbegin(), Seq< Interval< C > >::rend(), Seq< Interval< C > >::resize(), Seq< Interval< C > >::reverse(), Seq< Interval< C > >::search(), Seq< C, R >::Seq(), Seq< Interval< C > >::Seq(), Seq< Interval< C > >::size(), mmx::solve(), and Seq< Interval< C > >::sort().
{return (*data);}
void resize | ( | size_type | i | ) | [inline] |
Definition at line 165 of file Seq.hpp.
Referenced by mmx::CF_solve(), subresultant< PREM >::sequence(), and box_rep< POL >::subdiv_center().
{ rep().resize(i); }
void reverse | ( | ) | [inline] |
Reverse list.
Definition at line 168 of file Seq.hpp.
Referenced by Seq< Interval< C > >::reverse(), and Seq< Interval< C > >::reversed().
{ std::reverse (rep().begin( ), rep().end( ) ); }
self_t reversed | ( | ) | const [inline] |
size_type search | ( | const C & | x | ) | [inline] |
size_type size | ( | void | ) | const [inline] |
Definition at line 162 of file Seq.hpp.
Referenced by solver_cffirst< Real, POL >::all_roots_isolate(), solver_cffirst< Real, POL >::all_roots_separate(), solver_mv_monomial< FT, POL >::approximate(), solver_mv_fatarcs< C >::box_gen(), cell_mv_bernstein< C >::cell_mv_bernstein(), mmx::CF_solve(), solver_mv_monomial< FT, POL >::check_root(), mmx::sparse::coefficients(), homography_mv< C >::colapse(), box_rep< POL >::contract_box(), domain< coeff_t >::delta(), Seq< Interval< C > >::empty(), box_rep< POL >::eval(), mmx::realroot::eval_poly_matrix(), extpts(), Seq< Interval< C > >::front(), mmx::hash(), box_rep< POL >::is_root(), subresultant< PREM >::is_zero_seq(), solver_mv_monomial< FT, POL >::isolate(), mmx::realroot::jacobian(), box_rep< POL >::l_bound(), Seq< Interval< C > >::member(), cell_mv_bernstein< C >::nbeq(), box_rep< POL >::nbpol(), cell_mv_bernstein< C >::nbvar(), arc_rep< C >::offset(), box_rep< POL >::point(), mmx::polynomial_bernstein_coefficients(), mmx::polynomial_dual_coefficients(), mmx::polynomial_sparse_coefficients(), mmx::polynomial_sturm_sequence(), mmx::polynomial_tensor_coefficients(), mmx::realroot::precondition(), box_rep< POL >::restrict(), subresultant< PREM >::resultant(), box_rep< POL >::reverse_and_shift_box(), box_rep< POL >::reverse_box(), Seq< Interval< C > >::search(), seq2b(), subresultant< PREM >::sequence(), box_rep< POL >::shift_box(), mmx::realroot::signof(), homography_mv< C >::size(), cell_mv_bernstein< C >::size(), continued_fraction_subdivision< K >::solve(), solver_mv_monomial< FT, POL >::solve_system(), subresultant< PREM >::subres_gcd(), mmx::realroot::topological_degree_2d(), box_rep< POL >::update_data(), box_rep< POL >::volume(), and box_rep< POL >::width().
{return rep().size();}
void sort | ( | Compare | comp | ) | [inline] |
void sort | ( | ) | [inline] |
Definition at line 60 of file Seq.hpp.
Referenced by Seq< Interval< C > >::operator=(), and Seq< Interval< C > >::rep().