compare_quadratic.h

来自「CGAL is a collaborative effort of severa」· C头文件 代码 · 共 639 行 · 第 1/2 页

H
639
字号
#ifdef CGAL_PROFILE    static Profile_counter failures("IA dfmt_compare_l1_r2 failures");    ++failures;#endif    Protect_FPU_rounding<!CGAL_IA_PROTECTED> Protection(CGAL_FE_TONEAREST);    return dfmt_compare_l1_r2(		a1.exact(),		b1.exact(),		c1.exact(),		a2.exact(),		b2.exact(),		c2.exact());  }}template < class CGAL_IA_CT, class CGAL_IA_ET, bool CGAL_IA_PROTECTED,           class CGAL_IA_CACHE >/* inline */Comparison_resultdfmt_compare_r1_l2(    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &a1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &b1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &c1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &a2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &b2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &c2){  try  {#ifdef CGAL_PROFILE    static Profile_counter calls("IA dfmt_compare_r1_l2 calls");    ++calls;#endif    Protect_FPU_rounding<CGAL_IA_PROTECTED> Protection;    return dfmt_compare_r1_l2(		a1.interval(),		b1.interval(),		c1.interval(),		a2.interval(),		b2.interval(),		c2.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {#ifdef CGAL_PROFILE    static Profile_counter failures("IA dfmt_compare_r1_l2 failures");    ++failures;#endif    Protect_FPU_rounding<!CGAL_IA_PROTECTED> Protection(CGAL_FE_TONEAREST);    return dfmt_compare_r1_l2(		a1.exact(),		b1.exact(),		c1.exact(),		a2.exact(),		b2.exact(),		c2.exact());  }}template < class CGAL_IA_CT, class CGAL_IA_ET, bool CGAL_IA_PROTECTED,           class CGAL_IA_CACHE >/* inline */Comparison_resultdfmt_compare_r1_r2(    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &a1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &b1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &c1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &a2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &b2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &c2){  try  {#ifdef CGAL_PROFILE    static Profile_counter calls("IA dfmt_compare_r1_r2 calls");    ++calls;#endif    Protect_FPU_rounding<CGAL_IA_PROTECTED> Protection;    return dfmt_compare_r1_r2(		a1.interval(),		b1.interval(),		c1.interval(),		a2.interval(),		b2.interval(),		c2.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {#ifdef CGAL_PROFILE    static Profile_counter failures("IA dfmt_compare_r1_r2 failures");    ++failures;#endif    Protect_FPU_rounding<!CGAL_IA_PROTECTED> Protection(CGAL_FE_TONEAREST);    return dfmt_compare_r1_r2(		a1.exact(),		b1.exact(),		c1.exact(),		a2.exact(),		b2.exact(),		c2.exact());  }}template < class CGAL_IA_CT, class CGAL_IA_ET, bool CGAL_IA_PROTECTED,           class CGAL_IA_CACHE >/* inline */Comparison_resultke_compare_l1_l2(    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &a1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &b1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &c1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &a2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &b2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &c2){  try  {#ifdef CGAL_PROFILE    static Profile_counter calls("IA ke_compare_l1_l2 calls");    ++calls;#endif    Protect_FPU_rounding<CGAL_IA_PROTECTED> Protection;    return ke_compare_l1_l2(		a1.interval(),		b1.interval(),		c1.interval(),		a2.interval(),		b2.interval(),		c2.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {#ifdef CGAL_PROFILE    static Profile_counter failures("IA ke_compare_l1_l2 failures");    ++failures;#endif    Protect_FPU_rounding<!CGAL_IA_PROTECTED> Protection(CGAL_FE_TONEAREST);    return ke_compare_l1_l2(		a1.exact(),		b1.exact(),		c1.exact(),		a2.exact(),		b2.exact(),		c2.exact());  }}template < class CGAL_IA_CT, class CGAL_IA_ET, bool CGAL_IA_PROTECTED,           class CGAL_IA_CACHE >/* inline */Comparison_resultke_compare_l1_r2(    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &a1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &b1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &c1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &a2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &b2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &c2){  try  {#ifdef CGAL_PROFILE    static Profile_counter calls("IA ke_compare_l1_r2 calls");    ++calls;#endif    Protect_FPU_rounding<CGAL_IA_PROTECTED> Protection;    return ke_compare_l1_r2(		a1.interval(),		b1.interval(),		c1.interval(),		a2.interval(),		b2.interval(),		c2.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {#ifdef CGAL_PROFILE    static Profile_counter failures("IA ke_compare_l1_r2 failures");    ++failures;#endif    Protect_FPU_rounding<!CGAL_IA_PROTECTED> Protection(CGAL_FE_TONEAREST);    return ke_compare_l1_r2(		a1.exact(),		b1.exact(),		c1.exact(),		a2.exact(),		b2.exact(),		c2.exact());  }}template < class CGAL_IA_CT, class CGAL_IA_ET, bool CGAL_IA_PROTECTED,           class CGAL_IA_CACHE >/* inline */Comparison_resultke_compare_r1_l2(    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &a1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &b1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &c1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &a2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &b2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &c2){  try  {#ifdef CGAL_PROFILE    static Profile_counter calls("IA ke_compare_r1_l2 calls");    ++calls;#endif    Protect_FPU_rounding<CGAL_IA_PROTECTED> Protection;    return ke_compare_r1_l2(		a1.interval(),		b1.interval(),		c1.interval(),		a2.interval(),		b2.interval(),		c2.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {#ifdef CGAL_PROFILE    static Profile_counter failures("IA ke_compare_r1_l2 failures");    ++failures;#endif    Protect_FPU_rounding<!CGAL_IA_PROTECTED> Protection(CGAL_FE_TONEAREST);    return ke_compare_r1_l2(		a1.exact(),		b1.exact(),		c1.exact(),		a2.exact(),		b2.exact(),		c2.exact());  }}template < class CGAL_IA_CT, class CGAL_IA_ET, bool CGAL_IA_PROTECTED,           class CGAL_IA_CACHE >/* inline */Comparison_resultke_compare_r1_r2(    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &a1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &b1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &c1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &a2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &b2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &c2){  try  {#ifdef CGAL_PROFILE    static Profile_counter calls("IA ke_compare_r1_r2 calls");    ++calls;#endif    Protect_FPU_rounding<CGAL_IA_PROTECTED> Protection;    return ke_compare_r1_r2(		a1.interval(),		b1.interval(),		c1.interval(),		a2.interval(),		b2.interval(),		c2.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {#ifdef CGAL_PROFILE    static Profile_counter failures("IA ke_compare_r1_r2 failures");    ++failures;#endif    Protect_FPU_rounding<!CGAL_IA_PROTECTED> Protection(CGAL_FE_TONEAREST);    return ke_compare_r1_r2(		a1.exact(),		b1.exact(),		c1.exact(),		a2.exact(),		b2.exact(),		c2.exact());  }}CGAL_END_NAMESPACE#endif // CGAL_ARITHMETIC_FILTER_COMPARE_QUADRATIC_H

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?