*SetFunctionUnitPolicy()
Defines the units to be used for a specific Templex function.
Syntax
*SetFunctionUnitPolicy (function_name, policy)
Application
HyperGraph
Inputs
- function_name
- The name of the Templex function, in quotes.
- policy
- Choose from the following options for policy:
- “none”
- The function is unit-less (sine or cosine, for example, but not the inverse for either).
- “signal processing”
- The function is unit-less because it performs a domain switch (time to frequency, for example). Units may be supported for these functions later.
- “first parameter”
- Uses the units of the function’s first parameter.
- “second parameter”
- Uses the units of the function’s second parameter.
- “all parameters”
- Uses the units used by all the function’s parameters; performs a check to ensure that all parameters use the same unit.
- “interpolation”
- Uses the units of the function’s second parameter; assumes the function follows the pattern of other interp functions (such as lininterp).
- “derivative”
- Calculates the units using the function’s first two parameters (using calculus rules).
- “integral”
- Calculates the units using the function’s first two parameters (using calculus rules).
- “square root”
- Calculates the units using the function’s first parameter; the function’s first parameter must use a squared unit.
- “variable”
- Calculates the units using the value of one of the function’s scalar parameters. The additional arguments to the statement are: The number of the parameter to key off, followed by pairs of numbers and the unit that number corresponds to. See, for instance, the Hic function below.
Example
*SetFunctionUnitPolicy("akimaderivative", "derivative")
*SetFunctionUnitPolicy("saefilt95", "second parameter")
*SetFunctionUnitPolicy("th_bandpass_butter", "second parameter")
*SetFunctionUnitPolicy("th_butter", "second parameter")
*SetFunctionUnitPolicy("th_cfc", "second parameter")
*SetFunctionUnitPolicy("th_fir100", "second parameter")
*SetFunctionUnitPolicy("th_four", "second parameter")
*SetFunctionUnitPolicy("th_sae", "second parameter")
*SetFunctionUnitPolicy("th_tche", "second parameter")
*SetFunctionUnitPolicy("butterworth", "second parameter")
*SetFunctionUnitPolicy("clip_continuous", "second parameter")
*SetFunctionUnitPolicy("clip_cumulative", "second parameter")
*SetFunctionUnitPolicy("duration", "variable", 3, 0.0, "s", 1.0, "second parameter")
*SetFunctionUnitPolicy("fir100", "second parameter")
*SetFunctionUnitPolicy("iso6487", "second parameter")
*SetFunctionUnitPolicy("barchart", "first parameter")
*SetFunctionUnitPolicy("histogram", "first parameter")
*SetFunctionUnitPolicy("fuse", "first parameter")
*SetFunctionUnitPolicy("hic", "variable", 4, 1.0, "ms", 2.0, "gravities", 5.0, "gravities")
*SetFunctionUnitPolicy("hicd", "variable", 4, 1.0, "ms", 2.0, "gravities", 3.0, "gravities")
*SetFunctionUnitPolicy("clip", "variable", 4, 1.0, "ms", 2.0, "gravities", 3.0, "")
*SetFunctionUnitPolicy("nij", "fixed", "")
*SetFunctionUnitExpectations("clip", "s", "gravities", "ms")
*SetFunctionUnitExpectations("nij", "N", "N", "Nm")
*SetFunctionUnitExpectations("hic", "s", "gravities", "ms")
*SetFunctionUnitExpectations("hicd", "s", "gravities", "ms")
*SetFunctionUnitExpectations("duration", "s")
*SetFunctionUnitExpectations("olc", "s", "m/s")
*SetFunctionUnitExpectations("saefilt95", "s")
*SetFunctionUnitExpectations("iso6487", "s")
*SetFunctionUnitExpectations("butterworth", "s")
*SetFunctionUnitExpectations("fir100", "s")
*SetFunctionUnitExpectations("saefilter", "s")