Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv27637/qlo
Modified Files:
enumclassctors.cpp enumclassctors.hpp interpolation.cpp
interpolation2D.cpp typefactory.hpp
Log Message:
replace Extrapolator with Interpolation/Interpolation2D
Index: enumclassctors.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** enumclassctors.cpp 2 Jul 2006 15:50:26 -0000 1.1
--- enumclassctors.cpp 3 Jul 2006 13:25:52 -0000 1.2
***************
*** 186,220 ****
}
! /* *** Extrapolator - 1D *** */
! boost::shared_ptr<QuantLib::Extrapolator> LinearInterpolation_Extrapolator(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) {
! return boost::shared_ptr<QuantLib::Extrapolator>(
new QuantLib::LinearInterpolation(
xBegin, xEnd, yBegin));
}
! boost::shared_ptr<QuantLib::Extrapolator> BackwardFlatInterpolation_Extrapolator(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) {
! return boost::shared_ptr<QuantLib::Extrapolator>(
new QuantLib::BackwardFlatInterpolation(
xBegin, xEnd, yBegin));
}
! boost::shared_ptr<QuantLib::Extrapolator> ForwardFlatInterpolation_Extrapolator(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) {
! return boost::shared_ptr<QuantLib::Extrapolator>(
new QuantLib::ForwardFlatInterpolation(
xBegin, xEnd, yBegin));
}
! /* *** Extrapolator - 2D *** */
! boost::shared_ptr<QuantLib::Extrapolator> BilinearInterpolation_Extrapolator(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin, dbl_itr& yEnd,
const QuantLib::Matrix& zData) {
! return boost::shared_ptr<QuantLib::Extrapolator>(
new QuantLib::BilinearInterpolation(
xBegin, xEnd, yBegin, yEnd, zData));
}
! boost::shared_ptr<QuantLib::Extrapolator> BicubicSpline_Extrapolator(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin, dbl_itr& yEnd,
const QuantLib::Matrix& zData) {
! return boost::shared_ptr<QuantLib::Extrapolator>(
new QuantLib::BicubicSpline(
xBegin, xEnd, yBegin, yEnd, zData));
--- 186,221 ----
}
! /* *** Interpolation *** */
! boost::shared_ptr<QuantLib::Interpolation> Linear_Interpolation(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) {
! return boost::shared_ptr<QuantLib::Interpolation>(
new QuantLib::LinearInterpolation(
xBegin, xEnd, yBegin));
}
! boost::shared_ptr<QuantLib::Interpolation> BackwardFlat_Interpolation(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) {
! return boost::shared_ptr<QuantLib::Interpolation>(
new QuantLib::BackwardFlatInterpolation(
xBegin, xEnd, yBegin));
}
! boost::shared_ptr<QuantLib::Interpolation> ForwardFlat_Interpolation(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) {
! return boost::shared_ptr<QuantLib::Interpolation>(
new QuantLib::ForwardFlatInterpolation(
xBegin, xEnd, yBegin));
}
!
! /* *** Interpolation2D *** */
! boost::shared_ptr<QuantLib::Interpolation2D> Bilinear_Interpolation(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin, dbl_itr& yEnd,
const QuantLib::Matrix& zData) {
! return boost::shared_ptr<QuantLib::Interpolation2D>(
new QuantLib::BilinearInterpolation(
xBegin, xEnd, yBegin, yEnd, zData));
}
! boost::shared_ptr<QuantLib::Interpolation2D> BicubicSpline(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin, dbl_itr& yEnd,
const QuantLib::Matrix& zData) {
! return boost::shared_ptr<QuantLib::Interpolation2D>(
new QuantLib::BicubicSpline(
xBegin, xEnd, yBegin, yEnd, zData));
Index: interpolation2D.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/interpolation2D.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** interpolation2D.cpp 29 Jun 2006 10:14:44 -0000 1.2
--- interpolation2D.cpp 3 Jul 2006 13:25:52 -0000 1.3
***************
*** 42,46 ****
<< dataMatrix_.columns() << ")");
! libraryObject_ = Create<boost::shared_ptr<QuantLib::Extrapolator> >()
(interpolation2DType, x_.begin(), x_.end(), y_.begin(), y_.end(), dataMatrix_);
--- 42,46 ----
<< dataMatrix_.columns() << ")");
! libraryObject_ = Create<boost::shared_ptr<QuantLib::Interpolation2D> >()
(interpolation2DType, x_.begin(), x_.end(), y_.begin(), y_.end(), dataMatrix_);
Index: interpolation.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/interpolation.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** interpolation.cpp 30 Jun 2006 14:12:05 -0000 1.12
--- interpolation.cpp 3 Jul 2006 13:25:52 -0000 1.13
***************
*** 36,40 ****
QL_REQUIRE(x.size()==y.size(), "unmatched x/y");
! libraryObject_ = Create<boost::shared_ptr<QuantLib::Extrapolator> >()
(linearInterpolationType, x_.begin(), x_.end(), y_.begin());
}
--- 36,40 ----
QL_REQUIRE(x.size()==y.size(), "unmatched x/y");
! libraryObject_ = Create<boost::shared_ptr<QuantLib::Interpolation> >()
(linearInterpolationType, x_.begin(), x_.end(), y_.begin());
}
Index: enumclassctors.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** enumclassctors.hpp 2 Jul 2006 15:50:26 -0000 1.1
--- enumclassctors.hpp 3 Jul 2006 13:25:52 -0000 1.2
***************
*** 87,102 ****
boost::shared_ptr<QuantLib::PricingEngine> TRI_Engine(const long& timeSteps);
! /* *** Extrapolator - 1D *** */
! boost::shared_ptr<QuantLib::Extrapolator> LinearInterpolation_Extrapolator(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin);
! boost::shared_ptr<QuantLib::Extrapolator> BackwardFlatInterpolation_Extrapolator(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin);
! boost::shared_ptr<QuantLib::Extrapolator> ForwardFlatInterpolation_Extrapolator(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin);
! /* *** Extrapolator - 2D *** */
! boost::shared_ptr<QuantLib::Extrapolator> BilinearInterpolation_Extrapolator(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin, dbl_itr& yEnd,
const QuantLib::Matrix& zData);
! boost::shared_ptr<QuantLib::Extrapolator> BicubicSpline_Extrapolator(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin, dbl_itr& yEnd,
const QuantLib::Matrix& zData);
--- 87,103 ----
boost::shared_ptr<QuantLib::PricingEngine> TRI_Engine(const long& timeSteps);
! /* *** Interpolation *** */
! boost::shared_ptr<QuantLib::Interpolation> Linear_Interpolation(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin);
! boost::shared_ptr<QuantLib::Interpolation> BackwardFlat_Interpolation(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin);
! boost::shared_ptr<QuantLib::Interpolation> ForwardFlat_Interpolation(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin);
!
! /* *** Interpolation2D *** */
! boost::shared_ptr<QuantLib::Interpolation2D> Bilinear_Interpolation(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin, dbl_itr& yEnd,
const QuantLib::Matrix& zData);
! boost::shared_ptr<QuantLib::Interpolation2D> BicubicSpline(
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin, dbl_itr& yEnd,
const QuantLib::Matrix& zData);
Index: typefactory.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/typefactory.hpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** typefactory.hpp 30 Jun 2006 18:06:57 -0000 1.13
--- typefactory.hpp 3 Jul 2006 13:25:52 -0000 1.14
***************
*** 24,27 ****
--- 24,28 ----
#include <ql/Utilities/strings.hpp>
#include <ql/Math/matrix.hpp>
+ #include <ql/Math/interpolation2D.hpp>
#include <oh/exception.hpp>
***************
*** 122,150 ****
};
! /* *** Extrapolator *** */
typedef const std::vector<double>::const_iterator dbl_itr;
! typedef boost::shared_ptr<QuantLib::Extrapolator>(*ExtrapolatorConstructor1)(
dbl_itr&, dbl_itr&, dbl_itr&);
- typedef boost::shared_ptr<QuantLib::Extrapolator>(*ExtrapolatorConstructor2)(
- dbl_itr&, dbl_itr&, dbl_itr&, dbl_itr&, const QuantLib::Matrix&);
template<>
! class Create<boost::shared_ptr<QuantLib::Extrapolator> > :
! private RegistryManager<QuantLib::Extrapolator, EnumClassRegistry> {
public:
! boost::shared_ptr<QuantLib::Extrapolator> operator() (
! const std::string& extrapolatorID,
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) {
! ExtrapolatorConstructor1 extrapolatorConstructor =
! getType<ExtrapolatorConstructor1>(extrapolatorID);
! return extrapolatorConstructor(xBegin, xEnd, yBegin);
}
! boost::shared_ptr<QuantLib::Extrapolator> operator() (
! const std::string& extrapolatorID,
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin, dbl_itr& yEnd,
const QuantLib::Matrix& zData) {
! ExtrapolatorConstructor2 extrapolatorConstructor =
! getType<ExtrapolatorConstructor2>(extrapolatorID);
! return extrapolatorConstructor(xBegin, xEnd, yBegin, yEnd, zData);
}
};
--- 123,159 ----
};
! /* *** Interpolation *** */
typedef const std::vector<double>::const_iterator dbl_itr;
! typedef boost::shared_ptr<QuantLib::Interpolation>(*InterpolationConstructor)(
dbl_itr&, dbl_itr&, dbl_itr&);
template<>
! class Create<boost::shared_ptr<QuantLib::Interpolation> > :
! private RegistryManager<QuantLib::Interpolation, EnumClassRegistry> {
public:
! boost::shared_ptr<QuantLib::Interpolation> operator() (
! const std::string& interpolationID,
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) {
! InterpolationConstructor interpolationConstructor =
! getType<InterpolationConstructor>(interpolationID);
! return interpolationConstructor(xBegin, xEnd, yBegin);
}
! };
!
! /* *** Interpolation2D *** */
! typedef boost::shared_ptr<QuantLib::Interpolation2D>(*Interpolation2DConstructor)(
! dbl_itr&, dbl_itr&, dbl_itr&, dbl_itr&, const QuantLib::Matrix&);
!
! template<>
! class Create<boost::shared_ptr<QuantLib::Interpolation2D> > :
! private RegistryManager<QuantLib::Interpolation2D, EnumClassRegistry> {
! public:
! boost::shared_ptr<QuantLib::Interpolation2D> operator() (
! const std::string& interpolationID,
dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin, dbl_itr& yEnd,
const QuantLib::Matrix& zData) {
! Interpolation2DConstructor interpolation2DConstructor =
! getType<Interpolation2DConstructor>(interpolationID);
! return interpolation2DConstructor(xBegin, xEnd, yBegin, yEnd, zData);
}
};
|