queries regarding the BigInt project @ GSoc 2010

hello all! i am really interested in developing the proposed BigInt library for Boost as a part of GSoC this summer . Here are a couple of queries i have. 1. With regard to the data structure for handling such integers - are we looking at bit-level implementation(less space and probably more execution time) or digit level manipulation (more space - and probably less execution time). i.e. for an n-digit number is it ok to use up [n/2 to n] bytes of space or necessary to stick to log n amount of space for a BigInt object. 1.1 The arbitrary precision calculations could be implemented using the BigInt data-structure along with a scaling factor variable 2. what all are the expected functions of this library - basic arithmetic(add, subtract ,multiply, divide, modulo, powers) , relational(<=, <, >,>=, !=, ==) , bitwise operation ,and maybe added functionality like gcd and lcm are some of the things i can think of, please do add on to the list . 3. i have no prior experience of using Boost libraries, will this prove to be a problem with regard to this project? Please do refine this design and point out all the flaws in my understanding. Hope to get your replies soon Thanking You, Cheers! Ankit Malpani, 3rd year Undergraduate | BE. (Hons) Computer Science, BITS Pilani - Goa Campus -- Ankit Malpani 3rd Year Undergraduate | BE. Hons Computer Science BITS Pilani Goa Campus

On 20 March 2010 11:27, Ankit Malpani <ankit.malpani@gmail.com> wrote:
3. i have no prior experience of using Boost libraries, will this prove to be a problem with regard to this project?
Experience with the Boost libraries themselves isn't strictly the issue, but you do need to be comfortable in Boost-style library design, which I haven't seen outside the periphery of Boost. My personal vision of a Boost BigInt project involves both - A policy-based backend for the numeric operations themselves - An expression template frontend, probably based off Boost.Proto There are many C-based BigInt libraries already, so I think Boost is best situated to offer not yet another one, but instead an elegant C++ wrapper to provide easy of use on top of existing efficiency. I can't judge your comfort level with those concepts.

Hi,
There are many C-based BigInt libraries already, so I think Boost is best situated to offer not yet another one, but instead an elegant C++ wrapper to provide easy of use on top of existing efficiency.
Don't know if you intend to focus more on making a library or providing a wrapper around the existing ones. If the latter, you might be interested by Boost.Math bindings that basically aim at doing that. Regards Bruno

Hi, ----- Original Message ----- From: "Ankit Malpani" <ankit.malpani@gmail.com> To: <boost@lists.boost.org> Sent: Saturday, March 20, 2010 4:27 PM Subject: [boost] queries regarding the BigInt project @ GSoc 2010
hello all!
i am really interested in developing the proposed BigInt library for Boost as a part of GSoC this summer . Here are a couple of queries i have.
1. With regard to the data structure for handling such integers - are we looking at bit-level implementation(less space and probably more execution time) or digit level manipulation (more space - and probably less execution time). i.e. for an n-digit number is it ok to use up [n/2 to n] bytes of space or necessary to stick to log n amount of space for a BigInt object.
I think that some application will have space constraints and other performances constraints. So why not provide both, and let the user choose the best adapted to her/his needs?
1.1 The arbitrary precision calculations could be implemented using the BigInt data-structure along with a scaling factor variable
I would concentrate on integer types, and let arbitrary precision numbers out.
2. what all are the expected functions of this library - basic arithmetic(add, subtract ,multiply, divide, modulo, powers) , relational(<=, <, >,>=, !=, ==) , bitwise operation ,and maybe added functionality like gcd and lcm are some of the things i can think of, please do add on to the list .
I suppose that all the C++ integer functions will be enough for a GSoc project.
3. i have no prior experience of using Boost libraries, will this prove to be a problem with regard to this project?
Please do refine this design and point out all the flaws in my understanding. Hope to get your replies soon
Best, Vicente
participants (4)
-
Ankit Malpani
-
Bruno Lalande
-
Scott McMurray
-
vicente.botet