Algebra operation method, apparatus, and storage medium thereof
AssigneeCanon Kabushiki Kaisha
InventorYasuhiro Nakahara
Life of this patent
Estimating the term…
Abstract
An algebra operation method includes the steps of converting algebra operations for a plurality of objects which appear in a program into an algebra operation sequence object described using object access data used to access the plurality of objects and object state data used to store states associated with the plurality of objects without immediately evaluating the algebra operations, determining a function to be applied to the algebra operation sequence object, and evaluating the algebra operations by executing the function by designating an argument group required for the function in response to a call of a substitute operator.
Claims12
An algebra operation method performed by a computer, the method comprising the steps of:
- converting algebra operations for a plurality of objects which appear in a program into an algebra operation sequence object described using object access data used to access the plurality of objects and object state data used to store states associated with the plurality of objects without immediately evaluating the algebra operations;
- determining a function to be applied to the algebra operation sequence object;
- and
- evaluating the algebra operations by executing the function by designating an argument group required for the function in response to a call of a substitute operator,
- wherein, when the algebra operations cannot be converted into one algebra operation sequence object in the converting step, operations for objects as left operands or right operands of operators in the algebra operations are executed, and the converting step is then executed,
- wherein the object access data has a reference to an array object which includes an array memory area, a reference to a multiplying object, and a reference to an adding object, and
- wherein the object state data has a complex number object group including a complex number object for a product operation required to execute a product operation with a self object and a complex number object for a sum operation required to execute a sum operation with the adding object, a flag group indicating an algebraic state of the self object, a flag group indicating an algebraic state of another object, and a flag group indicating a calculation state of the self object.
An algebra operation apparatus comprising:
- a storage unit configured to store object access data required to access a plurality of objects, and object state data required to store states associated with the plurality of objects;
- a conversion unit configured to convert algebra operations for the plurality of objects which appear in a program into an algebra operation sequence object described using the object access data and the object state data without immediately evaluating the algebra operations;
- a function determination unit configured to determine a function to be applied to the algebra operation sequence object;
- and
- an evaluation unit configured to evaluate the algebra operations by executing the function by designating an argument group required for the function in response to a call of a substitute operator,
- wherein, when the conversion unit cannot convert the algebra operations into one algebra operation sequence object, operations for objects as left operands or right operands of operators in the algebra operations are executed, and the conversion unit converts the algebra operations into one algebra operation sequence object,
- wherein the object access data has a reference to an array object which includes an array memory area, a reference to a multiplying object, and a reference to an adding object, and
- wherein the object state data has a complex number object group including a complex number object for a product operation required to execute a product operation with a self object and a complex number object for a sum operation required to execute a sum operation with the adding object, a flag group indicating an algebraic state of the self object, a flag group indicating an algebraic state of another object, and a flag group indicating a calculation state of the self object.
A non-transitory computer-readable storage medium storing a program for causing a computer to execute an algebra operation method, said method comprising the steps of:
- converting algebra operations for a plurality of objects which appear in a program into an algebra operation sequence object described using object access data used to access the plurality of objects and object state data used to store states associated with the plurality of objects without immediately evaluating the algebra operations;
- determining a function to be applied to the algebra operation sequence object;
- and evaluating the algebra operations by executing the function by designating an argument group required for the function in response to a call of a substitute operator,
- wherein, when the algebra operations cannot be converted into one algebra operation sequence object in the converting step, operations for objects as left operands or right operands of operators in the algebra operations are executed, and the converting step is then executed,
- wherein the object access data has a reference to an array object which includes an array memory area, a reference to a multiplying object, and a reference to an adding object, and
- wherein the object state data has a complex number object group including a complex number object for a product operation required to execute a product operation with a self object and a complex number object for a sum operation required to execute a sum operation with the adding object, a flag group indicating an algebraic state of the self object, a flag group indicating an algebraic state of another object, and a flag group indicating a calculation state of the self object.
Dependencies are inferred from the claim text.