mirror of https://github.com/CGAL/cgal
- SunPro fixes.
This commit is contained in:
parent
43c0bb3ca7
commit
fbbb61a5f2
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue