*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")