- Fixed obsolete and buggy references to

CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION.
This commit is contained in:
Sylvain Pion 2000-06-14 14:40:11 +00:00
parent ba8b110094
commit cfdc0d0db6
11 changed files with 22 additions and 39 deletions

View File

@ -1,5 +1,9 @@
Changes done to the Interval Arithmetic package.
Version 4.48 on ?? June 2000
- Removed obsolete (and buggy) references to
CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION.
Version 4.47 on 13 June 2000
- Removed useless "template <>" before full specializations of function
templates.

View File

@ -78,12 +78,11 @@ class Filtered_exact
{ return inter; }
IA give_interval (const No_Filter_Cache &) const
{
#if !defined(CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION) \
&& !defined(CGAL_CFG_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION)
#ifndef CGAL_CFG_NO_PARTIAL_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
return convert_to<Interval_nt_advanced>(_value);
#else
return convert_from_to(Interval_nt_advanced(), _value);
#endif // CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
#endif // CGAL_CFG_NO_PARTIAL_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
}
void compute_cache (const No_Filter_Cache &) const
@ -114,12 +113,11 @@ public:
IA interval() const { return give_interval(_cache); }
ET exact() const
{
#if !defined(CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION) \
&& !defined(CGAL_CFG_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION)
#ifndef CGAL_CFG_NO_PARTIAL_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
return convert_to<ET>(_value);
#else
return convert_from_to(ET(), _value);
#endif // CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
#endif // CGAL_CFG_NO_PARTIAL_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
}
double to_double() const { return to_double(_value); }
Restricted_double dbl() const { return Restricted_double(to_double()); }

View File

@ -25,7 +25,7 @@
CGAL_BEGIN_NAMESPACE
// The Fixed is in fact a float => trivial conversion.
// Fixed is in fact a float => trivial conversion.
inline
Interval_nt_advanced
@ -34,16 +34,13 @@ convert_from_to (const Interval_nt_advanced&, const Fixed_precision_nt & z)
return to_double(z);
}
#ifndef CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
template <>
struct converter<Interval_nt_advanced,Fixed_precision_nt>
{
static inline Interval_nt_advanced do_it (const Fixed_precision_nt & z)
{ return to_double(z); }
};
#endif // CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
CGAL_END_NAMESPACE
#endif // CGAL_IA_FIXED_H
#endif // CGAL_IA_FIXED_H

View File

@ -50,7 +50,6 @@ convert_from_to (const Interval_nt_advanced&, const Gmpz & z)
return result;
}
#ifndef CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
template <>
struct converter<Interval_nt_advanced,Gmpz>
{
@ -59,8 +58,6 @@ struct converter<Interval_nt_advanced,Gmpz>
return convert_from_to(Interval_nt_advanced(), z);
}
};
#endif // CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
// Now we also have an exact converter from double to Quotient<Gmpz>, so that
// Filtered_exact<double, Quotient<Gmpz> > is useful.
@ -82,14 +79,12 @@ convert_from_to (const Quotient<Gmpz>&, const double& d)
return Quotient<Gmpz>(Gmpz(num), Gmpz(den));
}
#ifndef CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
template <>
struct converter<Quotient<Gmpz>,double>
{
static inline Quotient<Gmpz> do_it (const double & z)
{ return convert_from_to(Quotient<Gmpz>(), z); }
};
#endif // CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
CGAL_END_NAMESPACE

View File

@ -31,11 +31,10 @@ Interval_nt_advanced
convert_from_to (const Interval_nt_advanced&, const Lazy_exact_nt<RT> & z)
{
CGAL_expensive_assertion(FPU_empiric_test() == CGAL_FE_UPWARD);
return z.approx_adv();
return z.approx_adv();
}
#if !defined(CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION) \
&& !defined(CGAL_CFG_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION)
#ifndef CGAL_CFG_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION
template <class RT>
struct converter<Interval_nt_advanced, Lazy_exact_nt<RT> >
{
@ -44,8 +43,8 @@ struct converter<Interval_nt_advanced, Lazy_exact_nt<RT> >
return convert_from_to(Interval_nt_advanced(), z);
}
};
#endif // CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
#endif // CGAL_CFG_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION
CGAL_END_NAMESPACE
#endif // CGAL_IA_LAZY_EXACT_NT_H
#endif // CGAL_IA_LAZY_EXACT_NT_H

View File

@ -38,8 +38,7 @@ convert_from_to (const Interval_nt_advanced&, const Quotient<RT> & z)
convert_from_to(Interval_nt_advanced(), z.denominator());
}
#if !defined(CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION) \
&& !defined(CGAL_CFG_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION)
#ifndef CGAL_CFG_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION
template <class RT>
struct converter<Interval_nt_advanced,Quotient<RT> >
{
@ -48,8 +47,8 @@ struct converter<Interval_nt_advanced,Quotient<RT> >
return convert_from_to(Interval_nt_advanced(), z);
}
};
#endif // CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
#endif // CGAL_CFG_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION
CGAL_END_NAMESPACE
#endif // CGAL_IA_QUOTIENT_H
#endif // CGAL_IA_QUOTIENT_H

View File

@ -45,7 +45,6 @@ convert_from_to (const Interval_nt_advanced&, const leda_bigfloat & z)
return result;
}
#ifndef CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
template <>
struct converter<Interval_nt_advanced,leda_bigfloat>
{
@ -54,8 +53,7 @@ struct converter<Interval_nt_advanced,leda_bigfloat>
return convert_from_to(Interval_nt_advanced(), z);
}
};
#endif // CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
CGAL_END_NAMESPACE
#endif // CGAL_IA_LEDA_BIGFLOAT_H
#endif // CGAL_IA_LEDA_BIGFLOAT_H

View File

@ -47,7 +47,6 @@ convert_from_to (const Interval_nt_advanced&, const leda_integer & z)
return result;
}
#ifndef CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
template <>
struct converter<Interval_nt_advanced,leda_integer>
{
@ -56,8 +55,7 @@ struct converter<Interval_nt_advanced,leda_integer>
return convert_from_to(Interval_nt_advanced(), z);
}
};
#endif // CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
CGAL_END_NAMESPACE
#endif // CGAL_IA_LEDA_INTEGER_H
#endif // CGAL_IA_LEDA_INTEGER_H

View File

@ -49,7 +49,6 @@ convert_from_to (const Interval_nt_advanced&, const leda_rational & z)
return result;
}
#ifndef CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
template <>
struct converter<Interval_nt_advanced,leda_rational>
{
@ -58,8 +57,7 @@ struct converter<Interval_nt_advanced,leda_rational>
return convert_from_to(Interval_nt_advanced(), z);
}
};
#endif // CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
CGAL_END_NAMESPACE
#endif // CGAL_IA_LEDA_RATIONAL_H
#endif // CGAL_IA_LEDA_RATIONAL_H

View File

@ -43,7 +43,6 @@ convert_from_to (const Interval_nt_advanced&, const leda_real & z)
return result;
}
#ifndef CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
template <>
struct converter<Interval_nt_advanced,leda_real>
{
@ -52,8 +51,7 @@ struct converter<Interval_nt_advanced,leda_real>
return convert_from_to(Interval_nt_advanced(), z);
}
};
#endif // CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
CGAL_END_NAMESPACE
#endif // CGAL_IA_LEDA_REAL_H
#endif // CGAL_IA_LEDA_REAL_H

View File

@ -492,8 +492,7 @@ Number_tag
number_type_tag (const Lazy_exact_nt<ET>&)
{ return Number_tag(); }
#if !defined(CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION) \
&& !defined(CGAL_CFG_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION)
#ifndef CGAL_CFG_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION
template <typename ET>
struct converter<ET, Lazy_exact_nt<ET> >
{