constructor(x, y, scope = globalScope, dir = 'RIGHT', bitWidth = 1) {
        super(x, y, scope, dir, bitWidth);
        /* this is done in this.baseSetup() now
        this.scope['ALU'].push(this);
        */
        this.message = 'ALU';

        this.setDimensions(30, 40);
        this.rectangleObject = false;

        this.inp1 = new Node(-30, -30, 0, this, this.bitwidth, 'A');
        this.inp2 = new Node(-30, 30, 0, this, this.bitwidth, 'B');

        this.controlSignalInput = new Node(-10, -40, 0, this, 3, 'Ctrl');
        this.carryOut = new Node(-10, 40, 1, this, 1, 'Cout');
        this.output = new Node(30, 0, 1, this, this.bitwidth, 'Out');
    }
@class
ALU
@extends CircuitElement
@param {number} x - x coordinate of element.
@param {number} y - y coordinate of element.
@param {Scope=} scope - Cirucit on which element is drawn
@param {string=} dir - direction of element
@param {number=} bitWidth - bit width per node.
@category modules