// This file is part of libigl, a simple c++ geometry processing library. // // Copyright (C) 2013 Alec Jacobson // // This Source Code Form is subject to the terms of the Mozilla Public License // v. 2.0. If a copy of the MPL was not distributed with this file, You can // obtain one at http://mozilla.org/MPL/2.0/. #ifndef IGL_EPS_H #define IGL_EPS_H #include "igl_inline.h" namespace igl { // Define a standard value for double epsilon const double DOUBLE_EPS = 1.0e-14; const double DOUBLE_EPS_SQ = 1.0e-28; const float FLOAT_EPS = 1.0e-7; const float FLOAT_EPS_SQ = 1.0e-14; // Function returning EPS for corresponding type template IGL_INLINE S_type EPS(); template IGL_INLINE S_type EPS_SQ(); // Template specializations for float and double template <> IGL_INLINE float EPS(); template <> IGL_INLINE double EPS(); template <> IGL_INLINE float EPS_SQ(); template <> IGL_INLINE double EPS_SQ(); } #ifndef IGL_STATIC_LIBRARY # include "EPS.cpp" #endif #endif