#include #ifndef CGAL_POLYNOMIAL_UTILS_H #define CGAL_POLYNOMIAL_UTILS_H CGAL_BEGIN_NAMESPACE //! returns the total degree of the polynomial template inline typename Polynomial_traits_d::Total_degree::result_type total_degree(const Polynomial_d& polynomial){ typedef Polynomial_traits_d PT; typename PT::Total_degree total_degree; return total_degree(polynomial); } //! returns the total degree of the polynomial template inline typename Polynomial_traits_d::Canonicalize::result_type canonicalize(const Polynomial_d& polynomial){ typedef Polynomial_traits_d PT; typename PT::Canonicalize canonicalize; return canonicalize(polynomial); } template inline typename Polynomial_traits_d ::Integral_division_up_to_constant_factor::result_type integral_division_up_to_constant_factor( const Polynomial_d& f, const Polynomial_d& g) { typedef Polynomial_traits_d PT; typename PT::Integral_division_up_to_constant_factor idiv_utcf; return idiv_utcf(f, g); } // sign() forwarded to the sign() member function template inline CGAL::Sign sign(const Polynomial& p) { return p.sign(); } // the non-member variants of diff() etc. template inline Polynomial diff(const Polynomial& p) { Polynomial q(p); q.diff(); return q; } template inline Polynomial scale_up(const Polynomial& p, const NT& a) { Polynomial q(p); q.scale_up(a); return q; } template inline Polynomial scale_down(const Polynomial& p, const NT& b) { Polynomial q(p); q.scale_down(b); return q; } template inline Polynomial scale(const Polynomial& p, const NT& a, const NT& b) { Polynomial q(p); q.scale(a, b); return q; } template inline Polynomial translate_by_one(const Polynomial& p) { Polynomial q(p); q.translate_by_one(); return q; } template inline Polynomial translate(const Polynomial& p, const NT& c) { Polynomial q(p); q.translate(c); return q; } template inline Polynomial translate(const Polynomial& p, const NT& a, const NT& b) { Polynomial q(p); q.translate(a, b); return q; } template inline Polynomial reversal(const Polynomial& p) { Polynomial q(p); q.reversal(); return q; } CGAL_END_NAMESPACE #endif // CGAL_POLYNOMIAL_UTILS_H