Patent ID: 7237228

Claim:
A computer-implemented method for processing numerical values in a computer program executable on a computer system, comprising: encapsulating in a large-integer datatype, large-integer data and associated large-integer operators, wherein the large-integer data has runtime expandable precision and maximum precision is limited only by system memory availability; overloading language-provided arithmetic, logical, and type conversion operators with the large-integer operators that operate on large-integer variables in combination with other datatypes, and programmed usage of a variable of the large-integer datatype is equivalent to and interoperable with a variable of a system-defined integral datatype; establishing a plurality of available storage nodes available for allocation to large-integer data; allocating a subset of the plurality of available storage nodes for a large-integer variable, determining a number of storage nodes to be allocated as a function of a size of the large-integer variable, and storing in each node of the subset a subset of bit values that represent a numerical value in the allocated plurality of storage nodes and forming a linked list of the allocated plurality of storage nodes; determining a total number of available storage nodes available for allocation to large-integer data; allocating memory for a first number of available storage nodes, responsive to the total number being less than first threshold value, and establishing the first number of available storage nodes; and removing from the plurality of available storage nodes, responsive to the total number being greater than a second threshold value, a second number of storage nodes, and deallocating memory for the second number of storage nodes.