00001 /* -*- C++ -*- ------------------------------------------------------------ 00002 00003 Copyright (c) 2007 Jesse Anders and Demian Nave http://cmldev.net/ 00004 00005 The Configurable Math Library (CML) is distributed under the terms of the 00006 Boost Software License, v1.0 (see cml/LICENSE for details). 00007 00008 *-----------------------------------------------------------------------*/ 00013 #ifndef epsilon_h 00014 #define epsilon_h 00015 00016 namespace cml { 00017 00018 /* @todo: epsilon and tolerance handling. 00019 * 00020 * @note This is a placeholder for a more sophisticated epsilon/tolerance 00021 * system. 00022 */ 00023 00024 template < typename Real > 00025 struct epsilon 00026 { 00027 typedef Real value_type; 00028 00029 private: 00030 00032 typedef value_type T; 00033 00034 public: 00035 00036 static T placeholder() { 00037 /* Completely arbitrary placeholder value: */ 00038 return T(0.0001); 00039 } 00040 }; 00041 00042 } // namespace cml 00043 00044 #endif