Data Types

Data types available in the ML. More...


Defines

#define ML_NUM_STANDARD_TYPES   11
 Number of available compiler/scalar data types.
#define ML_NUM_PHYSICAL_DATATYPES   21
 Number of available data types including the carrier types.
#define ML_SIZE_OF_MAX_CARRIER_TYPE   512
 Size of maximum carrier type.
#define ML_INVALID_DATA_TYPE   -1
 Defines an invalid MLDataType and an invalid MLPhysicalDataType.

Typedefs

typedef MLint32 MLDataType
 MLDataType.
typedef MLint32 MLPhysicalDataType
 MLPhysicalDataType.

Enumerations

enum  MLPhysicalDataTypeIds {
  MLint8Type = 0, MLuint8Type = 1, MLint16Type = 2, MLuint16Type = 3,
  MLint32Type = 4, MLuint32Type = 5, MLfloatType = 6, MLdoubleType = 7,
  MLldoubleType = 8, MLint64Type = 9, MLuint64Type = 10, MLCarrier4Type = 11,
  MLCarrier8Type = 12, MLCarrier12Type = 13, MLCarrier16Type = 14, MLCarrier24Type = 15,
  MLCarrier32Type = 16, MLCarrier64Type = 17, MLCarrier128Type = 18, MLCarrier256Type = 19,
  MLCarrier512Type = 20, MLMinCarrierType = MLCarrier4Type, MLMaxCarrierType = MLCarrier512Type, MLCarrier4InType = MLCarrier4Type + ML_NUM_PHYSICAL_DATATYPES,
  MLCarrier8InType = MLCarrier8Type + ML_NUM_PHYSICAL_DATATYPES, MLCarrier12InType = MLCarrier12Type + ML_NUM_PHYSICAL_DATATYPES, MLCarrier16InType = MLCarrier16Type + ML_NUM_PHYSICAL_DATATYPES, MLCarrier24InType = MLCarrier24Type + ML_NUM_PHYSICAL_DATATYPES,
  MLCarrier32InType = MLCarrier32Type + ML_NUM_PHYSICAL_DATATYPES, MLCarrier64InType = MLCarrier64Type + ML_NUM_PHYSICAL_DATATYPES, MLCarrier128InType = MLCarrier128Type + ML_NUM_PHYSICAL_DATATYPES, MLCarrier256InType = MLCarrier256Type + ML_NUM_PHYSICAL_DATATYPES,
  MLCarrier512InType = MLCarrier512Type + ML_NUM_PHYSICAL_DATATYPES
}
 MLPhysicalDataType identifiers. More...

Functions

MLEXPORT MLDataType MLGetDataTypeForRange (MLldouble *min, MLldouble *max, MLint32 preferUnsigned)
 Corrects order of *min and *max and return adequate standard data type.
MLEXPORT MLDataType MLGetDataTypeForUncorrectedRange (MLldouble min, MLldouble max, MLint32 preferUnsigned)
 Like getMLDataTypeForRange with the following differences:
  • min / max is not changed even if invalid.

MLEXPORT MLDataType MLGetRangeAndPrecisionEquivalent (MLDataType dataType)
 Returns a standard data type for dataType which has a comparable precision and range behavior.
MLEXPORT MLDataType MLGetPromotedPrecision (MLDataType datatype1, MLDataType datatype2)
 Returns one of datatype1 and datatype2 which has a higher precision.
int MLisfinite (MLdouble v)
 Returns a non-zero value if and only if its argument has a finite value.
int MLisnan (MLdouble v)
 Returns a non-zero value if and only if its argument is NaN.
template<typename DT >
DT MLAbs (const DT val)
 Defines templated MLAbs version to circumvent fabs ambiguities on different platforms.
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.

DATA TYPE MANAGEMENT.

MLEXPORT const char ** MLDataTypeNames ()
 Thread-safety: These functions are thread-safe, as long as no new datatypes are registered after startup.
MLEXPORT size_t MLNumDataTypes ()
 Returns the current number of ML data types.
MLEXPORT const char * MLNameFromDataType (MLDataType dataType)
 Function which returns the null-terminated string name for data type dataType or "" in case of error or for an invalid data type.
MLEXPORT MLDataType MLDataTypeFromName (const char *const name)
 Returns the id of the data type with name name.
MLEXPORT MLldouble MLDataTypeMax (MLDataType dataType)
 Returns the maximum value of data type dataType or 0 if dataType is invalid.
MLEXPORT MLldouble MLDataTypeMin (MLDataType dataType)
 Returns the minimum value of data type dataType or 0 if dataType is invalid.
MLEXPORT size_t MLSizeOf (MLDataType dataType)
 Returns the size of the data type dataType in bytes.
MLEXPORT size_t MLSizeOfRegisteredType (MLDataType dataType)
 Returns the size of data type dataType in bytes or - in case of registered data types - the size of the registered data type (and NOT the size of the carrier type carrying the registered type!) On invalid types 0 is returned.
MLEXPORT MLint32 MLRangeOrder (MLDataType dataType)
 Returns order value for a data type ranges.
MLEXPORT MLint32 MLIsValidType (MLDataType dataType)
 Returns true(=1) if data type dataType seems to be valid, otherwise 0(=false).
MLEXPORT MLint32 MLIsSigned (MLDataType dataType)
 Returns true(=1) if data type dataType is signed, otherwise 0(=false).
MLEXPORT MLint32 MLIsIntType (MLDataType dataType)
 Returns true(=1) if data type dataType is an integer data type, otherwise false(=0).
MLEXPORT MLint32 MLIsFloatType (MLDataType dataType)
 Returns true(=1) if data type dataType is a floating point data type, otherwise false(=0).
MLEXPORT MLint32 MLIsStandardType (MLDataType dataType)
 Returns true(=1) if data type dataType is a standard type, otherwise return false(=0).
MLEXPORT MLint32 MLHolds (MLDataType datatype1, MLDataType datatype2)
 Returns true(=1) if data type \ datatype1 can hold data type datatype2 without precision or sign loss.
MLEXPORT MLDataType MLGetPromotedType (MLDataType datatype1, MLDataType datatype2)
 Returns a data type which can hold the value ranges from datatype1 and datatype2 (including both).

Physical data type management

MLEXPORT size_t MLSizeOfPhysicalType (MLPhysicalDataType physicalDataType)
 Returns the size of a physical data type physicalDataType in bytes.
MLEXPORT MLPhysicalDataType MLGetPhysicalDataType (MLDataType dataType)
 Returns the physical data type used by data type dataType.
MLEXPORT MLPhysicalDataType MLGetCarrierTypeForSize (size_t numBytes)
 Returns a carrier type which can hold best the passed number of bytes numBytes.
MLint8 MLTypeRangeMax (MLint8)
 Returns maximum range of the data type of any passed standard data type value.
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.
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.
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.
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.
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.
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.
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.
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.
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)


Detailed Description

Data types available in the ML.


Define Documentation

#define ML_INVALID_DATA_TYPE   -1

Defines an invalid MLDataType and an invalid MLPhysicalDataType.

Definition at line 703 of file mlTypeDefs.h.

#define ML_NUM_PHYSICAL_DATATYPES   21

Number of available data types including the carrier types.

Definition at line 275 of file mlTypeDefs.h.

#define ML_NUM_STANDARD_TYPES   11

Number of available compiler/scalar data types.

Definition at line 269 of file mlTypeDefs.h.

#define ML_SIZE_OF_MAX_CARRIER_TYPE   512

Size of maximum carrier type.

Definition at line 281 of file mlTypeDefs.h.


Typedef Documentation

MLDataType.

An enum for all data types, predefined compiler (scalar) types and registered types.

Definition at line 678 of file mlTypeDefs.h.

MLPhysicalDataType.

Used for all data types used physically by the ML. For all data types from MLint8Type to MLint64Type MLPhysicalDataTypes and and MLDataTypes are identical.

Definition at line 686 of file mlTypeDefs.h.


Enumeration Type Documentation

MLPhysicalDataType identifiers.

Defines enumerations for all data types used physically by the ML. For all data types from MLint8Type to MLint64Type MLPhysicalDataTypes and and MLDataTypes are identical.

Enumerator:
MLint8Type  Enumerator for the signed 8 bit ML integer type.
MLuint8Type  Enumerator for the unsigned 8 bit ML integer type.
MLint16Type  Enumerator for the signed 16 bit ML integer type.
MLuint16Type  Enumerator for the unsigned 16 bit ML integer type.
MLint32Type  Enumerator for the signed 32 bit ML integer type.
MLuint32Type  Enumerator for the unsigned 32 bit ML integer type.
MLfloatType  Enumerator for the signed 32 bit ML floating point type.
MLdoubleType  Enumerator for the signed 64 bit ML floating point type.
MLldoubleType  Enumerator for the signed ML floating point type with at least 64 bit or more.
MLint64Type  Enumerator for the signed 64 bit ML integer type.
MLuint64Type  Enumerator for the unsigned 64 bit ML integer type.
MLCarrier4Type  Enumerator for the 4 byte carrier type representing an interface to registered types.
MLCarrier8Type  Enumerator for the 8 byte carrier type representing an interface to registered types.
MLCarrier12Type  Enumerator for the 12 byte carrier type representing an interface to registered types.
MLCarrier16Type  Enumerator for the 16 byte carrier type representing an interface to registered types.
MLCarrier24Type  Enumerator for the 24 byte carrier type representing an interface to registered types.
MLCarrier32Type  Enumerator for the 32 byte carrier type representing an interface to registered types.
MLCarrier64Type  Enumerator for the 64 byte carrier type representing an interface to registered types.
MLCarrier128Type  Enumerator for the 128 byte carrier type representing an interface to registered types.
MLCarrier256Type  Enumerator for the 256 byte carrier type representing an interface to registered types.
MLCarrier512Type  Enumerator for the 512 byte carrier type representing an interface to registered types.
MLMinCarrierType  Enumerator for the smallest carrier type representing an interface to registered types.
MLMaxCarrierType  Enumerator for the largest carrier type representing an interface to registered types.
MLCarrier4InType  Enumerator for the 4 byte input carrier type representing an interface to registered types.
MLCarrier8InType  Enumerator for the 8 byte input carrier type representing an interface to registered types.
MLCarrier12InType  Enumerator for the 12 byte input carrier type representing an interface to registered types.
MLCarrier16InType  Enumerator for the 16 byte input carrier type representing an interface to registered types.
MLCarrier24InType  Enumerator for the 24 byte input carrier type representing an interface to registered types.
MLCarrier32InType  Enumerator for the 32 byte input carrier type representing an interface to registered types.
MLCarrier64InType  Enumerator for the 64 byte input carrier type representing an interface to registered types.
MLCarrier128InType  Enumerator for the 128 byte input carrier type representing an interface to registered types.
MLCarrier256InType  Enumerator for the 256 byte input carrier type representing an interface to registered types.
MLCarrier512InType  Enumerator for the 512 byte input carrier type representing an interface to registered types.

Definition at line 711 of file mlTypeDefs.h.


Function Documentation

template<typename DT >
DT MLAbs ( const DT  val  )  [inline]

MLEXPORT MLDataType MLDataTypeFromName ( const char *const   name  ) 

Returns the id of the data type with name name.

If name is not valid then ML_INVALID_DATA_TYPE is returned.

MLEXPORT MLldouble MLDataTypeMax ( MLDataType  dataType  ) 

Returns the maximum value of data type dataType or 0 if dataType is invalid.

MLEXPORT MLldouble MLDataTypeMin ( MLDataType  dataType  ) 

Returns the minimum value of data type dataType or 0 if dataType is invalid.

MLEXPORT const char** MLDataTypeNames (  ) 

Thread-safety: These functions are thread-safe, as long as no new datatypes are registered after startup.

Function which returns the table of c-strings of all scalar and registered data types. The returned array is usually stable unless new data types are registered.

MLldouble MLfabs ( MLldouble  v  )  [inline]

Definition at line 80 of file mlTypeDefTraits.h.

MLdouble MLfabs ( MLdouble  v  )  [inline]

Definition at line 79 of file mlTypeDefTraits.h.

MLfloat MLfabs ( MLfloat  v  )  [inline]

fabs functions to implement type and platform independent MLabs function.

Definition at line 78 of file mlTypeDefTraits.h.

Referenced by MLFloatValuesEqual(), MLValueIs0WOM(), MLValuesAreEqualWOM(), and MLValuesDifferWOM().

template<typename T >
bool MLFloatValuesEqual ( const T  a,
const T  b,
const T  m 
) [inline]

Returns true if floating point numbers a and b differ less or equal than their technically availably precision, and false otherwise.

For a sensible comparison the available precision of the floating point number needs to be scaled to the order of magnitude m in which the two compared numbers reside. This becomes understandably when looking to the following example: The minimal technically difference between two double numbers near 1 are given by the constant DBL_EPSILON which is about 10e-16 in many systems. The technically available difference between numbers around 10e200 is DBL_EPSILON * 10e200 which is about 10e-16 * 10e200 = 10e184. Thus numbers which differ less than 10e184 are technically equal. This concept also holds for very small numbers. Thus m should be a value from the range in which a and b normally occur.

Definition at line 113 of file mlTypeDefTraits.h.

References MLfabs(), and MLTypeMinDifference().

Referenced by MLValuesAreEqual(), and MLValuesDiffer().

MLEXPORT MLPhysicalDataType MLGetCarrierTypeForSize ( size_t  numBytes  ) 

Returns a carrier type which can hold best the passed number of bytes numBytes.

If its size is too big or smaller then 1 then ML_INVALID_DATA_TYPE is returned.

MLEXPORT MLDataType MLGetDataTypeForRange ( MLldouble min,
MLldouble max,
MLint32  preferUnsigned 
)

Corrects order of *min and *max and return adequate standard data type.

If *min == *max, *max = *min+1 is returned. If preferUnsigned is true (not 0), unsigned data types are preferred instead of signed types if both are sensible responses for the range given by [*min, *max]. Float values are chosen if -integer ranges are not sufficient or -min or max are not integer or -difference between min and max is smaller or equal 1. Examples: [min,max]=[3, 5] : 8 bit (unsigned) integer [min,max]=[3.1, 5] : 8 bit (unsigned) integer [min,max]=[1,2] : Float [min,max]=[1,3] : 8 bit (unsigned) integer [min,max]=[10,2000] : 16 bit (unsigned) integer [min,max]=[10,1831.1] : 16 bit (unsigned) integer [min,max]=[-1,1] : 8 bit signed integer [min,max]=[0,0] : 8 bit signed integer where max becomes 1. If min or max pointer is invalid then MLldoubleType is returned.

MLEXPORT MLDataType MLGetDataTypeForUncorrectedRange ( MLldouble  min,
MLldouble  max,
MLint32  preferUnsigned 
)

Like getMLDataTypeForRange with the following differences:

  • min / max is not changed even if invalid.

  • min / max order is corrected only internally but max is not incremented even if min and max are equal.

MLEXPORT MLPhysicalDataType MLGetPhysicalDataType ( MLDataType  dataType  ) 

Returns the physical data type used by data type dataType.

If dataType is invalid ML_INVALID_DATA_TYPE is returned.

MLEXPORT MLDataType MLGetPromotedPrecision ( MLDataType  datatype1,
MLDataType  datatype2 
)

Returns one of datatype1 and datatype2 which has a higher precision.

On equal precisions, the one with higher range is returned. On equal precisions and equal ranges, datatype1 is returned. For registered data types, the MLPrecisionEquivalent is used for comparison.

MLEXPORT MLDataType MLGetPromotedType ( MLDataType  datatype1,
MLDataType  datatype2 
)

Returns a data type which can hold the value ranges from datatype1 and datatype2 (including both).

If the resulting type cannot be determined or one of the parameters is invalid then ML_INVALID_DATA_TYPE is returned. (This happens e.g., if MLdoubleType and complex<float> shall be merged but complex<float> cannot hold double and double cannot hold complex<float> and both have no conversion types which could be used instead.)

MLEXPORT MLDataType MLGetRangeAndPrecisionEquivalent ( MLDataType  dataType  ) 

Returns a standard data type for dataType which has a comparable precision and range behavior.

If dataType is a standard data type then dataType is returned. For invalid data types ML_INVALID_DATA_TYPE is returned.

MLEXPORT MLint32 MLHolds ( MLDataType  datatype1,
MLDataType  datatype2 
)

Returns true(=1) if data type \ datatype1 can hold data type datatype2 without precision or sign loss.

It is assumed that all float types can hold any integer type. Note: This is not really correct for 32/64 bit integers and float!

int MLisfinite ( MLdouble  v  )  [inline]

Returns a non-zero value if and only if its argument has a finite value.

Definition at line 85 of file mlTypeDefTraits.h.

References __ML_1ST_WINDOWS_2ND_UNIX_FUNCTION.

MLEXPORT MLint32 MLIsFloatType ( MLDataType  dataType  ) 

Returns true(=1) if data type dataType is a floating point data type, otherwise false(=0).

MLEXPORT MLint32 MLIsIntType ( MLDataType  dataType  ) 

Returns true(=1) if data type dataType is an integer data type, otherwise false(=0).

int MLisnan ( MLdouble  v  )  [inline]

Returns a non-zero value if and only if its argument is NaN.

Definition at line 89 of file mlTypeDefTraits.h.

References __ML_1ST_WINDOWS_2ND_UNIX_FUNCTION.

MLEXPORT MLint32 MLIsSigned ( MLDataType  dataType  ) 

Returns true(=1) if data type dataType is signed, otherwise 0(=false).

MLEXPORT MLint32 MLIsStandardType ( MLDataType  dataType  ) 

Returns true(=1) if data type dataType is a standard type, otherwise return false(=0).

MLEXPORT MLint32 MLIsValidType ( MLDataType  dataType  ) 

Returns true(=1) if data type dataType seems to be valid, otherwise 0(=false).

MLEXPORT const char* MLNameFromDataType ( MLDataType  dataType  ) 

Function which returns the null-terminated string name for data type dataType or "" in case of error or for an invalid data type.

Referenced by ml::internal::TypedHandlerBase< ProcessAllPagesHandler, Derived, NumberOfInputImages >::verifyProperties().

MLEXPORT size_t MLNumDataTypes (  ) 

Returns the current number of ML data types.

The returned value changes when new data types are registered.

MLEXPORT MLint32 MLRangeOrder ( MLDataType  dataType  ) 

Returns order value for a data type ranges.

They are useful for precision comparison. Low ranges return low values, same ranges return same values, large ranges return large values. So e.g., ML_RANGE_ORDER(MLint8Type)==ML_RANGE_ORDER(MLuint8Type) (both 256) are identical, but ML_RANGE_ORDER(MLint8Type) < ML_RANGE_ORDER(MLfloatType) (256 <-> about 10e35). If dataType is a registered data type, its MLGetRangeAndPrecisionEquivalent is used for range order determination. If an invalid data type is passed, -1 is returned.

MLEXPORT size_t MLSizeOf ( MLDataType  dataType  ) 

Returns the size of the data type dataType in bytes.

In case of a registered data type the sizeof of the carrier type is returned. On invalid types 0 is returned.

Referenced by ml::TSubImage< DATATYPE >::_calcFillAreaParams(), ml::TSubImage< DATATYPE >::copySubImage(), ml::ImageProperties::getSizeInBytes(), and ml::SubImage::setDataType().

MLEXPORT size_t MLSizeOfPhysicalType ( MLPhysicalDataType  physicalDataType  ) 

Returns the size of a physical data type physicalDataType in bytes.

On invalid physical data types 0 is returned.

MLEXPORT size_t MLSizeOfRegisteredType ( MLDataType  dataType  ) 

Returns the size of data type dataType in bytes or - in case of registered data types - the size of the registered data type (and NOT the size of the carrier type carrying the registered type!) On invalid types 0 is returned.

MLint64 MLTypeMinDifference ( MLint64   )  [inline]

Definition at line 72 of file mlTypeDefTraits.h.

MLuint64 MLTypeMinDifference ( MLuint64   )  [inline]

Definition at line 71 of file mlTypeDefTraits.h.

MLldouble MLTypeMinDifference ( MLldouble   )  [inline]

Definition at line 70 of file mlTypeDefTraits.h.

References ML_LDOUBLE_EPSILON.

MLdouble MLTypeMinDifference ( MLdouble   )  [inline]

Definition at line 69 of file mlTypeDefTraits.h.

References ML_DOUBLE_EPSILON.

MLfloat MLTypeMinDifference ( MLfloat   )  [inline]

Definition at line 68 of file mlTypeDefTraits.h.

References ML_FLOAT_EPSILON.

MLuint32 MLTypeMinDifference ( MLuint32   )  [inline]

Definition at line 67 of file mlTypeDefTraits.h.

MLint32 MLTypeMinDifference ( MLint32   )  [inline]

Definition at line 66 of file mlTypeDefTraits.h.

MLuint16 MLTypeMinDifference ( MLuint16   )  [inline]

Definition at line 65 of file mlTypeDefTraits.h.

MLint16 MLTypeMinDifference ( MLint16   )  [inline]

Definition at line 64 of file mlTypeDefTraits.h.

MLuint8 MLTypeMinDifference ( MLuint8   )  [inline]

Definition at line 63 of file mlTypeDefTraits.h.

MLint8 MLTypeMinDifference ( MLint8   )  [inline]

Returns minimum range between two values which should be considered significant.

Definition at line 62 of file mlTypeDefTraits.h.

Referenced by MLFloatValuesEqual().

MLint64 MLTypeRangeMax ( MLint64   )  [inline]

Definition at line 40 of file mlTypeDefTraits.h.

References ML_INT64_MAX.

MLuint64 MLTypeRangeMax ( MLuint64   )  [inline]

Definition at line 39 of file mlTypeDefTraits.h.

References ML_UINT64_MAX.

MLldouble MLTypeRangeMax ( MLldouble   )  [inline]

Definition at line 38 of file mlTypeDefTraits.h.

References ML_LDOUBLE_MAX.

MLdouble MLTypeRangeMax ( MLdouble   )  [inline]

Definition at line 37 of file mlTypeDefTraits.h.

References ML_DOUBLE_MAX.

MLfloat MLTypeRangeMax ( MLfloat   )  [inline]

Definition at line 36 of file mlTypeDefTraits.h.

References ML_FLOAT_MAX.

MLuint32 MLTypeRangeMax ( MLuint32   )  [inline]

Definition at line 35 of file mlTypeDefTraits.h.

References ML_UINT32_MAX.

MLint32 MLTypeRangeMax ( MLint32   )  [inline]

Definition at line 34 of file mlTypeDefTraits.h.

References ML_INT32_MAX.

MLuint16 MLTypeRangeMax ( MLuint16   )  [inline]

Definition at line 33 of file mlTypeDefTraits.h.

References ML_UINT16_MAX.

MLint16 MLTypeRangeMax ( MLint16   )  [inline]

Definition at line 32 of file mlTypeDefTraits.h.

References ML_INT16_MAX.

MLuint8 MLTypeRangeMax ( MLuint8   )  [inline]

Definition at line 31 of file mlTypeDefTraits.h.

References ML_UINT8_MAX.

MLint8 MLTypeRangeMax ( MLint8   )  [inline]

Returns maximum range of the data type of any passed standard data type value.

Definition at line 30 of file mlTypeDefTraits.h.

References ML_INT8_MAX.

MLint64 MLTypeRangeMin ( MLint64   )  [inline]

Definition at line 56 of file mlTypeDefTraits.h.

References ML_INT64_MIN.

MLuint64 MLTypeRangeMin ( MLuint64   )  [inline]

Definition at line 55 of file mlTypeDefTraits.h.

References ML_UINT64_MIN.

MLldouble MLTypeRangeMin ( MLldouble   )  [inline]

Definition at line 54 of file mlTypeDefTraits.h.

References ML_LDOUBLE_MAX.

MLdouble MLTypeRangeMin ( MLdouble   )  [inline]

Definition at line 53 of file mlTypeDefTraits.h.

References ML_DOUBLE_MAX.

MLfloat MLTypeRangeMin ( MLfloat   )  [inline]

Definition at line 52 of file mlTypeDefTraits.h.

References ML_FLOAT_MAX.

MLuint32 MLTypeRangeMin ( MLuint32   )  [inline]

Definition at line 51 of file mlTypeDefTraits.h.

References ML_UINT32_MIN.

MLint32 MLTypeRangeMin ( MLint32   )  [inline]

Definition at line 50 of file mlTypeDefTraits.h.

References ML_INT32_MIN.

MLuint16 MLTypeRangeMin ( MLuint16   )  [inline]

Definition at line 49 of file mlTypeDefTraits.h.

References ML_UINT16_MIN.

MLint16 MLTypeRangeMin ( MLint16   )  [inline]

Definition at line 48 of file mlTypeDefTraits.h.

References ML_INT16_MIN.

MLuint8 MLTypeRangeMin ( MLuint8   )  [inline]

Definition at line 47 of file mlTypeDefTraits.h.

References ML_UINT8_MIN.

MLint8 MLTypeRangeMin ( MLint8   )  [inline]

Returns minimum range of the data type of any passed standard data type value.

Definition at line 46 of file mlTypeDefTraits.h.

References ML_INT8_MIN.

template<typename T1 >
bool MLValueIs0WOM ( T1  a  )  [inline]

Definition at line 215 of file mlTypeDefTraits.h.

bool MLValueIs0WOM ( MLint64  a  )  [inline]

Definition at line 211 of file mlTypeDefTraits.h.

bool MLValueIs0WOM ( MLuint64  a  )  [inline]

Definition at line 210 of file mlTypeDefTraits.h.

bool MLValueIs0WOM ( MLldouble  a  )  [inline]

Definition at line 209 of file mlTypeDefTraits.h.

References ML_LDOUBLE_MIN, and MLfabs().

bool MLValueIs0WOM ( MLdouble  a  )  [inline]

Definition at line 208 of file mlTypeDefTraits.h.

References ML_DOUBLE_MIN, and MLfabs().

bool MLValueIs0WOM ( MLfloat  a  )  [inline]

Definition at line 207 of file mlTypeDefTraits.h.

References ML_FLOAT_MIN, and MLfabs().

bool MLValueIs0WOM ( MLuint32  a  )  [inline]

Definition at line 206 of file mlTypeDefTraits.h.

bool MLValueIs0WOM ( MLint32  a  )  [inline]

Definition at line 205 of file mlTypeDefTraits.h.

bool MLValueIs0WOM ( MLuint16  a  )  [inline]

Definition at line 204 of file mlTypeDefTraits.h.

bool MLValueIs0WOM ( MLint16  a  )  [inline]

Definition at line 203 of file mlTypeDefTraits.h.

bool MLValueIs0WOM ( MLuint8  a  )  [inline]

Definition at line 202 of file mlTypeDefTraits.h.

bool MLValueIs0WOM ( MLint8  a  )  [inline]

template<typename T1 , typename T2 >
bool MLValuesAreEqual ( T1  a,
T2  b,
MLint64   
) [inline]

Definition at line 135 of file mlTypeDefTraits.h.

bool MLValuesAreEqual ( MLint64  a,
MLint64  b,
MLint64   
) [inline]

Definition at line 131 of file mlTypeDefTraits.h.

bool MLValuesAreEqual ( MLuint64  a,
MLuint64  b,
MLuint64   
) [inline]

Definition at line 130 of file mlTypeDefTraits.h.

bool MLValuesAreEqual ( MLldouble  a,
MLldouble  b,
MLldouble  m 
) [inline]

Definition at line 129 of file mlTypeDefTraits.h.

References MLFloatValuesEqual().

bool MLValuesAreEqual ( MLdouble  a,
MLdouble  b,
MLdouble  m 
) [inline]

Definition at line 128 of file mlTypeDefTraits.h.

References MLFloatValuesEqual().

bool MLValuesAreEqual ( MLfloat  a,
MLfloat  b,
MLfloat  m 
) [inline]

Definition at line 127 of file mlTypeDefTraits.h.

References MLFloatValuesEqual().

bool MLValuesAreEqual ( MLuint32  a,
MLuint32  b,
MLuint32   
) [inline]

Definition at line 126 of file mlTypeDefTraits.h.

bool MLValuesAreEqual ( MLint32  a,
MLint32  b,
MLint32   
) [inline]

Definition at line 125 of file mlTypeDefTraits.h.

bool MLValuesAreEqual ( MLuint16  a,
MLuint16  b,
MLuint16   
) [inline]

Definition at line 124 of file mlTypeDefTraits.h.

bool MLValuesAreEqual ( MLint16  a,
MLint16  b,
MLint16   
) [inline]

Definition at line 123 of file mlTypeDefTraits.h.

bool MLValuesAreEqual ( MLuint8  a,
MLuint8  b,
MLuint8   
) [inline]

Definition at line 122 of file mlTypeDefTraits.h.

bool MLValuesAreEqual ( MLint8  a,
MLint8  b,
MLint8   
) [inline]

Returns true if values are equal (numerically safely compared), otherwise false.

For parameters see MLFloatValuesAreEqual.

Definition at line 121 of file mlTypeDefTraits.h.

Referenced by ml::TSubImage< DATATYPE >::copySubImage(), and ml::TSubImage< DATATYPE >::copySubImageReorderColorPlanesToInterleaved().

template<typename T1 , typename T2 >
bool MLValuesAreEqualWOM ( T1  a,
T2  b 
) [inline]

Definition at line 175 of file mlTypeDefTraits.h.

bool MLValuesAreEqualWOM ( MLint64  a,
MLint64  b 
) [inline]

Definition at line 171 of file mlTypeDefTraits.h.

bool MLValuesAreEqualWOM ( MLuint64  a,
MLuint64  b 
) [inline]

Definition at line 170 of file mlTypeDefTraits.h.

bool MLValuesAreEqualWOM ( MLldouble  a,
MLldouble  b 
) [inline]

Definition at line 169 of file mlTypeDefTraits.h.

References ML_LDOUBLE_MIN, and MLfabs().

bool MLValuesAreEqualWOM ( MLdouble  a,
MLdouble  b 
) [inline]

Definition at line 168 of file mlTypeDefTraits.h.

References ML_DOUBLE_MIN, and MLfabs().

bool MLValuesAreEqualWOM ( MLfloat  a,
MLfloat  b 
) [inline]

Definition at line 167 of file mlTypeDefTraits.h.

References ML_FLOAT_MIN, and MLfabs().

bool MLValuesAreEqualWOM ( MLuint32  a,
MLuint32  b 
) [inline]

Definition at line 166 of file mlTypeDefTraits.h.

bool MLValuesAreEqualWOM ( MLint32  a,
MLint32  b 
) [inline]

Definition at line 165 of file mlTypeDefTraits.h.

bool MLValuesAreEqualWOM ( MLuint16  a,
MLuint16  b 
) [inline]

Definition at line 164 of file mlTypeDefTraits.h.

bool MLValuesAreEqualWOM ( MLint16  a,
MLint16  b 
) [inline]

Definition at line 163 of file mlTypeDefTraits.h.

bool MLValuesAreEqualWOM ( MLuint8  a,
MLuint8  b 
) [inline]

Definition at line 162 of file mlTypeDefTraits.h.

bool MLValuesAreEqualWOM ( MLint8  a,
MLint8  b 
) [inline]

template<typename T1 , typename T2 >
bool MLValuesDiffer ( T1  a,
T2  b,
MLint64   
) [inline]

Definition at line 155 of file mlTypeDefTraits.h.

bool MLValuesDiffer ( MLint64  a,
MLint64  b,
MLint64   
) [inline]

Definition at line 151 of file mlTypeDefTraits.h.

bool MLValuesDiffer ( MLuint64  a,
MLuint64  b,
MLuint64   
) [inline]

Definition at line 150 of file mlTypeDefTraits.h.

bool MLValuesDiffer ( MLldouble  a,
MLldouble  b,
MLldouble  m 
) [inline]

Definition at line 149 of file mlTypeDefTraits.h.

References MLFloatValuesEqual().

bool MLValuesDiffer ( MLdouble  a,
MLdouble  b,
MLdouble  m 
) [inline]

Definition at line 148 of file mlTypeDefTraits.h.

References MLFloatValuesEqual().

bool MLValuesDiffer ( MLfloat  a,
MLfloat  b,
MLfloat  m 
) [inline]

Definition at line 147 of file mlTypeDefTraits.h.

References MLFloatValuesEqual().

bool MLValuesDiffer ( MLuint32  a,
MLuint32  b,
MLuint32   
) [inline]

Definition at line 146 of file mlTypeDefTraits.h.

bool MLValuesDiffer ( MLint32  a,
MLint32  b,
MLint32   
) [inline]

Definition at line 145 of file mlTypeDefTraits.h.

bool MLValuesDiffer ( MLuint16  a,
MLuint16  b,
MLuint16   
) [inline]

Definition at line 144 of file mlTypeDefTraits.h.

bool MLValuesDiffer ( MLint16  a,
MLint16  b,
MLint16   
) [inline]

Definition at line 143 of file mlTypeDefTraits.h.

bool MLValuesDiffer ( MLuint8  a,
MLuint8  b,
MLuint8   
) [inline]

Definition at line 142 of file mlTypeDefTraits.h.

bool MLValuesDiffer ( MLint8  a,
MLint8  b,
MLint8   
) [inline]

Returns true if values differ (numerically safely compared), otherwise false.

For parameters see MLFloatValuesAreEqual.

Definition at line 141 of file mlTypeDefTraits.h.

template<typename T1 , typename T2 >
bool MLValuesDifferWOM ( T1  a,
T2  b 
) [inline]

Definition at line 195 of file mlTypeDefTraits.h.

bool MLValuesDifferWOM ( MLint64  a,
MLint64  b 
) [inline]

Definition at line 191 of file mlTypeDefTraits.h.

bool MLValuesDifferWOM ( MLuint64  a,
MLuint64  b 
) [inline]

Definition at line 190 of file mlTypeDefTraits.h.

bool MLValuesDifferWOM ( MLldouble  a,
MLldouble  b 
) [inline]

Definition at line 189 of file mlTypeDefTraits.h.

References ML_LDOUBLE_MIN, and MLfabs().

bool MLValuesDifferWOM ( MLdouble  a,
MLdouble  b 
) [inline]

Definition at line 188 of file mlTypeDefTraits.h.

References ML_DOUBLE_MIN, and MLfabs().

bool MLValuesDifferWOM ( MLfloat  a,
MLfloat  b 
) [inline]

Definition at line 187 of file mlTypeDefTraits.h.

References ML_FLOAT_MIN, and MLfabs().

bool MLValuesDifferWOM ( MLuint32  a,
MLuint32  b 
) [inline]

Definition at line 186 of file mlTypeDefTraits.h.

bool MLValuesDifferWOM ( MLint32  a,
MLint32  b 
) [inline]

Definition at line 185 of file mlTypeDefTraits.h.

bool MLValuesDifferWOM ( MLuint16  a,
MLuint16  b 
) [inline]

Definition at line 184 of file mlTypeDefTraits.h.

bool MLValuesDifferWOM ( MLint16  a,
MLint16  b 
) [inline]

Definition at line 183 of file mlTypeDefTraits.h.

bool MLValuesDifferWOM ( MLuint8  a,
MLuint8  b 
) [inline]

Definition at line 182 of file mlTypeDefTraits.h.

bool MLValuesDifferWOM ( MLint8  a,
MLint8  b 
) [inline]


Generated on Sat Sep 3 18:39:30 2011 for MeVisLab Toolbox Reference by  doxygen 1.5.8