>>>>> "SB" == Scott Bronson <[EMAIL PROTECTED]> writes:

  SB> On Wed, 2004-06-23 at 08:12, Dan Sugalski wrote:
  >> The license issues there require that the full source of GMP ship with any
  >> binary copy. (the license has no "provide a place to fetch it"
  >> provision--the source is required) Which would make the Gameboy version
  >> of Parrot somewhat cumbersome. :)

  SB> Has anybody inquired to the GMP project as to the possibility of
  SB> relaxing that restriction?  If GMP truly is the best bignum
  SB> implementation, I definitely think it's worth asking.

  SB> If nobody else is pursuing this then sure, I volunteer to subscribe to
  SB> some lists and try to find the people to ask.  I'll wait for a "Yes"
  SB> from Dan or Leo before I run off trying to represent the Parrot project,
  SB> of course.  :)

i still have my stillborn bignum (using bcd registers and efficient
algorithms) implementation if anyone wants to pick it up. i have some
working base code and the overall design. it has features and stuff that
i don't see in the other packages. the main thing is that it uses bcd
all the way and numbers can be any scale and precision (effectively
including floating point since that is just a scaled number). numbers
can grow infinitely long if desired as well.

initialization (constructor) for ints and floats and add/subtract
work. more alignment support of registers is needed for that as well as
multiply/divide. i have all the rest of the design in my feverish brane
including various optimization tricks.

it currently uses c's malloc so that needs to be changed to use parrot's
malloc.

the reason for bcd is that it makes conversions to/from ascii (or
unicode, gack!) very easy and you get exact representations at any
precision and scale (including fractions). the algorithms are decent and
add/subtract work on binary words at a time and not individual bcd
digits.

i am willing to help out anyone who wants to take this on but i can't
lead it now. it would be a great way to learn some neat bcd math
tricks! :) these are classic ideas from the heyday of bcd math from the
60's.

the code is in pure c and of course since i wrote it i won't charge
parrot too much to licence it :)

this is about 700 lines of code including test code.

uri

-- 
Uri Guttman  ------  [EMAIL PROTECTED]  -------- http://www.stemsystems.com
--Perl Consulting, Stem Development, Systems Architecture, Design and Coding-
Search or Offer Perl Jobs  ----------------------------  http://jobs.perl.org

Reply via email to