NT must be a model of concept RealEmbeddable.
NT must be at least model of concept IntegralDomainWithoutDivision.
Note that some filtering mechanism is available at the predicate level using Filtered_predicate and Filtered_kernel.
#include <CGAL/Lazy_exact_nt.h>
IntegralDomainWithoutDivision | same as NT |
RealEmbeddable | |
Fraction | if NT is a Fraction |
Lazy_exact_nt<NT> m; | |
introduces an uninitialized variable m.
| |
Lazy_exact_nt<NT> m ( int i); | |
introduces the integral value i.
| |
Lazy_exact_nt<NT> m ( double d); | |
introduces the floating point value d (works only if NT has a
constructor from a double too).
| |
Lazy_exact_nt<NT> m ( NT n); | |
introduces the value n.
| |
template <class NT1> | |
Lazy_exact_nt<NT> m ( Lazy_exact_nt<NT1> n); | |
introduces the value n. NT1 needs to be convertible to NT
(and this conversion will only be done if necessary).
|
NT | m.exact () | returns the corresponding NT value. | ||
Interval_nt<true> | m.approx () | returns an interval containing the exact value. | ||
Interval_nt<false> | m.interval () | returns an interval containing the exact value. | ||
static void | m.set_relative_precision_of_to_double ( double d) | |||
specifies the relative precision that to_double() has to fulfill.
The default value is 10-5.
| ||||
static double | m.get_relative_precision_of_to_double () | |||
returns the relative precision that to_double() currently fulfills. | ||||
std::ostream& | std::ostream& out << m | writes m to ostream out in an interval format. | ||
std::istream& | std::istream& in >> & m | reads a NT from in, then converts it to a Lazy_exact_nt<NT>. |
#include <CGAL/Cartesian.h> #include <CGAL/MP_Float.h> #include <CGAL/Lazy_exact_nt.h> #include <CGAL/Quotient.h> typedef CGAL::Lazy_exact_nt<CGAL::Quotient<CGAL::MP_Float> > NT; typedef CGAL::Cartesian<NT> K;