MeVisLab Toolbox 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. More...
 
#define ML_INSTANTIATE_STANDARD_SIGNED_INT_TYPES(PASSED_CODE)
 Like ML_INSTANTIATE_STANDARD_TYPES, but only for standard signed integer data types. More...
 
#define ML_INSTANTIATE_STANDARD_UNSIGNED_INT_TYPES(PASSED_CODE)
 Like ML_INSTANTIATE_STANDARD_TYPES, but only for standard unsigned integer data types. More...
 
#define ML_INSTANTIATE_STANDARD_INT_TYPES(PASSED_CODE)
 Like ML_INSTANTIATE_STANDARD_TYPES, but only for standard integer data types. More...
 
#define ML_INSTANTIATE_STANDARD_FLOAT_TYPES(PASSED_CODE)
 Like ML_INSTANTIATE_STANDARD_TYPES, but only for standard floating point data types. More...
 
#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. More...
 
#define ML_INSTANTIATE_DEFAULT_EXTENDED_TYPES(PASSED_CODE)
 Like ML_INSTANTIATE_STANDARD_TYPES, but only for the default extended data types. More...
 
#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). More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#define _ML_SWITCH_CODE_1(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_1_* macros. More...
 
#define _ML_SWITCH_CODE_2(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_2_* macros. More...
 
#define _ML_SWITCH_CODE_3(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_3_* macros. More...
 
#define _ML_SWITCH_CODE_4(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_4_* macros. More...
 
#define _ML_SWITCH_CODE_5(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_5_* macros. More...
 
#define _ML_SWITCH_CODE_10(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro for ML_CALCULATE_OUTPUTSUBIMAGE_NUM_INPUTS_10_* macros. More...
 
#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). More...
 
#define _ML_SWITCH_CODE1_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change. More...
 
#define _ML_SWITCH_CODE1S_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change. More...
 
#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). More...
 
#define _ML_SWITCH_CODE2_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change. More...
 
#define _ML_SWITCH_CODE2S_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change. More...
 
#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). More...
 
#define _ML_SWITCH_CODE3_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change. More...
 
#define _ML_SWITCH_CODE3S_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change. More...
 
#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. More...
 
#define _ML_SWITCH_CODE4_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change. More...
 
#define _ML_SWITCH_CODE4S_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change. More...
 
#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. More...
 
#define _ML_SWITCH_CODE5_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change. More...
 
#define _ML_SWITCH_CODE5S_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change. More...
 
#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. More...
 
#define _ML_SWITCH_CODE10_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change. More...
 
#define _ML_SWITCH_CODE10S_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change. More...
 
#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. More...
 
#define _ML_SWITCH_CODENS_DD(OUTDTYPE, INDTYPE, CLASS_NAME)
 Non-public helper macro. Do not use - it is subject to change. More...
 
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. More...
 
#define ML_IMPLEMENT_INT_CASES(CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3)
 Implements all case switches for integer data types. More...
 
#define ML_IMPLEMENT_FLOAT_CASES(CLASS_NAME, SWITCH_CODE, OST_DUMMY1, OST_DUMMY2, OST_DUMMY3)
 Implements all case switches for float data types. More...
 
#define ML_IMPLEMENT_COMPLEX_CASES(CLASS_NAME, SWITCH_CODE, OST_DUMMY, INFO_DUMMY, INTYPE_DUMMY)
 Implements all case switches for extended data types. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#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). More...
 
#define ML_IMPLEMENT_DEFAULT_HANDLING(CALLING_POSITION_STRING)
 Implements default case with error handling. More...
 
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. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
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 497 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 1550 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 1544 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 1561 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 1124 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 1120 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 1135 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 1206 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 1202 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 1217 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 1290 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 1285 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 1301 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 1375 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 1370 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 1386 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 1461 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 1456 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 1472 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 504 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 569 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 867 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 625 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 683 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 743 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 804 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 950 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 1633 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 1644 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 465 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 472 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 451 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 525 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 515 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 528 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 518 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 531 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 522 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 897 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 890 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 1579 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 1573 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 1583 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 1577 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 1581 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 1575 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 898 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 891 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 899 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 892 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 586 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 579 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 1153 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 1147 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 1157 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 1151 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 1155 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 1149 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 587 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 580 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 588 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 581 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 642 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 635 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 1235 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 1229 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 1239 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 1233 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 1237 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 1231 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 643 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 636 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 644 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 637 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 703 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 696 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 1319 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 1313 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 1323 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 1317 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 1321 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 1315 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 704 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 697 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 705 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 698 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 764 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 757 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 1404 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 1398 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 1408 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 1402 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 1406 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 1400 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 765 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 758 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 766 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 759 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 827 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 820 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 1490 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 1484 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 1494 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 1488 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 1492 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 1486 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 828 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 821 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 829 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 822 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 1058 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 1046 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 1662 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 1656 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 1666 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 1660 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 1664 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 1658 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 1059 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 1049 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 1060 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 1053 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:738
@ MLMatrix2dType
Definition: mlTypeDefs.h:751
@ MLComplexdType
Definition: mlTypeDefs.h:734
@ MLVector6fType
Definition: mlTypeDefs.h:742
@ MLuint8Type
Enumerator for the unsigned 8 bit ML integer type.
Definition: mlTypeDefs.h:723
@ MLVector3fType
Definition: mlTypeDefs.h:739
@ MLuint32Type
Enumerator for the unsigned 32 bit ML integer type.
Definition: mlTypeDefs.h:727
@ MLComplexfType
Definition: mlTypeDefs.h:734
@ MLfloatType
Enumerator for the signed 32 bit ML floating point type.
Definition: mlTypeDefs.h:728
@ MLuint16Type
Enumerator for the unsigned 16 bit ML integer type.
Definition: mlTypeDefs.h:725
@ MLMatrix3dType
Definition: mlTypeDefs.h:752
@ MLint64Type
Enumerator for the signed 64 bit ML integer type.
Definition: mlTypeDefs.h:730
@ MLVector3dType
Definition: mlTypeDefs.h:739
@ MLVector2dType
Definition: mlTypeDefs.h:738
@ MLint16Type
Enumerator for the signed 16 bit ML integer type.
Definition: mlTypeDefs.h:724
@ MLint32Type
Enumerator for the signed 32 bit ML integer type.
Definition: mlTypeDefs.h:726
@ MLMatrix3fType
Definition: mlTypeDefs.h:752
@ MLVector6dType
Definition: mlTypeDefs.h:742
@ MLdoubleType
Enumerator for the signed 64 bit ML floating point type.
Definition: mlTypeDefs.h:729
@ MLint8Type
Enumerator for the signed 8 bit ML integer type.
Definition: mlTypeDefs.h:722
@ MLuint64Type
Enumerator for the unsigned 64 bit ML integer type.
Definition: mlTypeDefs.h:731
@ MLMatrix2fType
Definition: mlTypeDefs.h:751
#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:884
#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:513
unsigned int MLuint32
Definition: mlTypeDefs.h:191
unsigned char MLuint8
Definition: mlTypeDefs.h:115
double MLdouble
Definition: mlTypeDefs.h:223
unsigned short MLuint16
Definition: mlTypeDefs.h:148
signed short MLint16
Definition: mlTypeDefs.h:131
char MLint8
Definition: mlTypeDefs.h:103
INT64 MLint64
Include 64 bit integer support for Windows or Unix.
Definition: mlTypeDefs.h:500
signed int MLint32
Definition: mlTypeDefs.h:167
float MLfloat
Definition: mlTypeDefs.h:207
Tmat3< MLfloat > Matrix3f
A 3x3 matrix of type float.
Definition: mlMatrix3.h:705
Tvec2< MLdouble > Vector2d
A vector with 2 components of type double.
Definition: mlVector2.h:155
Tmat2< MLfloat > Matrix2f
A 2x2 matrix of type float.
Definition: mlMatrix2.h:512
Tvec2< MLfloat > Vector2f
A vector with 2 components of type float.
Definition: mlVector2.h:153
Tvec6< MLdouble > Vector6d
A vector with 6 components of type double.
Definition: mlVector6.h:190
Tvec6< MLfloat > Vector6f
A vector with 6 components of type float.
Definition: mlVector6.h:188
Tvec3< MLdouble > Vector3d
A vector with 3 components of type double.
Definition: mlVector3.h:296
Tmat2< MLdouble > Matrix2d
A 2x2 matrix of type double.
Definition: mlMatrix2.h:514
Tvec3< MLfloat > Vector3f
A vector with 3 components of type float.
Definition: mlVector3.h:294
Tmat3< MLdouble > Matrix3d
A 3x3 matrix of type double.
Definition: mlMatrix3.h:707

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 379 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 336 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 335 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 413 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 428 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 305 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 334 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 333 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 374 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 327 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 329 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 331 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 325 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 363 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 354 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 398 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 403 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 344 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 343 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 346 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 345 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 391 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 421 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 290 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 328 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 330 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 332 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 326 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 338 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 337 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 340 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 339 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 342 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 341 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 383 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.