regular_triangulation_ftc2.h
来自「CGAL is a collaborative effort of severa」· C头文件 代码 · 共 243 行
H
243 行
// 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_ftC2.h,v $// $Revision: 1.49 $ $Date: 2004/01/18 12:06:24 $// $Name: $//// Author(s) : Sylvain Pion// This file is automatically generated by// scripts/filtered_predicates_generator.pl#ifndef CGAL_ARITHMETIC_FILTER_REGULAR_TRIANGULATION_FTC2_H#define CGAL_ARITHMETIC_FILTER_REGULAR_TRIANGULATION_FTC2_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_testC2( const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &px, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &py, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &pwt, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qx, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qy, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qwt, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &rx, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &ry, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &rwt, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &tx, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &ty, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &twt){ try { CGAL_PROFILER("IA power_testC2 calls"); Protect_FPU_rounding<Protected> Protection; return power_testC2( px.interval(), py.interval(), pwt.interval(), qx.interval(), qy.interval(), qwt.interval(), rx.interval(), ry.interval(), rwt.interval(), tx.interval(), ty.interval(), twt.interval()); } catch (Interval_nt_advanced::unsafe_comparison) { CGAL_PROFILER("IA power_testC2 failures"); Protect_FPU_rounding<!Protected> Protection(CGAL_FE_TONEAREST); return power_testC2( px.exact(), py.exact(), pwt.exact(), qx.exact(), qy.exact(), qwt.exact(), rx.exact(), ry.exact(), rwt.exact(), tx.exact(), ty.exact(), twt.exact()); }}template < class ET >/* */Oriented_sidepower_testC2( const Lazy_exact_nt<ET> &px, const Lazy_exact_nt<ET> &py, const Lazy_exact_nt<ET> &pwt, const Lazy_exact_nt<ET> &qx, const Lazy_exact_nt<ET> &qy, const Lazy_exact_nt<ET> &qwt, const Lazy_exact_nt<ET> &rx, const Lazy_exact_nt<ET> &ry, const Lazy_exact_nt<ET> &rwt, const Lazy_exact_nt<ET> &tx, const Lazy_exact_nt<ET> &ty, const Lazy_exact_nt<ET> &twt){ try { CGAL_PROFILER("Lazy IA power_testC2 calls"); Protect_FPU_rounding<true> Protection; return power_testC2( px.interval(), py.interval(), pwt.interval(), qx.interval(), qy.interval(), qwt.interval(), rx.interval(), ry.interval(), rwt.interval(), tx.interval(), ty.interval(), twt.interval()); } catch (Interval_nt_advanced::unsafe_comparison) { CGAL_PROFILER("Lazy IA power_testC2 failures"); Protect_FPU_rounding<false> Protection(CGAL_FE_TONEAREST); return power_testC2( px.exact(), py.exact(), pwt.exact(), qx.exact(), qy.exact(), qwt.exact(), rx.exact(), ry.exact(), rwt.exact(), tx.exact(), ty.exact(), twt.exact()); }}template < class CT, class ET, bool Protected, class Cache >/* */Oriented_sidepower_testC2( const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &px, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &py, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &pwt, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qx, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qy, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qwt, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &tx, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &ty, const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &twt){ try { CGAL_PROFILER("IA power_testC2 calls"); Protect_FPU_rounding<Protected> Protection; return power_testC2( px.interval(), py.interval(), pwt.interval(), qx.interval(), qy.interval(), qwt.interval(), tx.interval(), ty.interval(), twt.interval()); } catch (Interval_nt_advanced::unsafe_comparison) { CGAL_PROFILER("IA power_testC2 failures"); Protect_FPU_rounding<!Protected> Protection(CGAL_FE_TONEAREST); return power_testC2( px.exact(), py.exact(), pwt.exact(), qx.exact(), qy.exact(), qwt.exact(), tx.exact(), ty.exact(), twt.exact()); }}template < class ET >/* */Oriented_sidepower_testC2( const Lazy_exact_nt<ET> &px, const Lazy_exact_nt<ET> &py, const Lazy_exact_nt<ET> &pwt, const Lazy_exact_nt<ET> &qx, const Lazy_exact_nt<ET> &qy, const Lazy_exact_nt<ET> &qwt, const Lazy_exact_nt<ET> &tx, const Lazy_exact_nt<ET> &ty, const Lazy_exact_nt<ET> &twt){ try { CGAL_PROFILER("Lazy IA power_testC2 calls"); Protect_FPU_rounding<true> Protection; return power_testC2( px.interval(), py.interval(), pwt.interval(), qx.interval(), qy.interval(), qwt.interval(), tx.interval(), ty.interval(), twt.interval()); } catch (Interval_nt_advanced::unsafe_comparison) { CGAL_PROFILER("Lazy IA power_testC2 failures"); Protect_FPU_rounding<false> Protection(CGAL_FE_TONEAREST); return power_testC2( px.exact(), py.exact(), pwt.exact(), qx.exact(), qy.exact(), qwt.exact(), tx.exact(), ty.exact(), twt.exact()); }}CGAL_END_NAMESPACE#endif // CGAL_ARITHMETIC_FILTER_REGULAR_TRIANGULATION_FTC2_H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?