IP Library Granted Patent US 8,694,571
Granted Patent B2
US 8,694,571 · App. 13/009,374 · Granted Apr 8, 2014

Floating point encoding systems and methods

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,694,571
App. No.
13/009,374
Granted
Apr 8, 2014
Kind
B2
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.

Claims (52)

1. An electronic device comprising:

a data processor; and

encoding logic instructions stored on a computer-readable memory and configured to be executed by the data processor to:

represent all not-a-number (NaN) values exclusively with a common representation that comprises a single predetermined sequence of ones and zeros;

wherein said common representation for representing the different NaN values is one of multiple representations in the IEEE 754 standard for representing NaN values, thereby freeing up other representations from said multiple representations to be used for representing non-NaN values, and wherein the encoding logic instructions are further configured to:

use said other representations to represent non-NaN values.

2. The electronic device of claim 1 further comprising:

decoding logic instructions stored on a computer-readable memory and configured to be executed by the data processor to recognize a stored representation as representing a NaN value based on the stored presentation matching said common representation.

3. The electronic device of claim 1 wherein said common representation is a double precision floating point representation.

4. The electronic device of claim 1 wherein the representing is for storing the different NaN values.

5. The electronic device of claim 1 wherein the electronic device is configured to represent values with representations that include a sign bit, exponent bits and mantissa bits.

6. The electronic device of claim 5 wherein, in the common representation for representing the different NaN values, the exponent bits are ones, the most significant mantissa bit is one, and the remaining mantissa bits are zeros.

7. An electronic device comprising:

a data processor; and

encoding logic instructions stored on a computer-readable memory and configured to be executed by the data processor to:

represent all not-a-number (NaN) values exclusively with a common representation that comprises a single predetermined sequence of ones and zeros;

wherein the electronic device is configured to represent values with representations that include a sign bit, exponent bits and mantissa bits;

wherein, in the common representation for representing the different NaN values, the exponent bits are ones, the most significant mantissa bit is one, and the remaining mantissa bits are zeros; and

wherein the encoding logic instructions are further configured to:

represent a de-normalized number by a representation whose exponent bits are ones, whose most significant mantissa bit is one, whose least significant mantissa bit is one, and whose remaining mantissa bits indicate a value of the de-normalized number.

8. An electronic device comprising:

a data processor; and

encoding logic instructions stored on a computer-readable memory and configured to be executed by the data processor to:

represent all not-a-number (NaN) values exclusively with a common representation that comprises a single predetermined sequence of ones and zeros;

wherein the electronic device is configured to represent values with representations that include a sign bit, exponent bits and mantissa bits;

wherein, in the common representation for representing the different NaN values, the exponent bits are ones, the most significant mantissa bit is one, and the remaining mantissa bits are zeros; and

wherein the encoding logic instructions are further configured to:

represent a typed variable by a representation whose sign bit is zero, whose exponent bits are zeros, whose most significant mantissa bit is zero, whose least significant mantissa bit is one, and whose remaining mantissa bits include a first set of mantissa bits indicating a type of the typed variable and a second set of mantissa bits indicating a value of the typed variable.

9. The electronic device of claim 8 wherein the first set of mantissa bits specify whether the type of the typed variable is integer, string, object, or Boolean.

10. A method performed by an electronic device, comprising:

representing, by decoding logic instructions stored on a computer-readable memory in the electronic device, all not-a-number (NaN) values exclusively with a common representation that comprises a single predetermined sequence of ones and zeros;

wherein said common representation for representing the different NaN values is one of multiple representations in the IEEE 754 standard for representing NaN values, thereby freeing up other representations from said multiple representations to be used for representing non-NaN values, and wherein the encoding logic instructions are further configured to:

use said other representations to represent non-NaN values.

11. The method of claim 10 further comprising:

recognizing a stored representation as representing a NaN value based on the stored presentation matching said common representation.

12. The method of claim 10 wherein said common representation is a double precision floating point representation.

13. The method of claim 10 wherein the representing is for storing the different NaN values.

14. The method of claim 10 wherein the electronic device is configured to represent values with representations that include a sign bit, exponent bits and mantissa bits.

15. The method of claim 14 wherein, in said common representation, the exponent bits are ones, the most significant mantissa bit is one, and the remaining mantissa bits are zeros.

16. A method performed by an electronic device, comprising:

representing, by decoding logic instructions stored on a computer-readable memory in the electronic device, all not-a-number (NaN) values exclusively with a common representation that comprises a single predetermined sequence of ones and zeros;

wherein the electronic device is configured to represent values with representations that include a sign bit, exponent bits and mantissa bits;

wherein, in said common representation, the exponent bits are ones, the most significant mantissa bit is one, and the remaining mantissa bits are zeros; and

the method further comprising:

representing a de-normalized number by a representation whose exponent bits are ones, whose most significant mantissa bit is one, whose least significant mantissa bit is one, and whose remaining mantissa bits indicate a value of the de-normalized number.

17. A method performed by an electronic device, comprising:

representing, by decoding logic instructions stored on a computer-readable memory in the electronic device, all not-a-number (NaN) values exclusively with a common representation that comprises a single predetermined sequence of ones and zeros;

wherein the electronic device is configured to represent values with representations that include a sign bit, exponent bits and mantissa bits;

wherein, in said common representation, the exponent bits are ones, the most significant mantissa bit is one, and the remaining mantissa bits are zeros; and

the method further comprising:

representing a typed variable by a representation whose sign bit is zero, whose exponent bits are zeros, whose most significant mantissa bit is zero, whose least significant mantissa bit is one, and whose remaining mantissa bits include a first set of mantissa bits indicating a type of the typed variable and a second set of mantissa bits indicating a value of the typed variable.

18. The method of claim 17 wherein the first set of mantissa bits specify whether the type of the typed variable is integer, string, object, or Boolean.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Feb 7, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 032188/0837 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2011
From: DAHMS, JOHN F.A.; YACH, DAVID P.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 025685/0644 →