Classes | Namespaces | Functions
comparison.hpp File Reference
#include <uavcan/util/templates.hpp>
#include <uavcan/build_config.hpp>
Include dependency graph for comparison.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uavcan::are_close_impl_::Applicable
 
struct  uavcan::are_close_impl_::HasIsCloseMethod< This, Rhs >::ByValue< U, R, const >
 
struct  uavcan::are_close_impl_::HasIsCloseMethod< This, Rhs >::ConstRef< U, R, const >
 
struct  uavcan::are_close_impl_::HasIsCloseMethod< This, Rhs >
 
struct  uavcan::are_close_impl_::NotApplicable
 

Namespaces

 uavcan
 
 uavcan::are_close_impl_
 

Functions

template<typename L , typename R >
UAVCAN_EXPORT bool uavcan::areClose (const L &left, const R &right)
 
template<>
UAVCAN_EXPORT bool uavcan::areClose< double, double > (const double &left, const double &right)
 
template<>
UAVCAN_EXPORT bool uavcan::areClose< double, float > (const double &left, const float &right)
 
template<>
UAVCAN_EXPORT bool uavcan::areClose< double, long double > (const double &left, const long double &right)
 
template<>
UAVCAN_EXPORT bool uavcan::areClose< float, double > (const float &left, const double &right)
 
template<>
UAVCAN_EXPORT bool uavcan::areClose< float, float > (const float &left, const float &right)
 
template<>
UAVCAN_EXPORT bool uavcan::areClose< float, long double > (const float &left, const long double &right)
 
template<>
UAVCAN_EXPORT bool uavcan::areClose< long double, double > (const long double &left, const double &right)
 
template<>
UAVCAN_EXPORT bool uavcan::areClose< long double, float > (const long double &left, const float &right)
 
template<>
UAVCAN_EXPORT bool uavcan::areClose< long double, long double > (const long double &left, const long double &right)
 
template<typename L , typename R >
UAVCAN_EXPORT bool uavcan::are_close_impl_::areCloseImplFirst (const L &left, const R &right, IntToType< sizeof(Applicable)>)
 First stage: bool L::isClose(R) More...
 
template<typename L , typename R >
UAVCAN_EXPORT bool uavcan::are_close_impl_::areCloseImplFirst (const L &left, const R &right, IntToType< sizeof(NotApplicable)>)
 First stage: select either L == R or bool R::isClose(L) More...
 
template<typename L , typename R >
UAVCAN_EXPORT bool uavcan::are_close_impl_::areCloseImplSecond (const L &left, const R &right, IntToType< sizeof(Applicable)>)
 Second stage: bool R::isClose(L) More...
 
template<typename L , typename R >
UAVCAN_EXPORT bool uavcan::are_close_impl_::areCloseImplSecond (const L &left, const R &right, IntToType< sizeof(NotApplicable)>)
 Second stage: L == R. More...
 
template<typename T >
UAVCAN_EXPORT bool uavcan::areFloatsClose (T a, T b, const T &absolute_epsilon, const T &relative_epsilon)
 
template<typename T >
UAVCAN_EXPORT bool uavcan::areFloatsExactlyEqual (const T &left, const T &right)
 
template<typename T >
UAVCAN_EXPORT bool uavcan::isCloseToZero (const T &x)
 
template<>
UAVCAN_EXPORT bool uavcan::isCloseToZero< double > (const double &x)
 
template<>
UAVCAN_EXPORT bool uavcan::isCloseToZero< float > (const float &x)
 
template<>
UAVCAN_EXPORT bool uavcan::isCloseToZero< long double > (const long double &x)
 


uavcan_communicator
Author(s):
autogenerated on Fri Dec 13 2024 03:10:03