Floating point encoding systems and methods
AssigneeResearch In Motion Limited
InventorsJohn Dahms, David Yach
Life of this patent
Estimating the term…
Abstract
Systems and methods for encoding floating point numbers. A system can include encoding logic which encodes invalid floating point representations as valid data. Decoding logic can be used to recognize the invalid floating point representations and map can provide the invalid floating point representations to valid data values. The decoding logic then can provide the valid data values so that operations on the valid data values can be performed in accordance with instructions received from an associated program.
Claims21
A floating point encoding system for a dynamically typed language, the system comprising:
- encoding logic instructions operable to encode a plurality of invalid floating point representations as valid data;
- decoding logic instructions operable to recognize the plurality of invalid floating point representations, and map the plurality of invalid floating point representations to a plurality of valid data values, and provide the plurality of valid data values to processing logic instructions so that the plurality of valid data values may be processed.
A method of encoding data types within a floating point representation used by a processor-based device, the method comprising the step of:
- compressing an invalid number space of a floating point representation to create an empty invalid number space;
- encoding a valid number representation in the empty invalid number space created by the compressing step, wherein a processor is configured to decode said valid number representation and perform an operation on said valid number representation.
A processing system operable to execute a dynamic-typed resolution programming language, the system comprising:
- memory logic instructions operable to store a floating point data structure, the floating point data structure having at least a portion of an invalid data space encoded to include valid data;
- encoding logic instructions operable to encode typed data into the floating point data structure for storage by the memory logic;
- decoding logic instructions operable to decode the floating point data structure stored in the memory logic to produce the typed data;
- and
- processing logic instructions operable to instruct the encoding logic instructions to encode a floating point data structure and to instruct the memory logic instructions to store the floating point data structure, the processing logic instructions being further operable to retrieve the floating point data structure from memory, instruct the decoding logic instructions to decode the floating point, and to perform operation on the typed data.
One or more computer readable media having software program code for processing a floating point number in a programming language having dynamic typed resolution, the software program code comprising:
- compression logic operable to compress an invalid number space associated with a floating point representation, the compression creating an empty invalid number space;
- encoding logic operable to shift a set of valid numbers within the empty invalid number space, creating an empty valid number space, the encoding logic being further operable to encode a set of typed data within the empty valid number space, thereby providing greater flexibility to a programmer.
Dependencies are inferred from the claim text.