4 #include "../DyadicRationalNumber/globals.h" 20 res->left = a->left + b->left;
21 res->right = a->right + b->right;
37 std::vector<Interval> roots;
62 for (
int i = 1; i <= var; ++i) {
63 std::ostringstream convert;
64 convert << var - i + 1;
66 names[i] += convert.str();
76 std::copy(b.names, b.names+var+1, names);
98 std::copy(b.names, b.names+var+1, names);
117 return roots.size() / var;
138 roots.push_back(elem);
140 inline void pushInterval(
double l,
double r) {
144 roots.push_back(elem);
171 return &roots[k*var+l];
180 for (
int i = 0; i < var; ++i)
181 pIs.roots.push_back(roots[k*var+i]);
193 for (
int i = var, j = 0; i > 0; --i, ++j)
197 std::cout <<
"BPAS: warning, not enough variables to set in Intervals." << std::endl;
217 void transformLeft();
223 void transformRight();
243 friend std::ostream& operator<< (std::ostream &out,
Intervals& a);
254 tmp.right = a->right;
258 b->right = tmp.right;
Intervals root(int k)
Get a root of variates.
Definition: interval.h:178
int numberOfVariables()
Get number of variables.
Definition: interval.h:107
void setVariableNames(const std::vector< Symbol > &xs)
Set variable names.
Definition: interval.h:189
int numberOfIntervals()
Get the number of roots.
Definition: interval.h:116
Intervals(const Intervals &b)
Copy construct.
Definition: interval.h:74
Intervals(int v)
Construct intervals with number of variates.
Definition: interval.h:59
Data Structure for interval [a, b].
Definition: interval.h:9
Intervals()
Construct intervals.
Definition: interval.h:49
void clear()
Clear all the intervals.
Definition: interval.h:160
void pushInterval(lfixq l, lfixq r)
Push an interval to the end of the list.
Definition: interval.h:134
void pushInterval(Interval pI)
Push an interval to the end of the list.
Definition: interval.h:125
An encapsulation of a mathematical symbol.
Definition: Symbol.hpp:23
void popInterval()
Pop the last interval.
Definition: interval.h:151
Interval * interval(int k, int l=0)
Get a root of a variate.
Definition: interval.h:170
Interval lists for real roots of multivariate polynomials.
Definition: interval.h:33
~Intervals()
Destroy intervals.
Definition: interval.h:83