Hi all, I was quite bored over the weekend and decided to try and implement a really, really simple bignum library in C++ (it's 17 years since I wrote a C++ program, so I needed some practice). Consider it a Christmas present for someone who has everything else.
You can find the result here: https://github.com/wbhart/simple It has a class for arithmetic with unsigned bignums (called nat_t's), which have their own memory management. Obviously you can't represent -ve numbers in this format, so the result of any operation with a negative result is undefined. It also has a class for arithmetic with signed bignums (called znat_t's), which also manage their own memory. The library is quite slow for more than about 30 limbs. But it does surprisingly well for small operands, compared with MPIR, even beating a generic C build for some operations. (No idea why.) Enjoy! Bill. P.S: it has lots of bugs. P.S.S: whilst implementing this library, I found a beautiful algorithm for doing division of bignums (not included in Simple). I will have to think about where I can use that. -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To post to this group, send email to mpir-devel@googlegroups.com. To unsubscribe from this group, send email to mpir-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/mpir-devel?hl=en.