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 | The DEC-10 Prolog library provided base 10**N bignums in the file LONG.PL in 1981. |
| Type of Prior Art | Source Code |
| Name/Title | long.pl (in DEC-10 Prolog library) |
| Publication Date | April 3, 1981 |
| Author | Richard A. O'Keefe |
| URL | |
| 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 | No |
| 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) | |
| URL for Software Repository | http://www.j-paine.org/prolog/t... |
| URL for Product Description | |
| Licensing Model | Other |
| Programming Language | Edinburgh Prolog |
| Notes | None of this was original to me, it's all cribbed from Knuth. I'm going to write that up next. |
Excerpt The lists of Prolog integers represent arbitrary precision unsignedlong integers eg [n0,n1,....,nz] is n0+R*(n1+R*(....R*nz)...) where R is the Radix. The Radix used in the current version is 100. Most of the code in this module is completely independent of the radix - it all uses the value passed in by the top level procedures. However the printing routine currently assumes that the radix is a power of 10 as this makes things easier. In general the radix must be such that both: Radix^2 - 1 and Radix*2 + 1 are representable as Prolog integers (which are 18 bit quantities on the DEC10). This is a little restrictive, however, and this implementation only assumes that Radix^2 - 1 is "obtainable" as an intermediate during Prolog arithmetic. On the DEC10 intermediate results can be 36 bit quantities and so 100 becomes a suitable radix. [This was edited by Ken Johnson after release; "100" originally read "100,000".] |
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 | This library file represented whole numbers as sequences of base 10**N "big digits", exactly as described in the claim. "Segment" size was adjusted manually: 2 digits on PDP-11, 4 digits on VAX, 5 digits on TOPS-10 and TOPS-20, but it _was_ adjusted in the light of effective word size. |
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 | I was aware of this technique then, but deliberately chose not to use it. The limiting factor is that if b=10**k-1 is the largest "segment", you have to be able to compute b*b+b correctly. This is discussed in Knuth vol. 2 |
The method of claim 1, wherein the number in binary form is larger than a single processor word.
| Relevance | The file long.pl supported numbers with no preset bound, including numbers much much larger than a processor word. |
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 | The key idea here appears to be that if you use "segments" of size 2**w, the obvious way to convert numbers is quadratic, whereas if your "segments" are of size 10**k, it's easy to convert in either direction in linear time. LONG.PL does exactly that, for exactly this reason. |
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 | Same comment as claim 6. LONG.PL did exactly this. LONG.PL has been easy to find on the web for quite a few years now. |
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 | I can't actually see any medium here. However, the representation appears to be exactly the representation used by LONG.PL for natural numbers. (The patent application does not describe negative numbers.) |
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 | As noted under claim 2, I was aware of this possibility, but since doing arithmetic (not described in the patent application) was my goal, I deliberately didn't pack that tightly. |
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 | LONG.PL used essentially this method. |
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 | LONG.PL used essentially this method. |





United States