v-begrenzen-mathe

hio/nwt-gus-hi/v-begrenzen-mathe

Begrenzt einen Eingabewert so, dass dieser immer innerhalb eines Bereichs von [MIN, MAX] liegt.
v-begrenzen-mathe
@/v-begrenzen-mathe
Begrenzt einen Eingabewert so, dass dieser immer innerhalb eines Bereichs von [MIN, MAX] liegt.
Xnumber
Eingabewert
MINnumber
A lower bound of the range.
MAXnumber
An upper bound of the range.
v-begrenzen-mathe
Ausgabewert
X
MIN
MAX
Ausgabewertnumber
Das Ergebnis. Entspricht `X`, wenn es bereits im Bereich liegt, andernfalls wird `Xc` auf die nächste Grenze gerundet: `MIN` oder `MAX`.
To use the node in your project you should have the hio/nwt-gus-hi 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

node {
    void evaluate(Context ctx) {
        auto x = getValue<input_X>(ctx);
        auto rMin = getValue<input_MIN>(ctx);
        auto rMax = getValue<input_MAX>(ctx);
        auto xc =
            x > rMax ? rMax :
            x < rMin ? rMin : x;

        emitValue<output_Ausgabewert>(ctx, xc);
    }
}

Tabular tests

XMINMAXAusgabewert
0000
1000
-100-10.510.5-10.5
100-10.510.510.5
5.74-10.510.55.74
Inf-10.510.510.5
-Inf-10.510.5-10.5
Inf-InfInfInf
-Inf-InfInf-Inf
NaN-10.510.5NaN
50NaNNaN50