mlpack
2.2.5
|
Go to the source code of this file.
Macros | |
#define | PARAM_DOUBLE_IN(ID, DESC, ALIAS, DEF) PARAM_IN(double, ID, DESC, ALIAS, DEF, false) |
Define a double input parameter. More... | |
#define | PARAM_DOUBLE_IN_REQ(ID, DESC, ALIAS) PARAM_IN(double, ID, DESC, ALIAS, 0.0d, true) |
Define a required double parameter. More... | |
#define | PARAM_DOUBLE_OUT(ID, DESC) PARAM_OUT(double, ID, DESC, "", 0.0, false) |
Define a double output parameter. More... | |
#define | PARAM_FLAG(ID, DESC, ALIAS) PARAM_FLAG_INTERNAL(ID, DESC, ALIAS); |
Define a flag parameter. More... | |
#define | PARAM_IN(T, ID, DESC, ALIAS, DEF, REQ) |
Define an input parameter. More... | |
#define | PARAM_INT_IN(ID, DESC, ALIAS, DEF) PARAM_IN(int, ID, DESC, ALIAS, DEF, false) |
Define an integer input parameter. More... | |
#define | PARAM_INT_IN_REQ(ID, DESC, ALIAS) PARAM_IN(int, ID, DESC, ALIAS, 0, true) |
Define a required integer input parameter. More... | |
#define | PARAM_INT_OUT(ID, DESC) PARAM_OUT(int, ID, DESC, "", 0, false) |
Define an integer output parameter. More... | |
#define | PARAM_OUT(T, ID, DESC, ALIAS, DEF, REQ) |
#define | PARAM_STRING_IN(ID, DESC, ALIAS, DEF) PARAM_IN(std::string, ID, DESC, ALIAS, DEF, false) |
Define a string input parameter. More... | |
#define | PARAM_STRING_IN_REQ(ID, DESC, ALIAS) PARAM_IN(std::string, ID, DESC, ALIAS, "", true) |
Define a required string parameter. More... | |
#define | PARAM_STRING_OUT(ID, DESC, ALIAS) PARAM_OUT(std::string, ID, DESC, ALIAS, "", false) |
Define a string output parameter. More... | |
#define | PARAM_VECTOR_IN(T, ID, DESC, ALIAS) PARAM_IN(std::vector<T>, ID, DESC, ALIAS, std::vector<T>(), false) |
Define a vector input parameter. More... | |
#define | PARAM_VECTOR_IN_REQ(T, ID, DESC, ALIAS) PARAM_IN(std::vector<T>, ID, DESC, ALIAS, std::vector<T>(), true); |
Define a required vector parameter. More... | |
#define | PARAM_VECTOR_OUT(T, ID) PARAM_OUT(std::vector<T>, ID, DESC, "", std::vector<T>(), false) |
Define a vector output parameter. More... | |
#define | PROGRAM_INFO(NAME, DESC) |
Document an executable. More... | |
Definition of PARAM_*_IN() and PARAM_*_OUT() macros, as well as the PROGRAM_INFO() macro, which are used to define input and output parameters of command-line programs and bindings to other languages.
mlpack is free software; you may redistribute it and/or modify it under the terms of the 3-clause BSD license. You should have received a copy of the 3-clause BSD license along with mlpack. If not, see http://www.opensource.org/licenses/BSD-3-Clause for more information.
Definition in file param.hpp.
#define PARAM_DOUBLE_IN | ( | ID, | |
DESC, | |||
ALIAS, | |||
DEF | |||
) | PARAM_IN(double, ID, DESC, ALIAS, DEF, false) |
Define a double input parameter.
The parameter can then be specified on the command line with –ID=value.
ID | Name of the parameter. |
DESC | Quick description of the parameter (1-2 sentences). |
ALIAS | An alias for the parameter (one letter). |
DEF | Default value of the parameter. |
#define PARAM_DOUBLE_IN_REQ | ( | ID, | |
DESC, | |||
ALIAS | |||
) | PARAM_IN(double, ID, DESC, ALIAS, 0.0d, true) |
Define a required double parameter.
The parameter must then be specified on the command line with –ID=value.
ID | Name of the parameter. |
DESC | Quick description of the parameter (1-2 sentences). |
ALIAS | An alias for the parameter (one letter). |
#define PARAM_DOUBLE_OUT | ( | ID, | |
DESC | |||
) | PARAM_OUT(double, ID, DESC, "", 0.0, false) |
Define a double output parameter.
This parameter will be printed on stdout at the end of the program; for instance, if the parameter name is "number" and the value is 5.012, the output on stdout would be of the following form:
If the parameter is not set by the end of the program, a fatal runtime error will be issued.
ID | Name of the parameter. |
DESC | Quick description of the parameter (1-2 sentences). |
#define PARAM_FLAG | ( | ID, | |
DESC, | |||
ALIAS | |||
) | PARAM_FLAG_INTERNAL(ID, DESC, ALIAS); |
Define a flag parameter.
ID | Name of the parameter. |
DESC | Quick description of the parameter (1-2 sentences). |
ALIAS | An alias for the parameter (one letter). |
#define PARAM_IN | ( | T, | |
ID, | |||
DESC, | |||
ALIAS, | |||
DEF, | |||
REQ | |||
) |
Define an input parameter.
Don't use this function; use the other ones above that call it. Note that we are using the LINE macro for naming these actual parameters when COUNTER does not exist, which is a bit of an ugly hack... but this is the preprocessor, after all. We don't have much choice other than ugliness.
T | Type of the parameter. |
ID | Name of the parameter. |
DESC | Description of the parameter (1-2 sentences). |
ALIAS | Alias for this parameter (one letter). |
DEF | Default value of the parameter. |
REQ | Whether or not parameter is required (boolean value). |
#define PARAM_INT_IN | ( | ID, | |
DESC, | |||
ALIAS, | |||
DEF | |||
) | PARAM_IN(int, ID, DESC, ALIAS, DEF, false) |
Define an integer input parameter.
The parameter can then be specified on the command line with –ID=value.
ID | Name of the parameter. |
DESC | Quick description of the parameter (1-2 sentences). |
ALIAS | An alias for the parameter (one letter). |
DEF | Default value of the parameter. |
#define PARAM_INT_IN_REQ | ( | ID, | |
DESC, | |||
ALIAS | |||
) | PARAM_IN(int, ID, DESC, ALIAS, 0, true) |
Define a required integer input parameter.
The parameter must then be specified on the command line with –ID=value.
ID | Name of the parameter. |
DESC | Quick description of the parameter (1-2 sentences). |
ALIAS | An alias for the parameter (one letter). |
#define PARAM_INT_OUT | ( | ID, | |
DESC | |||
) | PARAM_OUT(int, ID, DESC, "", 0, false) |
Define an integer output parameter.
This parameter will be printed on stdout at the end of the program; for instance, if the parameter name is "number" and the value is 5, the output on stdout would be of the following form:
If the parameter is not set by the end of the program, a fatal runtime error will be issued.
ID | Name of the parameter. |
DESC | Quick description of the parameter (1-2 sentences). |
#define PARAM_OUT | ( | T, | |
ID, | |||
DESC, | |||
ALIAS, | |||
DEF, | |||
REQ | |||
) |
#define PARAM_STRING_IN | ( | ID, | |
DESC, | |||
ALIAS, | |||
DEF | |||
) | PARAM_IN(std::string, ID, DESC, ALIAS, DEF, false) |
Define a string input parameter.
The parameter can then be specified on the command line with –ID=value. If ALIAS is equal to DEF_MOD (which is set using the PROGRAM_INFO() macro), the parameter can be specified with just –ID=value.
ID | Name of the parameter. |
DESC | Quick description of the parameter (1-2 sentences). |
ALIAS | An alias for the parameter (one letter). |
DEF | Default value of the parameter. |
#define PARAM_STRING_IN_REQ | ( | ID, | |
DESC, | |||
ALIAS | |||
) | PARAM_IN(std::string, ID, DESC, ALIAS, "", true) |
Define a required string parameter.
The parameter must then be specified on the command line with –ID=value.
ID | Name of the parameter. |
DESC | Quick description of the parameter (1-2 sentences). |
ALIAS | An alias for the parameter (one letter). |
#define PARAM_STRING_OUT | ( | ID, | |
DESC, | |||
ALIAS | |||
) | PARAM_OUT(std::string, ID, DESC, ALIAS, "", false) |
Define a string output parameter.
If the parameter name does not end in "_file" (i.e. "output_file", "predictions_file", etc.), then the string will be printed to stdout at the end of the program. For instance, if there was a string output parameter called "something" with value "hello", at the end of the program the output would be of the following form:
If the parameter is not set by the end of the program, a fatal runtime error will be issued.
An alias is still allowed for string output parameters, because if the parameter name ends in "_file", then the user must be able to specify it as input. The default value will always be the empty string.
ID | Name of the parameter. |
DESC | Quick description of the parameter (1-2 sentences). |
ALIAS | An alias for the parameter (one letter). |
#define PARAM_VECTOR_IN | ( | T, | |
ID, | |||
DESC, | |||
ALIAS | |||
) | PARAM_IN(std::vector<T>, ID, DESC, ALIAS, std::vector<T>(), false) |
Define a vector input parameter.
The parameter can then be specified on the command line with –ID=value1,value2,value3.
ID | Name of the parameter. |
DESC | Quick description of the parameter (1-2 sentences). |
ALIAS | An alias for the parameter (one letter). |
DEF | Default value of the parameter. |
#define PARAM_VECTOR_IN_REQ | ( | T, | |
ID, | |||
DESC, | |||
ALIAS | |||
) | PARAM_IN(std::vector<T>, ID, DESC, ALIAS, std::vector<T>(), true); |
Define a required vector parameter.
The parameter must then be specified on the command line with –ID=value1,value2,value3.
ID | Name of the parameter. |
DESC | Quick description of the parameter (1-2 sentences). |
ALIAS | An alias for the parameter (one letter). |
#define PARAM_VECTOR_OUT | ( | T, | |
ID | |||
) | PARAM_OUT(std::vector<T>, ID, DESC, "", std::vector<T>(), false) |
Define a vector output parameter.
This vector will be printed on stdout at the end of the program; for instance, if the parameter name is "vector" and the vector holds the array { 1, 2, 3, 4 }, the output on stdout would be of the following form:
If the parameter is not set by the end of the program, a fatal runtime error will be issued.
ID | Name of the parameter. |
DESC | Quick description of the parameter (1-2 sentences). |
#define PROGRAM_INFO | ( | NAME, | |
DESC | |||
) |
Document an executable.
Only one instance of this macro should be present in your program! Therefore, use it in the main.cpp (or corresponding executable) in your program.
NAME | Short string representing the name of the program. |
DESC | Long string describing what the program does and possibly a simple usage example. Newlines should not be used here; this is taken care of by CLI (however, you can explicitly specify newlines to denote new paragraphs). |