regular_triangulation_rth2.h
来自「CGAL is a collaborative effort of severa」· C头文件 代码 · 共 285 行
H
285 行
// Copyright (c) 1997-2003 Utrecht University (The Netherlands),// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),// and Tel-Aviv University (Israel). All rights reserved.//// This file is part of CGAL (www.cgal.org); you can redistribute it and/or// modify it under the terms of the GNU Lesser General Public License as// published by the Free Software Foundation; version 2.1 of the License.// See the file LICENSE.LGPL 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/Interval_arithmetic/include/CGAL/Arithmetic_filter/predicates/Regular_triangulation_rtH2.h,v $// $Revision: 1.50 $ $Date: 2004/01/18 12:06:25 $// $Name: $//// Author(s) : Sylvain Pion// This file is automatically generated by// scripts/filtered_predicates_generator.pl#ifndef CGAL_ARITHMETIC_FILTER_REGULAR_TRIANGULATION_RTH2_H#define CGAL_ARITHMETIC_FILTER_REGULAR_TRIANGULATION_RTH2_H#include <CGAL/Profile_counter.h>CGAL_BEGIN_NAMESPACEtemplate <class ET> class Lazy_exact_nt;CGAL_END_NAMESPACECGAL_BEGIN_NAMESPACEtemplate < class CT, class ET, bool Protected, class Cache >/* */Oriented_sidepower_testH2( const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &phx, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &phy, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &phw, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &pwt, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qhx, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qhy, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qhw, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qwt, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &rhx, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &rhy, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &rhw, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &rwt, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &thx, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &thy, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &thw, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &twt){ try { CGAL_PROFILER("IA power_testH2 calls"); Protect_FPU_rounding<Protected> Protection; return power_testH2( phx.interval(), phy.interval(), phw.interval(), pwt.interval(), qhx.interval(), qhy.interval(), qhw.interval(), qwt.interval(), rhx.interval(), rhy.interval(), rhw.interval(), rwt.interval(), thx.interval(), thy.interval(), thw.interval(), twt.interval()); } catch (Interval_nt_advanced::unsafe_comparison) { CGAL_PROFILER("IA power_testH2 failures"); Protect_FPU_rounding<!Protected> Protection(CGAL_FE_TONEAREST); return power_testH2( phx.exact(), phy.exact(), phw.exact(), pwt.exact(), qhx.exact(), qhy.exact(), qhw.exact(), qwt.exact(), rhx.exact(), rhy.exact(), rhw.exact(), rwt.exact(), thx.exact(), thy.exact(), thw.exact(), twt.exact()); }}template < class ET >/* */Oriented_sidepower_testH2( const Lazy_exact_nt<ET> &phx, const Lazy_exact_nt<ET> &phy, const Lazy_exact_nt<ET> &phw, const Lazy_exact_nt<ET> &pwt, const Lazy_exact_nt<ET> &qhx, const Lazy_exact_nt<ET> &qhy, const Lazy_exact_nt<ET> &qhw, const Lazy_exact_nt<ET> &qwt, const Lazy_exact_nt<ET> &rhx, const Lazy_exact_nt<ET> &rhy, const Lazy_exact_nt<ET> &rhw, const Lazy_exact_nt<ET> &rwt, const Lazy_exact_nt<ET> &thx, const Lazy_exact_nt<ET> &thy, const Lazy_exact_nt<ET> &thw, const Lazy_exact_nt<ET> &twt){ try { CGAL_PROFILER("Lazy IA power_testH2 calls"); Protect_FPU_rounding<true> Protection; return power_testH2( phx.interval(), phy.interval(), phw.interval(), pwt.interval(), qhx.interval(), qhy.interval(), qhw.interval(), qwt.interval(), rhx.interval(), rhy.interval(), rhw.interval(), rwt.interval(), thx.interval(), thy.interval(), thw.interval(), twt.interval()); } catch (Interval_nt_advanced::unsafe_comparison) { CGAL_PROFILER("Lazy IA power_testH2 failures"); Protect_FPU_rounding<false> Protection(CGAL_FE_TONEAREST); return power_testH2( phx.exact(), phy.exact(), phw.exact(), pwt.exact(), qhx.exact(), qhy.exact(), qhw.exact(), qwt.exact(), rhx.exact(), rhy.exact(), rhw.exact(), rwt.exact(), thx.exact(), thy.exact(), thw.exact(), twt.exact()); }}template < class CT, class ET, bool Protected, class Cache >/* */Oriented_sidepower_testH2( const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &phx, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &phy, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &phw, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &pwt, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qhx, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qhy, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qhw, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qwt, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &thx, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &thy, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &thw, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &twt){ try { CGAL_PROFILER("IA power_testH2 calls"); Protect_FPU_rounding<Protected> Protection; return power_testH2( phx.interval(), phy.interval(), phw.interval(), pwt.interval(), qhx.interval(), qhy.interval(), qhw.interval(), qwt.interval(), thx.interval(), thy.interval(), thw.interval(), twt.interval()); } catch (Interval_nt_advanced::unsafe_comparison) { CGAL_PROFILER("IA power_testH2 failures"); Protect_FPU_rounding<!Protected> Protection(CGAL_FE_TONEAREST); return power_testH2( phx.exact(), phy.exact(), phw.exact(), pwt.exact(), qhx.exact(), qhy.exact(), qhw.exact(), qwt.exact(), thx.exact(), thy.exact(), thw.exact(), twt.exact()); }}template < class ET >/* */Oriented_sidepower_testH2( const Lazy_exact_nt<ET> &phx, const Lazy_exact_nt<ET> &phy, const Lazy_exact_nt<ET> &phw, const Lazy_exact_nt<ET> &pwt, const Lazy_exact_nt<ET> &qhx, const Lazy_exact_nt<ET> &qhy, const Lazy_exact_nt<ET> &qhw, const Lazy_exact_nt<ET> &qwt, const Lazy_exact_nt<ET> &thx, const Lazy_exact_nt<ET> &thy, const Lazy_exact_nt<ET> &thw, const Lazy_exact_nt<ET> &twt){ try { CGAL_PROFILER("Lazy IA power_testH2 calls"); Protect_FPU_rounding<true> Protection; return power_testH2( phx.interval(), phy.interval(), phw.interval(), pwt.interval(), qhx.interval(), qhy.interval(), qhw.interval(), qwt.interval(), thx.interval(), thy.interval(), thw.interval(), twt.interval()); } catch (Interval_nt_advanced::unsafe_comparison) { CGAL_PROFILER("Lazy IA power_testH2 failures"); Protect_FPU_rounding<false> Protection(CGAL_FE_TONEAREST); return power_testH2( phx.exact(), phy.exact(), phw.exact(), pwt.exact(), qhx.exact(), qhy.exact(), qhw.exact(), qwt.exact(), thx.exact(), thy.exact(), thw.exact(), twt.exact()); }}CGAL_END_NAMESPACE#endif // CGAL_ARITHMETIC_FILTER_REGULAR_TRIANGULATION_RTH2_H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?