| # Gaudi Framework, version v21r6 |

Home |  | Generated: 11 Nov 2009

# Lomont.cpp File Reference

`#include <iostream>`
`#include <limits>`
`#include <cassert>`
`#include <cmath>`
`#include <vector>`
`#include "GaudiKernel/Lomont.h"`
`#include "boost/static_assert.hpp"`
`#include "boost/integer_traits.hpp"`

Include dependency graph for Lomont.cpp:

Go to the source code of this file.

## Typedefs
typedef _Longs::Long | Long
| get the final types:
typedef _Longs::ULong | ULong
## Functions
| BOOST_STATIC_ASSERT (std::numeric_limits< float >::is_specialized &&boost::integer_traits< int >::is_specialized &&boost::integer_traits< unsigned int >::is_specialized &&sizeof(float)==sizeof(int)&&sizeof(float)==sizeof(unsigned int)&&32==boost::integer_traits< unsigned int >::digits)
| BOOST_STATIC_ASSERT (std::numeric_limits< double >::is_specialized &&std::numeric_limits< Long >::is_specialized &&std::numeric_limits< ULong >::is_specialized &&boost::integer_traits< ULong >::is_specialized &&boost::integer_traits< Long >::is_specialized &&sizeof(double)==sizeof(Long)&&sizeof(double)==sizeof(ULong)&&64==std::numeric_limits< ULong >::digits)
| the final check
GAUDI_API bool | Gaudi::Math::lomont_compare_float (const float af, const float bf, const unsigned short maxULPs)
| equality comparison of float numbers using as the metric the maximal number of Units in the Last Place (ULP).
GAUDI_API float | Gaudi::Math::next_float (const float af, const short ulps)
| Get the floating number that representation is different with respect to the argument for the certain number of "Units in the Last Position".
GAUDI_API bool | Gaudi::Math::lomont_compare_double (const double af, const double bf, const unsigned int maxULPs)
| equality comparison of double numbers using as the metric the maximal number of Units in the Last Place (ULP).
GAUDI_API double | Gaudi::Math::next_double (const double af, const short ulps)
| Get the floating number that representation is different with respect to the argument for the certain number of "Units in the Last Position".

## Typedef Documentation

typedef _Longs::Long Long`[static]`

get the final types:

Definition at line 59 of file Lomont.cpp.

typedef _Longs::ULong ULong`[static]`

Definition at line 60 of file Lomont.cpp.

## Function Documentation

@409::BOOST_STATIC_ASSERT | ( | std::numeric_limits< double >::is_specialized &&std::numeric_limits< Long >::is_specialized &&std::numeric_limits< ULong >::is_specialized &&boost::integer_traits< ULong >::is_specialized &&boost::integer_traits< Long >::is_specialized && | sizeofdouble = `=sizeof(Long)&&sizeof(double)==sizeof(ULong)&&64==std::numeric_limits< ULong >::digits` | ) | `[static]`

the final check

@409::BOOST_STATIC_ASSERT | ( | std::numeric_limits< float >::is_specialized &&boost::integer_traits< int >::is_specialized &&boost::integer_traits< unsigned int >::is_specialized && | sizeoffloat = `=sizeof(int)&&sizeof(float)==sizeof(unsigned int)&&32==boost::integer_traits< unsigned int >::digits` | ) | `[static]`

## Variable Documentation

double d

Definition at line 143 of file Lomont.cpp.

float f

Definition at line 102 of file Lomont.cpp.

int i

Definition at line 103 of file Lomont.cpp.

Long l

Definition at line 144 of file Lomont.cpp.

Double_U m_d

the helper union

Definition at line 150 of file Lomont.cpp.

Float_U m_f

the helper union

Definition at line 109 of file Lomont.cpp.