Boost logo

Boost :

From: Jeff Garland (jeff_at_[hidden])
Date: 2007-03-25 20:51:35


Hi All -

We've had a ton of BigInt (I'd guess ~40) proposals for SoC. This is
really unfortunate because some good students are going to get left out
-- we're only going to accept one. We've already been warning folks, but
to help just a bit more, I've come up with a couple of alternatives that
are closely related to BigInt, but a bit different. This way we might
improve things just a bit.

So, everyone that's applied for BigInt that might be interested in doing
one of these other 2 projects, please do the following:
   a) make a comment on your application that indicates you are
interested in doing one of these others
   b) or, send an email to soc_mentors2007-at-crystalclearsoftware.com
indicating this fact
   c) Write a new proposal before the deadline

Obviously C is the best, but I realize time is short before the deadline
-- and I know the Google server has been timing out, so I'm trying to
make this as fair as possible. If your application is sketchier, we'll
understand because it's short notice and we will work with the leading
candidates after the deadline to refine the application.

If you really prefer to do one of the new projects feel free to withdraw
your BigInt application. However, if you leave it we will continue to
consider that your first choice unless you indicate otherwise.

Below is the text I've added to the Wiki.

Thx,

Jeff

---------------------------
Safe Integer

Introduction: Implement 'safe int' class template which supports all C++
arithmetic and boolean operators and will ensure client notification on
all failures such as arithmetic overflow and underflow.

Goal: Platform independent code, docs and tests to Boost need to be
delivered -- review within SoC? period would be a plus (only if you
think it's doable).

Requirements: Basic knowledge of C++ templates and a good understanding
of limits of computer computation systems. Extreme ability to focus on
details.

Notes: The target here is to applications that are highlh David LeBlanc?
at Microsoft created something similar a couple years back. See
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncode/html/secure01142004.asp

SafeInt and suggest might be combined with existing Boost code from
date_time call constrained_value. this would allow you to define
constrained range safe integers like this:

     typedef SafeInt?<int, 0, 255> BufRange?;
     char buf[BufRange?::max()+1];
     BufRange? i = 254;
     i++; //ok
     i++; //out of range exception
    //now it's impossible for this to be out of range:
    if (buf[i] == ...

---------------------------
Fixed Decimal

Introduction: Fixed Decimal types provide an alternative to floating
point types that are superior in their calculation properties. Robert
Klarer of IBM has proposed adding these types to C++ [in n2198 (pdf)]
and prior papers. This work is now on track to be included in C++0x.
Robert has an implementation of these types with a restrained license.
This project involves implementing the n2198 interfaces in a Boost library.

Goal: Platform independent code, docs and tests to Boost need to be
delivered with as much of 2198 as possible.

Requirements: Basic knowledge of C++ templates and a good understanding
of limits of computer computation systems. Extreme ability to focus on
details.

Notes: This project clearly involves much less 'interface design' since
the interface is already defined. However there is still tricky design
work to implement these types correctly. Some research on the best
approaches might be required.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk