|
From: Irakli M. <ima...@ho...> - 2013-05-30 22:41:39
|
I tried to add thrd parameter Bootstrap type to export_piecewise_curve like
this
%define export_piecewise_curve(Name,Base,Interpolator,Bootstrap)
and then
export_piecewise_curve(PiecewiseFlatForward,ForwardRate,BackwardFlat,IterativeBootstrap);
Code produced by swig looks like this
SWIGINTERN PiecewiseFlatForwardPtr *new_PiecewiseFlatForwardPtr__SWIG_0(Date
const &referenceDate,std::vector< boost::shared_ptr< RateHelper > > const
&instruments,DayCounter const &dayCounter,std::vector< Handle< Quote > >
const &jumps=std::vector< Handle< Quote > >(),std::vector< Date > const
&jumpDates=std::vector< Date >(),Real accuracy=1.0e-12,BackwardFlat const
&i=BackwardFlat()){
return new PiecewiseFlatForwardPtr(
new
PiecewiseYieldCurve<ForwardRate,BackwardFlat,IterativeBootstrap>(
referenceDate,instruments,
dayCounter, jumps,
jumpDates,
accuracy,i));
}
And compiler curses
Error 7 error C3206: 'boost::dynamic_pointer_cast' : invalid template
argument for 'T', missing template argument list on class template
'QuantLib::PiecewiseYieldCurve'
C:\quantliball\QuantLib-SWIG\CSharp\cpp\quantlib_wrap.cpp 7634 1
NQuantLibc
Error 15 error C2065: 'IterativeBootstrap' : undeclared identifier
C:\quantliball\QuantLib-SWIG\CSharp\cpp\quantlib_wrap.cpp 7649 1
NQuantLibc
I understand that IterativeBootstrap itself is a template class and that’s
probably the reason, but in test suite similar code compiles fine
testCurveConsistency<ZeroYield,Cubic,IterativeBootstrap> ...
|