- Tried workaround for MipsPro based on convert_from_to() and

CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION.
This commit is contained in:
Sylvain Pion 1999-04-13 15:49:17 +00:00
parent 5cf818b3c6
commit 09829b6da4
2 changed files with 23 additions and 0 deletions

View File

@ -86,9 +86,18 @@ struct Filtered_exact
#ifdef CGAL_FILTER_USE_CACHE
IA interval() const { return cache; }
#else
#ifndef CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
IA interval() const { return convert_to<IA>(value); }
#else
IA interval() const { return convert_from_to(IA(), value); }
#endif // CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
#endif
#ifndef CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
ET exact() const { return convert_to<ET>(value); }
#else
ET exact() const { return convert_from_to(ET(), value); }
#endif // CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
// This one should not be needed, at least for now.
// CT stored_value() const { return value; }

View File

@ -705,6 +705,19 @@ CGAL_END_NAMESPACE
CGAL_BEGIN_NAMESPACE
template <class FT>
inline
Interval_nt
convert_from_to (const Interval_nt&, const FT & z)
{
FPU_CW_t backup = FPU_get_cw();
FPU_set_cw(FPU_cw_up);
Interval_nt tmp(convert_from_to(Interval_nt_advanced(), z));
FPU_set_cw(backup);
return tmp;
}
#ifndef CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
template <class FT>
inline
Interval_nt
@ -716,6 +729,7 @@ convert_to (const FT & z)
FPU_set_cw(backup);
return tmp;
}
#endif // CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
CGAL_END_NAMESPACE