6 #ifndef REALROOT_SCALAR_EXTENDED_RATIONAL_H_
7 #define REALROOT_SCALAR_EXTENDED_RATIONAL_H_
20 std::ostream& operator <<(std::ostream& os, const scalar<EMPQ>&
b);
40 template<>
template<
class U>
237 result.
rep() = a1.
rep() * v;
246 result.
rep() = v * a2.
rep();
300 result.
rep() = a1.
rep() / v;
321 std::ostream& operator <<(std::ostream& os, const scalar<EMPQ>&
b)
323 os <<
b.rep().a <<
" + " <<
b.rep().b <<
" * sqrt( " <<
b.rep().c <<
" )";
337 template<>
inline void
382 template<
typename T,
typename F>
struct as_helper;
397 #endif // REALROOT_SCALAR_EXTENDED_RATIONAL_H_
bool operator>(const scalar< T > &rhs) const
scalar< T > & operator+=(const scalar< T > &rhs)
scalar()
Definition: scalar.hpp:37
const C & b
Definition: Interval_glue.hpp:25
scalar< T > & operator=(const scalar< T > &rhs)
bool operator>=(const scalar< T > &rhs) const
Definition: assign.hpp:48
Definition: extended.hpp:25
T & rep()
Definition: scalar.hpp:30
R & rep(R &r)
Definition: shared_object.hpp:180
extended< NT > operator-(const extended< NT > &lhs, const extended< NT > &rhs)
Definition: extended.hpp:132
extended< NT > operator/(const extended< NT > &lhs, const extended< NT > &rhs)
Definition: extended.hpp:111
scalar< T > & operator-=(const scalar< T > &rhs)
static scalar< EMPQ > cv(const scalar< EMPZ > &x)
Definition: scalar_extended_rational.hpp:390
int compare(const QQ &a, const QQ &b)
Definition: GMPXX.hpp:71
extended< MPQ > EMPQ
Definition: scalar_extended_rational.hpp:18
T c
Definition: extended.hpp:33
extended< NT > operator+(const extended< NT > &lhs, const extended< NT > &rhs)
Definition: extended.hpp:122
static int compare(const Self &lhs, const Self &rhs)
Definition: extended.hpp:63
MP_RAT MPQ
Definition: scalar_rational.hpp:17
bool operator<(const scalar< T > &rhs) const
bool operator<=(const scalar< T > &rhs) const
bool operator!=(const scalar< T > &rhs) const
Interval< T, r > min(const Interval< T, r > &a, const Interval< T, r > &b)
Definition: Interval_fcts.hpp:130
scalar< T > & operator*=(const scalar< T > &rhs)
static double cv(const scalar< EMPQ > &x)
Definition: scalar_extended_rational.hpp:385
scalar< T > & operator/=(const scalar< T > &rhs)
bool operator==(const scalar< T > &rhs) const
const C & c
Definition: Interval_glue.hpp:45
T b
Definition: extended.hpp:33
T a
Definition: extended.hpp:33
void assign(A &a, const B &b)
Generic definition of the assignement function.
Definition: assign.hpp:97
Interval< T, r > max(const Interval< T, r > &a, const Interval< T, r > &b)
Definition: Interval_fcts.hpp:135
extended< NT > operator*(const extended< NT > &lhs, const extended< NT > &rhs)
Definition: extended.hpp:101
Definition: scalar.hpp:24
~scalar()
Definition: scalar.hpp:55
#define assert(expr, msg)
Definition: shared_object.hpp:57