apollonius_graph_ftc2.h

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

H
1,378
字号
// Copyright (c) 1999,2000,2001,2004  INRIA Sophia-Antipolis (France).// All rights reserved.//// This file is part of CGAL (www.cgal.org); you may redistribute it under// the terms of the Q Public License version 1.0.// See the file LICENSE.QPL distributed with CGAL.//// Licensees holding a valid commercial license may use this file in// accordance with the commercial license agreement provided with the software.//// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.//// $Source: /CVSROOT/CGAL/Packages/Apollonius_graph_2/include/CGAL/Arithmetic_filter/predicates/Apollonius_graph_ftC2.h,v $// $Revision: 1.8 $ $Date: 2004/09/03 17:26:29 $// $Name:  $//// Author(s)     : Sylvain Pion <Sylvain.Pion@sophia.inria.fr>//                 Menelaos Karavelas <mkaravel@cse.nd.edu>// This file is automatically generated by// scripts/filtered_predicates_generator.pl// MK: January 19, 2004// This file was originally automatically generated by// scripts/filtered_predicates_generator.pl// Modifications have been made on top of it.#ifndef CGAL_ARITHMETIC_FILTER_APOLLONIUS_GRAPH_FTC2_H#define CGAL_ARITHMETIC_FILTER_APOLLONIUS_GRAPH_FTC2_H#include <CGAL/Profile_counter.h>CGAL_BEGIN_NAMESPACEtemplate < class CGAL_IA_CT, class CGAL_IA_ET, bool CGAL_IA_PROTECTED,           class CGAL_IA_CACHE >/* inline */Orientationag2_orientation_test_C2(    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x3,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y3,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w3){  try  {#ifdef CGAL_PROFILE    static Profile_counter calls("IA ag2_orientation_test_C2 calls");    ++calls;#endif    Protect_FPU_rounding<CGAL_IA_PROTECTED> Protection;    return ag2_orientation_test_C2(		x1.interval(),		y1.interval(),		w1.interval(),		x2.interval(),		y2.interval(),		w2.interval(),		x3.interval(),		y3.interval(),		w3.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {#ifdef CGAL_PROFILE    static Profile_counter failures("IA ag2_orientation_test_C2 failures");    ++failures;#endif    Protect_FPU_rounding<!CGAL_IA_PROTECTED> Protection(CGAL_FE_TONEAREST);    return ag2_orientation_test_C2(		x1.exact(),		y1.exact(),		w1.exact(),		x2.exact(),		y2.exact(),		w2.exact(),		x3.exact(),		y3.exact(),		w3.exact());  }}template < class CGAL_IA_CT, class CGAL_IA_ET, bool CGAL_IA_PROTECTED,           class CGAL_IA_CACHE >/* inline */boolad_is_hidden_test_ring_C2(    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w2){  try  {#ifdef CGAL_PROFILE    static Profile_counter calls("IA ad_is_hidden_test_alg_C2 calls");    ++calls;#endif    Protect_FPU_rounding<CGAL_IA_PROTECTED> Protection;    return ad_is_hidden_test_ring_C2(		x1.interval(),		y1.interval(),		w1.interval(),		x2.interval(),		y2.interval(),		w2.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {#ifdef CGAL_PROFILE    static Profile_counter failures("IA ad_is_hidden_test_alg_C2 failures");    ++failures;#endif    Protect_FPU_rounding<!CGAL_IA_PROTECTED> Protection(CGAL_FE_TONEAREST);    return ad_is_hidden_test_ring_C2(		x1.exact(),		y1.exact(),		w1.exact(),		x2.exact(),		y2.exact(),		w2.exact());  }}template < class CGAL_IA_CT, class CGAL_IA_ET, bool CGAL_IA_PROTECTED,           class CGAL_IA_CACHE >/* inline */boolad_is_hidden_test_sqrtf_C2(    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,    CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w2){  try  {#ifdef CGAL_PROFILE    static Profile_counter calls("IA ad_is_hidden_test_sqrtf_C2 calls");    ++calls;#endif    Protect_FPU_rounding<CGAL_IA_PROTECTED> Protection;    return ad_is_hidden_test_sqrtf_C2(		x1.interval(),		y1.interval(),		w1.interval(),		x2.interval(),		y2.interval(),		w2.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {#ifdef CGAL_PROFILE    static Profile_counter failures("IA ad_is_hidden_test_sqrtf_C2 failures");    ++failures;#endif    Protect_FPU_rounding<!CGAL_IA_PROTECTED> Protection(CGAL_FE_TONEAREST);    return ad_is_hidden_test_sqrtf_C2(		x1.exact(),		y1.exact(),		w1.exact(),		x2.exact(),		y2.exact(),		w2.exact());  }}template < class CGAL_IA_CT, class CGAL_IA_ET, bool CGAL_IA_PROTECTED,           class CGAL_IA_CACHE >/* CGAL_MEDIUM_INLINE */Comparison_resultcompare_ad_distances_test_ring_C2(    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y){  try  {#ifdef CGAL_PROFILE    static Profile_counter calls("IA compare_ad_distances_test_ring_C2 calls");    ++calls;#endif    Protect_FPU_rounding<CGAL_IA_PROTECTED> Protection;    return compare_ad_distances_test_ring_C2(		x1.interval(),		y1.interval(),		w1.interval(),		x2.interval(),		y2.interval(),		w2.interval(),		x.interval(),		y.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {#ifdef CGAL_PROFILE    static Profile_counter      failures("IA compare_ad_distances_test_ring_C2 failures");    ++failures;#endif    Protect_FPU_rounding<!CGAL_IA_PROTECTED> Protection(CGAL_FE_TONEAREST);    return compare_ad_distances_test_ring_C2(		x1.exact(),		y1.exact(),		w1.exact(),		x2.exact(),		y2.exact(),		w2.exact(),		x.exact(),		y.exact());  }}template < class CGAL_IA_CT, class CGAL_IA_ET, bool CGAL_IA_PROTECTED,           class CGAL_IA_CACHE >/* CGAL_MEDIUM_INLINE */Comparison_resultcompare_ad_distances_test_sqrtf_C2(    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y){  try  {#ifdef CGAL_PROFILE    static Profile_counter       calls("IA compare_ad_distances_test_sqrtf_C2 calls");    ++calls;#endif    Protect_FPU_rounding<CGAL_IA_PROTECTED> Protection;    return compare_ad_distances_test_sqrtf_C2(		x1.interval(),		y1.interval(),		w1.interval(),		x2.interval(),		y2.interval(),		w2.interval(),		x.interval(),		y.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {#ifdef CGAL_PROFILE    static Profile_counter       failures("IA compare_ad_distances_test_sqrtf_C2 failures");    ++failures;#endif    Protect_FPU_rounding<!CGAL_IA_PROTECTED> Protection(CGAL_FE_TONEAREST);    return compare_ad_distances_test_sqrtf_C2(		x1.exact(),		y1.exact(),		w1.exact(),		x2.exact(),		y2.exact(),		w2.exact(),		x.exact(),		y.exact());  }}template < class CGAL_IA_CT, class CGAL_IA_ET, bool CGAL_IA_PROTECTED,           class CGAL_IA_CACHE >/*  */Signad_incircle_test_sqrtf_C2(    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &qx,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &qy,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &qw){  try  {#ifdef CGAL_PROFILE    static Profile_counter calls("IA ad_incircle_test_sqrtf_C2 calls");    ++calls;#endif    Protect_FPU_rounding<CGAL_IA_PROTECTED> Protection;    return ad_incircle_test_sqrtf_C2(		x1.interval(),		y1.interval(),		w1.interval(),		x2.interval(),		y2.interval(),		w2.interval(),		qx.interval(),		qy.interval(),		qw.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {#ifdef CGAL_PROFILE    static Profile_counter failures("IA ad_incircle_test_sqrtf_C2 failures");    ++failures;#endif    Protect_FPU_rounding<!CGAL_IA_PROTECTED> Protection(CGAL_FE_TONEAREST);    return ad_incircle_test_sqrtf_C2(		x1.exact(),		y1.exact(),		w1.exact(),		x2.exact(),		y2.exact(),		w2.exact(),		qx.exact(),		qy.exact(),		qw.exact());  }}template < class CGAL_IA_CT, class CGAL_IA_ET, bool CGAL_IA_PROTECTED,           class CGAL_IA_CACHE >/*  */Signad_incircle_test_ring_C2(    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &qx,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &qy,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &qw){  try  {#ifdef CGAL_PROFILE    static Profile_counter calls("IA ad_incircle_test_ring_C2 calls");    ++calls;#endif    Protect_FPU_rounding<CGAL_IA_PROTECTED> Protection;    return ad_incircle_test_ring_C2(		x1.interval(),		y1.interval(),		w1.interval(),		x2.interval(),		y2.interval(),		w2.interval(),		qx.interval(),		qy.interval(),		qw.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {#ifdef CGAL_PROFILE    static Profile_counter failures("IA ad_incircle_test_ring_C2 failures");    ++failures;#endif    Protect_FPU_rounding<!CGAL_IA_PROTECTED> Protection(CGAL_FE_TONEAREST);    return ad_incircle_test_ring_C2(		x1.exact(),		y1.exact(),		w1.exact(),		x2.exact(),		y2.exact(),		w2.exact(),		qx.exact(),		qy.exact(),		qw.exact());  }}template < class CGAL_IA_CT, class CGAL_IA_ET, bool CGAL_IA_PROTECTED,           class CGAL_IA_CACHE >/*  */Signad_incircle_test_sqrtf_C2(    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w1,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &y2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &w2,    const Filtered_exact <CGAL_IA_CT, CGAL_IA_ET, Dynamic,     CGAL_IA_PROTECTED, CGAL_IA_CACHE> &x3,

⌨️ 快捷键说明

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