MeVisLab Toolbox Reference
mlTypeDefTraits.h File Reference
#include "mlTypeDefs.h"
#include <ThirdPartyWarningsDisable.h>
#include <float.h>
#include <limits>
#include <boost/static_assert.hpp>
#include <ThirdPartyWarningsRestore.h>

Go to the source code of this file.

Namespaces

 ml
 Main documentation file for ML users and developers.
 

Macros

#define __ML_1ST_WINDOWS_2ND_UNIX_FUNCTION(__ml_win_func, __ml_unix_func)   __ml_win_func
 Some traits and template support for types and constants from mlTypeDefs project. More...
 

Functions

int MLisfinite (MLdouble v)
 Returns a non-zero value if and only if its argument has a finite value. More...
 
int MLisnan (MLdouble v)
 Returns a non-zero value if and only if its argument is NaN. More...
 
template<typename DT >
DT MLAbs (const DT val)
 Defines templated MLAbs version to circumvent fabs ambiguities on different platforms. More...
 
template<>
MLuint8 MLAbs (const MLuint8 val)
 avoid warnings for unsigned types: More...
 
template<>
MLuint16 MLAbs (const MLuint16 val)
 
template<>
MLuint32 MLAbs (const MLuint32 val)
 
template<>
MLuint64 MLAbs (const MLuint64 val)
 
template<typename DT >
DT ml::abs (DT val)
 
template<typename T >
bool MLFloatValuesEqual (const T a, const T b, const T m)
 Returns true if floating point numbers a and b differ less or equal than their technically availably precision, and false otherwise. More...
 
MLint8 MLTypeRangeMax (MLint8)
 Returns maximum range of the data type of any passed standard data type value. More...
 
MLuint8 MLTypeRangeMax (MLuint8)
 
MLint16 MLTypeRangeMax (MLint16)
 
MLuint16 MLTypeRangeMax (MLuint16)
 
MLint32 MLTypeRangeMax (MLint32)
 
MLuint32 MLTypeRangeMax (MLuint32)
 
MLfloat MLTypeRangeMax (MLfloat)
 
MLdouble MLTypeRangeMax (MLdouble)
 
MLldouble MLTypeRangeMax (MLldouble)
 
MLuint64 MLTypeRangeMax (MLuint64)
 
MLint64 MLTypeRangeMax (MLint64)
 
MLint8 MLTypeRangeMin (MLint8)
 Returns minimum range of the data type of any passed standard data type value. More...
 
MLuint8 MLTypeRangeMin (MLuint8)
 
MLint16 MLTypeRangeMin (MLint16)
 
MLuint16 MLTypeRangeMin (MLuint16)
 
MLint32 MLTypeRangeMin (MLint32)
 
MLuint32 MLTypeRangeMin (MLuint32)
 
MLfloat MLTypeRangeMin (MLfloat)
 
MLdouble MLTypeRangeMin (MLdouble)
 
MLldouble MLTypeRangeMin (MLldouble)
 
MLuint64 MLTypeRangeMin (MLuint64)
 
MLint64 MLTypeRangeMin (MLint64)
 
MLint8 MLTypeMinDifference (MLint8)
 Returns minimum range between two values which should be considered significant. More...
 
MLuint8 MLTypeMinDifference (MLuint8)
 
MLint16 MLTypeMinDifference (MLint16)
 
MLuint16 MLTypeMinDifference (MLuint16)
 
MLint32 MLTypeMinDifference (MLint32)
 
MLuint32 MLTypeMinDifference (MLuint32)
 
MLfloat MLTypeMinDifference (MLfloat)
 
MLdouble MLTypeMinDifference (MLdouble)
 
MLldouble MLTypeMinDifference (MLldouble)
 
MLuint64 MLTypeMinDifference (MLuint64)
 
MLint64 MLTypeMinDifference (MLint64)
 
MLfloat MLfabs (MLfloat v)
 fabs functions to implement type and platform independent MLabs function. More...
 
MLdouble MLfabs (MLdouble v)
 
MLldouble MLfabs (MLldouble v)
 
bool MLValuesAreEqual (MLint8 a, MLint8 b, MLint8)
 Returns true if values are equal (numerically safely compared), otherwise false. More...
 
bool MLValuesAreEqual (MLuint8 a, MLuint8 b, MLuint8)
 
bool MLValuesAreEqual (MLint16 a, MLint16 b, MLint16)
 
bool MLValuesAreEqual (MLuint16 a, MLuint16 b, MLuint16)
 
bool MLValuesAreEqual (MLint32 a, MLint32 b, MLint32)
 
bool MLValuesAreEqual (MLuint32 a, MLuint32 b, MLuint32)
 
bool MLValuesAreEqual (MLfloat a, MLfloat b, MLfloat m)
 
bool MLValuesAreEqual (MLdouble a, MLdouble b, MLdouble m)
 
bool MLValuesAreEqual (MLldouble a, MLldouble b, MLldouble m)
 
bool MLValuesAreEqual (MLuint64 a, MLuint64 b, MLuint64)
 
bool MLValuesAreEqual (MLint64 a, MLint64 b, MLint64)
 
template<typename T1 , typename T2 >
bool MLValuesAreEqual (T1 a, T2 b, MLint64)
 
bool MLValuesDiffer (MLint8 a, MLint8 b, MLint8)
 Returns true if values differ (numerically safely compared), otherwise false. More...
 
bool MLValuesDiffer (MLuint8 a, MLuint8 b, MLuint8)
 
bool MLValuesDiffer (MLint16 a, MLint16 b, MLint16)
 
bool MLValuesDiffer (MLuint16 a, MLuint16 b, MLuint16)
 
bool MLValuesDiffer (MLint32 a, MLint32 b, MLint32)
 
bool MLValuesDiffer (MLuint32 a, MLuint32 b, MLuint32)
 
bool MLValuesDiffer (MLfloat a, MLfloat b, MLfloat m)
 
bool MLValuesDiffer (MLdouble a, MLdouble b, MLdouble m)
 
bool MLValuesDiffer (MLldouble a, MLldouble b, MLldouble m)
 
bool MLValuesDiffer (MLuint64 a, MLuint64 b, MLuint64)
 
bool MLValuesDiffer (MLint64 a, MLint64 b, MLint64)
 
template<typename T1 , typename T2 >
bool MLValuesDiffer (T1 a, T2 b, MLint64)
 
bool MLValuesAreEqualWOM (MLint8 a, MLint8 b)
 Returns true if values a and b are equal, otherwise false. More...
 
bool MLValuesAreEqualWOM (MLuint8 a, MLuint8 b)
 
bool MLValuesAreEqualWOM (MLint16 a, MLint16 b)
 
bool MLValuesAreEqualWOM (MLuint16 a, MLuint16 b)
 
bool MLValuesAreEqualWOM (MLint32 a, MLint32 b)
 
bool MLValuesAreEqualWOM (MLuint32 a, MLuint32 b)
 
bool MLValuesAreEqualWOM (MLfloat a, MLfloat b)
 
bool MLValuesAreEqualWOM (MLdouble a, MLdouble b)
 
bool MLValuesAreEqualWOM (MLldouble a, MLldouble b)
 
bool MLValuesAreEqualWOM (MLuint64 a, MLuint64 b)
 
bool MLValuesAreEqualWOM (MLint64 a, MLint64 b)
 
template<typename T1 , typename T2 >
bool MLValuesAreEqualWOM (T1 a, T2 b)
 
bool MLValuesDifferWOM (MLint8 a, MLint8 b)
 Returns true if values differ, otherwise false. More...
 
bool MLValuesDifferWOM (MLuint8 a, MLuint8 b)
 
bool MLValuesDifferWOM (MLint16 a, MLint16 b)
 
bool MLValuesDifferWOM (MLuint16 a, MLuint16 b)
 
bool MLValuesDifferWOM (MLint32 a, MLint32 b)
 
bool MLValuesDifferWOM (MLuint32 a, MLuint32 b)
 
bool MLValuesDifferWOM (MLfloat a, MLfloat b)
 
bool MLValuesDifferWOM (MLdouble a, MLdouble b)
 
bool MLValuesDifferWOM (MLldouble a, MLldouble b)
 
bool MLValuesDifferWOM (MLuint64 a, MLuint64 b)
 
bool MLValuesDifferWOM (MLint64 a, MLint64 b)
 
template<typename T1 , typename T2 >
bool MLValuesDifferWOM (T1 a, T2 b)
 
bool MLValueIs0WOM (MLint8 a)
 Returns true if value is 0, otherwise false. More...
 
bool MLValueIs0WOM (MLuint8 a)
 
bool MLValueIs0WOM (MLint16 a)
 
bool MLValueIs0WOM (MLuint16 a)
 
bool MLValueIs0WOM (MLint32 a)
 
bool MLValueIs0WOM (MLuint32 a)
 
bool MLValueIs0WOM (MLfloat a)
 
bool MLValueIs0WOM (MLdouble a)
 
bool MLValueIs0WOM (MLldouble a)
 
bool MLValueIs0WOM (MLuint64 a)
 
bool MLValueIs0WOM (MLint64 a)
 
template<typename T1 >
bool MLValueIs0WOM (T1 a)
 

Macro Definition Documentation

◆ __ML_1ST_WINDOWS_2ND_UNIX_FUNCTION

#define __ML_1ST_WINDOWS_2ND_UNIX_FUNCTION (   __ml_win_func,
  __ml_unix_func 
)    __ml_win_func

Some traits and template support for types and constants from mlTypeDefs project.

Include system independent file and project settings.

Definition at line 25 of file mlTypeDefTraits.h.

Function Documentation

◆ MLAbs() [1/4]

template<>
MLuint16 MLAbs ( const MLuint16  val)
inline

Definition at line 110 of file mlTypeDefTraits.h.

◆ MLAbs() [2/4]

template<>
MLuint32 MLAbs ( const MLuint32  val)
inline

Definition at line 112 of file mlTypeDefTraits.h.

◆ MLAbs() [3/4]

template<>
MLuint64 MLAbs ( const MLuint64  val)
inline

Definition at line 114 of file mlTypeDefTraits.h.

◆ MLAbs() [4/4]

template<>
MLuint8 MLAbs ( const MLuint8  val)
inline

avoid warnings for unsigned types:

Definition at line 108 of file mlTypeDefTraits.h.