OpenMP for Gaussian1dSwaptionEngine

provide multithreading support in Gaussian1dSwaptionEngine, add constructors with observable model parameters to Gsr model, improve / fix update procedures in gaussian 1d models
yes, if Klaus' signal2 observer is used, this is one of the major points to
get acceptable runnning times. But also with the default implementation it
speeds up things considerably.

the clone(tenor) method was not present by the time I wrote the code but as
you mention it, maybe we can implement a cache in the clone method and then
use this ? Would that be cleaner ?


On 25 June 2014 16:36, Luigi Ballabio <notifications@github.com> wrote:

> In QuantLib/ql/experimental/models/gaussian1dmodel.cpp:
>
> >          boost::shared_ptr<VanillaSwap> underlying =
> > -            tmpIdx.underlyingSwap(fixing);
> > +            swapIdx->underlyingSwap(fixing,tenor);
>
> It seems a bit weird to ask an index to return a swap with a different
> tenor. On the other hand, using the previous version (which, by the way,
> could have been written as tmpIdx = swapIdx->clone(tenor)) loses the
> caching of the swap across calls. Does it make a lot of difference?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/lballabio/quantlib/pull/101/files#r14189070>.
>