[Soc 07] BigInt Alternate Projects -- SOC BigInt applicants please read!

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... 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.

Jeff Garland wrote:
--------------------------- 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.
See also http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?SecureInteger... Basically, it is a wrapper for lambda expressions int i = /* ... */; bool ok = is_mathematically_correct(++_1)(i); -- Alexander Nasonov http://nasonov.blogspot.com Everything done in weakness fails. Moral: Do nothing. -- Friedrich Nietzsche -- This quote is generated by: /usr/pkg/bin/curl -L http://tinyurl.com/veusy \ | sed -e 's/^document\.write(.//' -e 's/.);$/ --/' \ -e 's/<[^>]*>//g' -e 's/^More quotes from //' \ | fmt | tee ~/.signature-quote
participants (2)
-
Alexander Nasonov
-
Jeff Garland