Patent ID: 8856759

Claim:
A method of generating an executable computer program, the executable computer program including instructions for invoking decimal numeric computations during its execution on a computer system, the executable computer program generated by compilation of a computer program source file; the source file including: a) declarations of decimal numeric variables specifying declared attributes of each decimal numeric variable and, b) description of decimal arithmetic operations between first and second of the decimal numeric variables; the method comprising the steps of: A) reading, with a special compiler, the computer program source file; B) generating, by the special compiler, the executable computer program including executable instructions which perform a plurality of calls to a special decimal numeric subroutine stored in a memory associated with the computer system for performing decimal arithmetic operations; and C) storing within the executable computer program, an argument for each of the plurality of the calls to the special decimal numeric subroutine, each of the argument lists containing at least one argument that directly provides compiler generated comparative alignment information, the comparative alignment information determined by the special compiler at compile time based upon a comparison of the declared attributes of the first and second decimal numeric variables, for enabling the special decimal numeric subroutine to perform a decimal numeric operation upon the first and second decimal numeric variables utilizing said comparative alignment information to directly align at run time, the first decimal numeric variable with the second decimal variable for reducing time spent in performing the decimal numeric computations during execution of the executable program; wherein the compiler generated comparative alignment information is based upon a comparison of lengths of the first and second decimal numeric variables the comparative alignment information determined during compile time.