3 #ifndef GAUDIKERNEL_LOMONT_H
4 #define GAUDIKERNEL_LOMONT_H 1
14 #include "GaudiKernel/Kernel.h"
40 template <
class TYPE>
class Lomont ;
93 const unsigned short maxULPs ) ;
134 const unsigned int maxULPs ) ;
156 class Lomont<float> :
public std::binary_function<float,float,bool>
162 Lomont (
const unsigned short ulps ) : m_ulps ( ulps ) {}
167 inline bool operator () (
const float a ,
const float b )
const
178 unsigned short m_ulps ;
202 class Lomont<double> :
public std::binary_function<double,double,bool>
208 Lomont (
const unsigned int ulps ) : m_ulps ( ulps ) {}
213 inline bool operator () (
const double a ,
const double b )
const
224 unsigned int m_ulps ;
245 float next_float (
const float af ,
const short ulps ) ;
264 double next_double (
const double af ,
const short ulps ) ;
272 #endif // GAUDIKERNEL_LOMONT_H