Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv6229/qlo
Modified Files:
marketmodels.cpp marketmodels.hpp
Log Message:
pertial code refactoring
Index: marketmodels.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/marketmodels.hpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** marketmodels.hpp 1 Sep 2006 20:12:32 -0000 1.17
--- marketmodels.hpp 18 Sep 2006 07:07:26 -0000 1.18
***************
*** 27,32 ****
#include <ql/MarketModels/browniangenerator.hpp>
#include <ql/MarketModels/marketmodelevolver.hpp>
! #include <ql/MarketModels/Products/marketmodelforwards.hpp>
! #include <ql/MarketModels/Products/marketmodelcaplets.hpp>
#include <ql/MarketModels/Models/expcorrabcdvol.hpp>
--- 27,32 ----
#include <ql/MarketModels/browniangenerator.hpp>
#include <ql/MarketModels/marketmodelevolver.hpp>
! #include <ql/MarketModels/Products/OneStep/onestepforwards.hpp>
! #include <ql/MarketModels/Products/OneStep/onestepcaplets.hpp>
#include <ql/MarketModels/Models/expcorrabcdvol.hpp>
***************
*** 106,118 ****
};
! class MarketModelProduct : public ObjHandler::LibraryObject<
! QuantLib::MarketModelProduct> {
//public:
// virtual EvolutionDescription suggestedEvolution() const=0;
};
! class MarketModelForwards : public MarketModelProduct {
public:
! MarketModelForwards(const std::vector<QuantLib::Time>& rateTimes,
const std::vector<QuantLib::Real>& accruals,
const std::vector<QuantLib::Time>& paymentTimes,
--- 106,118 ----
};
! class MarketModelMultiProduct : public ObjHandler::LibraryObject<
! QuantLib::MarketModelMultiProduct> {
//public:
// virtual EvolutionDescription suggestedEvolution() const=0;
};
! class OneStepForwards : public MarketModelMultiProduct {
public:
! OneStepForwards(const std::vector<QuantLib::Time>& rateTimes,
const std::vector<QuantLib::Real>& accruals,
const std::vector<QuantLib::Time>& paymentTimes,
***************
*** 120,126 ****
//EvolutionDescription suggestedEvolution() const;
};
! class MarketModelCaplets : public MarketModelProduct {
public:
! MarketModelCaplets(const std::vector<QuantLib::Time>& rateTimes,
const std::vector<QuantLib::Real>& accruals,
const std::vector<QuantLib::Time>& paymentTimes,
--- 120,126 ----
//EvolutionDescription suggestedEvolution() const;
};
! class OneStepCaplets : public MarketModelMultiProduct {
public:
! OneStepCaplets(const std::vector<QuantLib::Time>& rateTimes,
const std::vector<QuantLib::Real>& accruals,
const std::vector<QuantLib::Time>& paymentTimes,
***************
*** 161,165 ****
AccountingEngine(
const boost::shared_ptr<QuantLib::MarketModelEvolver>& evolver,
! const boost::shared_ptr<QuantLib::MarketModelProduct>& product,
const QuantLib::EvolutionDescription& evolution,
double initialNumeraireValue);
--- 161,165 ----
AccountingEngine(
const boost::shared_ptr<QuantLib::MarketModelEvolver>& evolver,
! const boost::shared_ptr<QuantLib::MarketModelMultiProduct>& product,
const QuantLib::EvolutionDescription& evolution,
double initialNumeraireValue);
Index: marketmodels.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/marketmodels.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** marketmodels.cpp 1 Sep 2006 20:12:32 -0000 1.18
--- marketmodels.cpp 18 Sep 2006 07:07:26 -0000 1.19
***************
*** 128,132 ****
! MarketModelForwards::MarketModelForwards(
const std::vector<QuantLib::Time>& rateTimes,
const std::vector<QuantLib::Real>& accruals,
--- 128,132 ----
! OneStepForwards::OneStepForwards(
const std::vector<QuantLib::Time>& rateTimes,
const std::vector<QuantLib::Real>& accruals,
***************
*** 134,139 ****
const std::vector<QuantLib::Rate>& strikes)
{
! libraryObject_ = boost::shared_ptr<QuantLib::MarketModelProduct>(
! new QuantLib::MarketModelForwards(rateTimes, accruals,
paymentTimes, strikes));
}
--- 134,139 ----
const std::vector<QuantLib::Rate>& strikes)
{
! libraryObject_ = boost::shared_ptr<QuantLib::MarketModelMultiProduct>(
! new QuantLib::OneStepForwards(rateTimes, accruals,
paymentTimes, strikes));
}
***************
*** 147,157 ****
//}
! MarketModelCaplets::MarketModelCaplets(const std::vector<QuantLib::Time>& rateTimes,
const std::vector<QuantLib::Real>& accruals,
const std::vector<QuantLib::Time>& paymentTimes,
const std::vector<QuantLib::Rate>& strikes)
{
! libraryObject_ = boost::shared_ptr<QuantLib::MarketModelProduct>(
! new QuantLib::MarketModelCaplets(rateTimes, accruals,
paymentTimes, strikes));
}
--- 147,157 ----
//}
! OneStepCaplets::OneStepCaplets(const std::vector<QuantLib::Time>& rateTimes,
const std::vector<QuantLib::Real>& accruals,
const std::vector<QuantLib::Time>& paymentTimes,
const std::vector<QuantLib::Rate>& strikes)
{
! libraryObject_ = boost::shared_ptr<QuantLib::MarketModelMultiProduct>(
! new QuantLib::OneStepCaplets(rateTimes, accruals,
paymentTimes, strikes));
}
***************
*** 188,192 ****
AccountingEngine::AccountingEngine(
const boost::shared_ptr<QuantLib::MarketModelEvolver>& evolver,
! const boost::shared_ptr<QuantLib::MarketModelProduct>& product,
const QuantLib::EvolutionDescription& evolution,
double initialNumeraireValue)
--- 188,192 ----
AccountingEngine::AccountingEngine(
const boost::shared_ptr<QuantLib::MarketModelEvolver>& evolver,
! const boost::shared_ptr<QuantLib::MarketModelMultiProduct>& product,
const QuantLib::EvolutionDescription& evolution,
double initialNumeraireValue)
|