Quantcast

Linuc/gcc port (nearly done)

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Linuc/gcc port (nearly done)

Peter Schmitteckert-2
Dear Developers,

this morniung I adapted your QuantLib 0.0.1 Source
to compile on my Linux 2.2.17 using
gcc 2.95.2.  I had to tweak a few places only,
not because of limititations of g++, but because of
some inconsistencies of the C++ standard library
(limits & sstream)

The only problem I've encountered ist in "cranknicolson.h":

        template <int constant>
        class CrankNicolsonTimeSetter {};

Here you specify a templated class without using the
template parameter. In my opinion I can't blame g++
for not compiling this, since according to my
Stroustrup v3, this is not valid C++.

Could you please check wether I'm right or not?

Anyway, what should I do with my changes?

Best wishes
Peter Schmitteckert                      

________________________________________
Dr. Peter Schmitteckert / IT-Consulting
s-mail: Fridolinstr. 19, 68753 Waghäusel
Web: http://www.schmitteckert.com
e-mail: [hidden email]
Tel.: 07254/951896


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: Linuc/gcc port (nearly done)

Ferdinando M. Ametrano-2
Peter,

>this morniung I adapted your QuantLib 0.0.1 Source
>to compile on my Linux 2.2.17 using
>gcc 2.95.2.
thank you very much. This was the short term main goal. It isn't open
source without a Linux/gcc port. Unfortunately my team and I are from
Windows/Mac world. We're moving to Linux.

>   I had to tweak a few places only,
>not because of limititations of g++, but because of
>some inconsistencies of the C++ standard library
>(limits & sstream)
these were our problems

>Could you please check wether I'm right or not?
Luigi will be back to you on this.

>Anyway, what should I do with my changes?
You can use SourceForge patch manager to contribute your change
(http://sourceforge.net/patch/?group_id=12740)

If you want to join the developer team I will gladly add you.
In this case you will have direct CVS write access.
To add you to the developer team I need your SourceForge user name.
If you don't have a SourceForge account yet go to
http://sourceforge.net/account/register.php

The QuantLib developer FAQ http://quantlib.sourceforge.net/FAQ.html
may be used as guidelines.

ciao -- Nando


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Linuc/gcc port (nearly done)

Luigi Ballabio-3
In reply to this post by Peter Schmitteckert-2
At 04:00 PM 12/15/00 +0100, Peter Schmitteckert wrote:

>this morniung I adapted your QuantLib 0.0.1 Source
>to compile on my Linux 2.2.17 using
>gcc 2.95.2.
>The only problem I've encountered ist in "cranknicolson.h":
>
>         template <int constant>
>         class CrankNicolsonTimeSetter {};
>
>Here you specify a templated class without using the
>template parameter. In my opinion I can't blame g++
>for not compiling this, since according to my
>Stroustrup v3, this is not valid C++.

Peter,
         I'm the guilty party for that declaration - and unfortunately I
don't have my Stroustroup here. I'll try and check whether that is legal
code - but if it can be made legal for all compilers by writing it as

         template <int constant>
         class CrankNicolsonTimeSetter {
             enum { isTimeDependent = constant };
         };

just go ahead and do it with my blessing :)

Other issues: first of all, thanks again for the porting (by the way, did
that include the Python module as well?)
On <limits> and <sstream>: they were the main problems also in our
own  attemps (kind of weak ones, actually) to get it to compile with g++.
What I had in mind but didn't have the time to implement was that the use
of sstream should be confined to dataformatters.h/cpp - and there we could
use the good old sprintf instead. Is that what you have done? For what
concerns limits, I had barely started to think about it. But now I guess
I'll just look at your code :)

Bye for now,
                 Luigi

Loading...