minmax

koadrobot/math/minmax

Return minimum and minimum number values of two input value.
minmax
@/minmax
Return minimum and minimum number values of two input value.
IN1number
IN2number
minmax
IN1
IN2
MIN
MAX
MAXnumber
MINnumber
To use the node in your project you should have the koadrobot/math library installed. Use the “File → Add Library” menu item in XOD IDE if you don’t have it yet. See Using libraries for more info.

C++ implementation

#pragma XOD dirtieness disable

struct State {};

{{ GENERATED_CODE }}

void evaluate(Context ctx) {
    Number lhs = getValue<input_IN1>(ctx);
    Number rhs = getValue<input_IN2>(ctx);
    emitValue<output_MIN>(ctx, ( (lhs < rhs) || isnan(lhs) ) ? lhs : rhs);
    emitValue<output_MAX>(ctx, ( (lhs < rhs) || isnan(rhs) ) ? rhs : lhs);
}

Tabular tests

IN1IN2MINMAX
0.10.010.010.1
-0.50.5-0.50.5
50023005002300
-20-1-20-1
Inf100100Inf
-Inf100-Inf100
// when any of inputs is NaN — return NaN
NaN1NaNNaN
1NaNNaNNaN
NaNInfNaNNaN
InfNaNNaNNaN
NaN-InfNaNNaN
-InfNaNNaNNaN