Apparatus, method, and program for arithmetic processing
First Claim
1. An arithmetic processing apparatus for determining an arithmetic value P, the arithmetic value P being an input value X raised to a power of a variable Y as an exponent, and the input value X represented by a base-M system with M being a predetermined constant number, the arithmetic processing apparatus comprising:
- at least one processor; and
at least one storage medium having encoded thereon computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to;
split the input value X in floating-point type data into a mantissa X1 and an exponent X2, the mantissa X1 being a mantissa part representing a mantissa of the input value X of a floating-point number, and the exponent X2 being an exponent part representing an exponent of the input value X of the floating-point number;
record, in a first storage a logarithmic value of the mantissa of the input value X having the constant number M as a base thereof, determined with respect to the mantissa X1;
perform an interpolation process on a plurality of logarithmic values retrieved from the first storage in response to the mantissa X1 in order to determine the logarithmic value of the mantissa;
calculate a logarithmic value Z of the arithmetic value P having the constant number M as the base thereof, based on the variable Y, the exponent X2, and the logarithmic value of the mantissa determined by the interpolation process; and
calculate the arithmetic value P by raising the constant value M to the power of the logarithmic value Z of the arithmetic value P as an exponent.
1 Assignment
0 Petitions
Accused Products
Abstract
A mantissa/exponent splitter splits an input value X=(1+X1/223)×(2^X2) into a mantissa X1 and an exponent X2. An interpolation processor references the mantissa/exponent splitter using the mantissa X1 and determines a power value (log2(1+X1/223)) through an interpolation process. A logarithmic calculator determines a logarithmic value Z=log2 XY=Y(X2+log2(1+X1/223)) from the exponent X2 and the power value from the interpolation processor. The integer/fraction splitter splits the logarithmic value Z into an integer Zint and a fraction Zamari. The interpolation processor references a power of fraction table storage unit in response to the fraction Zamari and determines a power value (2^Zamari) through the interpolation process. The power calculator determines XY=2^Z=(2^Zamari)×(2^Zint), thereby resulting in the input value X to the power of Y.
2 Citations
6 Claims
-
1. An arithmetic processing apparatus for determining an arithmetic value P, the arithmetic value P being an input value X raised to a power of a variable Y as an exponent, and the input value X represented by a base-M system with M being a predetermined constant number, the arithmetic processing apparatus comprising:
-
at least one processor; and at least one storage medium having encoded thereon computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to; split the input value X in floating-point type data into a mantissa X1 and an exponent X2, the mantissa X1 being a mantissa part representing a mantissa of the input value X of a floating-point number, and the exponent X2 being an exponent part representing an exponent of the input value X of the floating-point number; record, in a first storage a logarithmic value of the mantissa of the input value X having the constant number M as a base thereof, determined with respect to the mantissa X1; perform an interpolation process on a plurality of logarithmic values retrieved from the first storage in response to the mantissa X1 in order to determine the logarithmic value of the mantissa; calculate a logarithmic value Z of the arithmetic value P having the constant number M as the base thereof, based on the variable Y, the exponent X2, and the logarithmic value of the mantissa determined by the interpolation process; and calculate the arithmetic value P by raising the constant value M to the power of the logarithmic value Z of the arithmetic value P as an exponent. - View Dependent Claims (2, 3)
-
-
4. An arithmetic processing method of an arithmetic processing apparatus for determining an arithmetic value P, the arithmetic value P being an input value X raised to a power of a variable Y as an exponent, and the input value X represented by a base-M system with M being a predetermined constant number, the processing apparatus including:
-
at least one processor; and at least one storage medium having encoded thereon computer-executable instructions; mantissa/exponent splitting means for splitting the input value X in floating-point type data into a mantissa X1 and an exponent X2, the mantissa X1 being a mantissa part representing a mantissa of the input value X of a floating-point number, and the exponent X2 being an exponent part representing an exponent of the input value X of the floating-point number; recording means for recording a logarithmic value of the mantissa of the input value X having the constant number M as a base thereof, determined with respect to the mantissa X1; interpolating means for performing an interpolation process on a plurality of logarithmic values retrieved from the recording means in response to the mantissa X1 in order to determine the logarithmic value of the mantissa; logarithmic calculation means for calculating a logarithmic value Z of the arithmetic value P having the constant number M as the base thereof, based on the variable Y, the exponent X2, and the logarithmic value of the mantissa determined by the interpolating means; and power calculation means for calculating the arithmetic value P by raising the constant value M to the power of the logarithmic value Z of the arithmetic value P as an exponent, the arithmetic processing method comprising; executing the computer-executable instructions by the at least one processor to cause the arithmetic processing apparatus to; split the input value X into the mantissa X1 and the exponent X2; perform the interpolation process on the plurality of logarithmic values in order to determine the logarithmic value of the mantissa; calculate the logarithmic value Z; and calculate the arithmetic value P by raising the constant value M to the power of the logarithmic value Z as an exponent.
-
-
5. A non-transitory computer-readable storage medium comprising computer-executable instructions that, when executed by a computer, cause an arithmetic processing apparatus to perform a method of determining an arithmetic value P, the arithmetic value P being an input value X raised to the power of a variable Y as an exponent, and the input value X represented by a base-M system with M being a predetermined constant number, the method comprising:
-
splitting the input value X in floating-point type data into a mantissa X1 and an exponent X2, the mantissa X1 being a mantissa part representing a mantissa of the input value X of a floating-point number, and the exponent X2 being an exponent part representing an exponent of the input value X of the floating-point number; performing an interpolation process on a plurality of logarithmic values of the mantissa of the input value X having the constant number M as a base determined with respect to the mantissa X1 in order to determine a final logarithmic value of the mantissa; calculating a logarithmic value Z of the arithmetic value P having the constant number M as the base thereof, based on the variable Y, the exponent X2, and the final logarithmic value of the mantissa determined in the interpolation process; and calculating the arithmetic value P by raising the constant value M to a power of the logarithmic value Z of the arithmetic value P as an exponent.
-
-
6. An arithmetic processing apparatus for determining an arithmetic value P, the arithmetic value P being an input value X raised to a power of a variable Y as an exponent, and the input value X represented by a base-M system with M being a predetermined constant number, the arithmetic processing apparatus comprising:
-
at least one processor; and at least one storage medium having encoded thereon computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to; split the input value X in floating-point type data into a mantissa X1 and an exponent X2, the mantissa X1 being a mantissa part representing a mantissa of the input value X of a floating-point number, and the exponent X2 being an exponent part representing an exponent of the input value X of the floating-point number; record, in a first recording unit, a logarithmic value of the mantissa of the input value X having the constant number M as a base thereof, determined with respect to the mantissa X1; perform an interpolation process on a plurality of logarithmic values retrieved from the first recording unit in response to the mantissa X1 in order to determine the logarithmic value of the mantissa; calculate a logarithmic value Z of the arithmetic value P having the constant number M as the base thereof, based on the variable Y, the exponent X2, and the logarithmic value of the mantissa determined by the interpolation process; and calculate the arithmetic value P by raising the constant value M to the power of the logarithmic value Z of the arithmetic value P as an exponent.
-
Specification