4053-multiplexer

cesars/405xb/4053-multiplexer

No description
4053-multiplexer
@/4053-multiplexer
Deprecated: Use library cesars/4051
AXgeneric t1
AYgeneric t1
BXgeneric t2
BYgeneric t2
CXgeneric t3
CYgeneric t3
ENboolean
Anumber
Select 0-1
Bnumber
Select 0-1
Cnumber
Select 0-1
4053-multiplexer
AX
AY
BX
BY
CX
CY
EN
A
B
C
AX_AY
BX_BY
CX_CY
CX_CYgeneric t3
BX_BYgeneric t2
AX_AYgeneric t1
To use the node in your project you should have the cesars/405xb 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) {

    if(!getValue<input_EN>(ctx) == 1)
        return;

    int a = getValue<input_A>(ctx);
    int b = getValue<input_B>(ctx);
    int c = getValue<input_C>(ctx);

    switch (a){
        case 0:
        emitValue<output_AX_AY>(ctx, getValue<input_AX>(ctx));
            break;
        case 1:
        emitValue<output_AX_AY>(ctx, getValue<input_AY>(ctx));
            break;
    }
    switch (b){
        case 0:
        emitValue<output_BX_BY>(ctx, getValue<input_BX>(ctx));
            break;
        case 1:
        emitValue<output_BX_BY>(ctx, getValue<input_BY>(ctx));
            break;
    }
    switch (c){
        case 0:
        emitValue<output_CX_CY>(ctx, getValue<input_CX>(ctx));
            break;
        case 1:
        emitValue<output_CX_CY>(ctx, getValue<input_CY>(ctx));
            break;
    }
}