Files
cgal/Algebraic_kernel_d/include/CGAL/RS/basic.h
T
Laurent Rineau bb7acdc28c Merged revisions 53882,53891-53892,53900,53902-53905 via svnmerge from
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch

........
  r53882 | penarand | 2010-01-28 18:31:05 +0100 (Thu, 28 Jan 2010) | 5 lines
  
  corrected typo in preprocessing directive ( and -> && ), avoided some vc
  warnings by making some casts explicit and eliminated a spurious #include
  that made the compilation fail in some configurations without gmpxx
........
  r53891 | lrineau | 2010-01-29 10:03:49 +0100 (Fri, 29 Jan 2010) | 10 lines
  
  Merge from trunk:
    | ------------------------------------------------------------------------
    | r53889 | stayeb | 2010-01-29 09:47:00 +0100 (Fri, 29 Jan 2010) | 1 line
    | Changed paths:
    |    M /trunk/Mesh_3/include/CGAL/Mesh_3/vertex_perturbation.h
    | 
    | Fix: replace Vector_3() by CGAL::NULL_VECTOR.
    | ------------------------------------------------------------------------
........
  r53892 | lrineau | 2010-01-29 10:23:09 +0100 (Fri, 29 Jan 2010) | 3 lines
  
  We do not want PDB demos or examples: officially that library is only
  an internal tool.
........
  r53900 | lrineau | 2010-01-29 12:23:44 +0100 (Fri, 29 Jan 2010) | 2 lines
  
  Remove the GraphicsView demo of Bool_op_2 from the release.
........
  r53902 | lrineau | 2010-01-29 14:52:13 +0100 (Fri, 29 Jan 2010) | 3 lines
  
  Add a paragraph about the "determinitication" of 2D/3D triangulations,
  segment Voronoi, and Apollonius Graph.
........
  r53903 | lrineau | 2010-01-29 15:03:15 +0100 (Fri, 29 Jan 2010) | 2 lines
  
  typos
........
  r53904 | lrineau | 2010-01-29 15:23:34 +0100 (Fri, 29 Jan 2010) | 15 lines
  
  Merge from trunk:
    | ------------------------------------------------------------------------
    | r53887 | afabri | 2010-01-29 09:22:03 +0100 (Fri, 29 Jan 2010) | 1 line
    | Changed paths:
    |    M /trunk/Segment_Delaunay_graph_2/include/CGAL/Segment_Delaunay_graph_2/Segment_Delaunay_graph_hierarchy_2_impl.h
    | 
    | Default constructed boost::rand48 is good enough
    | ------------------------------------------------------------------------
    | r53888 | afabri | 2010-01-29 09:24:22 +0100 (Fri, 29 Jan 2010) | 1 line
    | Changed paths:
    |    M /trunk/Apollonius_graph_2/include/CGAL/Apollonius_graph_2/Apollonius_graph_hierarchy_2_impl.h
    | 
    | Default constructed boost::rand48 is good enough
    | ------------------------------------------------------------------------
........
  r53905 | lrineau | 2010-01-29 15:27:21 +0100 (Fri, 29 Jan 2010) | 38 lines
  
  Merge from trunk:
    | ------------------------------------------------------------------------
    | r53896 | lrineau | 2010-01-29 12:06:00 +0100 (Fri, 29 Jan 2010) | 2 lines
    | Changed paths:
    |    M /trunk/Polyhedron/demo/Polyhedron/MainWindow.ui
    |    M /trunk/Polyhedron/demo/Polyhedron/Nef_type.h
    |    M /trunk/Polyhedron/demo/Polyhedron/Nef_type_fwd.h
    |    M /trunk/Polyhedron/demo/Polyhedron/Polyhedron_demo_nef_plugin.cpp
    |    M /trunk/Polyhedron/demo/Polyhedron/Polyhedron_demo_triangulate_facets_plugin.cpp
    |    M /trunk/Polyhedron/demo/Polyhedron/Scene_nef_polyhedron_item.cpp
    |    M /trunk/Polyhedron/demo/Polyhedron/Scene_nef_polyhedron_item.h
    | 
    | Add 3D Minkowski sum to the (Nef) Polyhedron demo.
    | 
    | ------------------------------------------------------------------------
    | r53897 | lrineau | 2010-01-29 12:10:38 +0100 (Fri, 29 Jan 2010) | 2 lines
    | Changed paths:
    |    M /trunk/Polyhedron/demo/Polyhedron/Polyhedron_demo_nef_plugin.cpp
    | 
    | Add a missing break;
    | 
    | ------------------------------------------------------------------------
    | r53898 | lrineau | 2010-01-29 12:12:27 +0100 (Fri, 29 Jan 2010) | 2 lines
    | Changed paths:
    |    D /trunk/Minkowski_sum_3/demo
    | 
    | Remove demo/ from Minkowski_sum_3, as the polyhedron demo has the feature.
    | 
    | ------------------------------------------------------------------------
    | r53899 | lrineau | 2010-01-29 12:15:43 +0100 (Fri, 29 Jan 2010) | 2 lines
    | Changed paths:
    |    D /trunk/Nef_3/demo/Nef_3/makefile
    | 
    | Remove that old makefile
    | 
    | ------------------------------------------------------------------------
........
2010-01-29 14:35:38 +00:00

82 lines
2.1 KiB
C++

// Copyright (c) 2006-2009 Inria Lorraine (France). 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.
//
// $URL$
// $Id$
//
// Author: Luis Peñaranda <luis.penaranda@loria.fr>
#ifndef CGAL_RS_BASIC_H
#define CGAL_RS_BASIC_H
#include <CGAL/basic.h>
#include <CGAL/enum.h>
#ifndef CGAL_RS_VERB
#ifdef CGAL_RS_DEBUG
#define CGAL_RS_VERB 2
#else
#define CGAL_RS_VERB 0
#endif
#endif
// the default precision of RS to calculate a root (precision is 2^n)
#ifndef CGAL_RS_DEF_PREC
#define CGAL_RS_DEF_PREC 0
#endif
// the minimum, used when calculating a sign
#ifndef CGAL_RS_MIN_PREC
#define CGAL_RS_MIN_PREC 0
#endif
#if ( defined CGAL_HAS_THREADS && !defined CGAL_RS_NO_TLS )
# ifdef _MSC_VER
# ifdef _WINDLL
# error "Can't build CGAL_RS as thread safe."
# define RS_THREAD_ATTR
# else
# define RS_THREAD_ATTR __declspec(thread)
# endif
# else
# define RS_THREAD_ATTR __thread
# endif
#else
# define RS_THREAD_ATTR
#endif
namespace CGAL{
enum rs_sign{
RS_NEGATIVE= NEGATIVE,
RS_ZERO= ZERO,
RS_POSITIVE= POSITIVE,
RS_UNKNOWN
};
// this function must only be called when s is not RS_UNKNOWN
inline Sign convert_rs_sign(rs_sign s){
CGAL_precondition(s!=RS_UNKNOWN);
switch(s){
case RS_NEGATIVE:return NEGATIVE;break;
case RS_POSITIVE:return POSITIVE;break;
default:return ZERO;
}
}
} // namespace CGAL
#endif // CGAL_RS_BASIC_H
// vim: tabstop=8: softtabstop=8: smarttab: shiftwidth=8: expandtab