resolve() {
        if (this.isResolvable() === false) {
            return;
        }
        let carryIn = this.carryIn.value;
        if (carryIn === undefined) carryIn = 0;
        const sum = this.inpA.value + this.inpB.value + carryIn;

        this.sum.value = ((sum) << (32 - this.bitWidth)) >>> (32 - this.bitWidth);
        this.carryOut.value = +((sum >>> (this.bitWidth)) !== 0);
        simulationArea.simulationQueue.add(this.carryOut);
        simulationArea.simulationQueue.add(this.sum);

        this.setOutputsUpstream(true);
    }
@memberof Adder
resolve output values based on inputData