This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fwd: Will you be my mentor for Google's Summer of Code?


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]