This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Fwd: Will you be my mentor for Google's Summer of Code?
- From: "Jordi Gutierrez Hermoso" <jordigh at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Date: Mon, 19 Mar 2007 17:15:28 -0600
- Subject: Fwd: Will you be my mentor for Google's Summer of Code?
- References: <9543b3a40703151339o5adbee9an40403383971ce8d2@mail.gmail.com>
Hi. I am looking for someone to mentor me on this project for the GNU
Scientific Library. I have already tried asking Brian Gough (forwarded
below), and he suggested that someone from the gcc team might be able
to mentor me, presumably under the auspices of GNU or something like
that.
I hope there's someone here who can help or who can suggest a mentor for me.
Thank you,
- Jordi G. H.
---------- Forwarded message ----------
From: Jordi Gutierrez Hermoso <jordigh@gmail.com>
Date: 15-Mar-2007 14:39
Subject: Will you be my mentor for Google's Summer of Code?
To: "Brian V. Smith" <bvsmith@lbl.gov>
Cc: mattl@gnu.org
Hi. Since you seem to be the only currently active developer on the
GSL, I thought I would try asking you.
I need someone who will agree to mentor me for Google's Summer of
Code. As you have probably been reading in the GSL mailing list, my
idea is to implement an efficient C++ version of the GSL, oviously
using the existent GSL code in C as a base. Specifically, I want to
* Replace the gsl_ prefixes in all GSL functions with a GSL
namespace.
* Implement classes where appropriate, mostly replacing C
structs with fully-featured C++ classes.
* Use STL classes where appropriate. In particular, the core
gsl_vector and gsl_matrix structs ought to be a class
implemented as tightly as possible; either with valarrays (my
preference) or via whatever classes Boost is using for their
BLAS implementation. Relevant arguments against valarrays:
http://nkari.uw.hu/Tutorials/CPPTips/musings_valarray
* Replace manual memory management with C++ constructors and
destructors.
* Provide a GSL error handler with exception classes and
exception throwing.
* Replace preprocessor macro hacks for using various numeric
types within the GSL with templated classes, whenever
appropriate.
* Consider using free code from other numeric libraries, such as
CERNLib, TNT, HAL, and Blitz++, as suggested by this
discussion thread from the GSL mailing list:
http://lists.gnu.org/archive/html/help-gsl/2007-03/msg00030.html
This is a very large project, and I do not think it's realistic that I
can do all of this for all of the GSL. I propose to begin only with
the core GSL functionality, which I see as:
* Error handling,
* Basic mathematical functions,
* Complex numbers (might use std::complex),
* Linear algebra structs, linear algebra, and BLAS.
If time permits, the other high-priority parts of the GSL I consider to be
* Numerical integration and differentiation,
* Special functions,
* Random number generation,
* Eigensystems,
* Fast Fourier transform,
follow by the rest of the GSL.
If you agree to mentor me on this summer coding project, please
contact both me and Matt Lee from GNU (CC'ed from this email) so that
I can complete my application before March 24 and so that Matt Lee can
modify the following webpages appropriately:
http://www.gnu.org/software/soc-projects/ideas.html
http://www.gnu.org/software/soc-projects/guidelines.html
Thank you,
- Jordi G. H.