* CONSTRAINTS * This module does not handle data which is considered out of range by the * application(i.e. fixed constants which represent error condition) * * Maximum weight value must be limited to 128 to prevent an overflow * condition during the calculation. * * The internal data type must be large enough to handle the calculations. * The maximum possible internal value * = Max Input Value * (weight - 1) + Max Input Value * If a maximum weight of 128 is used, the internal data type should be 2 * times the size of the input data type.