resolve() {
        let out = 0;
        let temp = 0;
        for (let i = this.inputSize - 1; i >= 0; i--) {
            if (this.inp1[i].value === 1) {
                out = dec2bin(i);
                break;
            }
        }
        temp = out;

        if (out.length !== undefined) {
            this.enable.value = 1;
        } else {
            this.enable.value = 0;
        }
        simulationArea.simulationQueue.add(this.enable);

        if (temp.length === undefined) {
            temp = "0";
            for (let i = 0; i < this.bitWidth - 1; i++) {
                temp = `0${temp}`;
            }
        }

        if (temp.length !== this.bitWidth) {
            for (let i = temp.length; i < this.bitWidth; i++) {
                temp = `0${temp}`;
            }
        }

        for (let i = this.bitWidth - 1; i >= 0; i--) {
            this.output1[this.bitWidth - 1 - i].value = Number(temp[i]);
            simulationArea.simulationQueue.add(
                this.output1[this.bitWidth - 1 - i]
            );
        }

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