AllBinary

pragma circom 2.1.8;

// Create constraints that enforces all signals
// in `in` are binary, i.e. 0 or 1.

template AllBinary(n) {
    signal input in[n];

}

component main = AllBinary(4);

Answer

pragma circom 2.1.8;

// Create constraints that enforces all signals
// in `in` are binary, i.e. 0 or 1.

template AllBinary(n) {
    signal input in[n];

    // constraints all inputs to be either 1 or 0
    for (var i = 0; i < n; i++) {
        // in[i] must be either 1 or 0
        in[i] * (1 - in[i]) === 0;
    }

}

component main = AllBinary(4);

Last updated

Was this helpful?