ml::MLTStdTypeInfos< VTYP > Class Template Reference

Template class to register the standard integer classes as voxel types in the ML. More...

#include <mlStdTypeInfos.h>

Inheritance diagram for ml::MLTStdTypeInfos< VTYP >:

MLTypeInfos

List of all members.

Public Member Functions

 MLTStdTypeInfos ()
 Constructor.
template<>
void MLTYPE_negate (const MLTypeData *p, MLTypeData *q)
template<>
void MLTYPE_negate (const MLTypeData *p, MLTypeData *q)
template<>
void MLTYPE_negate (const MLTypeData *p, MLTypeData *q)
template<>
void MLTYPE_negate (const MLTypeData *p, MLTypeData *q)
template<>
void MLTYPE_binaryAndInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
template<>
void MLTYPE_binaryOrInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
template<>
void MLTYPE_binaryXorInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
template<>
void MLTYPE_binaryAndInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
template<>
void MLTYPE_binaryOrInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
template<>
void MLTYPE_binaryXorInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
template<>
void MLTYPE_binaryAndInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
template<>
void MLTYPE_binaryOrInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
template<>
void MLTYPE_binaryXorInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
template<>
void MLTYPE_binaryIntAnd (MLCTInt p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryIntOr (MLCTInt p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryIntXor (MLCTInt p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryIntAnd (MLCTInt p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryIntOr (MLCTInt p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryIntXor (MLCTInt p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryIntAnd (MLCTInt p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryIntOr (MLCTInt p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryIntXor (MLCTInt p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryAnd (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryOr (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryXor (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryAnd (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryOr (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryXor (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryAnd (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryOr (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
template<>
void MLTYPE_binaryXor (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)

Static Public Member Functions

Returns specialized data type names.
static const char * typeName (MLint8 *)
static const char * typeName (MLuint8 *)
static const char * typeName (MLint16 *)
static const char * typeName (MLuint16 *)
static const char * typeName (MLint32 *)
static const char * typeName (MLuint32 *)
static const char * typeName (MLfloat *)
static const char * typeName (MLdouble *)
static const char * typeName (MLldouble *)
static const char * typeName (MLint64 *)
static const char * typeName (MLuint64 *)
Methods to be overloaded by derived classes if the corresponding flag is true.
static char * MLTYPE_getStringValue (const MLTypeData *p)
 Return value as string to be freed by MLFree(). Use MLTypeComponentsToString() if possible.
static void MLTYPE_setStringValue (const char *s, MLTypeData *r)
 Convert string s to value and write result into r. Use MLTypeComponentsFromString() if possible.
static void MLTYPE_setToMinimum (MLTypeData *p)
 Sets value to minimum value. Must be implemented.
static void MLTYPE_setToMaximum (MLTypeData *p)
 Sets value to minimum value. Must be implemented.
static void MLTYPE_setToDefault (MLTypeData *p)
 Sets value to default value. Must be implemented.
static void MLTYPE_copy (const MLTypeData *p, MLTypeData *q)
 Copy first parameter to second one.
static MLCTBool MLTYPE_castToBool (const MLTypeData *p)
 Return parameter casted to bool. Typically false when it is identically to the default element, otherwise true.
static MLCTInt MLTYPE_castToInt (const MLTypeData *p)
 Return parameter casted to integer. Often the integer cast of the first component.
static MLdouble MLTYPE_castToDouble (const MLTypeData *p)
 Return parameter casted to double. Often the integer cast of the first component.
static void MLTYPE_castToOtherType (const MLTypeData *myData, const MLTypeInfos *otherInfos, MLTypeData *otherData)
 Return parameter casted to double. Usually implemented by default with function casting component wise.
static void MLTYPE_castFromBool (MLCTBool p, MLTypeData *q)
 Cast first parameters to data type and write it into second parameter. Often the default value on false, otherwise 1 casted to type.
static void MLTYPE_castFromInt (MLCTInt p, MLTypeData *q)
 Cast first parameters to data type and write it into second parameter.
static void MLTYPE_castFromDouble (MLdouble p, MLTypeData *q)
 Cast first parameters to data type and write it into second parameter.
static void MLTYPE_castFromOtherType (const MLTypeInfos *otherInfos, const MLTypeData *otherData, MLTypeData *myData)
 Cast first parameters to data type and write it into second parameter.
static void MLTYPE_binaryAndInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
 Binary AND parameter 1 with integer parameter 2 and write result into parameter 3. See also the implemented specializations for float types.
static void MLTYPE_binaryOrInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
 Binary OR parameter 1 with integer parameter 2 and write result into parameter 3. See also the implemented specializations for float types.
static void MLTYPE_binaryXorInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
 Binary XOR parameter 1 with integer parameter 2 and write result into parameter 3. See also the implemented specializations for float types.
static void MLTYPE_binaryIntAnd (MLCTInt p, const MLTypeData *q, MLTypeData *r)
 Binary AND integer parameter 1 with parameter 2 and write result into parameter 3. See also the implemented specializations for float types.
static void MLTYPE_binaryIntOr (MLCTInt p, const MLTypeData *q, MLTypeData *r)
 Binary OR integer parameter 1 with parameter 2 and write result into parameter 3. See also the implemented specializations for float types.
static void MLTYPE_binaryIntXor (MLCTInt p, const MLTypeData *q, MLTypeData *r)
 Binary XOR integer parameter 1 with parameter 2 and write result into parameter 3. See also the implemented specializations for float types.
static void MLTYPE_binaryAnd (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
 Binary AND parameter 1 with parameter 2 and write result into parameter 3. See also the implemented specializations for float types.
static void MLTYPE_binaryOr (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
 Binary OR parameter 1 with parameter 2 and write result into parameter 3. See also the implemented specializations for float types.
static void MLTYPE_binaryXor (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
 Binary XOR parameter 1 with parameter 2 and write result into parameter 3. See also the implemented specializations for float types.
static void MLTYPE_shiftLeft (const MLTypeData *p, MLCTInt q, MLTypeData *r)
 Implement shift left with int value. Use convenience function to support float values.
static void MLTYPE_shiftRight (const MLTypeData *p, MLCTInt q, MLTypeData *r)
 Implement shift right with int value. Use convenience function to support float values and shift rights by negative shift lefts.
static void MLTYPE_shiftIntLeft (MLCTInt p, const MLTypeData *q, MLTypeData *r)
 Implement int value shifted left by q.
static void MLTYPE_shiftIntRight (MLCTInt p, const MLTypeData *q, MLTypeData *r)
 Implement int value shifted right by q.
static MLCTBool MLTYPE_isEqualToInt (const MLTypeData *p, MLCTInt q)
 Return true if both parameters are equal, otherwise false.
static MLCTBool MLTYPE_isEqualToDouble (const MLTypeData *p, MLdouble q)
 Return true if both parameters are equal, otherwise false.
static MLCTBool MLTYPE_isIntEqualTo (MLCTInt p, const MLTypeData *q)
 Return true if both parameters are equal, otherwise false.
static MLCTBool MLTYPE_isDoubleEqualTo (MLdouble p, const MLTypeData *q)
 Return true if both parameters are equal, otherwise false.
static MLCTBool MLTYPE_isEqualToType (const MLTypeData *p, const MLTypeData *q)
 Return true if both parameters are equal, otherwise false.
static MLCTBool MLTYPE_isEqualToOtherType (const MLTypeInfos *otherInfos, const MLTypeData *otherData, const MLTypeData *myData)
 Return true if both parameters are equal, otherwise false.
static MLCTBool MLTYPE_isSmallerThanInt (const MLTypeData *p, MLCTInt q)
 Return true if parameter 1 is smaller than parameter 2, otherwise false.
static MLCTBool MLTYPE_isSmallerThanDouble (const MLTypeData *p, MLdouble q)
 Return true if parameter 1 is smaller than parameter 2, otherwise false.
static MLCTBool MLTYPE_isIntSmallerThan (MLCTInt p, const MLTypeData *q)
 Return true if parameter 1 is smaller than parameter 2, otherwise false.
static MLCTBool MLTYPE_isDoubleSmallerThan (MLdouble p, const MLTypeData *q)
 Return true if parameter 1 is smaller than parameter 2, otherwise false.
static MLCTBool MLTYPE_isSmallerThanType (const MLTypeData *p, const MLTypeData *q)
 Return true if parameter 1 is smaller than parameter 2, otherwise false.
static MLCTBool MLTYPE_isSmallerThanOtherType (const MLTypeInfos *otherInfos, const MLTypeData *otherData, const MLTypeData *myData)
 Return true if parameter 1 is smaller than parameter 2, otherwise false.
static MLCTBool MLTYPE_isGreaterThanInt (const MLTypeData *p, MLCTInt q)
 Return true if parameter 1 is greater than parameter 2, otherwise false.
static MLCTBool MLTYPE_isGreaterThanDouble (const MLTypeData *p, MLdouble q)
 Return true if parameter 1 is greater than parameter 2, otherwise false.
static MLCTBool MLTYPE_isIntGreaterThan (MLCTInt p, const MLTypeData *q)
 Return true if parameter 1 is greater than parameter 2, otherwise false.
static MLCTBool MLTYPE_isDoubleGreaterThan (MLdouble p, const MLTypeData *q)
 Return true if parameter 1 is greater than parameter 2, otherwise false.
static MLCTBool MLTYPE_isGreaterThanType (const MLTypeData *p, const MLTypeData *q)
 Return true if parameter 1 is greater than parameter 2, otherwise false.
static MLCTBool MLTYPE_isGreaterThanOtherType (const MLTypeInfos *otherInfos, const MLTypeData *otherData, const MLTypeData *myData)
 Return true if parameter 1 is greater than parameter 2, otherwise false.
static void MLTYPE_invert (const MLTypeData *p, MLTypeData *q)
 Invert the value. On integers always 0 on values > 1, 1 on 1 and _typeMax on 0.
static void MLTYPE_negate (const MLTypeData *p, MLTypeData *q)
 Negate the value. See also the specialized negations for unsigned types which leave value unchanged.
static void MLTYPE_normalize (const MLTypeData *, MLTypeData *q)
 Normalize type.
static void MLTYPE_multWithInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
 Implement multiplication with integer. Result written into parameter three.
static void MLTYPE_multWithDouble (const MLTypeData *p, MLdouble q, MLTypeData *r)
 Implement multiplication with double. Result written into parameter three.
static void MLTYPE_multIntWith (MLCTInt p, const MLTypeData *q, MLTypeData *r)
 Implement integer multiplication with type object. Result written into parameter three.
static void MLTYPE_multDoubleWith (MLdouble p, const MLTypeData *q, MLTypeData *r)
 Implement double multiplication with type object. Result written into parameter three.
static void MLTYPE_multWithType (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
 Implement multiplication with its own type. Result written into parameter three.
static void MLTYPE_multWithOtherType (const MLTypeInfos *otherInfos, const MLTypeData *otherData, const MLTypeData *myData, MLTypeData *r)
 Implement multiplication with another type. Result written into parameter three.
static void MLTYPE_divByInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
 Implement division by integer. Result written into parameter three.
static void MLTYPE_divByDouble (const MLTypeData *p, MLdouble q, MLTypeData *r)
 Implement division by double. Result written into parameter three.
static void MLTYPE_divIntBy (MLCTInt p, const MLTypeData *q, MLTypeData *r)
 Implement integer divided by type object. Result written into parameter three.
static void MLTYPE_divDoubleBy (MLdouble p, const MLTypeData *q, MLTypeData *r)
 Implement double divided by type object. Result written into parameter three.
static void MLTYPE_divByType (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
 Implement division by its own type. Result written into parameter three.
static void MLTYPE_divByOtherType (const MLTypeInfos *otherInfos, const MLTypeData *otherData, const MLTypeData *myData, MLTypeData *r)
 Implement division by another type. Result written into parameter three.
static void MLTYPE_plusInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
 Implement integer addition to parameter one. Result written into parameter three.
static void MLTYPE_plusDouble (const MLTypeData *p, MLdouble q, MLTypeData *r)
 Implement double addition to parameter one. Result written into parameter three.
static void MLTYPE_intPlus (MLCTInt p, const MLTypeData *q, MLTypeData *r)
 Implement integer added with type object. Result written into parameter three.
static void MLTYPE_doublePlus (MLdouble p, const MLTypeData *q, MLTypeData *r)
 Implement double added with type object. Result written into parameter three.
static void MLTYPE_plusType (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
 Implement parameter two addition to parameter one. Result written into parameter three.
static void MLTYPE_plusOtherType (const MLTypeInfos *otherInfos, const MLTypeData *otherData, const MLTypeData *myData, MLTypeData *r)
 Implement parameter two addition (of another type) to parameter one. Result written into parameter three.
static void MLTYPE_minusInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
 Implement integer subtracted from type. Result written into parameter three.
static void MLTYPE_minusDouble (const MLTypeData *p, MLdouble q, MLTypeData *r)
 Implement double subtracted from type. Result written into parameter three.
static void MLTYPE_intMinus (MLCTInt p, const MLTypeData *q, MLTypeData *r)
 Implement integer minus type object. Result written into parameter three.
static void MLTYPE_doubleMinus (MLdouble p, const MLTypeData *q, MLTypeData *r)
 Implement double minus type object. Result written into parameter three.
static void MLTYPE_minusType (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
 Implement its own type subtracted from type. Result written into parameter three.
static void MLTYPE_minusOtherType (const MLTypeInfos *otherInfos, const MLTypeData *otherData, const MLTypeData *myData, MLTypeData *r)
 Implement another type subtracted from type. Result written into parameter three.
static void MLTYPE_powerOfInt (const MLTypeData *p, MLCTInt q, MLTypeData *r)
 Implement type potentiated with integer. Result written into parameter three.
static void MLTYPE_powerOfDouble (const MLTypeData *p, MLdouble q, MLTypeData *r)
 Implement type potentiated with double. Result written into parameter three.
static void MLTYPE_powerIntOf (MLCTInt p, const MLTypeData *q, MLTypeData *r)
 Implement integer minus type object. Result written into parameter three.
static void MLTYPE_powerDoubleOf (MLdouble p, const MLTypeData *q, MLTypeData *r)
 Implement type potentiated with its own type. Result written into parameter three.
static void MLTYPE_powerOfType (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
 Implement type potentiated with its own type. Result written into parameter three.
static void MLTYPE_powerOfOtherType (const MLTypeInfos *otherInfos, const MLTypeData *otherData, const MLTypeData *myData, MLTypeData *r)
 Implement type potentiated with its own type. Result written into parameter three.
Implement e.g., trigonometric functions from type data in *p. Result is returned in *r.
static void MLTYPE_sinOfType (const MLTypeData *p, MLTypeData *r)
static void MLTYPE_cosOfType (const MLTypeData *p, MLTypeData *r)
static void MLTYPE_tanOfType (const MLTypeData *p, MLTypeData *r)
static void MLTYPE_asinOfType (const MLTypeData *p, MLTypeData *r)
static void MLTYPE_acosOfType (const MLTypeData *p, MLTypeData *r)
static void MLTYPE_atanOfType (const MLTypeData *p, MLTypeData *r)
static void MLTYPE_sinhOfType (const MLTypeData *p, MLTypeData *r)
static void MLTYPE_coshOfType (const MLTypeData *p, MLTypeData *r)
static void MLTYPE_tanhOfType (const MLTypeData *p, MLTypeData *r)
static void MLTYPE_expOfType (const MLTypeData *p, MLTypeData *r)
static void MLTYPE_logOfType (const MLTypeData *p, MLTypeData *r)
static void MLTYPE_sqrtOfType (const MLTypeData *p, MLTypeData *r)

Protected Member Functions

Return the correct equivalent for range and precision routines.
MLPhysicalDataType _rangeAndPrecisionEquiv (MLint8)
MLPhysicalDataType _rangeAndPrecisionEquiv (MLuint8)
MLPhysicalDataType _rangeAndPrecisionEquiv (MLint16)
MLPhysicalDataType _rangeAndPrecisionEquiv (MLuint16)
MLPhysicalDataType _rangeAndPrecisionEquiv (MLint32)
MLPhysicalDataType _rangeAndPrecisionEquiv (MLuint32)
MLPhysicalDataType _rangeAndPrecisionEquiv (MLfloat)
MLPhysicalDataType _rangeAndPrecisionEquiv (MLdouble)
MLPhysicalDataType _rangeAndPrecisionEquiv (MLldouble)
MLPhysicalDataType _rangeAndPrecisionEquiv (MLint64)
MLPhysicalDataType _rangeAndPrecisionEquiv (MLuint64)
Return types and number of them to which this type can be casted without information loss.
void _getGoodCastTos (MLint8, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLuint8, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLint16, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLuint16, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLint32, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLuint32, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLfloat, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLdouble, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLldouble, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLint64, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLuint64, MLuint &num, const char **&typeNames)

Static Protected Attributes

static const VTYP _typeMin
 Permanent instance of the IntVector minimum.
static const VTYP _typeMax
 Permanent instance of the IntVector maximum.
static const VTYP _typeDefault = VTYP(0)
 Permanent instance of the IntVector default value.
static const char _typeInfoString [_ML_STD_SLEN]
 Permanent instance of the IntVector component description.
static MLTypeInfos_myInfos = NULL
 Permanent instance of a pointer to the typeInfos used by this class.
static MLint32 _numInstances = 0
 Number of instances of this class.


Detailed Description

template<typename VTYP>
class ml::MLTStdTypeInfos< VTYP >

Template class to register the standard integer classes as voxel types in the ML.

Definition at line 41 of file mlStdTypeInfos.h.


Constructor & Destructor Documentation

template<typename VTYP >
ml::MLTStdTypeInfos< VTYP >::MLTStdTypeInfos (  )  [inline]

Constructor.

In derived classes all members must be set correctly dependent on the properties of the described data type. The more properties are implemented the more module can support this data type. See MLTypeInfos.

Assign all pointers to the static functions implementing the operations.

Initialization of the main properties of MLTypeInfos. Returns 1(=true) on success, 0(=false) on failure. Initialize the data type information.

-Define sizeof of real data type (not the size of the carrying byte type)

-Define string name of data type.

-Set minimum and maximum double values. Notes: Try to select values which will not be exceeded when the new type is casted to double. Try to select values which are converted to the types's minimum/maximum after casting them to the new type. However, that's desirable but not really necessary.

-Set pointers to a permanent instances of the the data type minimum and maximum value. Notes: Try to select minimum and maximum value so that they match to minimum and maximum double value after casting them to double. However, that's desirable but not really necessary.

-Set pointer to a permanent instance of the the data type default value in derived class. Notes: This value will be used when initializing or completing incomplete type components e.g., after incomplete string scans or casts. This value will also be used as a 0-element. This value will be used as "false" on boolean casts in the default implementation. All other values will be considered as "true".

-Set pointer to a permanent null-terminated string describing the type configuration. It is needed for most default implementations of the type, e.g., correct big endian/little endian conversions when storing loading this data, for automatic casts to other type etc. It must exactly describe the type configuration. Use

  1. 'b' for a boolean.
  2. 'c' for an unsigned character.
  3. 'C' for a (signed) character.
  4. 's' for an unsigned short.
  5. 'S' for a signed short.
  6. 'i' for an unsigned int.
  7. 'I' for a signed int.
  8. 'l' for an unsigned long.
  9. 'L' for a signed long.
  10. '6' for a 64 bit signed integer.
  11. '9' for a 64 bit unsigned integer.
  12. 'f' for a float.
  13. 'd' for a double.
  14. 'D' for a long double.

So a data type consisting of a float[3], a bool, and two signed integers would lead to "fffbII".

-Pass true if it is a basic type, i.e., one of the following: (unsigned) char, (unsigned) short, (unsigned) int, (unsigned) long, float, double, long double or MLint64.

-Pass a standard data type (not a carrier type!) which has comparable range and precision behavior.

-componentAddresses is an array of pointers to the components of an example data instance so that gaps between components can be evaluated. It must contain exactly as many pointers as the length of typeStructInfo.

Take a type instance and create an array of addresses to all of it is components.

Definition at line 290 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_CHECK_THROW, ML_PRINT_FATAL_ERROR, ML_PROGRAMMING_ERROR, ML_TRACE_IN, ML_TRY, ML_TYPE_ASSIGN_FUNCTION_POINTERS, and MLTypeInfosInit().


Member Function Documentation

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLuint64  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 260 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLint64  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 244 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLldouble  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 234 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLdouble  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 220 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLfloat  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 205 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLuint32  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 187 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLint32  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 170 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLuint16  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 150 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLint16  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 132 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLuint8  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 110 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLint8  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 91 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
MLPhysicalDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLuint64   )  [inline, protected]

Definition at line 86 of file mlStdTypeInfos.h.

References MLuint64Type.

template<typename VTYP >
MLPhysicalDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLint64   )  [inline, protected]

Definition at line 85 of file mlStdTypeInfos.h.

References MLint64Type.

template<typename VTYP >
MLPhysicalDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLldouble   )  [inline, protected]

Definition at line 84 of file mlStdTypeInfos.h.

References MLldoubleType.

template<typename VTYP >
MLPhysicalDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLdouble   )  [inline, protected]

Definition at line 83 of file mlStdTypeInfos.h.

References MLdoubleType.

template<typename VTYP >
MLPhysicalDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLfloat   )  [inline, protected]

Definition at line 82 of file mlStdTypeInfos.h.

References MLfloatType.

template<typename VTYP >
MLPhysicalDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLuint32   )  [inline, protected]

Definition at line 81 of file mlStdTypeInfos.h.

References MLuint32Type.

template<typename VTYP >
MLPhysicalDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLint32   )  [inline, protected]

Definition at line 80 of file mlStdTypeInfos.h.

References MLint32Type.

template<typename VTYP >
MLPhysicalDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLuint16   )  [inline, protected]

Definition at line 79 of file mlStdTypeInfos.h.

References MLuint16Type.

template<typename VTYP >
MLPhysicalDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLint16   )  [inline, protected]

Definition at line 78 of file mlStdTypeInfos.h.

References MLint16Type.

template<typename VTYP >
MLPhysicalDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLuint8   )  [inline, protected]

Definition at line 77 of file mlStdTypeInfos.h.

References MLuint8Type.

template<typename VTYP >
MLPhysicalDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLint8   )  [inline, protected]

Definition at line 76 of file mlStdTypeInfos.h.

References MLint8Type.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_acosOfType ( const MLTypeData p,
MLTypeData r 
) [inline, static]

Definition at line 605 of file mlStdTypeInfos.h.

References acos(), and ML_CALC_FTYPE.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_asinOfType ( const MLTypeData p,
MLTypeData r 
) [inline, static]

Definition at line 604 of file mlStdTypeInfos.h.

References asin(), and ML_CALC_FTYPE.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_atanOfType ( const MLTypeData p,
MLTypeData r 
) [inline, static]

Definition at line 606 of file mlStdTypeInfos.h.

References atan(), and ML_CALC_FTYPE.

template<>
void ml::MLTStdTypeInfos< MLldouble >::MLTYPE_binaryAnd ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline]

Definition at line 653 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryAnd().

template<>
void ml::MLTStdTypeInfos< MLdouble >::MLTYPE_binaryAnd ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline]

Definition at line 650 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryAnd().

template<>
void ml::MLTStdTypeInfos< MLfloat >::MLTYPE_binaryAnd ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline]

Definition at line 647 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryAnd().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_binaryAnd ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Binary AND parameter 1 with parameter 2 and write result into parameter 3. See also the implemented specializations for float types.

Definition at line 451 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLldouble >::MLTYPE_binaryAndInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline]

template<>
void ml::MLTStdTypeInfos< MLdouble >::MLTYPE_binaryAndInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline]

template<>
void ml::MLTStdTypeInfos< MLfloat >::MLTYPE_binaryAndInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline]

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_binaryAndInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline, static]

Binary AND parameter 1 with integer parameter 2 and write result into parameter 3. See also the implemented specializations for float types.

Definition at line 437 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLldouble >::MLTYPE_binaryIntAnd ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline]

template<>
void ml::MLTStdTypeInfos< MLdouble >::MLTYPE_binaryIntAnd ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline]

template<>
void ml::MLTStdTypeInfos< MLfloat >::MLTYPE_binaryIntAnd ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline]

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_binaryIntAnd ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Binary AND integer parameter 1 with parameter 2 and write result into parameter 3. See also the implemented specializations for float types.

Definition at line 444 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLldouble >::MLTYPE_binaryIntOr ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline]

Definition at line 644 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryOrInt().

template<>
void ml::MLTStdTypeInfos< MLdouble >::MLTYPE_binaryIntOr ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline]

Definition at line 641 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryOrInt().

template<>
void ml::MLTStdTypeInfos< MLfloat >::MLTYPE_binaryIntOr ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline]

Definition at line 638 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryOrInt().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_binaryIntOr ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Binary OR integer parameter 1 with parameter 2 and write result into parameter 3. See also the implemented specializations for float types.

Definition at line 446 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLldouble >::MLTYPE_binaryIntXor ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline]

template<>
void ml::MLTStdTypeInfos< MLdouble >::MLTYPE_binaryIntXor ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline]

template<>
void ml::MLTStdTypeInfos< MLfloat >::MLTYPE_binaryIntXor ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline]

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_binaryIntXor ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Binary XOR integer parameter 1 with parameter 2 and write result into parameter 3. See also the implemented specializations for float types.

Definition at line 448 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLldouble >::MLTYPE_binaryOr ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline]

Definition at line 654 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryOr().

template<>
void ml::MLTStdTypeInfos< MLdouble >::MLTYPE_binaryOr ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline]

Definition at line 651 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryOr().

template<>
void ml::MLTStdTypeInfos< MLfloat >::MLTYPE_binaryOr ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline]

Definition at line 648 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryOr().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_binaryOr ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Binary OR parameter 1 with parameter 2 and write result into parameter 3. See also the implemented specializations for float types.

Definition at line 453 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLldouble >::MLTYPE_binaryOrInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline]

Definition at line 634 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryOrInt().

template<>
void ml::MLTStdTypeInfos< MLdouble >::MLTYPE_binaryOrInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline]

Definition at line 631 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryOrInt().

template<>
void ml::MLTStdTypeInfos< MLfloat >::MLTYPE_binaryOrInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline]

Definition at line 628 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryOrInt().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_binaryOrInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline, static]

Binary OR parameter 1 with integer parameter 2 and write result into parameter 3. See also the implemented specializations for float types.

Definition at line 439 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLldouble >::MLTYPE_binaryXor ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline]

Definition at line 655 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryXor().

template<>
void ml::MLTStdTypeInfos< MLdouble >::MLTYPE_binaryXor ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline]

Definition at line 652 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryXor().

template<>
void ml::MLTStdTypeInfos< MLfloat >::MLTYPE_binaryXor ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline]

Definition at line 649 of file mlStdTypeInfos.h.

References ml::MLTStdTypeInfos< VTYP >::_myInfos, and MLTypeBinaryXor().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_binaryXor ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Binary XOR parameter 1 with parameter 2 and write result into parameter 3. See also the implemented specializations for float types.

Definition at line 455 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLldouble >::MLTYPE_binaryXorInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline]

template<>
void ml::MLTStdTypeInfos< MLdouble >::MLTYPE_binaryXorInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline]

template<>
void ml::MLTStdTypeInfos< MLfloat >::MLTYPE_binaryXorInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline]

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_binaryXorInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline, static]

Binary XOR parameter 1 with integer parameter 2 and write result into parameter 3. See also the implemented specializations for float types.

Definition at line 441 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_castFromBool ( MLCTBool  p,
MLTypeData q 
) [inline, static]

Cast first parameters to data type and write it into second parameter. Often the default value on false, otherwise 1 casted to type.

Definition at line 427 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_castFromDouble ( MLdouble  p,
MLTypeData q 
) [inline, static]

Cast first parameters to data type and write it into second parameter.

Definition at line 431 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_castFromInt ( MLCTInt  p,
MLTypeData q 
) [inline, static]

Cast first parameters to data type and write it into second parameter.

Definition at line 429 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_castFromOtherType ( const MLTypeInfos otherInfos,
const MLTypeData otherData,
MLTypeData myData 
) [inline, static]

Cast first parameters to data type and write it into second parameter.

Definition at line 433 of file mlStdTypeInfos.h.

References MLTypeCastToOtherType().

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_castToBool ( const MLTypeData p  )  [inline, static]

Return parameter casted to bool. Typically false when it is identically to the default element, otherwise true.

Definition at line 418 of file mlStdTypeInfos.h.

References MLValuesDifferWOM().

template<typename VTYP >
static MLdouble ml::MLTStdTypeInfos< VTYP >::MLTYPE_castToDouble ( const MLTypeData p  )  [inline, static]

Return parameter casted to double. Often the integer cast of the first component.

Definition at line 422 of file mlStdTypeInfos.h.

template<typename VTYP >
static MLCTInt ml::MLTStdTypeInfos< VTYP >::MLTYPE_castToInt ( const MLTypeData p  )  [inline, static]

Return parameter casted to integer. Often the integer cast of the first component.

Definition at line 420 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_castToOtherType ( const MLTypeData myData,
const MLTypeInfos otherInfos,
MLTypeData otherData 
) [inline, static]

Return parameter casted to double. Usually implemented by default with function casting component wise.

Definition at line 424 of file mlStdTypeInfos.h.

References MLTypeCastToOtherType().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_copy ( const MLTypeData p,
MLTypeData q 
) [inline, static]

Copy first parameter to second one.

Definition at line 415 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_coshOfType ( const MLTypeData p,
MLTypeData r 
) [inline, static]

Definition at line 608 of file mlStdTypeInfos.h.

References cosh(), and ML_CALC_FTYPE.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_cosOfType ( const MLTypeData p,
MLTypeData r 
) [inline, static]

Definition at line 602 of file mlStdTypeInfos.h.

References cos(), and ML_CALC_FTYPE.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_divByDouble ( const MLTypeData p,
MLdouble  q,
MLTypeData r 
) [inline, static]

Implement division by double. Result written into parameter three.

Definition at line 539 of file mlStdTypeInfos.h.

References ML_CHECK_THROW, and ML_TRACE_IN.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_divByInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline, static]

Implement division by integer. Result written into parameter three.

Definition at line 536 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_divByOtherType ( const MLTypeInfos otherInfos,
const MLTypeData otherData,
const MLTypeData myData,
MLTypeData r 
) [inline, static]

Implement division by another type. Result written into parameter three.

Definition at line 553 of file mlStdTypeInfos.h.

References MLTypeDivByOtherType().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_divByType ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement division by its own type. Result written into parameter three.

Definition at line 551 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_divDoubleBy ( MLdouble  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement double divided by type object. Result written into parameter three.

Definition at line 549 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_divIntBy ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement integer divided by type object. Result written into parameter three.

Definition at line 547 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_doubleMinus ( MLdouble  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement double minus type object. Result written into parameter three.

Definition at line 577 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_doublePlus ( MLdouble  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement double added with type object. Result written into parameter three.

Definition at line 563 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_expOfType ( const MLTypeData p,
MLTypeData r 
) [inline, static]

Definition at line 610 of file mlStdTypeInfos.h.

References exp(), and ML_CALC_FTYPE.

template<typename VTYP >
static char* ml::MLTStdTypeInfos< VTYP >::MLTYPE_getStringValue ( const MLTypeData p  )  [inline, static]

Return value as string to be freed by MLFree(). Use MLTypeComponentsToString() if possible.

Definition at line 404 of file mlStdTypeInfos.h.

References MLTypeComponentsToString().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_intMinus ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement integer minus type object. Result written into parameter three.

Definition at line 575 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_intPlus ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement integer added with type object. Result written into parameter three.

Definition at line 561 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_invert ( const MLTypeData p,
MLTypeData q 
) [inline, static]

Invert the value. On integers always 0 on values > 1, 1 on 1 and _typeMax on 0.

Definition at line 514 of file mlStdTypeInfos.h.

References MLValuesAreEqualWOM().

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isDoubleEqualTo ( MLdouble  p,
const MLTypeData q 
) [inline, static]

Return true if both parameters are equal, otherwise false.

Definition at line 474 of file mlStdTypeInfos.h.

References MLValuesAreEqualWOM().

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isDoubleGreaterThan ( MLdouble  p,
const MLTypeData q 
) [inline, static]

Return true if parameter 1 is greater than parameter 2, otherwise false.

Definition at line 504 of file mlStdTypeInfos.h.

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isDoubleSmallerThan ( MLdouble  p,
const MLTypeData q 
) [inline, static]

Return true if parameter 1 is smaller than parameter 2, otherwise false.

Definition at line 488 of file mlStdTypeInfos.h.

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isEqualToDouble ( const MLTypeData p,
MLdouble  q 
) [inline, static]

Return true if both parameters are equal, otherwise false.

Definition at line 470 of file mlStdTypeInfos.h.

References MLValuesAreEqualWOM().

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isEqualToInt ( const MLTypeData p,
MLCTInt  q 
) [inline, static]

Return true if both parameters are equal, otherwise false.

Definition at line 468 of file mlStdTypeInfos.h.

References MLValuesAreEqualWOM().

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isEqualToOtherType ( const MLTypeInfos otherInfos,
const MLTypeData otherData,
const MLTypeData myData 
) [inline, static]

Return true if both parameters are equal, otherwise false.

Definition at line 478 of file mlStdTypeInfos.h.

References MLTypeIsEqualToOtherType().

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isEqualToType ( const MLTypeData p,
const MLTypeData q 
) [inline, static]

Return true if both parameters are equal, otherwise false.

Definition at line 476 of file mlStdTypeInfos.h.

References MLValuesAreEqualWOM().

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isGreaterThanDouble ( const MLTypeData p,
MLdouble  q 
) [inline, static]

Return true if parameter 1 is greater than parameter 2, otherwise false.

Definition at line 500 of file mlStdTypeInfos.h.

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isGreaterThanInt ( const MLTypeData p,
MLCTInt  q 
) [inline, static]

Return true if parameter 1 is greater than parameter 2, otherwise false.

Definition at line 498 of file mlStdTypeInfos.h.

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isGreaterThanOtherType ( const MLTypeInfos otherInfos,
const MLTypeData otherData,
const MLTypeData myData 
) [inline, static]

Return true if parameter 1 is greater than parameter 2, otherwise false.

For vectors usually a lexicographically comparison should be used, like on strings.

Definition at line 510 of file mlStdTypeInfos.h.

References MLTypeIsGreaterThanOtherType().

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isGreaterThanType ( const MLTypeData p,
const MLTypeData q 
) [inline, static]

Return true if parameter 1 is greater than parameter 2, otherwise false.

For vectors usually a lexicographically comparison should be used, like on strings.

Definition at line 507 of file mlStdTypeInfos.h.

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isIntEqualTo ( MLCTInt  p,
const MLTypeData q 
) [inline, static]

Return true if both parameters are equal, otherwise false.

Definition at line 472 of file mlStdTypeInfos.h.

References MLValuesAreEqualWOM().

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isIntGreaterThan ( MLCTInt  p,
const MLTypeData q 
) [inline, static]

Return true if parameter 1 is greater than parameter 2, otherwise false.

Definition at line 502 of file mlStdTypeInfos.h.

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isIntSmallerThan ( MLCTInt  p,
const MLTypeData q 
) [inline, static]

Return true if parameter 1 is smaller than parameter 2, otherwise false.

Definition at line 486 of file mlStdTypeInfos.h.

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isSmallerThanDouble ( const MLTypeData p,
MLdouble  q 
) [inline, static]

Return true if parameter 1 is smaller than parameter 2, otherwise false.

Definition at line 484 of file mlStdTypeInfos.h.

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isSmallerThanInt ( const MLTypeData p,
MLCTInt  q 
) [inline, static]

Return true if parameter 1 is smaller than parameter 2, otherwise false.

Definition at line 482 of file mlStdTypeInfos.h.

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isSmallerThanOtherType ( const MLTypeInfos otherInfos,
const MLTypeData otherData,
const MLTypeData myData 
) [inline, static]

Return true if parameter 1 is smaller than parameter 2, otherwise false.

For vectors usually a lexicographically comparison should be used, like on strings.

Definition at line 494 of file mlStdTypeInfos.h.

References MLTypeIsSmallerThanOtherType().

template<typename VTYP >
static MLCTBool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isSmallerThanType ( const MLTypeData p,
const MLTypeData q 
) [inline, static]

Return true if parameter 1 is smaller than parameter 2, otherwise false.

For vectors usually a lexicographically comparison should be used, like on strings.

Definition at line 491 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_logOfType ( const MLTypeData p,
MLTypeData r 
) [inline, static]

Definition at line 611 of file mlStdTypeInfos.h.

References log(), and ML_CALC_FTYPE.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_minusDouble ( const MLTypeData p,
MLdouble  q,
MLTypeData r 
) [inline, static]

Implement double subtracted from type. Result written into parameter three.

Definition at line 573 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_minusInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline, static]

Implement integer subtracted from type. Result written into parameter three.

Definition at line 571 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_minusOtherType ( const MLTypeInfos otherInfos,
const MLTypeData otherData,
const MLTypeData myData,
MLTypeData r 
) [inline, static]

Implement another type subtracted from type. Result written into parameter three.

Definition at line 581 of file mlStdTypeInfos.h.

References MLTypeSubtractOtherType().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_minusType ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement its own type subtracted from type. Result written into parameter three.

Definition at line 579 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_multDoubleWith ( MLdouble  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement double multiplication with type object. Result written into parameter three.

Definition at line 528 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_multIntWith ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement integer multiplication with type object. Result written into parameter three.

Definition at line 526 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_multWithDouble ( const MLTypeData p,
MLdouble  q,
MLTypeData r 
) [inline, static]

Implement multiplication with double. Result written into parameter three.

Definition at line 524 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_multWithInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline, static]

Implement multiplication with integer. Result written into parameter three.

Definition at line 522 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_multWithOtherType ( const MLTypeInfos otherInfos,
const MLTypeData otherData,
const MLTypeData myData,
MLTypeData r 
) [inline, static]

Implement multiplication with another type. Result written into parameter three.

Definition at line 532 of file mlStdTypeInfos.h.

References MLTypeMultWithOtherType().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_multWithType ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement multiplication with its own type. Result written into parameter three.

Definition at line 530 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLuint64 >::MLTYPE_negate ( const MLTypeData p,
MLTypeData q 
) [inline]

Definition at line 624 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLuint32 >::MLTYPE_negate ( const MLTypeData p,
MLTypeData q 
) [inline]

Definition at line 623 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLuint16 >::MLTYPE_negate ( const MLTypeData p,
MLTypeData q 
) [inline]

Definition at line 622 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLuint8 >::MLTYPE_negate ( const MLTypeData p,
MLTypeData q 
) [inline]

Definition at line 621 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_negate ( const MLTypeData p,
MLTypeData q 
) [inline, static]

Negate the value. See also the specialized negations for unsigned types which leave value unchanged.

Definition at line 516 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_normalize ( const MLTypeData ,
MLTypeData q 
) [inline, static]

Normalize type.

Definition at line 519 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_plusDouble ( const MLTypeData p,
MLdouble  q,
MLTypeData r 
) [inline, static]

Implement double addition to parameter one. Result written into parameter three.

Definition at line 559 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_plusInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline, static]

Implement integer addition to parameter one. Result written into parameter three.

Definition at line 557 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_plusOtherType ( const MLTypeInfos otherInfos,
const MLTypeData otherData,
const MLTypeData myData,
MLTypeData r 
) [inline, static]

Implement parameter two addition (of another type) to parameter one. Result written into parameter three.

Definition at line 567 of file mlStdTypeInfos.h.

References MLTypeAddOtherType().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_plusType ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement parameter two addition to parameter one. Result written into parameter three.

Definition at line 565 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_powerDoubleOf ( MLdouble  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement type potentiated with its own type. Result written into parameter three.

Definition at line 591 of file mlStdTypeInfos.h.

References ML_CALC_FTYPE, and pow().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_powerIntOf ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement integer minus type object. Result written into parameter three.

Definition at line 589 of file mlStdTypeInfos.h.

References ML_CALC_FTYPE, and pow().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_powerOfDouble ( const MLTypeData p,
MLdouble  q,
MLTypeData r 
) [inline, static]

Implement type potentiated with double. Result written into parameter three.

Definition at line 587 of file mlStdTypeInfos.h.

References ML_CALC_FTYPE, and pow().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_powerOfInt ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline, static]

Implement type potentiated with integer. Result written into parameter three.

Definition at line 585 of file mlStdTypeInfos.h.

References ML_CALC_FTYPE, and pow().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_powerOfOtherType ( const MLTypeInfos otherInfos,
const MLTypeData otherData,
const MLTypeData myData,
MLTypeData r 
) [inline, static]

Implement type potentiated with its own type. Result written into parameter three.

Definition at line 595 of file mlStdTypeInfos.h.

References MLTypePowerOfOtherType().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_powerOfType ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement type potentiated with its own type. Result written into parameter three.

Definition at line 593 of file mlStdTypeInfos.h.

References ML_CALC_FTYPE, and pow().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_setStringValue ( const char *  s,
MLTypeData r 
) [inline, static]

Convert string s to value and write result into r. Use MLTypeComponentsFromString() if possible.

Definition at line 406 of file mlStdTypeInfos.h.

References MLTypeComponentsFromString().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_setToDefault ( MLTypeData p  )  [inline, static]

Sets value to default value. Must be implemented.

Definition at line 413 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_setToMaximum ( MLTypeData p  )  [inline, static]

Sets value to minimum value. Must be implemented.

Definition at line 411 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_setToMinimum ( MLTypeData p  )  [inline, static]

Sets value to minimum value. Must be implemented.

Definition at line 409 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_shiftIntLeft ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement int value shifted left by q.

Definition at line 463 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_shiftIntRight ( MLCTInt  p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement int value shifted right by q.

Definition at line 465 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_shiftLeft ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline, static]

Implement shift left with int value. Use convenience function to support float values.

Definition at line 458 of file mlStdTypeInfos.h.

References MLTypeShiftComponentsLeft().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_shiftRight ( const MLTypeData p,
MLCTInt  q,
MLTypeData r 
) [inline, static]

Implement shift right with int value. Use convenience function to support float values and shift rights by negative shift lefts.

Definition at line 460 of file mlStdTypeInfos.h.

References MLTypeShiftComponentsLeft().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_sinhOfType ( const MLTypeData p,
MLTypeData r 
) [inline, static]

Definition at line 607 of file mlStdTypeInfos.h.

References ML_CALC_FTYPE, and sinh().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_sinOfType ( const MLTypeData p,
MLTypeData r 
) [inline, static]

Definition at line 601 of file mlStdTypeInfos.h.

References ML_CALC_FTYPE, and sin().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_sqrtOfType ( const MLTypeData p,
MLTypeData r 
) [inline, static]

Definition at line 612 of file mlStdTypeInfos.h.

References ML_CALC_FTYPE, and sqrt().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_tanhOfType ( const MLTypeData p,
MLTypeData r 
) [inline, static]

Definition at line 609 of file mlStdTypeInfos.h.

References ML_CALC_FTYPE, and tanh().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_tanOfType ( const MLTypeData p,
MLTypeData r 
) [inline, static]

Definition at line 603 of file mlStdTypeInfos.h.

References ML_CALC_FTYPE, and tan().

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLuint64  )  [inline, static]

Definition at line 58 of file mlStdTypeInfos.h.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLint64  )  [inline, static]

Definition at line 57 of file mlStdTypeInfos.h.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLldouble  )  [inline, static]

Definition at line 56 of file mlStdTypeInfos.h.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLdouble  )  [inline, static]

Definition at line 55 of file mlStdTypeInfos.h.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLfloat  )  [inline, static]

Definition at line 54 of file mlStdTypeInfos.h.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLuint32  )  [inline, static]

Definition at line 53 of file mlStdTypeInfos.h.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLint32  )  [inline, static]

Definition at line 52 of file mlStdTypeInfos.h.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLuint16  )  [inline, static]

Definition at line 51 of file mlStdTypeInfos.h.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLint16  )  [inline, static]

Definition at line 50 of file mlStdTypeInfos.h.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLuint8  )  [inline, static]

Definition at line 49 of file mlStdTypeInfos.h.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLint8  )  [inline, static]

Definition at line 48 of file mlStdTypeInfos.h.


Member Data Documentation

template<typename VTYP >
MLTypeInfos * ml::MLTStdTypeInfos< VTYP >::_myInfos = NULL [inline, static, protected]

template<typename VTYP >
MLint32 ml::MLTStdTypeInfos< VTYP >::_numInstances = 0 [inline, static, protected]

Number of instances of this class.

To avoid that more than one instance is created

Definition at line 283 of file mlStdTypeInfos.h.

template<typename VTYP >
const VTYP ml::MLTStdTypeInfos< VTYP >::_typeDefault = VTYP(0) [inline, static, protected]

Permanent instance of the IntVector default value.

Definition at line 69 of file mlStdTypeInfos.h.

template<typename VTYP >
const char ml::MLTStdTypeInfos< VTYP >::_typeInfoString[_ML_STD_SLEN] [static, protected]

Permanent instance of the IntVector component description.

Definition at line 72 of file mlStdTypeInfos.h.

template<typename VTYP >
const VTYP ml::MLTStdTypeInfos< VTYP >::_typeMax [static, protected]

Permanent instance of the IntVector maximum.

Definition at line 66 of file mlStdTypeInfos.h.

template<typename VTYP >
const VTYP ml::MLTStdTypeInfos< VTYP >::_typeMin [static, protected]

Permanent instance of the IntVector minimum.

Definition at line 63 of file mlStdTypeInfos.h.


The documentation for this class was generated from the following file:

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