Patent ID: 8280939

Claim:
A computer-implemented method of performing an operation on a set of at least one operand objects to generate a result object, the method designed to reduce the risks of overflow and loss of accuracy attributable to the operation, the method being implemented on a computer comprising a memory and an arithmetic unit, the method comprising: representing and storing in the memory each of the operand objects in a BFP form having an array of mantissa values as well as a common exponent for all mantissa values in the array for a given object, wherein each mantissa value and common exponent is stored in the memory as a bit pattern; and generating the result object in a BFP format having an array of mantissa values and a common exponent for all mantissa values associated with the result object, wherein each mantissa value and common exponent is stored in the memory as a bit pattern, wherein the generating step comprises: performing an analysis step to determine respective shift values for each of the operand objects and a shift value for the result object; and calculating a result mantissa value for each corresponding set of mantissa values associated with the operand objects by: shifting the stored bit patterns representing the corresponding mantissa values in the operand objects by numbers of bits equal to their respective associated shift values determined in the analysis step, performing the operation on corresponding mantissa values in the array portions of the operand objects using the arithmetic unit to generate respective preliminary mantissa values for the result object, shifting a bit pattern representing the preliminary mantissa values for the result object by a number of bits equal to the shift value for the result object as determined in the analysis step, and storing the shifted preliminary mantissa values in the array portion of the result object in the memory.