ML Reference
mlModuleMacros.h File Reference
#include <mlMacros.h>

Go to the source code of this file.

Macros

#define ML_EMPTY_PARAM
 Defines implementation macros for the method calculateOutputSubImage and some other macro stuff often used in the ML.
 
#define ML_INSTANTIATE_STANDARD_SIGNED_INT_TYPES(PASSED_CODE)
 Like ML_INSTANTIATE_STANDARD_TYPES, but only for standard signed integer data types.
 
#define ML_INSTANTIATE_STANDARD_UNSIGNED_INT_TYPES(PASSED_CODE)
 Like ML_INSTANTIATE_STANDARD_TYPES, but only for standard unsigned integer data types.
 
#define ML_INSTANTIATE_STANDARD_INT_TYPES(PASSED_CODE)
 Like ML_INSTANTIATE_STANDARD_TYPES, but only for standard integer data types.
 
#define ML_INSTANTIATE_STANDARD_FLOAT_TYPES(PASSED_CODE)
 Like ML_INSTANTIATE_STANDARD_TYPES, but only for standard floating point data types.
 
#define ML_INSTANTIATE_STANDARD_TYPES(PASSED_CODE)
 The ML_INSTANTIATE_STANDARD_TYPES macro is useful to force instantiation of the code passed as parameter for all standard ML data types.
 
#define ML_INSTANTIATE_DEFAULT_EXTENDED_TYPES(PASSED_CODE)
 Like ML_INSTANTIATE_STANDARD_TYPES, but only for the default extended data types.
 
#define ML_INSTANTIATE_ALL_TYPES(PASSED_CODE)
 Like ML_INSTANTIATE_STANDARD_TYPES, but for all default ML data types (which includes standard integer, floating point, and the default extended types).
 
#define ML_IMPLEMENT_ALL_CASES(CLASS_NAME, SWITCH_CODE, O_SWITCH_TYPE, INFO_STRING, DUMMY_OUT_TYPE)
 Macro to implement a switch command with IN_SWITCH_TYPE as parameter.
 
#define ML_IMPLEMENT_SCALAR_TYPE_CASES(CLASS_NAME, SWITCH_CODE, O_SWITCH_TYPE, INFO_STRING, DUMMY_OUT_TYPE)
 The same for only the standard scalar types.
 
#define ML_IMPLEMENT_DIFFERENT_INOUT_DATATYPES_CASES(CLASS_NAME, SWITCH_CODE, IN_SWITCH_TYPE, INFO_STRING, OUTPUT_TYPE)
 Macro to implement a switch command with IN_SWITCH_TYPE as parameter.
 
#define ML_IMPLEMENT_DIFFERENT_SCALAR_INOUT_DATATYPES_CASES(CLASS_NAME, SWITCH_CODE, IN_SWITCH_TYPE, INFO_STRING, OUTPUT_TYPE)
 The same for only the standard scalar types.
 
#define ML_IMPLEMENT_SCALAR_CASES_WITH_DEFAULT(CLASS_NAME, SWITCH_CODE, O_SWITCH_TYPE, DEFAULT_CODE, DUMMY_OUT_TYPE)
 
#define ML_IMPLEMENT_DIFFERENT_INOUT_SCALAR_CASES_WITH_DEFAULT(CLASS_NAME, SWITCH_CODE, IN_SWITCH_TYPE, DEFAULT_CODE, OUTPUT_TYPE)
 
#define _ML_TYPE_SWITCH_INTERN(DTSWITCHES, METHOD_PREFIX, METHOD_SUFFIX, DOUBLE_COLON, SWITCH_CODE, OUT_SWITCH_TYPE, CALLING_POSITION_STRING, INPTR, CLASS_NAME)
 Non-public helper macro.
 
#define _ML_TYPE_SWITCH_C(DTSWITCHES, SWITCH_CODE, CALLING_POSITION_STRING, INPTR, CLASS_NAME)    _ML_TYPE_SWITCH_INTERN(DTSWITCHES, CLASS_NAME, ML_EMPTY_PARAM, ::, SWITCH_CODE, outSubImg->getDataType(), CALLING_POSITION_STRING, INPTR, CLASS_NAME)
 Non-public helper macro.
 
#define _ML_TYPE_SWITCH_H(DTSWITCHES, SWITCH_CODE, CALLING_POSITION_STRING, INPTR)    _ML_TYPE_SWITCH_INTERN(DTSWITCHES, ML_EMPTY_PARAM, override, ML_EMPTY_PARAM, SWITCH_CODE, outSubImg->getDataType(), CALLING_POSITION_STRING, INPTR, CLASS_NAME)
 Non-public helper macro.
 
#define _ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)   calculateOutputSubImage
 
#define _ML_SWITCH_CODE_0(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_0_* macros.
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_0, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES_CPP", SubImage *, CLASS_NAME);
 This macro can be used to implement Module::calculateOutputSubImage for all data types.
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_SCALAR_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_0, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_SCALAR_TYPES_CPP", SubImage *, CLASS_NAME);
 Same as ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES_CPP, but it only implements the standard scalar types.
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_0, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_WITH_CUSTOM_SWITCH_CPP", SubImage *, CLASS_NAME);
 Same as ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES_CPP; it implements only a selection of data type switches passed by DTSWITCHES.
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_0, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES", SubImage *);
 ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES - Version usable within class declaration.
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_SCALAR_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_0, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_SCALAR_TYPES", SubImage *);
 Same as ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES, but it only implements the standard scalar types.
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_0, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_WITH_CUSTOM_SWITCH", SubImage *);
 ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_WITH_CUSTOM_SWITCH - Version usable within class declaration.
 
#define _ML_SWITCH_CODE_1(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_1_* macros.
 
#define _ML_SWITCH_CODE_2(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_2_* macros.
 
#define _ML_SWITCH_CODE_3(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_3_* macros.
 
#define _ML_SWITCH_CODE_4(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_4_* macros.
 
#define _ML_SWITCH_CODE_5(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_5_* macros.
 
#define _ML_SWITCH_CODE_10(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_10_* macros.
 
#define _ML_SWITCH_CODE1_DD_L2(OUTDTYPE, INDTYPE, CLASS_NAME)    { TSubImage<INDTYPE> inSIT(inSubImgs[0]); _ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&outSI, outIndex, &inSIT); }
 The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for unary operators implements the function calculateOutputSubImage(), which calls the template function void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outindex, TSubImage<INDTYPE> *inImg).
 
#define _ML_SWITCH_CODE1_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change.
 
#define _ML_SWITCH_CODE1S_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change.
 
#define _ML_SWITCH_CODE2_DD_L2(OUTDTYPE, INDTYPE, CLASS_NAME)    { TSubImage<INDTYPE> it0(inSubImgs[0]), it1(inSubImgs[1]); _ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&outSI, outIndex, &it0, &it1); }
 The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for binary operators implements the function calculateOutputSubImage(), which calls the template function void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outindex, TSubImage<INDTYPE> *inImg1, TSubImage<INDTYPE> *inImg2).
 
#define _ML_SWITCH_CODE2_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change.
 
#define _ML_SWITCH_CODE2S_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change.
 
#define _ML_SWITCH_CODE3_DD_L2(OUTDTYPE, INDTYPE, CLASS_NAME)
 The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for operators with three inputs implements the function calculateOutputSubImage(), which calls the template function void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outindex, TSubImage<INDTYPE> *inImg1, TSubImage<INDTYPE> *inImg2, TSubImage<INDTYPE> *inImg3).
 
#define _ML_SWITCH_CODE3_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change.
 
#define _ML_SWITCH_CODE3S_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change.
 
#define _ML_SWITCH_CODE4_DD_L2(OUTDTYPE, INDTYPE, CLASS_NAME)
 The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for operators with four inputs implements the function calculateOutputSubImage(), which calls the template function void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outIndex, TSubImage<INDTYPE> *inImg1, TSubImage<INDTYPE> *inImg2, TSubImage<INDTYPE> *inImg3, TSubImage<INDTYPE> *inImg4); The template function has four typed input images outImg and a typed output image where all input types are identical but the output and inputs may differ.
 
#define _ML_SWITCH_CODE4_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change.
 
#define _ML_SWITCH_CODE4S_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change.
 
#define _ML_SWITCH_CODE5_DD_L2(OUTDTYPE, INDTYPE, CLASS_NAME)
 The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for operators with five inputs implements the function calculateOutputSubImage(), which calls the template function void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outIndex, TSubImage<INDTYPE> *inImg1, TSubImage<INDTYPE> *inImg2, TSubImage<INDTYPE> *inImg3, TSubImage<INDTYPE> *inImg4); TSubImage<INDTYPE> *inImg5); The template function has five typed input images outImg and a typed output image where all input types are identical but the output and inputs may differ.
 
#define _ML_SWITCH_CODE5_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change.
 
#define _ML_SWITCH_CODE5S_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change.
 
#define _ML_SWITCH_CODE10_DD_L2(OUTDTYPE, INDTYPE, CLASS_NAME)
 The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for operators with ten inputs implements the function calculateOutputSubImage(), which calls the template function void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outIndex, TSubImage<INDTYPE> *inImg1, TSubImage<INDTYPE> *inImg2, TSubImage<INDTYPE> *inImg3, TSubImage<INDTYPE> *inImg4, TSubImage<INDTYPE> *inImg5, TSubImage<INDTYPE> *inImg6, TSubImage<INDTYPE> *inImg7, TSubImage<INDTYPE> *inImg8, TSubImage<INDTYPE> *inImg9, TSubImage<INDTYPE> *inImg10); The template function has ten typed input images outImg and a typed output image where all input types are identical but the output and inputs may differ.
 
#define _ML_SWITCH_CODE10_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change.
 
#define _ML_SWITCH_CODE10S_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change.
 
#define _ML_SWITCH_CODEN_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for operators with an arbitrary number of inputs implements the function calculateOutputSubImage(), which calls the template function void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outIndex, TSubImage<INDTYPE> **inImgs); The template function has an array of identical typed input images outImg and a typed output image where the types may differ.
 
#define _ML_SWITCH_CODENS_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change.
 
Macros to implement specific case switches for same input and output data type.
#define ML_IMPLEMENT_INT8_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLint8Type: SWITCH_CODE(MLint8 , MLint8 , CLASS_NAME); break;
 
#define ML_IMPLEMENT_UINT8_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLuint8Type: SWITCH_CODE(MLuint8 , MLuint8 , CLASS_NAME); break;
 
#define ML_IMPLEMENT_INT16_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLint16Type: SWITCH_CODE(MLint16 , MLint16 , CLASS_NAME); break;
 
#define ML_IMPLEMENT_UINT16_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLuint16Type: SWITCH_CODE(MLuint16 , MLuint16 , CLASS_NAME); break;
 
#define ML_IMPLEMENT_INT32_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLint32Type: SWITCH_CODE(MLint32 , MLint32 , CLASS_NAME); break;
 
#define ML_IMPLEMENT_UINT32_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLuint32Type: SWITCH_CODE(MLuint32 , MLuint32 , CLASS_NAME); break;
 
#define ML_IMPLEMENT_INT64_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLint64Type: SWITCH_CODE(MLint64 , MLint64 , CLASS_NAME); break;
 
#define ML_IMPLEMENT_UINT64_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLuint64Type: SWITCH_CODE(MLuint64 , MLuint64 , CLASS_NAME); break;
 
#define ML_IMPLEMENT_FLOAT_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLfloatType: SWITCH_CODE(MLfloat , MLfloat , CLASS_NAME); break;
 
#define ML_IMPLEMENT_DOUBLE_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLdoubleType: SWITCH_CODE(MLdouble , MLdouble , CLASS_NAME); break;
 
#define ML_IMPLEMENT_COMPLEXF_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLComplexfType: SWITCH_CODE(std::complex<MLfloat> , std::complex<MLfloat> , CLASS_NAME); break;
 
#define ML_IMPLEMENT_COMPLEXD_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLComplexdType: SWITCH_CODE(std::complex<MLdouble>, std::complex<MLdouble>, CLASS_NAME); break;
 
#define ML_IMPLEMENT_VECTOR2F_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLVector2fType: SWITCH_CODE(Vector2f , Vector2f , CLASS_NAME); break;
 
#define ML_IMPLEMENT_VECTOR2D_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLVector2dType: SWITCH_CODE(Vector2d , Vector2d , CLASS_NAME); break;
 
#define ML_IMPLEMENT_VECTOR3F_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLVector3fType: SWITCH_CODE(Vector3f , Vector3f , CLASS_NAME); break;
 
#define ML_IMPLEMENT_VECTOR3D_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLVector3dType: SWITCH_CODE(Vector3d , Vector3d , CLASS_NAME); break;
 
#define ML_IMPLEMENT_VECTOR6F_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLVector6fType: SWITCH_CODE(Vector6f , Vector6f , CLASS_NAME); break;
 
#define ML_IMPLEMENT_VECTOR6D_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLVector6dType: SWITCH_CODE(Vector6d , Vector6d , CLASS_NAME); break;
 
#define ML_IMPLEMENT_MATRIX2F_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLMatrix2fType: SWITCH_CODE(Matrix2f , Matrix2f , CLASS_NAME); break;
 
#define ML_IMPLEMENT_MATRIX2D_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLMatrix2dType: SWITCH_CODE(Matrix2d , Matrix2d , CLASS_NAME); break;
 
#define ML_IMPLEMENT_MATRIX3F_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLMatrix3fType: SWITCH_CODE(Matrix3f , Matrix3f , CLASS_NAME); break;
 
#define ML_IMPLEMENT_MATRIX3D_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)   case MLMatrix3dType: SWITCH_CODE(Matrix3d , Matrix3d , CLASS_NAME); break;
 
Implementations of specific case groups.
#define ML_IMPLEMENT_INT_CASES_WO_INT64(CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3)
 Implements all case switches for integer data types without MLint64 type.
 
#define ML_IMPLEMENT_INT_CASES(CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3)
 Implements all case switches for integer data types.
 
#define ML_IMPLEMENT_FLOAT_CASES(CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3)
 Implements all case switches for float data types.
 
#define ML_IMPLEMENT_COMPLEX_CASES(CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)
 Implements all case switches for extended data types.
 
#define ML_IMPLEMENT_VECTOR_CASES(CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)
 
#define ML_IMPLEMENT_MATRIX_CASES(CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)
 
#define ML_IMPLEMENT_INT_FLOAT_CASES(CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3)
 Implements all case switches for integer and float data types.
 
#define ML_IMPLEMENT_INT_FLOAT_CASES_WO_INT64(CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3)
 Implements all case switches for integer and float data types without MLint64 type.
 
#define ML_IMPLEMENT_DEFAULT_CASES(CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)
 Implements all case switches for integer, float and the default extended data types.
 
#define ML_IMPLEMENT_SCALAR_CASES(CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3)
 Implements all case switches for standard data types (integer and float types).
 
#define ML_IMPLEMENT_DEFAULT_HANDLING(CALLING_POSITION_STRING)
 Implements default case with error handling.
 
See ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_CPP macros. This is for one input.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DEFAULT_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_1, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DEFAULT_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_SCALAR_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_1, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_SCALAR_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_1, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);
 
See ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0 macros. This is for one input.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DEFAULT_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_1, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DEFAULT_TYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_SCALAR_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_1, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_SCALAR_TYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_1, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);
 
See #ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_CPP macros. This is for two inputs.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DEFAULT_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_2, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DEFAULT_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_SCALAR_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_2, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_SCALAR_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_2, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);
 
See #ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0 macros. This is for two inputs. For usage within class declaration
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DEFAULT_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_2, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DEFAULT_TYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_SCALAR_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_2, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_SCALAR_TYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_2, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);
 
See #ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_CPP macros. This is for three inputs.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DEFAULT_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_3, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DEFAULT_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_SCALAR_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_3, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_SCALAR_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_3, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);
 
See #ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0 macros. This is for three inputs. For usage within class declaration.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DEFAULT_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_3, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DEFAULT_TYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_SCALAR_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_3, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_SCALAR_TYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_3, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);
 
See #ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_CPP macros. This is for four inputs.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DEFAULT_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_4, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DEFAULT_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_SCALAR_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_4, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_SCALAR_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_4, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);
 
See #ML_CALCULATEOUTSUBIMAGE_NUM_INPUTS_0 macros. This is for four inputs. For usage within class declaration.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DEFAULT_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_4, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DEFAULT_TYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_SCALAR_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_4, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_SCALAR_TYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_4, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);
 
See ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_CPP macros. This is for five inputs.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DEFAULT_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_5, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DEFAULT_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_SCALAR_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_5, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_SCALAR_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_5, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);
 
See ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0 macros. This is for five inputs. For usage within class declaration.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DEFAULT_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_5, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DEFAULT_TYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_SCALAR_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_5, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_SCALAR_TYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_5, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);
 
See #ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_CPP macros. This is for ten inputs.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DEFAULT_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_10, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DEFAULT_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_SCALAR_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_10, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_SCALAR_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_10, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);
 
See #ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0 macros. This is for ten inputs. For usage within class declaration.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DEFAULT_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_10, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DEFAULT_TYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_SCALAR_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_10, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_SCALAR_TYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_10, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);
 
Support for N inputs.
#define _ML_SWITCH_CODE_N(OUTDTYPE, INDTYPE, CLASS_NAME)
 Macro definitions to permit implementation of an arbitrary number of module inputs.
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DEFAULT_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_N, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DEFAULT_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 This macro can be used to implement Module::calculateOutputSubImage for all data types.
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_SCALAR_TYPES_CPP(CLASS_NAME)   _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_N, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_SCALAR_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 Same as #ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_CPP, but it only implements the standard scalar types.
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_N, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);
 Same as ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_WITH_CUSTOM_SWITCH_CPP; it implements only a selection of data type switches passed by DTSWITCHES.
 
See #ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0 macros. This is for any number of inputs. For usage within class declaration.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DEFAULT_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_N, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DEFAULT_TYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_SCALAR_TYPES(CLASS_NAME)   _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_N, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_SCALAR_TYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_N, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);
 
Macros for calculateOutputSubImage implementation for one input where input and output images have different data types.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP(CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE1_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP(CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE1S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)    _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE1_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_DEFAULT_INOUT_DATATYPES(CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE1_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_DEFAULT_INOUT_DATATYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_SCALAR_INOUT_DATATYPES(CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE1S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_SCALAR_INOUT_DATATYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)    _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE1_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP(CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE2_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP(CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE2S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)    _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE2_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_DEFAULT_INOUT_DATATYPES(CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE2_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_DEFAULT_INOUT_DATATYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_SCALAR_INOUT_DATATYPES(CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE2S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_SCALAR_INOUT_DATATYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)    _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE2_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP(CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE3_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP(CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE3S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)    _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE3_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_DEFAULT_INOUT_DATATYPES(CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE3_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_DEFAULT_INOUT_DATATYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_SCALAR_INOUT_DATATYPES(CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE3S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_SCALAR_INOUT_DATATYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)    _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE3_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP(CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE4_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP(CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE4S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)    _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE4_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_DEFAULT_INOUT_DATATYPES(CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE4_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_DEFAULT_INOUT_DATATYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_SCALAR_INOUT_DATATYPES(CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE4S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_SCALAR_INOUT_DATATYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)    _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE4_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP(CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE5_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP(CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE5S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)    _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE5_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_DEFAULT_INOUT_DATATYPES(CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE5_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_DEFAULT_INOUT_DATATYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_SCALAR_INOUT_DATATYPES(CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE5S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_SCALAR_INOUT_DATATYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)    _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE5_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);
 
Macros for calculateOutputSubImage implementation for ten inputs where input and output images have different data types.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP(CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE10_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP(CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE10S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)    _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE10_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_DEFAULT_INOUT_DATATYPES(CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE10_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_DEFAULT_INOUT_DATATYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_SCALAR_INOUT_DATATYPES(CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE10S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_SCALAR_INOUT_DATATYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)    _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE10_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);
 
Macros for calculateOutputSubImage implementation for n inputs where input and output images have different data types.
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP(CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODEN_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP(CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODENS_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP(CLASS_NAME, DTSWITCHES)    _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODEN_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_DEFAULT_INOUT_DATATYPES(CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODEN_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_DEFAULT_INOUT_DATATYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_SCALAR_INOUT_DATATYPES(CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODENS_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_SCALAR_INOUT_DATATYPES", SubImage *inSubImgs);
 
#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH(CLASS_NAME, DTSWITCHES)    _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODEN_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);
 

Macro Definition Documentation

◆ _ML_CALCULATEOUTPUTCALL_HELPER

#define _ML_CALCULATEOUTPUTCALL_HELPER ( CLASS_NAME)    calculateOutputSubImage

Definition at line 483 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE10_DD

#define _ML_SWITCH_CODE10_DD ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> outSI(*outSubImg); \
ML_IMPLEMENT_DIFFERENT_INOUT_DATATYPES_CASES(CLASS_NAME, \
inSubImgs[0].getDataType(), \
"_ML_SWITCH_CODE10_DD", \
INDTYPE); \
}
#define _ML_SWITCH_CODE10_DD_L2(OUTDTYPE, INDTYPE, CLASS_NAME)
The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for ope...

Non-public helper macro. Do not use - it is subject to change.

Definition at line 1136 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE10_DD_L2

#define _ML_SWITCH_CODE10_DD_L2 ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ TSubImage<INDTYPE> it0(inSubImgs[0]), it1(inSubImgs[1]), it2(inSubImgs[2]), it3(inSubImgs[3]), it4(inSubImgs[4]); \
TSubImage<INDTYPE> it5(inSubImgs[5]), it6(inSubImgs[6]), it7(inSubImgs[7]), it8(inSubImgs[8]), it9(inSubImgs[9]); \
_ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&outSI, outIndex, &it0, &it1, &it2, &it3, &it4, &it5, &it6, &it7, &it8, &it9); }

The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for operators with ten inputs implements the function calculateOutputSubImage(), which calls the template function void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outIndex, TSubImage<INDTYPE> *inImg1, TSubImage<INDTYPE> *inImg2, TSubImage<INDTYPE> *inImg3, TSubImage<INDTYPE> *inImg4, TSubImage<INDTYPE> *inImg5, TSubImage<INDTYPE> *inImg6, TSubImage<INDTYPE> *inImg7, TSubImage<INDTYPE> *inImg8, TSubImage<INDTYPE> *inImg9, TSubImage<INDTYPE> *inImg10); The template function has ten typed input images outImg and a typed output image where all input types are identical but the output and inputs may differ.

Note that this macro codes significantly more stuff than macros which handle identical input and output types. Non-public helper macro. Do not use - it is subject to change.

Definition at line 1130 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE10S_DD

#define _ML_SWITCH_CODE10S_DD ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> outSI(*outSubImg); \
ML_IMPLEMENT_DIFFERENT_SCALAR_INOUT_DATATYPES_CASES(CLASS_NAME, \
inSubImgs[0].getDataType(), \
"_ML_SWITCH_CODE10_DD", \
INDTYPE); \
}

Non-public helper macro. Do not use - it is subject to change.

Definition at line 1147 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE1_DD

#define _ML_SWITCH_CODE1_DD ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> outSI(*outSubImg); \
ML_IMPLEMENT_DIFFERENT_INOUT_DATATYPES_CASES(CLASS_NAME, \
inSubImgs[0].getDataType(), \
"_ML_SWITCH_CODE1_DD", \
INDTYPE); \
}
#define _ML_SWITCH_CODE1_DD_L2(OUTDTYPE, INDTYPE, CLASS_NAME)
The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for unar...

Non-public helper macro. Do not use - it is subject to change.

Definition at line 864 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE1_DD_L2

#define _ML_SWITCH_CODE1_DD_L2 ( OUTDTYPE,
INDTYPE,
CLASS_NAME )    { TSubImage<INDTYPE> inSIT(inSubImgs[0]); _ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&outSI, outIndex, &inSIT); }

The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for unary operators implements the function calculateOutputSubImage(), which calls the template function void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outindex, TSubImage<INDTYPE> *inImg).

The template function has a type input image outImg and a typed output image where the types may differ. Note that this macro codes significantly more stuff than macros which handle identical input and output types. Non-public helper macro. Do not use - it is subject to change.

Definition at line 860 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE1S_DD

#define _ML_SWITCH_CODE1S_DD ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> outSI(*outSubImg); \
ML_IMPLEMENT_DIFFERENT_SCALAR_INOUT_DATATYPES_CASES(CLASS_NAME, \
inSubImgs[0].getDataType(), \
"_ML_SWITCH_CODE1_DD", \
INDTYPE); \
}

Non-public helper macro. Do not use - it is subject to change.

Definition at line 875 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE2_DD

#define _ML_SWITCH_CODE2_DD ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> outSI(*outSubImg); \
ML_IMPLEMENT_DIFFERENT_INOUT_DATATYPES_CASES(CLASS_NAME, \
inSubImgs[0].getDataType(), \
"_ML_SWITCH_CODE2_DD", \
INDTYPE); \
}
#define _ML_SWITCH_CODE2_DD_L2(OUTDTYPE, INDTYPE, CLASS_NAME)
The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for bina...

Non-public helper macro. Do not use - it is subject to change.

Definition at line 915 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE2_DD_L2

#define _ML_SWITCH_CODE2_DD_L2 ( OUTDTYPE,
INDTYPE,
CLASS_NAME )    { TSubImage<INDTYPE> it0(inSubImgs[0]), it1(inSubImgs[1]); _ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&outSI, outIndex, &it0, &it1); }

The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for binary operators implements the function calculateOutputSubImage(), which calls the template function void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outindex, TSubImage<INDTYPE> *inImg1, TSubImage<INDTYPE> *inImg2).

The template function has two typed input images outImg and a typed output image where all input types are identical but the output and inputs may differ. Note that this macro codes significantly more stuff than macros which handle identical input and output types. Non-public helper macro. Do not use - it is subject to change.

Definition at line 911 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE2S_DD

#define _ML_SWITCH_CODE2S_DD ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> outSI(*outSubImg); \
ML_IMPLEMENT_DIFFERENT_SCALAR_INOUT_DATATYPES_CASES(CLASS_NAME, \
inSubImgs[0].getDataType(), \
"_ML_SWITCH_CODE2_DD", \
INDTYPE); \
}

Non-public helper macro. Do not use - it is subject to change.

Definition at line 926 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE3_DD

#define _ML_SWITCH_CODE3_DD ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> outSI(*outSubImg); \
ML_IMPLEMENT_DIFFERENT_INOUT_DATATYPES_CASES(CLASS_NAME, \
inSubImgs[0].getDataType(), \
"_ML_SWITCH_CODE3_DD", \
INDTYPE); \
}
#define _ML_SWITCH_CODE3_DD_L2(OUTDTYPE, INDTYPE, CLASS_NAME)
The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for oper...

Non-public helper macro. Do not use - it is subject to change.

Definition at line 969 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE3_DD_L2

#define _ML_SWITCH_CODE3_DD_L2 ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ TSubImage<INDTYPE> it0(inSubImgs[0]), it1(inSubImgs[1]), it2(inSubImgs[2]); \
_ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&outSI, outIndex, &it0, &it1, &it2); }

The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for operators with three inputs implements the function calculateOutputSubImage(), which calls the template function void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outindex, TSubImage<INDTYPE> *inImg1, TSubImage<INDTYPE> *inImg2, TSubImage<INDTYPE> *inImg3).

The template function has three typed input images outImg and a typed output image where all input types are identical but the output and inputs may differ. Note that this macro codes significantly more stuff than macros which handle identical input and output types. Non-public helper macro. Do not use - it is subject to change.

Definition at line 964 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE3S_DD

#define _ML_SWITCH_CODE3S_DD ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> outSI(*outSubImg); \
ML_IMPLEMENT_DIFFERENT_SCALAR_INOUT_DATATYPES_CASES(CLASS_NAME, \
inSubImgs[0].getDataType(), \
"_ML_SWITCH_CODE3_DD", \
INDTYPE); \
}

Non-public helper macro. Do not use - it is subject to change.

Definition at line 980 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE4_DD

#define _ML_SWITCH_CODE4_DD ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> outSI(*outSubImg); \
ML_IMPLEMENT_DIFFERENT_INOUT_DATATYPES_CASES(CLASS_NAME, \
inSubImgs[0].getDataType(), \
"_ML_SWITCH_CODE4_DD", \
INDTYPE); \
}
#define _ML_SWITCH_CODE4_DD_L2(OUTDTYPE, INDTYPE, CLASS_NAME)
The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for oper...

Non-public helper macro. Do not use - it is subject to change.

Definition at line 1023 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE4_DD_L2

#define _ML_SWITCH_CODE4_DD_L2 ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ TSubImage<INDTYPE> it0(inSubImgs[0]), it1(inSubImgs[1]), it2(inSubImgs[2]), it3(inSubImgs[3]); \
_ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&outSI, outIndex, &it0, &it1, &it2, &it3); }

The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for operators with four inputs implements the function calculateOutputSubImage(), which calls the template function void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outIndex, TSubImage<INDTYPE> *inImg1, TSubImage<INDTYPE> *inImg2, TSubImage<INDTYPE> *inImg3, TSubImage<INDTYPE> *inImg4); The template function has four typed input images outImg and a typed output image where all input types are identical but the output and inputs may differ.

Note that this macro codes significantly more stuff than macros which handle identical input and output types. Non-public helper macro. Do not use - it is subject to change.

Definition at line 1018 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE4S_DD

#define _ML_SWITCH_CODE4S_DD ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> outSI(*outSubImg); \
ML_IMPLEMENT_DIFFERENT_SCALAR_INOUT_DATATYPES_CASES(CLASS_NAME, \
inSubImgs[0].getDataType(), \
"_ML_SWITCH_CODE4_DD", \
INDTYPE); \
}

Non-public helper macro. Do not use - it is subject to change.

Definition at line 1034 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE5_DD

#define _ML_SWITCH_CODE5_DD ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> outSI(*outSubImg); \
ML_IMPLEMENT_DIFFERENT_INOUT_DATATYPES_CASES(CLASS_NAME, \
inSubImgs[0].getDataType(), \
"_ML_SWITCH_CODE5_DD", \
INDTYPE); \
}
#define _ML_SWITCH_CODE5_DD_L2(OUTDTYPE, INDTYPE, CLASS_NAME)
The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for oper...

Non-public helper macro. Do not use - it is subject to change.

Definition at line 1078 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE5_DD_L2

#define _ML_SWITCH_CODE5_DD_L2 ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ TSubImage<INDTYPE> it0(inSubImgs[0]), it1(inSubImgs[1]), it2(inSubImgs[2]), it3(inSubImgs[3]), it4(inSubImgs[4]); \
_ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&outSI, outIndex, &it0, &it1, &it2, &it3, &it4); }

The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for operators with five inputs implements the function calculateOutputSubImage(), which calls the template function void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outIndex, TSubImage<INDTYPE> *inImg1, TSubImage<INDTYPE> *inImg2, TSubImage<INDTYPE> *inImg3, TSubImage<INDTYPE> *inImg4); TSubImage<INDTYPE> *inImg5); The template function has five typed input images outImg and a typed output image where all input types are identical but the output and inputs may differ.

Note that this macro codes significantly more stuff than macros which handle identical input and output types. Non-public helper macro. Do not use - it is subject to change.

Definition at line 1073 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE5S_DD

#define _ML_SWITCH_CODE5S_DD ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> outSI(*outSubImg); \
ML_IMPLEMENT_DIFFERENT_SCALAR_INOUT_DATATYPES_CASES(CLASS_NAME, \
inSubImgs[0].getDataType(), \
"_ML_SWITCH_CODE5_DD", \
INDTYPE); \
}

Non-public helper macro. Do not use - it is subject to change.

Definition at line 1089 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE_0

#define _ML_SWITCH_CODE_0 ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{\
TSubImage<OUTDTYPE> tOutSubImg(*outSubImg);\
_ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&tOutSubImg,outIndex);\
}

Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_0_* macros.

Definition at line 490 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE_1

#define _ML_SWITCH_CODE_1 ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> typedOutSubImg(*outSubImg); \
TSubImage<INDTYPE> typedInSubImg1(inSubImgs[0]);\
_ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&typedOutSubImg,outIndex,\
&typedInSubImg1);\
}

Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_1_* macros.

Definition at line 524 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE_10

#define _ML_SWITCH_CODE_10 ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> typedOutSubImg(*outSubImg);\
TSubImage<INDTYPE> typedInSubImg0(inSubImgs[0]);\
TSubImage<INDTYPE> typedInSubImg1(inSubImgs[1]);\
TSubImage<INDTYPE> typedInSubImg2(inSubImgs[2]);\
TSubImage<INDTYPE> typedInSubImg3(inSubImgs[3]);\
TSubImage<INDTYPE> typedInSubImg4(inSubImgs[4]);\
TSubImage<INDTYPE> typedInSubImg5(inSubImgs[5]);\
TSubImage<INDTYPE> typedInSubImg6(inSubImgs[6]);\
TSubImage<INDTYPE> typedInSubImg7(inSubImgs[7]);\
TSubImage<INDTYPE> typedInSubImg8(inSubImgs[8]);\
TSubImage<INDTYPE> typedInSubImg9(inSubImgs[9]);\
_ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&typedOutSubImg,outIndex,\
&typedInSubImg0, &typedInSubImg1, \
&typedInSubImg2, &typedInSubImg3, \
&typedInSubImg4, &typedInSubImg5, \
&typedInSubImg6, &typedInSubImg7, \
&typedInSubImg8, &typedInSubImg9);\
}

Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_10_* macros.

Definition at line 672 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE_2

#define _ML_SWITCH_CODE_2 ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> typedOutSubImg(*outSubImg);\
TSubImage<INDTYPE> typedInSubImg0(inSubImgs[0]);\
TSubImage<INDTYPE> typedInSubImg1(inSubImgs[1]);\
_ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&typedOutSubImg,outIndex,&typedInSubImg0,&typedInSubImg1);\
}

Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_2_* macros.

Definition at line 551 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE_3

#define _ML_SWITCH_CODE_3 ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> typedOutSubImg(*outSubImg);\
TSubImage<INDTYPE> typedInSubImg0(inSubImgs[0]);\
TSubImage<INDTYPE> typedInSubImg1(inSubImgs[1]);\
TSubImage<INDTYPE> typedInSubImg2(inSubImgs[2]);\
_ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&typedOutSubImg,outIndex,\
&typedInSubImg0, &typedInSubImg1,\
&typedInSubImg2);\
}

Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_3_* macros.

Definition at line 578 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE_4

#define _ML_SWITCH_CODE_4 ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> typedOutSubImg(*outSubImg);\
TSubImage<INDTYPE> typedInSubImg0(inSubImgs[0]);\
TSubImage<INDTYPE> typedInSubImg1(inSubImgs[1]);\
TSubImage<INDTYPE> typedInSubImg2(inSubImgs[2]);\
TSubImage<INDTYPE> typedInSubImg3(inSubImgs[3]);\
_ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&typedOutSubImg,outIndex,\
&typedInSubImg0, &typedInSubImg1,\
&typedInSubImg2, &typedInSubImg3);\
}

Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_4_* macros.

Definition at line 608 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE_5

#define _ML_SWITCH_CODE_5 ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> typedOutSubImg(*outSubImg);\
TSubImage<INDTYPE> typedInSubImg0(inSubImgs[0]);\
TSubImage<INDTYPE> typedInSubImg1(inSubImgs[1]);\
TSubImage<INDTYPE> typedInSubImg2(inSubImgs[2]);\
TSubImage<INDTYPE> typedInSubImg3(inSubImgs[3]);\
TSubImage<INDTYPE> typedInSubImg4(inSubImgs[4]);\
_ML_CALCULATEOUTPUTCALL_HELPER(CLASS_NAME)(&typedOutSubImg,outIndex,\
&typedInSubImg0, &typedInSubImg1,\
&typedInSubImg2, &typedInSubImg3,\
&typedInSubImg4);\
}

Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_5_* macros.

Definition at line 639 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODE_N

#define _ML_SWITCH_CODE_N ( OUTDTYPE,
INDTYPE,
CLASS_NAME )

Macro definitions to permit implementation of an arbitrary number of module inputs.

The macro implements the function calculateOutputSubImage(), which calls the template function

void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outindex, TSubImage<INDTYPE> **inImgs)

Note that for the macros using this one only support input subimages of identical data type. The first input image determines the type of all other input images. The type of the output subimage may differ. However, this macros suffers from its complexity which makes it impossible two compile it with two different data types when using it in any of the ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_N_*_DIFFERENT_INOUT_DATATYPES macros. Reducing this macro to the smallest needed functionality is not sufficient to make it compilable. Try header file implementations of those macros or fixed input number implementations alternatively which seem to work better.

Definition at line 726 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODEN_DD

#define _ML_SWITCH_CODEN_DD ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> outSI(*outSubImg); \
ML_IMPLEMENT_DIFFERENT_INOUT_DATATYPES_CASES(CLASS_NAME, \
inSubImgs[0].getDataType(), \
"_ML_SWITCH_CODEN_DD", \
INDTYPE); \
}
#define _ML_SWITCH_CODE_N(OUTDTYPE, INDTYPE, CLASS_NAME)
Macro definitions to permit implementation of an arbitrary number of module inputs.

The macro ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_INOUT_DATATYPES_CPP(CLASS_NAME) for operators with an arbitrary number of inputs implements the function calculateOutputSubImage(), which calls the template function void calculateOutputSubImage(TSubImage<ODTYPE> *outImg, int outIndex, TSubImage<INDTYPE> **inImgs); The template function has an array of identical typed input images outImg and a typed output image where the types may differ.

Note that this macro codes significantly more stuff than macros which handle identical input and output types. It is also slower since many parts are implemented dynamic due to the non fixed number of inputs. Often these macros are not compilable due to their complexity. Try header file implementations or fixed input number implementations alternatively which seem to work better. Non-public helper macro. Do not use - it is subject to change.

Definition at line 1188 of file mlModuleMacros.h.

◆ _ML_SWITCH_CODENS_DD

#define _ML_SWITCH_CODENS_DD ( OUTDTYPE,
INDTYPE,
CLASS_NAME )
Value:
{ \
TSubImage<OUTDTYPE> outSI(*outSubImg); \
ML_IMPLEMENT_DIFFERENT_SCALAR_INOUT_DATATYPES_CASES(CLASS_NAME, \
inSubImgs[0].getDataType(), \
"_ML_SWITCH_CODEN_DD", \
INDTYPE); \
}

Non-public helper macro. Do not use - it is subject to change.

Definition at line 1199 of file mlModuleMacros.h.

◆ _ML_TYPE_SWITCH_C

#define _ML_TYPE_SWITCH_C ( DTSWITCHES,
SWITCH_CODE,
CALLING_POSITION_STRING,
INPTR,
CLASS_NAME )    _ML_TYPE_SWITCH_INTERN(DTSWITCHES, CLASS_NAME, ML_EMPTY_PARAM, ::, SWITCH_CODE, outSubImg->getDataType(), CALLING_POSITION_STRING, INPTR, CLASS_NAME)

Non-public helper macro.

Not to be used since it is subject to change. Simplified version of #ML_TYPE_SWITCH_INTERN for implementations in .cpp files.

Definition at line 451 of file mlModuleMacros.h.

◆ _ML_TYPE_SWITCH_H

#define _ML_TYPE_SWITCH_H ( DTSWITCHES,
SWITCH_CODE,
CALLING_POSITION_STRING,
INPTR )    _ML_TYPE_SWITCH_INTERN(DTSWITCHES, ML_EMPTY_PARAM, override, ML_EMPTY_PARAM, SWITCH_CODE, outSubImg->getDataType(), CALLING_POSITION_STRING, INPTR, CLASS_NAME)

Non-public helper macro.

Not to be used since it is subject to change. Simplified version of #ML_TYPE_SWITCH_INTERN for implementations in .h files.

Definition at line 458 of file mlModuleMacros.h.

◆ _ML_TYPE_SWITCH_INTERN

#define _ML_TYPE_SWITCH_INTERN ( DTSWITCHES,
METHOD_PREFIX,
METHOD_SUFFIX,
DOUBLE_COLON,
SWITCH_CODE,
OUT_SWITCH_TYPE,
CALLING_POSITION_STRING,
INPTR,
CLASS_NAME )
Value:
\
void METHOD_PREFIX DOUBLE_COLON calculateOutputSubImage(SubImage *outSubImg, int outIndex, INPTR) METHOD_SUFFIX \
{ \
switch(OUT_SWITCH_TYPE){ \
DTSWITCHES(CLASS_NAME, SWITCH_CODE, OUT_SWITCH_TYPE, CALLING_POSITION_STRING, INTYPE_DUMMY) \
ML_IMPLEMENT_DEFAULT_HANDLING(CALLING_POSITION_STRING) \
} \
}

Non-public helper macro.

Not to be used since it is subject to change. Basic switch macro to implement some code given by SWITCH_CODE for a set of ML data types given by DT_SWITCHES. OUT_SWITCH_TYPE must be one of the ML data types. CALLING_POSITION_STRING must be the calling function/method/macro. For correct usage the macro SWITCH_CODE must contain the implementation. The CLASS_NAME can contain e.g., ML_NO_CLASS if the method shall be a header file implementation or it can be e.g., "Arithmetic1::" for a c++ file implementation.

Definition at line 437 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_0, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES", SubImage *);

ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES - Version usable within class declaration.

Definition at line 511 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_0, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES_CPP", SubImage *, CLASS_NAME);

This macro can be used to implement Module::calculateOutputSubImage for all data types.

It assumes 0 input images. It calls the template function void calculateOutputSubImage(TSubImage<DATATYPE> *outImg, int outIndex) with typed output image outImg at module output outIndex. Useful for implementations in header files.

Definition at line 501 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_SCALAR_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_SCALAR_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_0, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_SCALAR_TYPES", SubImage *);

Same as ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES, but it only implements the standard scalar types.

Definition at line 514 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_SCALAR_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_SCALAR_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_0, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_SCALAR_TYPES_CPP", SubImage *, CLASS_NAME);

Same as ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES_CPP, but it only implements the standard scalar types.

Definition at line 504 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_0, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_WITH_CUSTOM_SWITCH", SubImage *);

ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_WITH_CUSTOM_SWITCH - Version usable within class declaration.

Definition at line 517 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_0, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_WITH_CUSTOM_SWITCH_CPP", SubImage *, CLASS_NAME);

Same as ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_DEFAULT_TYPES_CPP; it implements only a selection of data type switches passed by DTSWITCHES.

Use ML_IMPLEMENT_* macros as DTSWITCHES parameter.

Definition at line 508 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DEFAULT_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DEFAULT_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_10, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DEFAULT_TYPES", SubImage *inSubImgs);

Definition at line 702 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DEFAULT_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DEFAULT_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_10, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DEFAULT_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 695 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_DEFAULT_INOUT_DATATYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_DEFAULT_INOUT_DATATYPES ( CLASS_NAME)     _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE10_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_DEFAULT_INOUT_DATATYPES", SubImage *inSubImgs);

Definition at line 1165 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP ( CLASS_NAME)     _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE10_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 1159 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )    _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE10_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);

Definition at line 1169 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )    _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE10_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 1163 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_SCALAR_INOUT_DATATYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_SCALAR_INOUT_DATATYPES ( CLASS_NAME)     _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE10S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_SCALAR_INOUT_DATATYPES", SubImage *inSubImgs);

Definition at line 1167 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP ( CLASS_NAME)     _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE10S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 1161 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_SCALAR_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_SCALAR_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_10, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_SCALAR_TYPES", SubImage *inSubImgs);

Definition at line 703 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_SCALAR_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_SCALAR_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_10, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_SCALAR_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 696 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_10, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);

Definition at line 704 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_10, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_10_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 697 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DEFAULT_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DEFAULT_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_1, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DEFAULT_TYPES", SubImage *inSubImgs);

Definition at line 541 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DEFAULT_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DEFAULT_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_1, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DEFAULT_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 534 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_DEFAULT_INOUT_DATATYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_DEFAULT_INOUT_DATATYPES ( CLASS_NAME)     _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE1_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_DEFAULT_INOUT_DATATYPES", SubImage *inSubImgs);

Definition at line 893 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP ( CLASS_NAME)     _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE1_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 887 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )    _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE1_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);

Definition at line 897 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )    _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE1_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 891 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_SCALAR_INOUT_DATATYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_SCALAR_INOUT_DATATYPES ( CLASS_NAME)     _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE1S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_SCALAR_INOUT_DATATYPES", SubImage *inSubImgs);

Definition at line 895 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP ( CLASS_NAME)     _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE1S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 889 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_SCALAR_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_SCALAR_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_1, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_SCALAR_TYPES", SubImage *inSubImgs);

Definition at line 542 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_SCALAR_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_SCALAR_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_1, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_SCALAR_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 535 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_1, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);

Definition at line 543 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_1, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_1_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 536 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DEFAULT_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DEFAULT_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_2, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DEFAULT_TYPES", SubImage *inSubImgs);

Definition at line 568 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DEFAULT_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DEFAULT_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_2, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DEFAULT_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 561 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_DEFAULT_INOUT_DATATYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_DEFAULT_INOUT_DATATYPES ( CLASS_NAME)     _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE2_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_DEFAULT_INOUT_DATATYPES", SubImage *inSubImgs);

Definition at line 944 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP ( CLASS_NAME)     _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE2_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 938 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )    _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE2_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);

Definition at line 948 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )    _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE2_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 942 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_SCALAR_INOUT_DATATYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_SCALAR_INOUT_DATATYPES ( CLASS_NAME)     _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE2S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_SCALAR_INOUT_DATATYPES", SubImage *inSubImgs);

Definition at line 946 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP ( CLASS_NAME)     _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE2S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 940 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_SCALAR_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_SCALAR_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_2, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_SCALAR_TYPES", SubImage *inSubImgs);

Definition at line 569 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_SCALAR_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_SCALAR_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_2, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_SCALAR_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 562 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_2, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);

Definition at line 570 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_2, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_2_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 563 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DEFAULT_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DEFAULT_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_3, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DEFAULT_TYPES", SubImage *inSubImgs);

Definition at line 598 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DEFAULT_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DEFAULT_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_3, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DEFAULT_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 591 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_DEFAULT_INOUT_DATATYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_DEFAULT_INOUT_DATATYPES ( CLASS_NAME)     _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE3_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_DEFAULT_INOUT_DATATYPES", SubImage *inSubImgs);

Definition at line 998 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP ( CLASS_NAME)     _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE3_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 992 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )    _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE3_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);

Definition at line 1002 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )    _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE3_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 996 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_SCALAR_INOUT_DATATYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_SCALAR_INOUT_DATATYPES ( CLASS_NAME)     _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE3S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_SCALAR_INOUT_DATATYPES", SubImage *inSubImgs);

Definition at line 1000 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP ( CLASS_NAME)     _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE3S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 994 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_SCALAR_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_SCALAR_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_3, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_SCALAR_TYPES", SubImage *inSubImgs);

Definition at line 599 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_SCALAR_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_SCALAR_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_3, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_SCALAR_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 592 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_3, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);

Definition at line 600 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_3, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_3_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 593 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DEFAULT_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DEFAULT_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_4, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DEFAULT_TYPES", SubImage *inSubImgs);

Definition at line 629 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DEFAULT_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DEFAULT_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_4, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DEFAULT_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 622 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_DEFAULT_INOUT_DATATYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_DEFAULT_INOUT_DATATYPES ( CLASS_NAME)     _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE4_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_DEFAULT_INOUT_DATATYPES", SubImage *inSubImgs);

Definition at line 1052 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP ( CLASS_NAME)     _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE4_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 1046 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )    _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE4_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);

Definition at line 1056 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )    _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE4_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 1050 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_SCALAR_INOUT_DATATYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_SCALAR_INOUT_DATATYPES ( CLASS_NAME)     _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE4S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_SCALAR_INOUT_DATATYPES", SubImage *inSubImgs);

Definition at line 1054 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP ( CLASS_NAME)     _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE4S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 1048 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_SCALAR_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_SCALAR_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_4, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_SCALAR_TYPES", SubImage *inSubImgs);

Definition at line 630 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_SCALAR_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_SCALAR_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_4, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_SCALAR_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 623 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_4, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);

Definition at line 631 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_4, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_4_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 624 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DEFAULT_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DEFAULT_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_5, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DEFAULT_TYPES", SubImage *inSubImgs);

Definition at line 662 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DEFAULT_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DEFAULT_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_5, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DEFAULT_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 655 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_DEFAULT_INOUT_DATATYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_DEFAULT_INOUT_DATATYPES ( CLASS_NAME)     _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE5_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_DEFAULT_INOUT_DATATYPES", SubImage *inSubImgs);

Definition at line 1107 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP ( CLASS_NAME)     _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE5_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 1101 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )    _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE5_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);

Definition at line 1111 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )    _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE5_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 1105 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_SCALAR_INOUT_DATATYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_SCALAR_INOUT_DATATYPES ( CLASS_NAME)     _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE5S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_SCALAR_INOUT_DATATYPES", SubImage *inSubImgs);

Definition at line 1109 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP ( CLASS_NAME)     _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE5S_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 1103 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_SCALAR_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_SCALAR_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_5, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_SCALAR_TYPES", SubImage *inSubImgs);

Definition at line 663 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_SCALAR_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_SCALAR_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_5, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_SCALAR_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 656 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_5, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);

Definition at line 664 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_5, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_5_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 657 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DEFAULT_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DEFAULT_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_N, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DEFAULT_TYPES", SubImage *inSubImgs);

Definition at line 834 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DEFAULT_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DEFAULT_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODE_N, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DEFAULT_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

This macro can be used to implement Module::calculateOutputSubImage for all data types.

It assumes 0 input images. It calls the template function void calculateOutputSubImage(TSubImage<DATATYPE> *outImg, int outIndex) with typed output image outImg at module output outIndex. Useful for implementations in header files. \ name See #ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_CPP macros.

Definition at line 822 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_DEFAULT_INOUT_DATATYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_DEFAULT_INOUT_DATATYPES ( CLASS_NAME)     _ML_TYPE_SWITCH_H(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODEN_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_DEFAULT_INOUT_DATATYPES", SubImage *inSubImgs);

Definition at line 1217 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP ( CLASS_NAME)     _ML_TYPE_SWITCH_C(ML_IMPLEMENT_DEFAULT_CASES, _ML_SWITCH_CODEN_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_DEFAULT_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 1211 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )    _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODEN_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);

Definition at line 1221 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )    _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODEN_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_INOUT_DATATYPES_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 1215 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_SCALAR_INOUT_DATATYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_SCALAR_INOUT_DATATYPES ( CLASS_NAME)     _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODENS_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_SCALAR_INOUT_DATATYPES", SubImage *inSubImgs);

Definition at line 1219 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP ( CLASS_NAME)     _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODENS_DD, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_DIFFERENT_SCALAR_INOUT_DATATYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Definition at line 1213 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_SCALAR_TYPES

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_SCALAR_TYPES ( CLASS_NAME)    _ML_TYPE_SWITCH_H(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_N, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_SCALAR_TYPES", SubImage *inSubImgs);

Definition at line 835 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_SCALAR_TYPES_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_SCALAR_TYPES_CPP ( CLASS_NAME)    _ML_TYPE_SWITCH_C(ML_IMPLEMENT_SCALAR_CASES, _ML_SWITCH_CODE_N, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_SCALAR_TYPES_CPP", SubImage *inSubImgs, CLASS_NAME);

Same as #ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_CPP, but it only implements the standard scalar types.

Definition at line 825 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_WITH_CUSTOM_SWITCH

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_WITH_CUSTOM_SWITCH ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_H(DTSWITCHES, _ML_SWITCH_CODE_N, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_WITH_CUSTOM_SWITCH", SubImage *inSubImgs);

Definition at line 836 of file mlModuleMacros.h.

◆ ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_WITH_CUSTOM_SWITCH_CPP

#define ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_WITH_CUSTOM_SWITCH_CPP ( CLASS_NAME,
DTSWITCHES )   _ML_TYPE_SWITCH_C(DTSWITCHES, _ML_SWITCH_CODE_N, "ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_N_WITH_CUSTOM_SWITCH_CPP", SubImage *inSubImgs, CLASS_NAME);

Same as ML_CALCULATEOUTPUTSUBIMAGE_NUM_INPUTS_0_WITH_CUSTOM_SWITCH_CPP; it implements only a selection of data type switches passed by DTSWITCHES.

Use ML_IMPLEMENT_* macros as DTSWITCHES parameter.

Definition at line 829 of file mlModuleMacros.h.

◆ ML_EMPTY_PARAM

#define ML_EMPTY_PARAM

Defines implementation macros for the method calculateOutputSubImage and some other macro stuff often used in the ML.

Macro which expands to nothing.

Definition at line 28 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_ALL_CASES

#define ML_IMPLEMENT_ALL_CASES ( CLASS_NAME,
SWITCH_CODE,
O_SWITCH_TYPE,
INFO_STRING,
DUMMY_OUT_TYPE )
Value:
switch(O_SWITCH_TYPE){ \
case MLint8Type: SWITCH_CODE(MLint8 , MLint8 , CLASS_NAME); break; \
case MLuint8Type: SWITCH_CODE(MLuint8 , MLuint8 , CLASS_NAME); break; \
case MLint16Type: SWITCH_CODE(MLint16 , MLint16 , CLASS_NAME); break; \
case MLuint16Type: SWITCH_CODE(MLuint16 , MLuint16 , CLASS_NAME); break; \
case MLint32Type: SWITCH_CODE(MLint32 , MLint32 , CLASS_NAME); break; \
case MLuint32Type: SWITCH_CODE(MLuint32 , MLuint32 , CLASS_NAME); break; \
case MLint64Type: SWITCH_CODE(MLint64 , MLint64 , CLASS_NAME); break; \
case MLuint64Type: SWITCH_CODE(MLuint64 , MLuint64 , CLASS_NAME); break; \
case MLfloatType: SWITCH_CODE(MLfloat , MLfloat , CLASS_NAME); break; \
case MLdoubleType: SWITCH_CODE(MLdouble , MLdouble , CLASS_NAME); break; \
case MLComplexfType: SWITCH_CODE(std::complex<MLfloat> , std::complex<MLfloat> , CLASS_NAME); break; \
case MLComplexdType: SWITCH_CODE(std::complex<MLdouble>, std::complex<MLdouble>, CLASS_NAME); break; \
case MLVector2fType: SWITCH_CODE(Vector2f , Vector2f , CLASS_NAME); break; \
case MLVector2dType: SWITCH_CODE(Vector2d , Vector2d , CLASS_NAME); break; \
case MLVector3fType: SWITCH_CODE(Vector3f , Vector3f , CLASS_NAME); break; \
case MLVector3dType: SWITCH_CODE(Vector3d , Vector3d , CLASS_NAME); break; \
case MLVector6fType: SWITCH_CODE(Vector6f , Vector6f , CLASS_NAME); break; \
case MLVector6dType: SWITCH_CODE(Vector6d , Vector6d , CLASS_NAME); break; \
case MLMatrix2fType: SWITCH_CODE(Matrix2f , Matrix2f , CLASS_NAME); break; \
case MLMatrix2dType: SWITCH_CODE(Matrix2d , Matrix2d , CLASS_NAME); break; \
case MLMatrix3fType: SWITCH_CODE(Matrix3f , Matrix3f , CLASS_NAME); break; \
case MLMatrix3dType: SWITCH_CODE(Matrix3d , Matrix3d , CLASS_NAME); break; \
default: { ML_PRINT_FATAL_ERROR(INFO_STRING, ML_BAD_DATA_TYPE, "Unsupported type case."); break; \
} \
}
@ MLVector2fType
Definition mlTypeDefs.h:636
@ MLMatrix2dType
Definition mlTypeDefs.h:649
@ MLComplexdType
Definition mlTypeDefs.h:632
@ MLVector6fType
Definition mlTypeDefs.h:640
@ MLuint8Type
Enumerator for the unsigned 8 bit ML integer type.
Definition mlTypeDefs.h:621
@ MLVector3fType
Definition mlTypeDefs.h:637
@ MLuint32Type
Enumerator for the unsigned 32 bit ML integer type.
Definition mlTypeDefs.h:625
@ MLComplexfType
Definition mlTypeDefs.h:632
@ MLfloatType
Enumerator for the signed 32 bit ML floating point type.
Definition mlTypeDefs.h:626
@ MLuint16Type
Enumerator for the unsigned 16 bit ML integer type.
Definition mlTypeDefs.h:623
@ MLMatrix3dType
Definition mlTypeDefs.h:650
@ MLint64Type
Enumerator for the signed 64 bit ML integer type.
Definition mlTypeDefs.h:628
@ MLVector3dType
Definition mlTypeDefs.h:637
@ MLVector2dType
Definition mlTypeDefs.h:636
@ MLint16Type
Enumerator for the signed 16 bit ML integer type.
Definition mlTypeDefs.h:622
@ MLint32Type
Enumerator for the signed 32 bit ML integer type.
Definition mlTypeDefs.h:624
@ MLMatrix3fType
Definition mlTypeDefs.h:650
@ MLVector6dType
Definition mlTypeDefs.h:640
@ MLdoubleType
Enumerator for the signed 64 bit ML floating point type.
Definition mlTypeDefs.h:627
@ MLint8Type
Enumerator for the signed 8 bit ML integer type.
Definition mlTypeDefs.h:620
@ MLuint64Type
Enumerator for the unsigned 64 bit ML integer type.
Definition mlTypeDefs.h:629
@ MLMatrix2fType
Definition mlTypeDefs.h:649
#define ML_BAD_DATA_TYPE
A wrong or unexpected data type has been passed to an algorithm which often is a programming error; t...
Definition mlTypeDefs.h:782
#define ML_PRINT_FATAL_ERROR(FUNC_NAME, REASON, HANDLING)
Like ML_PRINT_FATAL_ERROR_DUMP(FUNC_NAME, REASON, HANDLING, RT_OBJ) without a runtime object to be du...
UINT64 MLuint64
Introduce platform independent 64 bit unsigned integer type.
Definition mlTypeDefs.h:425
unsigned int MLuint32
Definition mlTypeDefs.h:185
unsigned char MLuint8
Definition mlTypeDefs.h:109
double MLdouble
Definition mlTypeDefs.h:217
unsigned short MLuint16
Definition mlTypeDefs.h:142
signed short MLint16
Definition mlTypeDefs.h:125
char MLint8
Definition mlTypeDefs.h:97
INT64 MLint64
Include 64 bit integer support for Windows or Unix.
Definition mlTypeDefs.h:412
signed int MLint32
Definition mlTypeDefs.h:161
float MLfloat
Definition mlTypeDefs.h:201

Macro to implement a switch command with IN_SWITCH_TYPE as parameter.

All case switches are implemented by code created by

case ML*type: SWITCH_CODE(st, st, CLASS_NAME); break;

where st is the data type resulting from O_SWITCH_TYPE. Note that SWITCH_CODE normally should be defined as a macro with three parameters.

This is a helper macro to instantiate code for all data types. We need this because of the preprocessor property that a macros a cannot be used within themselves. So we need a second switch with all data types.

WARNING: Do not use macros like ML_IMPLEMENT_*_CASES to simplify this macro since that will not work.

NOTE that this only covers the default scalar and extended types.

We assume same data types at inputs and outputs.

Parameters
CLASS_NAMEis the parameter passed to as third parameter to SWITCH_CODE; typically it is a class type or a class name.
SWITCH_CODEis the macro code instantiated for each data type case; it gets the OUTPUT_TYPE as first parameter, the data type selected by the IN_SWITCH_TYPE (e.g., MLfloat in the case if IN_SWITCH_TYPE is MLfloatType).
O_SWITCH_TYPEis the data type enum to select the case switch.
INFO_STRINGis passed as first parameter to ML_PRINT_FATAL_ERROR if an invalid IN_SWITCH_TYPE enum has been passed; it is typically a string like "ClassName::methodName" to identify the error class and function.
DUMMY_OUT_TYPEis not used. It exists only to have compatibility to the macro ML_IMPLEMENT_DIFFERENT_INOUT_DATATYPES_CASES.

Definition at line 146 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_COMPLEX_CASES

#define ML_IMPLEMENT_COMPLEX_CASES ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )
Value:
ML_IMPLEMENT_COMPLEXF_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_COMPLEXD_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)
#define ML_IMPLEMENT_COMPLEXF_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)

Implements all case switches for extended data types.

Definition at line 365 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_COMPLEXD_CASE

#define ML_IMPLEMENT_COMPLEXD_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLComplexdType: SWITCH_CODE(std::complex<MLdouble>, std::complex<MLdouble>, CLASS_NAME); break;

Definition at line 322 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_COMPLEXF_CASE

#define ML_IMPLEMENT_COMPLEXF_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLComplexfType: SWITCH_CODE(std::complex<MLfloat> , std::complex<MLfloat> , CLASS_NAME); break;

Definition at line 321 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_DEFAULT_CASES

#define ML_IMPLEMENT_DEFAULT_CASES ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )
Value:
ML_IMPLEMENT_INT_CASES( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_FLOAT_CASES( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_COMPLEX_CASES(CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_VECTOR_CASES( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_MATRIX_CASES( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
#define ML_IMPLEMENT_INT_CASES(CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3)
Implements all case switches for integer data types.

Implements all case switches for integer, float and the default extended data types.

Definition at line 399 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_DEFAULT_HANDLING

#define ML_IMPLEMENT_DEFAULT_HANDLING ( CALLING_POSITION_STRING)
Value:
default: { \
ML_PRINT_FATAL_ERROR(CALLING_POSITION_STRING, \
"Type case not executed."); \
break; \
} \

Implements default case with error handling.

CALLING_POSITION_STRING should contain a string describing the position the macro is called from.

Definition at line 414 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_DIFFERENT_INOUT_DATATYPES_CASES

#define ML_IMPLEMENT_DIFFERENT_INOUT_DATATYPES_CASES ( CLASS_NAME,
SWITCH_CODE,
IN_SWITCH_TYPE,
INFO_STRING,
OUTPUT_TYPE )
Value:
switch (static_cast<int>(IN_SWITCH_TYPE)){ \
case MLint8Type: SWITCH_CODE(OUTPUT_TYPE, MLint8 , CLASS_NAME); break; \
case MLuint8Type: SWITCH_CODE(OUTPUT_TYPE, MLuint8 , CLASS_NAME); break; \
case MLint16Type: SWITCH_CODE(OUTPUT_TYPE, MLint16 , CLASS_NAME); break; \
case MLuint16Type: SWITCH_CODE(OUTPUT_TYPE, MLuint16 , CLASS_NAME); break; \
case MLint32Type: SWITCH_CODE(OUTPUT_TYPE, MLint32 , CLASS_NAME); break; \
case MLuint32Type: SWITCH_CODE(OUTPUT_TYPE, MLuint32 , CLASS_NAME); break; \
case MLint64Type: SWITCH_CODE(OUTPUT_TYPE, MLint64 , CLASS_NAME); break; \
case MLuint64Type: SWITCH_CODE(OUTPUT_TYPE, MLuint64 , CLASS_NAME); break; \
case MLfloatType: SWITCH_CODE(OUTPUT_TYPE, MLfloat , CLASS_NAME); break; \
case MLdoubleType: SWITCH_CODE(OUTPUT_TYPE, MLdouble , CLASS_NAME); break; \
case MLComplexfType: SWITCH_CODE(OUTPUT_TYPE, std::complex<MLfloat> , CLASS_NAME); break; \
case MLComplexdType: SWITCH_CODE(OUTPUT_TYPE, std::complex<MLdouble>, CLASS_NAME); break; \
case MLVector2fType: SWITCH_CODE(OUTPUT_TYPE, Vector2f , CLASS_NAME); break; \
case MLVector2dType: SWITCH_CODE(OUTPUT_TYPE, Vector2d , CLASS_NAME); break; \
case MLVector3fType: SWITCH_CODE(OUTPUT_TYPE, Vector3f , CLASS_NAME); break; \
case MLVector3dType: SWITCH_CODE(OUTPUT_TYPE, Vector3d , CLASS_NAME); break; \
case MLVector6fType: SWITCH_CODE(OUTPUT_TYPE, Vector6f , CLASS_NAME); break; \
case MLVector6dType: SWITCH_CODE(OUTPUT_TYPE, Vector6d , CLASS_NAME); break; \
case MLMatrix2fType: SWITCH_CODE(OUTPUT_TYPE, Matrix2f , CLASS_NAME); break; \
case MLMatrix2dType: SWITCH_CODE(OUTPUT_TYPE, Matrix2d , CLASS_NAME); break; \
case MLMatrix3fType: SWITCH_CODE(OUTPUT_TYPE, Matrix3f , CLASS_NAME); break; \
case MLMatrix3dType: SWITCH_CODE(OUTPUT_TYPE, Matrix3d , CLASS_NAME); break; \
default:{ \
char buf[512]=""; \
sprintf(buf, "Type not supported, case type %d does not exist.", IN_SWITCH_TYPE); \
ML_PRINT_FATAL_ERROR(INFO_STRING, ML_BAD_DATA_TYPE, buf); } \
}

Macro to implement a switch command with IN_SWITCH_TYPE as parameter.

All case switches are implemented by code created by

case ML*type: SWITCH_CODE(OUTPUT_TYPE, st, CLASS_NAME); break;

where st is the data type resulting from IN_SWITCH_TYPE. Note that SWITCH_CODE normally should be defined as a macro with three parameters.

This is a helper macro to instantiate code for all data types. We need this because of the preprocessor property that a macros a cannot be used within themselves. So we need a second switch with all data types.

NOTE that this only covers the default scalar and extended types.

WARNING: Do not use macros like ML_IMPLEMENT_*_CASES to simplify this macro since that will not work.

Parameters
CLASS_NAMEis the parameter passed to as third parameter to SWITCH_CODE; typically it is a class type or a class name.
SWITCH_CODEis the macro code instantiated for each data type case; it gets the OUTPUT_TYPE as first parameter, the data type selected by the IN_SWITCH_TYPE (e.g., MLfloat in the case if IN_SWITCH_TYPE is MLfloatType).
IN_SWITCH_TYPEis the data type enum to select the case switch.
INFO_STRINGis passed as first parameter to ML_PRINT_FATAL_ERROR if an invalid IN_SWITCH_TYPE enum has been passed; it is typically a string like "ClassName::methodName" to identify the error class and function.
OUTPUT_TYPEis passed as first parameter to SWITCH_CODE.

Definition at line 224 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_DIFFERENT_INOUT_SCALAR_CASES_WITH_DEFAULT

#define ML_IMPLEMENT_DIFFERENT_INOUT_SCALAR_CASES_WITH_DEFAULT ( CLASS_NAME,
SWITCH_CODE,
IN_SWITCH_TYPE,
DEFAULT_CODE,
OUTPUT_TYPE )
Value:
switch (static_cast<int>(IN_SWITCH_TYPE)){ \
case MLint8Type: { SWITCH_CODE(OUTPUT_TYPE, MLint8 , CLASS_NAME); } break; \
case MLuint8Type: { SWITCH_CODE(OUTPUT_TYPE, MLuint8 , CLASS_NAME); } break; \
case MLint16Type: { SWITCH_CODE(OUTPUT_TYPE, MLint16 , CLASS_NAME); } break; \
case MLuint16Type: { SWITCH_CODE(OUTPUT_TYPE, MLuint16, CLASS_NAME); } break; \
case MLint32Type: { SWITCH_CODE(OUTPUT_TYPE, MLint32 , CLASS_NAME); } break; \
case MLuint32Type: { SWITCH_CODE(OUTPUT_TYPE, MLuint32, CLASS_NAME); } break; \
case MLint64Type: { SWITCH_CODE(OUTPUT_TYPE, MLint64 , CLASS_NAME); } break; \
case MLuint64Type: { SWITCH_CODE(OUTPUT_TYPE, MLuint64, CLASS_NAME); } break; \
case MLfloatType: { SWITCH_CODE(OUTPUT_TYPE, MLfloat , CLASS_NAME); } break; \
case MLdoubleType: { SWITCH_CODE(OUTPUT_TYPE, MLdouble, CLASS_NAME); } break; \
default:{ DEFAULT_CODE(OUTPUT_TYPE, CLASS_NAME); } \
}

Definition at line 291 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_DIFFERENT_SCALAR_INOUT_DATATYPES_CASES

#define ML_IMPLEMENT_DIFFERENT_SCALAR_INOUT_DATATYPES_CASES ( CLASS_NAME,
SWITCH_CODE,
IN_SWITCH_TYPE,
INFO_STRING,
OUTPUT_TYPE )
Value:
switch (static_cast<int>(IN_SWITCH_TYPE)){ \
case MLint8Type: SWITCH_CODE(OUTPUT_TYPE, MLint8 , CLASS_NAME); break; \
case MLuint8Type: SWITCH_CODE(OUTPUT_TYPE, MLuint8 , CLASS_NAME); break; \
case MLint16Type: SWITCH_CODE(OUTPUT_TYPE, MLint16 , CLASS_NAME); break; \
case MLuint16Type: SWITCH_CODE(OUTPUT_TYPE, MLuint16 , CLASS_NAME); break; \
case MLint32Type: SWITCH_CODE(OUTPUT_TYPE, MLint32 , CLASS_NAME); break; \
case MLuint32Type: SWITCH_CODE(OUTPUT_TYPE, MLuint32 , CLASS_NAME); break; \
case MLint64Type: SWITCH_CODE(OUTPUT_TYPE, MLint64 , CLASS_NAME); break; \
case MLuint64Type: SWITCH_CODE(OUTPUT_TYPE, MLuint64 , CLASS_NAME); break; \
case MLfloatType: SWITCH_CODE(OUTPUT_TYPE, MLfloat , CLASS_NAME); break; \
case MLdoubleType: SWITCH_CODE(OUTPUT_TYPE, MLdouble , CLASS_NAME); break; \
default:{ \
char buf[512]=""; \
sprintf(buf, "Type not supported, case type %d does not exist.", IN_SWITCH_TYPE); \
ML_PRINT_FATAL_ERROR(INFO_STRING, ML_BAD_DATA_TYPE, buf); } \
}

The same for only the standard scalar types.

Definition at line 257 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_DOUBLE_CASE

#define ML_IMPLEMENT_DOUBLE_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLdoubleType: SWITCH_CODE(MLdouble , MLdouble , CLASS_NAME); break;

Definition at line 320 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_FLOAT_CASE

#define ML_IMPLEMENT_FLOAT_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLfloatType: SWITCH_CODE(MLfloat , MLfloat , CLASS_NAME); break;

Definition at line 319 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_FLOAT_CASES

#define ML_IMPLEMENT_FLOAT_CASES ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY1,
OST_DUMMY2,
OST_DUMMY3 )
Value:
ML_IMPLEMENT_FLOAT_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3) \
ML_IMPLEMENT_DOUBLE_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3) \
#define ML_IMPLEMENT_FLOAT_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)

Implements all case switches for float data types.

Definition at line 360 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_INT16_CASE

#define ML_IMPLEMENT_INT16_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLint16Type: SWITCH_CODE(MLint16 , MLint16 , CLASS_NAME); break;

Definition at line 313 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_INT32_CASE

#define ML_IMPLEMENT_INT32_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLint32Type: SWITCH_CODE(MLint32 , MLint32 , CLASS_NAME); break;

Definition at line 315 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_INT64_CASE

#define ML_IMPLEMENT_INT64_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLint64Type: SWITCH_CODE(MLint64 , MLint64 , CLASS_NAME); break;

Definition at line 317 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_INT8_CASE

#define ML_IMPLEMENT_INT8_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLint8Type: SWITCH_CODE(MLint8 , MLint8 , CLASS_NAME); break;

Definition at line 311 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_INT_CASES

#define ML_IMPLEMENT_INT_CASES ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY1,
OST_DUMMY2,
OST_DUMMY3 )
Value:
ML_IMPLEMENT_INT8_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_UINT8_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_INT16_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_UINT16_CASE(CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_INT32_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_UINT32_CASE(CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_INT64_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_UINT64_CASE(CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)
#define ML_IMPLEMENT_INT8_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)

Implements all case switches for integer data types.

Definition at line 349 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_INT_CASES_WO_INT64

#define ML_IMPLEMENT_INT_CASES_WO_INT64 ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY1,
OST_DUMMY2,
OST_DUMMY3 )
Value:
ML_IMPLEMENT_INT8_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_UINT8_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_INT16_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_UINT16_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_INT32_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_UINT32_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)

Implements all case switches for integer data types without MLint64 type.

Definition at line 340 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_INT_FLOAT_CASES

#define ML_IMPLEMENT_INT_FLOAT_CASES ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY1,
OST_DUMMY2,
OST_DUMMY3 )
Value:
ML_IMPLEMENT_INT_CASES( CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3) \
ML_IMPLEMENT_FLOAT_CASES( CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3)

Implements all case switches for integer and float data types.

Definition at line 384 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_INT_FLOAT_CASES_WO_INT64

#define ML_IMPLEMENT_INT_FLOAT_CASES_WO_INT64 ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY1,
OST_DUMMY2,
OST_DUMMY3 )
Value:
ML_IMPLEMENT_INT8_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3) \
ML_IMPLEMENT_UINT8_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3) \
ML_IMPLEMENT_INT16_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3) \
ML_IMPLEMENT_UINT16_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3) \
ML_IMPLEMENT_INT32_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3) \
ML_IMPLEMENT_UINT32_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3) \
ML_IMPLEMENT_FLOAT_CASES( CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3)

Implements all case switches for integer and float data types without MLint64 type.

Definition at line 389 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_MATRIX2D_CASE

#define ML_IMPLEMENT_MATRIX2D_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLMatrix2dType: SWITCH_CODE(Matrix2d , Matrix2d , CLASS_NAME); break;

Definition at line 330 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_MATRIX2F_CASE

#define ML_IMPLEMENT_MATRIX2F_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLMatrix2fType: SWITCH_CODE(Matrix2f , Matrix2f , CLASS_NAME); break;

Definition at line 329 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_MATRIX3D_CASE

#define ML_IMPLEMENT_MATRIX3D_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLMatrix3dType: SWITCH_CODE(Matrix3d , Matrix3d , CLASS_NAME); break;

Definition at line 332 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_MATRIX3F_CASE

#define ML_IMPLEMENT_MATRIX3F_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLMatrix3fType: SWITCH_CODE(Matrix3f , Matrix3f , CLASS_NAME); break;

Definition at line 331 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_MATRIX_CASES

#define ML_IMPLEMENT_MATRIX_CASES ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )
Value:
ML_IMPLEMENT_MATRIX2F_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_MATRIX2D_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_MATRIX3F_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_MATRIX3D_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)
#define ML_IMPLEMENT_MATRIX2F_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)

Definition at line 377 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_SCALAR_CASES

#define ML_IMPLEMENT_SCALAR_CASES ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY1,
OST_DUMMY2,
OST_DUMMY3 )
Value:
ML_IMPLEMENT_INT_CASES( CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3) \
ML_IMPLEMENT_FLOAT_CASES( CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3)

Implements all case switches for standard data types (integer and float types).

Definition at line 407 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_SCALAR_CASES_WITH_DEFAULT

#define ML_IMPLEMENT_SCALAR_CASES_WITH_DEFAULT ( CLASS_NAME,
SWITCH_CODE,
O_SWITCH_TYPE,
DEFAULT_CODE,
DUMMY_OUT_TYPE )
Value:
switch (static_cast<int>(O_SWITCH_TYPE)){ \
case MLint8Type: { SWITCH_CODE(MLint8 , MLint8 , CLASS_NAME); } break; \
case MLuint8Type: { SWITCH_CODE(MLuint8 , MLuint8 , CLASS_NAME); } break; \
case MLint16Type: { SWITCH_CODE(MLint16 , MLint16 , CLASS_NAME); } break; \
case MLuint16Type: { SWITCH_CODE(MLuint16, MLuint16, CLASS_NAME); } break; \
case MLint32Type: { SWITCH_CODE(MLint32 , MLint32 , CLASS_NAME); } break; \
case MLuint32Type: { SWITCH_CODE(MLuint32, MLuint32, CLASS_NAME); } break; \
case MLint64Type: { SWITCH_CODE(MLint64 , MLint64 , CLASS_NAME); } break; \
case MLuint64Type: { SWITCH_CODE(MLuint64, MLuint64, CLASS_NAME); } break; \
case MLfloatType: { SWITCH_CODE(MLfloat , MLfloat , CLASS_NAME); } break; \
case MLdoubleType: { SWITCH_CODE(MLdouble, MLdouble, CLASS_NAME); } break; \
default: { DEFAULT_CODE(DUMMY_OUT_TYPE, CLASS_NAME); } \
}

Definition at line 276 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_SCALAR_TYPE_CASES

#define ML_IMPLEMENT_SCALAR_TYPE_CASES ( CLASS_NAME,
SWITCH_CODE,
O_SWITCH_TYPE,
INFO_STRING,
DUMMY_OUT_TYPE )
Value:
switch(O_SWITCH_TYPE){ \
case MLint8Type: SWITCH_CODE(MLint8 , MLint8 , CLASS_NAME); break; \
case MLuint8Type: SWITCH_CODE(MLuint8 , MLuint8 , CLASS_NAME); break; \
case MLint16Type: SWITCH_CODE(MLint16 , MLint16 , CLASS_NAME); break; \
case MLuint16Type: SWITCH_CODE(MLuint16 , MLuint16 , CLASS_NAME); break; \
case MLint32Type: SWITCH_CODE(MLint32 , MLint32 , CLASS_NAME); break; \
case MLuint32Type: SWITCH_CODE(MLuint32 , MLuint32 , CLASS_NAME); break; \
case MLint64Type: SWITCH_CODE(MLint64 , MLint64 , CLASS_NAME); break; \
case MLuint64Type: SWITCH_CODE(MLuint64 , MLuint64 , CLASS_NAME); break; \
case MLfloatType: SWITCH_CODE(MLfloat , MLfloat , CLASS_NAME); break; \
case MLdoubleType: SWITCH_CODE(MLdouble , MLdouble , CLASS_NAME); break; \
default: { ML_PRINT_FATAL_ERROR(INFO_STRING, ML_BAD_DATA_TYPE, "Unsupported type case."); break; \
} \
}

The same for only the standard scalar types.

Definition at line 177 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_UINT16_CASE

#define ML_IMPLEMENT_UINT16_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLuint16Type: SWITCH_CODE(MLuint16 , MLuint16 , CLASS_NAME); break;

Definition at line 314 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_UINT32_CASE

#define ML_IMPLEMENT_UINT32_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLuint32Type: SWITCH_CODE(MLuint32 , MLuint32 , CLASS_NAME); break;

Definition at line 316 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_UINT64_CASE

#define ML_IMPLEMENT_UINT64_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLuint64Type: SWITCH_CODE(MLuint64 , MLuint64 , CLASS_NAME); break;

Definition at line 318 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_UINT8_CASE

#define ML_IMPLEMENT_UINT8_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLuint8Type: SWITCH_CODE(MLuint8 , MLuint8 , CLASS_NAME); break;

Definition at line 312 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_VECTOR2D_CASE

#define ML_IMPLEMENT_VECTOR2D_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLVector2dType: SWITCH_CODE(Vector2d , Vector2d , CLASS_NAME); break;

Definition at line 324 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_VECTOR2F_CASE

#define ML_IMPLEMENT_VECTOR2F_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLVector2fType: SWITCH_CODE(Vector2f , Vector2f , CLASS_NAME); break;

Definition at line 323 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_VECTOR3D_CASE

#define ML_IMPLEMENT_VECTOR3D_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLVector3dType: SWITCH_CODE(Vector3d , Vector3d , CLASS_NAME); break;

Definition at line 326 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_VECTOR3F_CASE

#define ML_IMPLEMENT_VECTOR3F_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLVector3fType: SWITCH_CODE(Vector3f , Vector3f , CLASS_NAME); break;

Definition at line 325 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_VECTOR6D_CASE

#define ML_IMPLEMENT_VECTOR6D_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLVector6dType: SWITCH_CODE(Vector6d , Vector6d , CLASS_NAME); break;

Definition at line 328 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_VECTOR6F_CASE

#define ML_IMPLEMENT_VECTOR6F_CASE ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )   case MLVector6fType: SWITCH_CODE(Vector6f , Vector6f , CLASS_NAME); break;

Definition at line 327 of file mlModuleMacros.h.

◆ ML_IMPLEMENT_VECTOR_CASES

#define ML_IMPLEMENT_VECTOR_CASES ( CLASS_NAME,
SWITCH_CODE,
OST_DUMMY,
INFO_DUMMY,
INTYPE_DUMMY )
Value:
ML_IMPLEMENT_VECTOR2F_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_VECTOR2D_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_VECTOR3F_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_VECTOR3D_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_VECTOR6F_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY) \
ML_IMPLEMENT_VECTOR6D_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)
#define ML_IMPLEMENT_VECTOR2F_CASE( CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)

Definition at line 369 of file mlModuleMacros.h.

◆ ML_INSTANTIATE_ALL_TYPES

#define ML_INSTANTIATE_ALL_TYPES ( PASSED_CODE)
Value:
ML_INSTANTIATE_DEFAULT_EXTENDED_TYPES(PASSED_CODE)
#define ML_INSTANTIATE_STANDARD_TYPES(PASSED_CODE)
The ML_INSTANTIATE_STANDARD_TYPES macro is useful to force instantiation of the code passed as parame...

Like ML_INSTANTIATE_STANDARD_TYPES, but for all default ML data types (which includes standard integer, floating point, and the default extended types).

Definition at line 107 of file mlModuleMacros.h.

◆ ML_INSTANTIATE_DEFAULT_EXTENDED_TYPES

#define ML_INSTANTIATE_DEFAULT_EXTENDED_TYPES ( PASSED_CODE)
Value:
PASSED_CODE(std::complex<MLfloat>); \
PASSED_CODE(std::complex<MLdouble>); \
PASSED_CODE(Vector2f); \
PASSED_CODE(Vector2d); \
PASSED_CODE(Vector3f); \
PASSED_CODE(Vector3d); \
PASSED_CODE(Vector6f); \
PASSED_CODE(Vector6d); \
PASSED_CODE(Matrix2f); \
PASSED_CODE(Matrix2d); \
PASSED_CODE(Matrix3f); \
PASSED_CODE(Matrix3d);

Like ML_INSTANTIATE_STANDARD_TYPES, but only for the default extended data types.

Definition at line 89 of file mlModuleMacros.h.

◆ ML_INSTANTIATE_STANDARD_FLOAT_TYPES

#define ML_INSTANTIATE_STANDARD_FLOAT_TYPES ( PASSED_CODE)
Value:
PASSED_CODE(MLfloat); \
PASSED_CODE(MLdouble);

Like ML_INSTANTIATE_STANDARD_TYPES, but only for standard floating point data types.

Definition at line 58 of file mlModuleMacros.h.

◆ ML_INSTANTIATE_STANDARD_INT_TYPES

#define ML_INSTANTIATE_STANDARD_INT_TYPES ( PASSED_CODE)
Value:
ML_INSTANTIATE_STANDARD_UNSIGNED_INT_TYPES(PASSED_CODE)
#define ML_INSTANTIATE_STANDARD_SIGNED_INT_TYPES(PASSED_CODE)
Like ML_INSTANTIATE_STANDARD_TYPES, but only for standard signed integer data types.

Like ML_INSTANTIATE_STANDARD_TYPES, but only for standard integer data types.

Definition at line 51 of file mlModuleMacros.h.

◆ ML_INSTANTIATE_STANDARD_SIGNED_INT_TYPES

#define ML_INSTANTIATE_STANDARD_SIGNED_INT_TYPES ( PASSED_CODE)
Value:
PASSED_CODE(MLint8); \
PASSED_CODE(MLint16); \
PASSED_CODE(MLint32); \
PASSED_CODE(MLint64);

Like ML_INSTANTIATE_STANDARD_TYPES, but only for standard signed integer data types.

Definition at line 33 of file mlModuleMacros.h.

◆ ML_INSTANTIATE_STANDARD_TYPES

#define ML_INSTANTIATE_STANDARD_TYPES ( PASSED_CODE)
Value:
ML_INSTANTIATE_STANDARD_FLOAT_TYPES(PASSED_CODE)
#define ML_INSTANTIATE_STANDARD_INT_TYPES(PASSED_CODE)
Like ML_INSTANTIATE_STANDARD_TYPES, but only for standard integer data types.

The ML_INSTANTIATE_STANDARD_TYPES macro is useful to force instantiation of the code passed as parameter for all standard ML data types.

Parameters
PASSED_CODEis the macro implemented for each data type by passing the corresponding data type as parameter.
  • It is also useful for the problem to instantiate template methods or variables in non-template classes, especially in .cpp files.
  • A typical solution is to create a non-template helper method like _forceInstantiation() which contains in it is method body something like
    #define _LOCAL_CODE(DTYPE) MyTemplateFunc((TSubImage<DTYPE> *)NULL);
    void MyClass::_forceInstantiation() { ML_INSTANTIATE_ALL_TYPES(_LOCAL_CODE); }
    #undef _LOCAL_CODE
    #define ML_INSTANTIATE_ALL_TYPES(PASSED_CODE)
    Like ML_INSTANTIATE_STANDARD_TYPES, but for all default ML data types (which includes standard intege...
    So the code defined in _LOCAL_CODE is passed to ML_INSTANTIATE_STANDARD_TYPES and coded for all those types. To force instantiation it is typically not necessary to call that code; usually it is enough to pass casted NULL pointers as parameters.

Definition at line 82 of file mlModuleMacros.h.

◆ ML_INSTANTIATE_STANDARD_UNSIGNED_INT_TYPES

#define ML_INSTANTIATE_STANDARD_UNSIGNED_INT_TYPES ( PASSED_CODE)
Value:
PASSED_CODE(MLuint8); \
PASSED_CODE(MLuint16); \
PASSED_CODE(MLuint32); \
PASSED_CODE(MLuint64);

Like ML_INSTANTIATE_STANDARD_TYPES, but only for standard unsigned integer data types.

Definition at line 42 of file mlModuleMacros.h.