Review this prior art and click on the thumbs up (or down) to indicate whether this submission should be forwarded to IP Australia.
If you login then you can add an annotation by typing in the box at the bottom of the screen to comment on the relevance of the prior art to the claims of the patent application.

| Summary / Description | GNU Multiple Precision Arithmetic Library. "GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers. ... The first GMP release was made in 1991." |
| Type of Prior Art | Source Code |
| Name/Title | GNU GMP 2.0.2 |
| Publication Date | June 6, 1996 |
| Author | GNU project |
| URL | http://gmplib.org/ |
| System Type | Code Library, Module, Plug-in, Component, or Function |
| Printed Materials (Documentation, Manual, Training Guide, Literature, et cetera) | No |
| Online Source Code Repository | Yes |
| Online project documentation | Yes |
| Storage Media (Floppy disk, CD-ROM, Tape, et cetera) | No |
| Other | No |
| How to Locate the Evidence (e.g. Location of the System Documentation -- Product Manual, User Guide, or Training Guide) | http://ftp.gnu.org/gnu/gmp/gmp-2.0.2.tar.gz |
| URL for Software Repository | http://ftp.gnu.org/gnu/gmp/ |
| URL for Product Description | http://gmplib.org/ |
| Licensing Model | Open Source |
| Programming Language | C |
| Notes | ToDo: Check claims 3 and 4 vs GMP. |
Excerpt From "GNU MPThe GNU Multiple Precision Arithmetic Library Edition 2.0.2 June 1996 by Torbjörn Granlund, TMG Datakonsult" ... Nomenclature and Types In this manual, integer usually means a multiple precision integer, as defined by the MP library. The C data type for such integers is mpz_t. Here are some examples of how to declare such integers: mpz_t sum; struct foo { mpz_t x, y; }; mpz_t vec[20]; ... A limb means the part of a multi-precision number that fits in a single word. (We chose this word because a limb of the human body is analogous to a digit, only larger, and containing several digits.) Normally a limb contains 32 or 64 bits. The C data type for a limb is mp_limb_t. ... Low-level Functions ... Function: mp_size_t mpn_get_str (unsigned char *str, int base, mp_limb_t * s1p, mp_size_t s1size) Convert {s1p, s1size} to a raw unsigned char array in base base. The string is not in ASCII; to convert it to printable format, add the ASCII codes for `0' or `A', depending on the base and range. There may be leading zeros in the string. The area at s1p is clobbered. Return the number of characters in str. The area at str has to have space for the largest possible number represented by a s1size long limb array, plus one extra character. Function: mp_size_t mpn_set_str (mp_limb_t * r1p, const char *str, size_t {strsize}, int base) Convert the raw unsigned char array at str of length strsize to a limb array {s1p, s1size}. The base of str is base. Return the number of limbs stored in r1p. |
A method of converting a number to a binary representation, the method comprising the step of:
converting a predetermined size segment of a number to a binary representation, the predetermined size segment based on a processor word size.
| Relevance | In gmp-2.0.2/mpn/mp_bases.c , __mp_bases, for a specific number base, determines, at compile time, the number of digits storable in a word where the word length is 32 or 64 bits. In gmp-2.0.2/mpn/generic/set_str.c , mpn_set_str(xp, str, str_len, base) converts a string representing a number in a given base to a sequence of "limbs", each of which contains a fixed number of digits as determined by __mp_bases. |
The method of claim 1, wherein the predetermined size segment is one or more digits and the number of digits equal to the maximum number of digits storable in one word of the processor word size wherein each digit is able to be all of the range of number system numbers.
| Relevance | Refer to note on relevance of Claim 1. |
The method of claim 1, wherein the number in binary form is larger than a single processor word.
| Relevance | Refer to note on relevance of Claim 1. |
A method of converting a number represented in binary form and comprised of more than one segment to a decimal representation, the method comprising the steps of:
combining a first decimal segment resulting from converting a segment of the more than one binary segments to decimal form with a second decimal segment resulting from converting another segment of the more than one binary segment to decimal form, wherein the segment size is determined based on processor word size.
| Relevance | In gmp-2.0.2/mpn/mp_bases.c , __mp_bases, for a specific number base, determines, at compile time, the number of digits storable in a word where the word length is 32 or 64 bits. In gmp-2.0.2/mpn/generic/get_str.c , mpn_get_str(str, base, mptr, msize) converts a number represented as sequence of "limbs", each containing a number of digits as determined by __mp_bases, to a string representing the same number to a given base. |
A method of converting a number having one or more digits to a binary representation, comprising the steps of:
determining a maximum number of digits storable in one word of a processor having a predetermined word size; and
converting the determined maximum storable number of digits of the number to a binary representation in a first word.
| Relevance | Refer to note on relevance of Claim 1. |
The method of claim 7, further comprising the step of:
repeating the converting step for a determined maximum storable number of digits of the number less all previously converted digits to a binary representation in an additional word.
| Relevance | Refer to note on relevance of Claim 1. |
A computer-readable medium for representing a number in binary form based on processor word size comprising:
more than one segment, wherein the segment size is determined based on processor word size, representing more than one digit of a number in binary form.
| Relevance | Refer to note on relevance of Claim 1. |
The medium of claim 9, wherein the segment size is the number of digits equal to the maximum number of digits storable in one word of the processor word size wherein each digit is able to be all of the range of number system numbers.
| Relevance | Refer to note on relevance of Claim 1. |
A method of converting a number to a binary representation substantially as herein described with reference to anyone of the embodiments of the invention illustrated in the accompanying drawings.
| Relevance | Refer to note on relevance of Claim 1. |
A method of converting a number to a decimal representation substantially as herein described with reference to anyone of the embodiments of the invention illustrated in the accompanying drawings.
| Relevance | Refer to note on relevance of Claim 6. |





United States