Patent Application Number: 2005218001
This discussion forum is available to allow the community of reviewers to collaborate and discuss this patent application.
Discussion that is posted on this page will not be forwarded to IP Australia. If you wish to make comment on a prior art reference and wish that comment to be considered by the patent examiner, please do so by clicking on the relevant prior art reference.
Here are some tips to facilitate discussion.
- Flagging a post as an 'action item' signals that further research is required.
- Flagging SPAM and ABUSE helps to manage discussion
- Placing double brackets around a reference to a claim or prior art will create a hyperlink to the original, for example: [[claim 1]] and [[prior art 2]].

Discussion (16)
Show without Noise
0 days left





United States
Chen–Ho encoding is a lossless compression of three binary coded decimal digits into 10 bits using an algorithm which can be applied or reversed using only simple Boolean operations. An improvement tothe encoding which has the same advantages but is not limited to multiples of three digits is described. The new encoding allows arbitrary-length decimal numbers to be coded efficiently while keeping decimal digit boundaries accessible. This in turn permits efficient decimal arithmetic and makes the best use of available resources such as storage or hardware registers.
From "GNU MP The 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.