- SunPro fixes.

This commit is contained in:
Sylvain Pion 2001-09-27 13:58:33 +00:00
parent 43c0bb3ca7
commit fbbb61a5f2
6 changed files with 19 additions and 10 deletions

View File

@ -1,7 +1,7 @@
Changes done to the Interval Arithmetic package.
Version 4.119 on ?? September 2001
- ..
Version 4.119 on 27 September 2001
- SunPro fixes.
Version 4.118 on 17 September 2001
- CGAL_IA_NEW_FILTERS and various cleanups.

View File

@ -48,7 +48,11 @@ template <class CK,
class FK = Simple_cartesian<Interval_nt_advanced>,
class C2E = Cartesian_converter<CK, EK>,
class C2F = Cartesian_converter<CK, FK,
Interval_converter<CGAL_TYPENAME_MSVC_NULL CK::RT> > >
Interval_converter<
#ifndef __SUNPRO_CC
CGAL_TYPENAME_MSVC_NULL
#endif
CK::RT> > >
class Filtered_kernel
{
public:

View File

@ -87,7 +87,7 @@ struct Lazy_exact_rep : public Rep
Lazy_exact_rep (const Interval_base i)
: in(i), et(NULL) {}
Interval_nt<> approx() const // Better return a const ref instead ?
Interval_nt<true> approx() const // Better return a const ref instead ?
{
return in;
}
@ -263,7 +263,7 @@ public :
Self operator/ (const Self & a) const
{ return new Lazy_exact_Div<ET>(*this, a); }
Interval_nt<> approx() const // throw() ?
Interval_nt<true> approx() const // throw() ?
{ return ptr()->approx(); }
Interval_nt_advanced approx_adv() const

View File

@ -85,6 +85,8 @@ public:
private:
typedef Simple_cartesian<Filtered_exact<double, MP_Float> >::Point_2 P;
Orientation
opti_orientationC2(double px, double py,
double qx, double qy,
@ -126,9 +128,6 @@ private:
static Profile_counter fail("Orientation_2 semi-static failures"); ++fail;
#endif
typedef Simple_cartesian<Filtered_exact<double, MP_Float> >::Point_2 K;
typedef K::Point_2 P;
Orientation oooo = orientation(P(px,py), P(qx,qy), P(rx,ry));
#ifdef CGAL_PROFILE
if (oooo == ZERO) {

View File

@ -13,7 +13,13 @@
typedef leda_real Exact_NT;
#else
typedef CGAL::Quotient<CGAL::MP_Float> Exact_NT; // doesn't do exact sqrt()
namespace CGAL { Exact_NT sqrt(const Exact_NT &) { abort(); } }
namespace CGAL {
Exact_NT sqrt(const Exact_NT &)
{
abort();
return Exact_NT();
}
}
#endif
typedef CGAL::Lazy_exact_nt<Exact_NT> NT;

View File

@ -51,7 +51,7 @@ int main()
// Kf::Point_3 pf(p.x(), p.y(), p.z()), qf(q.x(), q.y(), q.z()),
// rf(r.x(), r.y(), r.z()), sf(s.x(), s.y(), s.z());
// CGAL::Protect_FPU_rounding<false> Z;
for (int j=0; j<100000; ++j) {
for (int j=0; j<1000; ++j) {
// assert( my_o(p, q, r, s) == ore(pe, qe, re, se) );
ooo = my_o(p, q, r, s); // 2.62 s -> 2.22 s
ooo = my_o2(p2, q2, r2); // 2.62 s -> 2.22 s