quantlibaddin-cvs Mailing List for QuantLibAddin (Page 49)
Brought to you by:
ericehlers,
nando
You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(51) |
Jun
(320) |
Jul
(210) |
Aug
(272) |
Sep
(169) |
Oct
(232) |
Nov
(138) |
Dec
(109) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(101) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Eric E. <eri...@us...> - 2006-07-06 12:00:56
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv6522/qlo Modified Files: conversions.cpp conversions.hpp Log Message: add conversions for: - std::vector<QuantLib::Array> as input - std::vector<QuantLib::Size> as return value Index: conversions.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/conversions.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** conversions.cpp 4 Jul 2006 12:07:48 -0000 1.6 --- conversions.cpp 6 Jul 2006 12:00:51 -0000 1.7 *************** *** 62,65 **** --- 62,73 ---- } + std::vector<long> libraryToVector(const std::vector<QuantLib::Size> &v) { + std::vector<long> ret; + for (std::vector<QuantLib::Size>::const_iterator i = v.begin(); + i != v.end(); i++) + ret.push_back(*i); + return ret; + } + double libraryToScalar(const double &d) { return d; Index: conversions.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/conversions.hpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** conversions.hpp 4 Jul 2006 12:07:48 -0000 1.8 --- conversions.hpp 6 Jul 2006 12:00:51 -0000 1.9 *************** *** 135,138 **** --- 135,139 ---- std::string libraryToScalar(const QuantLib::Calendar&); std::vector<long> libraryToVector(const std::vector<QuantLib::Date>&); + std::vector<long> libraryToVector(const std::vector<QuantLib::Size>&); std::vector<std::string> libraryToVector(const std::vector<QuantLib::Period>&); |
|
From: Ferdinando A. <na...@us...> - 2006-07-05 19:33:22
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv21469/gensrc Modified Files: gensrc.vcproj Log Message: exporting MarketModels classes Index: gensrc.vcproj =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/gensrc.vcproj,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** gensrc.vcproj 2 Jul 2006 15:50:26 -0000 1.10 --- gensrc.vcproj 5 Jul 2006 19:33:19 -0000 1.11 *************** *** 79,82 **** --- 79,85 ---- </File> <File + RelativePath=".\metadata\marketmodels.xml"> + </File> + <File RelativePath="metadata\mathf.xml"> </File> |
|
From: Ferdinando A. <na...@us...> - 2006-07-05 19:30:14
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv20109/qlo Modified Files: .cvsignore Log Message: exporting MarketModels classes Index: .cvsignore =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/.cvsignore,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** .cvsignore 2 Jul 2006 15:50:26 -0000 1.12 --- .cvsignore 5 Jul 2006 19:30:10 -0000 1.13 *************** *** 20,23 **** --- 20,24 ---- vo_interpolation.*pp vo_mathf.*pp + vo_marketmodels.*pp vo_options.*pp vo_payoffs.*pp |
|
From: Ferdinando A. <na...@us...> - 2006-07-05 19:27:52
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv18689/qlo Added Files: marketmodels.cpp marketmodels.hpp Log Message: exporting MarketModels classes --- NEW FILE: marketmodels.hpp --- /* Copyright (C) 2006 Ferdinando Ametrano This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email qua...@li... The license is also available online at http://quantlib.org/html/license.html This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ #ifndef qla_market_models_hpp #define qla_market_models_hpp #include <oh/objhandler.hpp> #include <ql/MarketModels/pseudoroot.hpp> #include <ql/MarketModels/evolutiondescription.hpp> #include <ql/MarketModels/curvestate.hpp> #include <ql/MarketModels/driftcalculator.hpp> #include <ql/MarketModels/browniangenerator.hpp> #include <ql/MarketModels/marketmodelevolver.hpp> namespace QuantLibAddin { class PseudoRoot : public ObjHandler::LibraryObject<QuantLib::PseudoRoot> { }; class ExponentialCorrelation : public PseudoRoot { public: ExponentialCorrelation( double longTermCorr, double beta, const std::vector<double>& volatilities, const QuantLib::Array& rateTimes, const QuantLib::Array& evolutionTimes, const QuantLib::Size numberOfFactors, const QuantLib::Array& initialRates, const QuantLib::Array& displacements); }; class EvolutionDescription : public ObjHandler::LibraryObject<QuantLib::EvolutionDescription> { public: EvolutionDescription( const QuantLib::Array& rateTimes, const QuantLib::Array& evolutionTimes, const std::vector<QuantLib::Size>& numeraires); }; class CurveState : public ObjHandler::LibraryObject<QuantLib::CurveState> { public: CurveState(const QuantLib::Array& rateTimes); }; class DriftCalculator : public ObjHandler::LibraryObject<QuantLib::DriftCalculator> { public: DriftCalculator(const QuantLib::Matrix& pseudo, const QuantLib::Array& displacements, const QuantLib::Array& taus, QuantLib::Size numeraire, QuantLib::Size alive); QuantLib::Array compute(const QuantLib::Array& forwards) const; private: QuantLib::Size size_; }; class BrownianGeneratorFactory : public ObjHandler::LibraryObject<QuantLib::BrownianGeneratorFactory> { }; class MTBrownianGeneratorFactory : public BrownianGeneratorFactory { public: MTBrownianGeneratorFactory(unsigned long seed); }; class MarketModelEvolver : public ObjHandler::LibraryObject<QuantLib::MarketModelEvolver> { }; class ForwardRateEvolver : public MarketModelEvolver { public: ForwardRateEvolver(const boost::shared_ptr<QuantLib::PseudoRoot>&, const QuantLib::EvolutionDescription&, const QuantLib::BrownianGeneratorFactory&); }; } #endif --- NEW FILE: marketmodels.cpp --- /* Copyright (C) 2006 Ferdinando Ametrano This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email qua...@li... The license is also available online at http://quantlib.org/html/license.html This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ #if defined(HAVE_CONFIG_H) // Dynamically created by configure #include <qlo/config.hpp> #endif #include <qlo/marketmodels.hpp> #include <ql/MarketModels/exponentialcorrelation.hpp> #include <ql/MarketModels/mtbrowniangenerator.hpp> #include <ql/MarketModels/forwardrateevolver.hpp> namespace QuantLibAddin { ExponentialCorrelation::ExponentialCorrelation( double longTermCorr, double beta, const std::vector<double>& volatilities, const QuantLib::Array& rateTimes, const QuantLib::Array& evolutionTimes, const QuantLib::Size numberOfFactors, const QuantLib::Array& initialRates, const QuantLib::Array& displacements) { libraryObject_ = boost::shared_ptr<QuantLib::PseudoRoot>( new QuantLib::ExponentialCorrelation(longTermCorr, beta, volatilities, rateTimes, evolutionTimes, numberOfFactors, initialRates, displacements)); } EvolutionDescription::EvolutionDescription( const QuantLib::Array& rateTimes, const QuantLib::Array& evolutionTimes, const std::vector<QuantLib::Size>& numeraires = std::vector<QuantLib::Size>()) { libraryObject_ = boost::shared_ptr<QuantLib::EvolutionDescription>( new QuantLib::EvolutionDescription(rateTimes, evolutionTimes, numeraires)); } CurveState::CurveState(const QuantLib::Array& rateTimes) { libraryObject_ = boost::shared_ptr<QuantLib::CurveState>( new QuantLib::CurveState(rateTimes)); } DriftCalculator::DriftCalculator(const QuantLib::Matrix& pseudo, const QuantLib::Array& displacements, const QuantLib::Array& taus, QuantLib::Size numeraire, QuantLib::Size alive) : size_(taus.size()) { libraryObject_ = boost::shared_ptr<QuantLib::DriftCalculator>( new QuantLib::DriftCalculator(pseudo, displacements, taus, numeraire, alive)); } QuantLib::Array DriftCalculator::compute(const QuantLib::Array& forwards) const { QuantLib::Array results(size_); libraryObject_->compute(forwards, results); return results; } MTBrownianGeneratorFactory::MTBrownianGeneratorFactory(unsigned long seed) { libraryObject_ = boost::shared_ptr<QuantLib::BrownianGeneratorFactory>( new QuantLib::MTBrownianGeneratorFactory(seed)); } ForwardRateEvolver::ForwardRateEvolver( const boost::shared_ptr<QuantLib::PseudoRoot>& pseudoRoot, const QuantLib::EvolutionDescription& evolutionDescription, const QuantLib::BrownianGeneratorFactory& brownianGeneratorfactory) { libraryObject_ = boost::shared_ptr<QuantLib::MarketModelEvolver>( new QuantLib::ForwardRateEvolver(pseudoRoot, evolutionDescription, brownianGeneratorfactory)); } } |
|
From: Ferdinando A. <na...@us...> - 2006-07-05 19:27:52
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv18689/gensrc Modified Files: Makefile.vc Log Message: exporting MarketModels classes Index: Makefile.vc =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/Makefile.vc,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** Makefile.vc 2 Jul 2006 15:50:26 -0000 1.15 --- Makefile.vc 5 Jul 2006 19:27:48 -0000 1.16 *************** *** 23,26 **** --- 23,27 ---- metadata\interpolation.xml \ metadata\mathf.xml \ + metadata\marketmodels.xml \ metadata\options.xml \ metadata\prices.xml \ |
|
From: Ferdinando A. <na...@us...> - 2006-07-05 19:27:52
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/config In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv18689/gensrc/config Modified Files: config.xml Log Message: exporting MarketModels classes Index: config.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/config/config.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** config.xml 29 Jun 2006 16:52:12 -0000 1.10 --- config.xml 5 Jul 2006 19:27:48 -0000 1.11 *************** *** 21,24 **** --- 21,25 ---- <categoryName>interpolation</categoryName> <categoryName>mathf</categoryName> + <categoryName>marketmodels</categoryName> <categoryName>options</categoryName> <categoryName>payoffs</categoryName> |
|
From: Ferdinando A. <na...@us...> - 2006-07-05 19:27:52
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv18689 Modified Files: QuantLibObjects.vcproj Log Message: exporting MarketModels classes Index: QuantLibObjects.vcproj =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/QuantLibObjects.vcproj,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** QuantLibObjects.vcproj 2 Jul 2006 15:50:25 -0000 1.19 --- QuantLibObjects.vcproj 5 Jul 2006 19:27:48 -0000 1.20 *************** *** 335,338 **** --- 335,344 ---- Filter=""> <File + RelativePath="qlo\enumclassctors.cpp"> + </File> + <File + RelativePath="qlo\enumclassctors.hpp"> + </File> + <File RelativePath="qlo\enumclassregistry.cpp"> </File> *************** *** 340,355 **** RelativePath="qlo\enumtyperegistry.cpp"> </File> ! <File ! RelativePath="qlo\enumclassctors.cpp"> ! </File> ! <File ! RelativePath="qlo\enumclassctors.hpp"> ! </File> ! <File ! RelativePath="qlo\typefactory.hpp"> ! </File> ! <File ! RelativePath="qlo\typeregistry.hpp"> ! </File> </Filter> <Filter --- 346,355 ---- RelativePath="qlo\enumtyperegistry.cpp"> </File> ! <File ! RelativePath="qlo\typefactory.hpp"> ! </File> ! <File ! RelativePath="qlo\typeregistry.hpp"> ! </File> </Filter> <Filter *************** *** 720,723 **** --- 720,733 ---- </File> </Filter> + <Filter + Name="MarketModels" + Filter=""> + <File + RelativePath=".\qlo\marketmodels.cpp"> + </File> + <File + RelativePath=".\qlo\marketmodels.hpp"> + </File> + </Filter> <File RelativePath="qlo\auto_link.hpp"> |
|
From: Ferdinando A. <na...@us...> - 2006-07-05 19:27:51
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv18689/gensrc/metadata Added Files: marketmodels.xml Log Message: exporting MarketModels classes --- NEW FILE: marketmodels.xml --- <Category name='marketmodels'> <description>functions to construct QuantLib market Models objects</description> <displayName>MarketModels</displayName> <includes> <include>qlo/marketmodels.hpp</include> <include>qlo/vo_marketmodels.hpp</include> </includes> <copyright> Copyright (C) 2006 Ferdinando Ametrano </copyright> <Functions> <!-- PseudoRoot base class interface --> <Member name='qlPseudoRootInitialRates' libraryClass='PseudoRoot'> <description>initial rates for the PseudoRoot object</description> <libraryFunction>initialRates</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters/> </ParameterList> <ReturnValue libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> </ReturnValue> </Member> <Member name='qlPseudoRootDisplacements' libraryClass='PseudoRoot'> <description>rates' displacemets for the PseudoRoot object</description> <libraryFunction>displacements</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters/> </ParameterList> <ReturnValue libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> </ReturnValue> </Member> <Member name='qlPseudoRootNumberOfRates' libraryClass='PseudoRoot'> <description>number of rates for the PseudoRoot object</description> <libraryFunction>numberOfRates</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters/> </ParameterList> <ReturnValue> <type>long</type> <tensorRank>scalar</tensorRank> </ReturnValue> </Member> <Member name='qlPseudoRootNumberOfFactors' libraryClass='PseudoRoot'> <description>number of factors for the PseudoRoot object</description> <libraryFunction>numberOfFactors</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters/> </ParameterList> <ReturnValue> <type>long</type> <tensorRank>scalar</tensorRank> </ReturnValue> </Member> <Member name='qlPseudoRootPseudoRoot' libraryClass='PseudoRoot'> <description>Returns the pseudo root for the i-th step.</description> <libraryFunction>pseudoRoot</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters> <Parameter name="index"> <type>long</type> <tensorRank>scalar</tensorRank> <description>evolution step index</description> </Parameter> </Parameters> </ParameterList> <ReturnValue libraryType='QuantLib::Matrix'> <type>double</type> <tensorRank>matrix</tensorRank> </ReturnValue> </Member> <!-- PseudoRoot derived class constructors --> <!--Constructor name='qlExponentialCorrelation'> <libraryFunction>ExponentialCorrelation</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters> <Parameter name='LongTermCorr'> <type>double</type> <tensorRank>scalar</tensorRank> <description>Long term correlation L in rho=L+(1-L)*exp(-beta*abs(Ti-Tj))</description> </Parameter> <Parameter name='beta'> <type>double</type> <tensorRank>scalar</tensorRank> <description>beta in rho=L+(1-L)*exp(-beta*abs(Ti-Tj))</description> </Parameter> <Parameter name='volatilities'> <type>double</type> <tensorRank>vector</tensorRank> <description>volatilities</description> </Parameter> <Parameter name='rateTimes' libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> <description>rate fixing times</description> </Parameter> <Parameter name='evolutionTimes' libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> <description>evolution times in the simulation</description> </Parameter> <Parameter name='Factors'> <type>long</type> <tensorRank>scalar</tensorRank> <description>number of factors to be retained in the simulation</description> </Parameter> <Parameter name='initialRates' libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> <description>initial rates</description> </Parameter> <Parameter name='displacements' libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> <description>displacements</description> </Parameter> </Parameters> </ParameterList> </Constructor--> <!-- EvolutionDescription class interface and costructor --> <Member name='qlEvolutionDescriptionRatesTimes' libraryClass='EvolutionDescription'> <description>rates fixing times for the EvolutionDescription object</description> <libraryFunction>rateTimes</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters/> </ParameterList> <ReturnValue libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> </ReturnValue> </Member> <Member name='qlEvolutionDescriptionTaus' libraryClass='EvolutionDescription'> <description>taus for the EvolutionDescription object</description> <libraryFunction>taus</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters/> </ParameterList> <ReturnValue libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> </ReturnValue> </Member> <Member name='qlEvolutionDescriptionEvolutionTimes' libraryClass='EvolutionDescription'> <description>evolution times for the EvolutionDescription object</description> <libraryFunction>evolutionTimes</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters/> </ParameterList> <ReturnValue libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> </ReturnValue> </Member> <!--Member name='qlEvolutionDescriptionNumeraires' libraryClass='EvolutionDescription'> <description>numeraires for the EvolutionDescription object</description> <libraryFunction>numeraires</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters/> </ParameterList> <ReturnValue> <type>long</type> <tensorRank>vector</tensorRank> </ReturnValue> </Member--> <!--Member name='qlEvolutionDescriptionRelevanceRates' libraryClass='EvolutionDescription'--> <Member name='qlEvolutionDescriptionNumberOfRates' libraryClass='EvolutionDescription'> <description>number of rates for the EvolutionDescription object</description> <libraryFunction>numberOfRates</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters/> </ParameterList> <ReturnValue> <type>long</type> <tensorRank>scalar</tensorRank> </ReturnValue> </Member> <Member name='qlEvolutionDescriptionNumberOfSteps' libraryClass='EvolutionDescription'> <description>number of steps for the EvolutionDescription object</description> <libraryFunction>numberOfSteps</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters/> </ParameterList> <ReturnValue> <type>long</type> <tensorRank>scalar</tensorRank> </ReturnValue> </Member> <!--Constructor name='qlEvolutionDescription'> <libraryFunction>EvolutionDescription</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters> <Parameter name='rateTimes' libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> <description>rate fixing times</description> </Parameter> <Parameter name='evolutionTimes' libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> <description>evolution times in the simulation</description> </Parameter> <Parameter name='numeraires'> <type>long</type> <tensorRank>vector</tensorRank> <description>numeraires used in the simulation</description> </Parameter> </Parameters> </ParameterList> </Constructor--> <!-- CurveState class interface and costructor --> <!--Member name='qlCurveStateSetOnForwardRates' libraryClass='CurveState'> <description>set the CurveState object on given vector of forward rates</description> <libraryFunction>setOnForwardRates</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters> <Parameter name='rates' libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> <description>forward rates</description> </Parameter> </Parameters> </ParameterList> <ReturnValue> <type>void</type> <tensorRank>scalar</tensorRank> </ReturnValue> </Member--> <!--Member name='qlCurveStateSetOnDiscountRatios' libraryClass='CurveState'> <description>set the CurveState object on given vector of discount ratios</description> <libraryFunction>setOnDiscountRatios</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters> <Parameter name='discountRatios' libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> <description>discount ratios</description> </Parameter> </Parameters> </ParameterList> <ReturnValue> <type>void</type> <tensorRank>scalar</tensorRank> </ReturnValue> </Member--> <!--Member name='qlCurveStateSetOnCoterminalSwapRates' libraryClass='CurveState'> <description>set the CurveState object on given vector of coterminal swaps</description> <libraryFunction>setOnCoterminalSwapRates</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters> <Parameter name='CoterminalSwaps' libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> <description>Coterminal Swaps</description> </Parameter> </Parameters> </ParameterList> <ReturnValue> <type>void</type> <tensorRank>scalar</tensorRank> </ReturnValue> </Member--> <Member name='qlCurveStateForwardRates' libraryClass='CurveState'> <description>set the CurveState object on given vector of forward rates</description> <libraryFunction>forwardRates</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters/> </ParameterList> <ReturnValue libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> </ReturnValue> </Member> <Member name='qlCurveStateDiscountRatios' libraryClass='CurveState'> <description>set the CurveState object on given vector of discount ratios</description> <libraryFunction>discountRatios</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters/> </ParameterList> <ReturnValue libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> </ReturnValue> </Member> <Member name='qlCurveStateCoterminalSwapRates' libraryClass='CurveState'> <description>set the CurveState object on given vector of coterminal swaps</description> <libraryFunction>coterminalSwapRates</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters/> </ParameterList> <ReturnValue libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> </ReturnValue> </Member> <Member name='qlCurveStateForwardRate' libraryClass='CurveState'> <description>set the CurveState object on given vector of forward rates</description> <libraryFunction>forwardRate</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters> <Parameter name='index'> <type>long</type> <tensorRank>scalar</tensorRank> <description>forward rate index</description> </Parameter> </Parameters> </ParameterList> <ReturnValue> <type>double</type> <tensorRank>scalar</tensorRank> </ReturnValue> </Member> <Member name='qlCurveStateDiscountRatio' libraryClass='CurveState'> <description>set the CurveState object on given vector of discount ratios</description> <libraryFunction>discountRatio</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters> <Parameter name='index1'> <type>long</type> <tensorRank>scalar</tensorRank> <description>discount bond first index</description> </Parameter> <Parameter name='index2'> <type>long</type> <tensorRank>scalar</tensorRank> <description>discount bond second index</description> </Parameter> </Parameters> </ParameterList> <ReturnValue> <type>double</type> <tensorRank>scalar</tensorRank> </ReturnValue> </Member> <Member name='qlCurveStateCoterminalSwapRate' libraryClass='CurveState'> <description>set the CurveState object on given vector of coterminal swaps</description> <libraryFunction>coterminalSwapRate</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters> <Parameter name='index'> <type>long</type> <tensorRank>scalar</tensorRank> <description>swap rate index</description> </Parameter> </Parameters> </ParameterList> <ReturnValue> <type>double</type> <tensorRank>scalar</tensorRank> </ReturnValue> </Member> <!--Constructor name='qlCurveState'> <libraryFunction>CurveState</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters> <Parameter name='rateTimes' libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> <description>rate fixing times</description> </Parameter> </Parameters> </ParameterList> </Constructor--> <!-- DriftCalculator class interface and costructor --> <!--Member name='qlDriftCalculatorCompute' objectClass='DriftCalculator'> <description>compute the drifts using the DriftCalculator object</description> <libraryFunction>compute</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters> <Parameter name='forwards' libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> <description>Coterminal Swaps</description> </Parameter> </Parameters> </ParameterList> <ReturnValue libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> </ReturnValue> </Member--> <!--Constructor name='qlDriftCalculator'> <libraryFunction>DriftCalculator</libraryFunction> <functionCategory>QuantLib</functionCategory> <ParameterList> <Parameters> <Parameter name='pseudo' libraryType='QuantLib::Matrix'> <type>double</type> <tensorRank>matrix</tensorRank> <description>Pseudo square root of the covariance matrix</description> </Parameter> <Parameter name='displacements' libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> <description>displacements</description> </Parameter> <Parameter name='taus' libraryType='QuantLib::Array'> <type>double</type> <tensorRank>vector</tensorRank> <description>taus</description> </Parameter> <Parameter name='numeraire'> <type>long</type> <tensorRank>scalar</tensorRank> <description>numeraire</description> </Parameter> <Parameter name='alive'> <type>long</type> <tensorRank>scalar</tensorRank> <description>index of the first rates still alive</description> </Parameter> </Parameters> </ParameterList> </Constructor--> </Functions> </Category> |
|
From: Eric E. <eri...@us...> - 2006-07-04 17:08:06
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv30876 Modified Files: todo.csv Log Message: extend Enumeration Registry to support creation of curves based on pair of strings Index: todo.csv =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todo.csv,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** todo.csv 4 Jul 2006 13:38:46 -0000 1.29 --- todo.csv 4 Jul 2006 17:07:57 -0000 1.30 *************** *** 1,8 **** "project","subproject","task","status","hours","priority","comp date","comment" ,,,,,,, - "QLA","Enumerations","QLO ctors which switch on ETs implement for YieldTermStructure, Extrapolator, PricingEngine(?)","in progress",4,,,"done for Extrapolator, PricingEngine" "QLA","Enumerations","port ET/EC registry from QuantLibXL to ObjectHandler","on hold","- -",,,"requires redesign to allow multiple XLLs to share global Registry" "QLA","Enumerations","remove Create<> code from QLO ctors Create<> code to appear only in autogenerated Addin code","cancelled",0,,,"this is required when QLO classes wrap ECs" "QLA","Enumerations","transfer Calendar, DayCounter, Currency from ET -> EC","cancelled",2,,,"these belong as Enumerated Types" "QLA","Enumerations","ET ctors use explicit ctors instead of default i.e. use ""HongKong::HKEx"" not ""HongKong""","done",0,,04/07/2006, "QLA","Enumerations","port gensrc EnumerationMember functionality from ETs -> ECs","done",4,,04/07/2006, --- 1,8 ---- "project","subproject","task","status","hours","priority","comp date","comment" ,,,,,,, "QLA","Enumerations","port ET/EC registry from QuantLibXL to ObjectHandler","on hold","- -",,,"requires redesign to allow multiple XLLs to share global Registry" "QLA","Enumerations","remove Create<> code from QLO ctors Create<> code to appear only in autogenerated Addin code","cancelled",0,,,"this is required when QLO classes wrap ECs" "QLA","Enumerations","transfer Calendar, DayCounter, Currency from ET -> EC","cancelled",2,,,"these belong as Enumerated Types" + "QLA","Enumerations","QLO ctors which switch on ETs implement for YieldTermStructure, Extrapolator, PricingEngine(?)","done",4,,04/07/2006, "QLA","Enumerations","ET ctors use explicit ctors instead of default i.e. use ""HongKong::HKEx"" not ""HongKong""","done",0,,04/07/2006, "QLA","Enumerations","port gensrc EnumerationMember functionality from ETs -> ECs","done",4,,04/07/2006, |
|
From: Eric E. <eri...@us...> - 2006-07-04 17:08:02
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv30876/qlo Modified Files: enumclassctors.cpp enumclassctors.hpp termstructures.cpp typefactory.hpp typeregistry.hpp Log Message: extend Enumeration Registry to support creation of curves based on pair of strings Index: typeregistry.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/typeregistry.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** typeregistry.hpp 29 Jun 2006 10:47:33 -0000 1.2 --- typeregistry.hpp 4 Jul 2006 17:07:56 -0000 1.3 *************** *** 2,5 **** --- 2,6 ---- /* Copyright (C) 2005 Plamen Neykov + Copyright (C) 2006 Eric Ehlers This file is part of QuantLib, a free-software/open-source library *************** *** 27,36 **** namespace QuantLibAddin { ! typedef std::map<std::string, void*> TypeMap; ! typedef boost::shared_ptr<TypeMap> TypeMapPtr; ! typedef std::map<std::string, TypeMapPtr> AllTypeMap; ! class Registry { public: std::vector<std::string> getAllRegisteredTypes() const; std::vector<std::string> getTypeElements(const std::string&) const; --- 28,38 ---- namespace QuantLibAddin { ! template <typename KeyClass> class Registry { public: + typedef std::map<KeyClass, void*> TypeMap; + typedef boost::shared_ptr<TypeMap> TypeMapPtr; + typedef std::map<std::string, TypeMapPtr> AllTypeMap; + std::vector<std::string> getAllRegisteredTypes() const; std::vector<std::string> getTypeElements(const std::string&) const; *************** *** 42,46 **** }; ! class EnumTypeRegistry : public Registry, public QuantLib::Singleton<EnumTypeRegistry> { friend class QuantLib::Singleton<EnumTypeRegistry>; private: --- 44,48 ---- }; ! class EnumTypeRegistry : public Registry<std::string>, public QuantLib::Singleton<EnumTypeRegistry> { friend class QuantLib::Singleton<EnumTypeRegistry>; private: *************** *** 48,56 **** }; ! class EnumClassRegistry : public Registry, public QuantLib::Singleton<EnumClassRegistry> { friend class QuantLib::Singleton<EnumClassRegistry>; private: EnumClassRegistry(); }; } --- 50,66 ---- }; ! class EnumClassRegistry : public Registry<std::string>, public QuantLib::Singleton<EnumClassRegistry> { friend class QuantLib::Singleton<EnumClassRegistry>; private: EnumClassRegistry(); }; + + typedef std::pair<std::string, std::string> KeyPair; + class EnumCurveRegistry : public Registry<KeyPair>, public QuantLib::Singleton<EnumCurveRegistry> { + friend class QuantLib::Singleton<EnumCurveRegistry>; + private: + EnumCurveRegistry(); + }; + } Index: termstructures.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/termstructures.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** termstructures.cpp 3 Jul 2006 10:27:21 -0000 1.13 --- termstructures.cpp 4 Jul 2006 17:07:56 -0000 1.14 *************** *** 63,73 **** // true); ! libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>( ! new QuantLib::PiecewiseYieldCurve<QuantLib::Discount, ! QuantLib::LogLinear>( ! nDays, calendar, ! rateHelpersQL, ! dayCounter, ! 1.0e-6)); /* --- 63,76 ---- // true); ! //libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>( ! // new QuantLib::PiecewiseYieldCurve<QuantLib::Discount, ! // QuantLib::LogLinear>( ! // nDays, calendar, ! // rateHelpersQL, ! // dayCounter, ! // 1.0e-6)); ! ! libraryObject_ = Create<boost::shared_ptr<QuantLib::YieldTermStructure> >() ! ("Discount", "LogLinear", nDays, calendar, rateHelpersQL, dayCounter); /* Index: enumclassctors.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** enumclassctors.cpp 4 Jul 2006 08:42:52 -0000 1.3 --- enumclassctors.cpp 4 Jul 2006 17:07:56 -0000 1.4 *************** *** 224,228 **** } ! /* *** EURIBOR *** */ boost::shared_ptr<QuantLib::Euribor> EURIBOR_SW( const std::string& handleYieldTermStructureID) { --- 224,228 ---- } ! /* *** Euribor *** */ boost::shared_ptr<QuantLib::Euribor> EURIBOR_SW( const std::string& handleYieldTermStructureID) { *************** *** 346,349 **** --- 346,364 ---- } + /* *** YieldTermStructure *** */ + boost::shared_ptr<QuantLib::YieldTermStructure> DISCOUNT_LOGLINEAR_PiecewiseYieldCurve( + const long &nDays, + const QuantLib::Calendar &calendar, + const std::vector<boost::shared_ptr<QuantLib::RateHelper> > &rateHelpers, + const QuantLib::DayCounter &dayCounter) { + return boost::shared_ptr<QuantLib::YieldTermStructure>( + new QuantLib::PiecewiseYieldCurve<QuantLib::Discount, + QuantLib::LogLinear>( + nDays, calendar, + rateHelpers, + dayCounter, + 1.0e-6)); + } + } Index: enumclassctors.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.hpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** enumclassctors.hpp 4 Jul 2006 08:42:52 -0000 1.3 --- enumclassctors.hpp 4 Jul 2006 17:07:56 -0000 1.4 *************** *** 104,108 **** const QuantLib::Matrix& zData); ! /* *** EURIBOR *** */ boost::shared_ptr<QuantLib::Euribor> EURIBOR_SW( const std::string& handleYieldTermStructureID); --- 104,108 ---- const QuantLib::Matrix& zData); ! /* *** Euribor *** */ boost::shared_ptr<QuantLib::Euribor> EURIBOR_SW( const std::string& handleYieldTermStructureID); *************** *** 136,139 **** --- 136,145 ---- const std::string& handleYieldTermStructureID); + /* *** YieldTermStructure *** */ + boost::shared_ptr<QuantLib::YieldTermStructure> DISCOUNT_LOGLINEAR_PiecewiseYieldCurve( + const long &nDays, + const QuantLib::Calendar &calendar, + const std::vector<boost::shared_ptr<QuantLib::RateHelper> > &rateHelpers, + const QuantLib::DayCounter &dayCounter); } Index: typefactory.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/typefactory.hpp,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** typefactory.hpp 4 Jul 2006 08:42:52 -0000 1.15 --- typefactory.hpp 4 Jul 2006 17:07:56 -0000 1.16 *************** *** 25,48 **** #include <ql/Math/matrix.hpp> #include <ql/Math/interpolation2D.hpp> - #include <oh/exception.hpp> #include <ql/Indexes/euribor.hpp> namespace QuantLibAddin { template<typename T, typename RegistryClass> class RegistryManager { protected: ! template<typename ConstructorSignature> ! ConstructorSignature getType(const std::string& id) { ! TypeMapPtr type_map = getTypeMap(); ! std::string idUpper = QuantLib::uppercase(id); ! for (TypeMap::iterator i = type_map->begin(); i != type_map->end(); i++) ! if (QuantLib::uppercase(i->first) == idUpper) return static_cast<ConstructorSignature>(i->second); ! QL_FAIL("Unknown id for Type: " + id); } bool checkType(const std::string& id) { ! TypeMapPtr type_map; ! AllTypeMap::const_iterator i = RegistryClass::instance().getAllTypesMap().find(typeid(T).name()); if (i == RegistryClass::instance().getAllTypesMap().end()) { --- 25,72 ---- #include <ql/Math/matrix.hpp> #include <ql/Math/interpolation2D.hpp> #include <ql/Indexes/euribor.hpp> + #include <ql/TermStructures/ratehelpers.hpp> + #include <oh/exception.hpp> namespace QuantLibAddin { + inline std::string uppercase(const std::string &s) { + return QuantLib::uppercase(s); + } + + inline KeyPair uppercase(const KeyPair &s) { + return KeyPair(QuantLib::uppercase(s.first), QuantLib::uppercase(s.second)); + } + + inline std::ostream& operator<<(std::ostream& left, const KeyPair &right) { + left << right.first << ":" << right.second; + return left; + } + template<typename T, typename RegistryClass> class RegistryManager { protected: ! //template<typename ConstructorSignature> ! //ConstructorSignature getType(const std::string& id) { ! // typename RegistryClass::TypeMapPtr type_map = getTypeMap(); ! // std::string idUpper = QuantLib::uppercase(id); ! // for (typename RegistryClass::TypeMap::iterator i = type_map->begin(); i != type_map->end(); i++) ! // if (QuantLib::uppercase(i->first) == idUpper) ! // return static_cast<ConstructorSignature>(i->second); ! // QL_FAIL("Unknown id for Type: " << id); ! //} ! template<typename KeyClass, typename ConstructorSignature> ! ConstructorSignature getType(const KeyClass& id) { ! typename RegistryClass::TypeMapPtr type_map = getTypeMap(); ! KeyClass idUpper = uppercase(id); ! for (typename RegistryClass::TypeMap::iterator i = type_map->begin(); i != type_map->end(); i++) ! if (uppercase(i->first) == idUpper) return static_cast<ConstructorSignature>(i->second); ! QL_FAIL("Unknown id for Type: " << id); } + bool checkType(const std::string& id) { ! typename RegistryClass::TypeMapPtr type_map; ! typename RegistryClass::AllTypeMap::const_iterator i = RegistryClass::instance().getAllTypesMap().find(typeid(T).name()); if (i == RegistryClass::instance().getAllTypesMap().end()) { *************** *** 52,56 **** } std::string idUpper = QuantLib::uppercase(id); ! for (TypeMap::iterator i = type_map->begin(); i != type_map->end(); i++) if (QuantLib::uppercase(i->first) == idUpper) return true; --- 76,80 ---- } std::string idUpper = QuantLib::uppercase(id); ! for (typename RegistryClass::TypeMap::iterator i = type_map->begin(); i != type_map->end(); i++) if (QuantLib::uppercase(i->first) == idUpper) return true; *************** *** 58,65 **** } private: ! const TypeMapPtr &getTypeMap() { ! static TypeMapPtr type_map; if(!type_map) { ! AllTypeMap::const_iterator i = RegistryClass::instance().getAllTypesMap().find(typeid(T).name()); QL_REQUIRE(i != RegistryClass::instance().getAllTypesMap().end(), --- 82,89 ---- } private: ! const typename RegistryClass::TypeMapPtr &getTypeMap() { ! static typename RegistryClass::TypeMapPtr type_map; if(!type_map) { ! typename RegistryClass::AllTypeMap::const_iterator i = RegistryClass::instance().getAllTypesMap().find(typeid(T).name()); QL_REQUIRE(i != RegistryClass::instance().getAllTypesMap().end(), *************** *** 77,81 **** public: T operator()(const std::string& id) { ! return *(getType<T*>(id)); } using RegistryManager<T, EnumTypeRegistry>::checkType; --- 101,105 ---- public: T operator()(const std::string& id) { ! return *(getType<std::string, T*>(id)); } using RegistryManager<T, EnumTypeRegistry>::checkType; *************** *** 99,103 **** const double& strike) { StrikedTypePayoffConstructor1 strikedTypePayoffConstructor = ! getType<StrikedTypePayoffConstructor1>(payoffID); return strikedTypePayoffConstructor(optionType, strike); } --- 123,127 ---- const double& strike) { StrikedTypePayoffConstructor1 strikedTypePayoffConstructor = ! getType<std::string, StrikedTypePayoffConstructor1>(payoffID); return strikedTypePayoffConstructor(optionType, strike); } *************** *** 108,112 **** const double& strikeIncrement) { StrikedTypePayoffConstructor2 strikedTypePayoffConstructor = ! getType<StrikedTypePayoffConstructor2>(payoffID); return strikedTypePayoffConstructor(optionType, strike, strikeIncrement); } --- 132,136 ---- const double& strikeIncrement) { StrikedTypePayoffConstructor2 strikedTypePayoffConstructor = ! getType<std::string, StrikedTypePayoffConstructor2>(payoffID); return strikedTypePayoffConstructor(optionType, strike, strikeIncrement); } *************** *** 124,128 **** boost::shared_ptr<QuantLib::PricingEngine> operator()(const std::string& engineID) { PricingEngineConstructor1 pricingEngineConstructor = ! getType<PricingEngineConstructor1>(engineID); return pricingEngineConstructor(); } --- 148,152 ---- boost::shared_ptr<QuantLib::PricingEngine> operator()(const std::string& engineID) { PricingEngineConstructor1 pricingEngineConstructor = ! getType<std::string, PricingEngineConstructor1>(engineID); return pricingEngineConstructor(); } *************** *** 131,135 **** QL_REQUIRE(timeSteps>0, "timeSteps must be positive"); // FIXME move this validation into QL PricingEngineConstructor2 pricingEngineConstructor = ! getType<PricingEngineConstructor2>(engineID); return pricingEngineConstructor(timeSteps); } --- 155,159 ---- QL_REQUIRE(timeSteps>0, "timeSteps must be positive"); // FIXME move this validation into QL PricingEngineConstructor2 pricingEngineConstructor = ! getType<std::string, PricingEngineConstructor2>(engineID); return pricingEngineConstructor(timeSteps); } *************** *** 149,153 **** dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) { InterpolationConstructor interpolationConstructor = ! getType<InterpolationConstructor>(interpolationID); return interpolationConstructor(xBegin, xEnd, yBegin); } --- 173,177 ---- dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) { InterpolationConstructor interpolationConstructor = ! getType<std::string, InterpolationConstructor>(interpolationID); return interpolationConstructor(xBegin, xEnd, yBegin); } *************** *** 167,176 **** const QuantLib::Matrix& zData) { Interpolation2DConstructor interpolation2DConstructor = ! getType<Interpolation2DConstructor>(interpolationID); return interpolation2DConstructor(xBegin, xEnd, yBegin, yEnd, zData); } }; ! /* *** EURIBOR *** */ typedef boost::shared_ptr<QuantLib::Euribor>(*EuriborConstructor)( const std::string& handleYieldTermStructureID); --- 191,200 ---- const QuantLib::Matrix& zData) { Interpolation2DConstructor interpolation2DConstructor = ! getType<std::string, Interpolation2DConstructor>(interpolationID); return interpolation2DConstructor(xBegin, xEnd, yBegin, yEnd, zData); } }; ! /* *** Euribor *** */ typedef boost::shared_ptr<QuantLib::Euribor>(*EuriborConstructor)( const std::string& handleYieldTermStructureID); *************** *** 184,188 **** const std::string& handleYieldTermStructureID = "") { EuriborConstructor euriborConstructor = ! getType<EuriborConstructor>(euriborID); return euriborConstructor(handleYieldTermStructureID); } --- 208,212 ---- const std::string& handleYieldTermStructureID = "") { EuriborConstructor euriborConstructor = ! getType<std::string, EuriborConstructor>(euriborID); return euriborConstructor(handleYieldTermStructureID); } *************** *** 190,193 **** --- 214,244 ---- }; + + + /* *** YieldTermStructure *** */ + typedef boost::shared_ptr<QuantLib::YieldTermStructure>(*YieldTermStructureConstructor)( + const long &nDays, + const QuantLib::Calendar &calendar, + const std::vector<boost::shared_ptr<QuantLib::RateHelper> > &rateHelpers, + const QuantLib::DayCounter &dayCounter); + + template<> + class Create<boost::shared_ptr<QuantLib::YieldTermStructure> > : + private RegistryManager<QuantLib::YieldTermStructure, EnumCurveRegistry> { + public: + boost::shared_ptr<QuantLib::YieldTermStructure> operator() ( + const std::string& traitsID, + const std::string& interpolatorID, + const long &nDays, + const QuantLib::Calendar &calendar, + const std::vector<boost::shared_ptr<QuantLib::RateHelper> > &rateHelpers, + const QuantLib::DayCounter &dayCounter) { + KeyPair key(traitsID, interpolatorID); + YieldTermStructureConstructor yieldTermStructureConstructor = + getType<KeyPair, YieldTermStructureConstructor>(key); + return yieldTermStructureConstructor(nDays, calendar, rateHelpers, dayCounter); + } + }; + } |
|
From: Eric E. <eri...@us...> - 2006-07-04 13:38:51
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv27767/gensrc/metadata Modified Files: mathf.xml Log Message: add support for QuantLib::Array as return value / enable qlEigenValues() Index: mathf.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/mathf.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** mathf.xml 4 Jul 2006 10:43:25 -0000 1.6 --- mathf.xml 4 Jul 2006 13:38:46 -0000 1.7 *************** *** 138,142 **** <!-- SymmetricSchurDecomposition interface --> ! <!--Member name='qlEigenvalues' libraryClass='SymmetricSchurDecomposition'> <description>Returns the eigenvalues of a symmetrix matrix</description> <libraryFunction>eigenvalues</libraryFunction> --- 138,142 ---- <!-- SymmetricSchurDecomposition interface --> ! <Member name='qlEigenvalues' libraryClass='SymmetricSchurDecomposition'> <description>Returns the eigenvalues of a symmetrix matrix</description> <libraryFunction>eigenvalues</libraryFunction> *************** *** 149,153 **** <tensorRank>vector</tensorRank> </ReturnValue> ! </Member--> <Member name='qlEigenvectors' libraryClass='SymmetricSchurDecomposition'> --- 149,153 ---- <tensorRank>vector</tensorRank> </ReturnValue> ! </Member> <Member name='qlEigenvectors' libraryClass='SymmetricSchurDecomposition'> |
|
From: Eric E. <eri...@us...> - 2006-07-04 13:38:50
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv27767 Modified Files: todo.csv Log Message: add support for QuantLib::Array as return value / enable qlEigenValues() Index: todo.csv =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todo.csv,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** todo.csv 4 Jul 2006 12:09:10 -0000 1.28 --- todo.csv 4 Jul 2006 13:38:46 -0000 1.29 *************** *** 21,25 **** ,,,,,,, "OH","Functions","ohPack() broken not removing empty cells from end of range e.g. for timeseries",,,1,, ! "gensrc",,"add support for QuantLib::Array as input / output",,,1,,"e.g. qlEigenValues" ,,,,,,, "gensrc",,"coercion implicit conversion between required datatypes for function input/output parameters",,,1,,"date->EuropeanExercise, volatility->BlackSwaptionEngine, etc." --- 21,25 ---- ,,,,,,, "OH","Functions","ohPack() broken not removing empty cells from end of range e.g. for timeseries",,,1,, ! "gensrc",,"add support for QuantLib::Array as output","done",,1,04/07/2006,"e.g. qlEigenValues()" ,,,,,,, "gensrc",,"coercion implicit conversion between required datatypes for function input/output parameters",,,1,,"date->EuropeanExercise, volatility->BlackSwaptionEngine, etc." |
|
From: Eric E. <eri...@us...> - 2006-07-04 12:09:14
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv9043 Modified Files: todo.csv Log Message: Excel Function Wizard - change default behavior to "no calc" instead of "calc" Index: todo.csv =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todo.csv,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** todo.csv 4 Jul 2006 10:43:25 -0000 1.27 --- todo.csv 4 Jul 2006 12:09:10 -0000 1.28 *************** *** 22,31 **** "OH","Functions","ohPack() broken not removing empty cells from end of range e.g. for timeseries",,,1,, "gensrc",,"add support for QuantLib::Array as input / output",,,1,,"e.g. qlEigenValues" ! "gensrc",,"fix problem with implicit conversion for return values of type Rate/Spread/DiscountFactor/Time (double typedefs)",,,1,, ! "gensrc",,"implement support for coercion between required datatypes for function input/output parameters",,,1,,"date->EuropeanExercise, volatility->BlackSwaptionEngine, etc." ! "gensrc",,"Function Wizard disabled by default",,,1,, "gensrc",,"complete the separation of core gensrc functionality from platform- and library-specific functionality",,,1,, "gensrc",,"add optional long description to function metadata",,,,, - "gensrc",,"remove description of return value from function metadata","done",,,04/07/2006, ,,"Handle - automate conversions so it's not necessary for developer to implement linkTo for every class",,,,, ,,"enumeration as return value (string) should be same as the input value Period, DayCounter",,,1,, --- 22,32 ---- "OH","Functions","ohPack() broken not removing empty cells from end of range e.g. for timeseries",,,1,, "gensrc",,"add support for QuantLib::Array as input / output",,,1,,"e.g. qlEigenValues" ! ,,,,,,, ! "gensrc",,"coercion implicit conversion between required datatypes for function input/output parameters",,,1,,"date->EuropeanExercise, volatility->BlackSwaptionEngine, etc." ! "gensrc",,"Function Wizard disabled by default","done",,1,04/07/2006, ! "gensrc",,"fix problem with implicit conversion for return values of type Rate/Spread/DiscountFactor/Time (double typedefs)","done",,1,04/07/2006, ! "gensrc",,"remove description of return value from function metadata","done",,,04/07/2006, "gensrc",,"complete the separation of core gensrc functionality from platform- and library-specific functionality",,,1,, "gensrc",,"add optional long description to function metadata",,,,, ,,"Handle - automate conversions so it's not necessary for developer to implement linkTo for every class",,,,, ,,"enumeration as return value (string) should be same as the input value Period, DayCounter",,,1,, |
|
From: Eric E. <eri...@us...> - 2006-07-04 12:07:54
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7998/qlo Modified Files: conversions.cpp conversions.hpp Log Message: implicit conversion of QL types which are typedef to double e.g. Rate Index: conversions.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/conversions.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** conversions.cpp 4 Jul 2006 10:43:25 -0000 1.5 --- conversions.cpp 4 Jul 2006 12:07:48 -0000 1.6 *************** *** 66,69 **** --- 66,73 ---- } + long libraryToScalar(const long &l) { + return l; + } + } Index: conversions.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/conversions.hpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** conversions.hpp 4 Jul 2006 10:43:25 -0000 1.7 --- conversions.hpp 4 Jul 2006 12:07:48 -0000 1.8 *************** *** 137,143 **** std::vector<std::string> libraryToVector(const std::vector<QuantLib::Period>&); ! // FIXME this function is a temporary workaround for // shortcoming in autogenerated source code double libraryToScalar(const double&); } --- 137,144 ---- std::vector<std::string> libraryToVector(const std::vector<QuantLib::Period>&); ! // FIXME these functions are a temporary workaround for // shortcoming in autogenerated source code double libraryToScalar(const double&); + long libraryToScalar(const long&); } |
|
From: Eric E. <eri...@us...> - 2006-07-04 10:43:29
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv25792/gensrc/metadata Modified Files: mathf.xml Log Message: implicit conversion of QL types which are typedef to double e.g. Rate Index: mathf.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/mathf.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** mathf.xml 4 Jul 2006 10:06:53 -0000 1.5 --- mathf.xml 4 Jul 2006 10:43:25 -0000 1.6 *************** *** 63,67 **** </Parameters> </ParameterList> ! <ReturnValue> <type>double</type> <tensorRank>scalar</tensorRank> --- 63,67 ---- </Parameters> </ParameterList> ! <ReturnValue libraryType='QuantLib::Real'> <type>double</type> <tensorRank>scalar</tensorRank> |
|
From: Eric E. <eri...@us...> - 2006-07-04 10:43:29
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv25792 Modified Files: todo.csv Log Message: implicit conversion of QL types which are typedef to double e.g. Rate Index: todo.csv =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todo.csv,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** todo.csv 4 Jul 2006 10:06:53 -0000 1.26 --- todo.csv 4 Jul 2006 10:43:25 -0000 1.27 *************** *** 21,26 **** ,,,,,,, "OH","Functions","ohPack() broken not removing empty cells from end of range e.g. for timeseries",,,1,, ! "gensrc",,"add support for QuantLib::Array as input / output",,,1,, ! "gensrc",,"fix problem with implicit conversion for return values of type Rate/Spread/DiscountFactor/Time (double typedefs)",,,1,,"e.g. qlEigenValues" "gensrc",,"implement support for coercion between required datatypes for function input/output parameters",,,1,,"date->EuropeanExercise, volatility->BlackSwaptionEngine, etc." "gensrc",,"Function Wizard disabled by default",,,1,, --- 21,26 ---- ,,,,,,, "OH","Functions","ohPack() broken not removing empty cells from end of range e.g. for timeseries",,,1,, ! "gensrc",,"add support for QuantLib::Array as input / output",,,1,,"e.g. qlEigenValues" ! "gensrc",,"fix problem with implicit conversion for return values of type Rate/Spread/DiscountFactor/Time (double typedefs)",,,1,, "gensrc",,"implement support for coercion between required datatypes for function input/output parameters",,,1,,"date->EuropeanExercise, volatility->BlackSwaptionEngine, etc." "gensrc",,"Function Wizard disabled by default",,,1,, |
|
From: Eric E. <eri...@us...> - 2006-07-04 10:43:28
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv25792/qlo Modified Files: conversions.cpp conversions.hpp Log Message: implicit conversion of QL types which are typedef to double e.g. Rate Index: conversions.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/conversions.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** conversions.cpp 22 Jun 2006 10:13:28 -0000 1.4 --- conversions.cpp 4 Jul 2006 10:43:25 -0000 1.5 *************** *** 62,65 **** --- 62,69 ---- } + double libraryToScalar(const double &d) { + return d; + } + } Index: conversions.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/conversions.hpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** conversions.hpp 4 Jul 2006 08:42:52 -0000 1.6 --- conversions.hpp 4 Jul 2006 10:43:25 -0000 1.7 *************** *** 129,133 **** Called by autogenerated addin code. */ - double libraryToScalar(const QuantLib::InterestRate&); long libraryToScalar(const QuantLib::Date&); --- 129,132 ---- *************** *** 138,141 **** --- 137,144 ---- std::vector<std::string> libraryToVector(const std::vector<QuantLib::Period>&); + // FIXME this function is a temporary workaround for + // shortcoming in autogenerated source code + double libraryToScalar(const double&); + } |
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv6085/gensrc/metadata Modified Files: bonds.xml calendar.xml capfloor.xml capletvolstructure.xml couponvectors.xml date.xml daycounter.xml exercise.xml forwardrateagreement.xml index.xml instruments.xml interpolation.xml mathf.xml options.xml prices.xml randomsequencegenerator.xml ratehelpers.xml schedule.xml swap.xml swaption.xml swaptionvolstructure.xml termstructures.xml utilities.xml vanillaswap.xml Log Message: remove description from return value in function metadata Index: vanillaswap.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/vanillaswap.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** vanillaswap.xml 28 Jun 2006 15:18:59 -0000 1.8 --- vanillaswap.xml 4 Jul 2006 10:06:53 -0000 1.9 *************** *** 94,98 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>the fair rate</description> </ReturnValue> </Member> --- 94,97 ---- *************** *** 114,118 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>the fair spread</description> </ReturnValue> </Member> --- 113,116 ---- *************** *** 129,133 **** <type>double</type> <tensorRank>matrix</tensorRank> - <description>The fixed leg cash flow analysis</description> </ReturnValue> </Member> --- 127,130 ---- *************** *** 149,153 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>the fixed leg BPS</description> </ReturnValue> </Member> --- 146,149 ---- *************** *** 169,173 **** <type>double</type> <tensorRank>matrix</tensorRank> - <description>The floating leg cash flow analysis</description> </ReturnValue> </Member> --- 165,168 ---- *************** *** 189,193 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>the floating leg BPS</description> </ReturnValue> </Member> --- 184,187 ---- Index: ratehelpers.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/ratehelpers.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** ratehelpers.xml 26 Jun 2006 21:31:03 -0000 1.10 --- ratehelpers.xml 4 Jul 2006 10:06:53 -0000 1.11 *************** *** 31,35 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>earliest date</description> </ReturnValue> </Member> --- 31,34 ---- *************** *** 51,55 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>latest date</description> </ReturnValue> </Member> --- 50,53 ---- *************** *** 71,75 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>reference quote</description> </ReturnValue> </Member> --- 69,72 ---- *************** *** 91,95 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>the difference vetween the new quote and the old quote</description> </ReturnValue> </Member> --- 88,91 ---- *************** *** 199,203 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>the convexity adjustment of the FuturesRateHelper object</description> </ReturnValue> </Member> --- 195,198 ---- *************** *** 219,223 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>the difference vetween the new convexity adjustment and the old convexity adjustment</description> </ReturnValue> </Member> --- 214,217 ---- *************** *** 307,311 **** <type>string</type> <tensorRank>vector</tensorRank> - <description>list of instance names of selected rate helpers</description> </ReturnValue> </Procedure> --- 301,304 ---- Index: index.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/index.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** index.xml 28 Jun 2006 15:18:59 -0000 1.3 --- index.xml 4 Jul 2006 10:06:52 -0000 1.4 *************** *** 24,28 **** <type>string</type> <tensorRank>scalar</tensorRank> - <description>index name</description> </ReturnValue> </Member> --- 24,27 ---- *************** *** 49,53 **** <type>any</type> <tensorRank>vector</tensorRank> - <description>index fixing(s)</description> </ReturnValue> </Member> --- 48,51 ---- *************** *** 74,78 **** <type>void</type> <tensorRank>scalar</tensorRank> - <description>SUCCESS/FAILURE</description> </ReturnValue> </Member> --- 72,75 ---- *************** *** 99,103 **** <type>void</type> <tensorRank>scalar</tensorRank> - <description>SUCCESS/FAILURE</description> </ReturnValue> </Member> --- 96,99 ---- Index: bonds.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/bonds.xml,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** bonds.xml 28 Jun 2006 15:18:58 -0000 1.11 --- bonds.xml 4 Jul 2006 10:06:52 -0000 1.12 *************** *** 35,39 **** <type>double</type> <tensorRank>matrix</tensorRank> - <description>Cash flow analysis</description> </ReturnValue> </Member> --- 35,38 ---- *************** *** 49,53 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>The settlement date of the bond</description> </ReturnValue> </Member> --- 48,51 ---- *************** *** 69,73 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>Theoretical clean price</description> </ReturnValue> </Member> --- 67,70 ---- *************** *** 89,93 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>Theoretical dirty price</description> </ReturnValue> </Member> --- 86,89 ---- *************** *** 114,118 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>Theoretical yield</description> </ReturnValue> </Member> --- 110,113 ---- *************** *** 144,148 **** <type>any</type> <tensorRank>vector</tensorRank> - <description>Clean price(s) given yield(s) and settlement date</description> </ReturnValue> </Member> --- 139,142 ---- *************** *** 174,178 **** <type>any</type> <tensorRank>vector</tensorRank> - <description>Dirty price(s) given yield(s) and settlement date</description> </ReturnValue> </Member> --- 168,171 ---- *************** *** 204,208 **** <type>any</type> <tensorRank>vector</tensorRank> - <description>Yield(s) given clean price(s) and settlement date.</description> </ReturnValue> </Member> --- 197,200 ---- *************** *** 224,228 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>Accrued amount at a given date</description> </ReturnValue> </Member> --- 216,219 ---- Index: swap.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/swap.xml,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** swap.xml 28 Jun 2006 15:18:59 -0000 1.11 --- swap.xml 4 Jul 2006 10:06:53 -0000 1.12 *************** *** 61,65 **** <type>double</type> <tensorRank>matrix</tensorRank> - <description>Leg cash flow analysis</description> </ReturnValue> </Member> --- 61,64 ---- *************** *** 86,90 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>the leg BPS</description> </ReturnValue> </Member> --- 85,88 ---- *************** *** 106,110 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>the start date of the swap</description> </ReturnValue> </Member> --- 104,107 ---- *************** *** 126,130 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>the maturity date of the swap</description> </ReturnValue> </Member> --- 123,126 ---- Index: termstructures.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/termstructures.xml,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** termstructures.xml 29 Jun 2006 14:18:29 -0000 1.18 --- termstructures.xml 4 Jul 2006 10:06:53 -0000 1.19 *************** *** 23,27 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description></description> </ReturnValue> </Member> --- 23,26 ---- *************** *** 38,42 **** <type>string</type> <tensorRank>scalar</tensorRank> - <description></description> </ReturnValue> </Member> --- 37,40 ---- *************** *** 54,58 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description></description> </ReturnValue> </Member> --- 52,55 ---- *************** *** 69,73 **** <type>string</type> <tensorRank>scalar</tensorRank> - <description></description> </ReturnValue> </Member> --- 66,69 ---- *************** *** 102,106 **** <type>any</type> <tensorRank>vector</tensorRank> - <description>vector of discount factors</description> </ReturnValue> </Member> --- 98,101 ---- *************** *** 153,157 **** <type>any</type> <tensorRank>vector</tensorRank> - <description>interest rate</description> </ReturnValue> </Member> --- 148,151 ---- *************** *** 199,203 **** <type>any</type> <tensorRank>vector</tensorRank> - <description>interest rate</description> </ReturnValue> </Member> --- 193,196 ---- *************** *** 240,244 **** <type>any</type> <tensorRank>vector</tensorRank> - <description>interest rate</description> </ReturnValue> </Member> --- 233,236 ---- *************** *** 254,258 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>earliest date</description> </ReturnValue> </Member> --- 246,249 ---- *************** *** 268,272 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>latest date</description> </ReturnValue> </Member> --- 259,262 ---- *************** *** 302,306 **** <type>void</type> <tensorRank>scalar</tensorRank> - <description>success/failure</description> </ReturnValue> </Member> --- 292,295 ---- Index: swaptionvolstructure.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/swaptionvolstructure.xml,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** swaptionvolstructure.xml 28 Jun 2006 15:18:59 -0000 1.18 --- swaptionvolstructure.xml 4 Jul 2006 10:06:53 -0000 1.19 *************** *** 54,58 **** <type>double</type> <tensorRank>vector</tensorRank> - <description>vector of volatilities</description> </ReturnValue> </Member> --- 54,57 ---- *************** *** 69,73 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>max swaption expiry date</description> </ReturnValue> </Member> --- 68,71 ---- *************** *** 84,88 **** <type>string</type> <tensorRank>scalar</tensorRank> - <description>max underlying swap length as period</description> </ReturnValue> </Member> --- 82,85 ---- *************** *** 99,103 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>minimum strike</description> </ReturnValue> </Member> --- 96,99 ---- *************** *** 114,118 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>maximum strike</description> </ReturnValue> </Member> --- 110,113 ---- *************** *** 150,154 **** <type>void</type> <tensorRank>scalar</tensorRank> - <description>success/failure</description> </ReturnValue> </Member> --- 145,148 ---- *************** *** 280,284 **** <type>string</type> <tensorRank>scalar</tensorRank> - <description>day counter</description> </ReturnValue> </Member> --- 274,277 ---- *************** *** 295,299 **** <type>long</type> <tensorRank>vector</tensorRank> - <description>swaption exercise dates</description> </ReturnValue> </Member> --- 288,291 ---- *************** *** 310,314 **** <type>string</type> <tensorRank>vector</tensorRank> - <description>underlying swap lengths</description> </ReturnValue> </Member> --- 302,305 ---- Index: forwardrateagreement.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/forwardrateagreement.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** forwardrateagreement.xml 28 Jun 2006 15:18:59 -0000 1.7 --- forwardrateagreement.xml 4 Jul 2006 10:06:52 -0000 1.8 *************** *** 136,140 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>Returns the relevant forward rate associated with the FRA term</description> </ReturnValue> </Member> --- 136,139 ---- *************** *** 150,154 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>Returns the forward value of the FRA.</description> </ReturnValue> </Member> --- 149,152 ---- *************** *** 164,168 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>Returns the spot value of the FRA.</description> </ReturnValue> </Member> --- 162,165 ---- Index: capfloor.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/capfloor.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** capfloor.xml 28 Jun 2006 15:18:58 -0000 1.6 --- capfloor.xml 4 Jul 2006 10:06:52 -0000 1.7 *************** *** 24,28 **** <type>string</type> <tensorRank>scalar</tensorRank> - <description></description> </ReturnValue> </Member--> --- 24,27 ---- *************** *** 38,42 **** <type>double</type> <tensorRank>vector</tensorRank> - <description></description> </ReturnValue> </Member> --- 37,40 ---- *************** *** 52,56 **** <type>double</type> <tensorRank>vector</tensorRank> - <description></description> </ReturnValue> </Member> --- 50,53 ---- *************** *** 72,76 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description></description> </ReturnValue> </Member> --- 69,72 ---- *************** *** 125,129 **** <type>double</type> <tensorRank>matrix</tensorRank> - <description></description> </ReturnValue> </Member> --- 121,124 ---- Index: utilities.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/utilities.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** utilities.xml 29 Jun 2006 10:47:33 -0000 1.3 --- utilities.xml 4 Jul 2006 10:06:53 -0000 1.4 *************** *** 17,21 **** <type>string</type> <tensorRank>scalar</tensorRank> - <description>QuantLib version number</description> </ReturnValue> </Procedure> --- 17,20 ---- *************** *** 31,35 **** <type>string</type> <tensorRank>vector</tensorRank> - <description>list of enumerated types</description> </ReturnValue> </Procedure> --- 30,33 ---- *************** *** 51,55 **** <type>string</type> <tensorRank>vector</tensorRank> - <description>list of members of given enumerated type</description> </ReturnValue> </Procedure> --- 49,52 ---- *************** *** 65,69 **** <type>string</type> <tensorRank>vector</tensorRank> - <description>list of enumerated classes</description> </ReturnValue> </Procedure> --- 62,65 ---- *************** *** 85,89 **** <type>string</type> <tensorRank>vector</tensorRank> - <description>list of members of given enumerated class</description> </ReturnValue> </Procedure> --- 81,84 ---- Index: randomsequencegenerator.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/randomsequencegenerator.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** randomsequencegenerator.xml 19 Jun 2006 08:10:01 -0000 1.2 --- randomsequencegenerator.xml 4 Jul 2006 10:06:53 -0000 1.3 *************** *** 18,22 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>a random number between 0 and 1</description> </ReturnValue> </Procedure> --- 18,21 ---- *************** *** 38,42 **** <type>void</type> <tensorRank>scalar</tensorRank> - <description>void</description> </ReturnValue> </Procedure--> --- 37,40 ---- *************** *** 63,67 **** <type>double</type> <tensorRank>matrix</tensorRank> - <description>variates</description> </ReturnValue> </Member> --- 61,64 ---- Index: swaption.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/swaption.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** swaption.xml 29 Jun 2006 07:16:23 -0000 1.8 --- swaption.xml 4 Jul 2006 10:06:53 -0000 1.9 *************** *** 67,71 **** <type>string</type> <tensorRank>scalar</tensorRank> - <description>the underlying swap</description> </ReturnValue> </Member> --- 67,70 ---- *************** *** 87,91 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description></description> </ReturnValue> </Member> --- 86,89 ---- Index: exercise.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/exercise.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** exercise.xml 19 Jun 2006 14:22:19 -0000 1.4 --- exercise.xml 4 Jul 2006 10:06:52 -0000 1.5 *************** *** 19,23 **** <type>long</type> <tensorRank>vector</tensorRank> - <description>Exercise dates</description> </ReturnValue> </Member> --- 19,22 ---- *************** *** 33,37 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>Last exercise date</description> </ReturnValue> </Member> --- 32,35 ---- Index: mathf.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/mathf.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** mathf.xml 23 Jun 2006 17:20:55 -0000 1.4 --- mathf.xml 4 Jul 2006 10:06:53 -0000 1.5 *************** *** 32,36 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>the N-th prime number</description> </ReturnValue> </Procedure> --- 32,35 ---- *************** *** 67,71 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>the normal cumulative distribution for the specified mean and standard deviation</description> </ReturnValue> </Procedure> --- 66,69 ---- *************** *** 87,91 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>the standard normal cumulative distribution (has a mean of zero and standard deviation of one).</description> </ReturnValue> </Procedure> --- 85,88 ---- *************** *** 117,121 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>the inverse of the normal cumulative distribution for the specified mean and standard deviation</description> </ReturnValue> </Procedure> --- 114,117 ---- *************** *** 137,141 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>the inverse of the standard normal cumulative distribution (has a mean of zero and standard deviation of one).</description> </ReturnValue> </Procedure> --- 133,136 ---- *************** *** 153,157 **** <type>double</type> <tensorRank>vector</tensorRank> - <description></description> </ReturnValue> </Member--> --- 148,151 ---- *************** *** 167,171 **** <type>double</type> <tensorRank>matrix</tensorRank> - <description></description> </ReturnValue> </Member> --- 161,164 ---- Index: capletvolstructure.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/capletvolstructure.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** capletvolstructure.xml 29 Jun 2006 07:59:03 -0000 1.3 --- capletvolstructure.xml 4 Jul 2006 10:06:52 -0000 1.4 *************** *** 47,51 **** <type>double</type> <tensorRank>vector</tensorRank> - <description>vector of volatilities</description> </ReturnValue> </Member> --- 47,50 ---- *************** *** 62,66 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>minimum strike</description> </ReturnValue> </Member> --- 61,64 ---- *************** *** 77,81 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>maximum strike</description> </ReturnValue> </Member> --- 75,78 ---- *************** *** 113,117 **** <type>void</type> <tensorRank>scalar</tensorRank> - <description>success/failure</description> </ReturnValue> </Member> --- 110,113 ---- Index: calendar.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/calendar.xml,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** calendar.xml 19 Jun 2006 08:10:00 -0000 1.12 --- calendar.xml 4 Jul 2006 10:06:52 -0000 1.13 *************** *** 18,22 **** <type>string</type> <tensorRank>scalar</tensorRank> - <description>calendar name</description> </ReturnValue> </EnumerationMember> --- 18,21 ---- *************** *** 38,42 **** <type>bool</type> <tensorRank>scalar</tensorRank> - <description>TRUE if the date is a business day for the given calendar</description> </ReturnValue> </EnumerationMember> --- 37,40 ---- *************** *** 58,62 **** <type>bool</type> <tensorRank>scalar</tensorRank> - <description>TRUE if the date is a holiday for the given calendar</description> </ReturnValue> </EnumerationMember> --- 56,59 ---- *************** *** 78,82 **** <type>bool</type> <tensorRank>scalar</tensorRank> - <description>TRUE if the date is last business day for the month in the given calendar</description> </ReturnValue> </EnumerationMember> --- 75,78 ---- *************** *** 98,102 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>the last business day in the given calendar of the month to which the given date belongs</description> </ReturnValue> </EnumerationMember> --- 94,97 ---- *************** *** 118,122 **** <type>void</type> <tensorRank>scalar</tensorRank> - <description>SUCCESS/FAILURE</description> </ReturnValue> </EnumerationMember> --- 113,116 ---- *************** *** 138,142 **** <type>void</type> <tensorRank>scalar</tensorRank> - <description>SUCCESS/FAILURE</description> </ReturnValue> </EnumerationMember> --- 132,135 ---- *************** *** 173,177 **** <type>long</type> <tensorRank>vector</tensorRank> - <description>holidays</description> </ReturnValue> </Procedure> --- 166,169 ---- *************** *** 198,202 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>adjusted date</description> </ReturnValue> </EnumerationMember> --- 190,193 ---- *************** *** 228,232 **** <type>any</type> <tensorRank>vector</tensorRank> - <description>advanced date</description> </ReturnValue> </EnumerationMember> --- 219,222 ---- Index: schedule.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/schedule.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** schedule.xml 19 Jun 2006 08:10:01 -0000 1.3 --- schedule.xml 4 Jul 2006 10:06:53 -0000 1.4 *************** *** 67,71 **** <type>long</type> <tensorRank>vector</tensorRank> - <description>dates</description> </ReturnValue> </Member> --- 67,70 ---- Index: instruments.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/instruments.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** instruments.xml 29 Jun 2006 16:52:12 -0000 1.9 --- instruments.xml 4 Jul 2006 10:06:52 -0000 1.10 *************** *** 28,32 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>NPV</description> </ReturnValue> </Member> --- 28,31 ---- *************** *** 48,52 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>NPV error estimation</description> </ReturnValue> </Member> --- 47,50 ---- *************** *** 68,72 **** <type>bool</type> <tensorRank>scalar</tensorRank> - <description>TRUE if the Instrument is expired</description> </ReturnValue> </Member> --- 66,69 ---- Index: prices.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/prices.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** prices.xml 19 Jun 2006 08:10:01 -0000 1.3 --- prices.xml 4 Jul 2006 10:06:53 -0000 1.4 *************** *** 41,45 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>mid (equivalent) price</description> </ReturnValue> </Procedure> --- 41,44 ---- *************** *** 66,70 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>mid (robust) price</description> </ReturnValue> </Procedure> --- 65,68 ---- Index: options.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/options.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** options.xml 29 Jun 2006 16:52:12 -0000 1.8 --- options.xml 4 Jul 2006 10:06:53 -0000 1.9 *************** *** 268,272 **** <type>bool</type> <tensorRank>scalar</tensorRank> - <description>success/failure</description> </ReturnValue> </Member> --- 268,271 ---- *************** *** 444,448 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>delta</description> </ReturnValue> </Member> --- 443,446 ---- *************** *** 464,468 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>delta forward</description> </ReturnValue> </Member> --- 462,465 ---- *************** *** 484,488 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>elasticity</description> </ReturnValue> </Member> --- 481,484 ---- *************** *** 504,508 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>gamma</description> </ReturnValue> </Member> --- 500,503 ---- *************** *** 524,528 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>theta</description> </ReturnValue> </Member> --- 519,522 ---- *************** *** 544,548 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>theta per day</description> </ReturnValue> </Member> --- 538,541 ---- *************** *** 564,568 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>vega</description> </ReturnValue> </Member> --- 557,560 ---- *************** *** 584,588 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>rho</description> </ReturnValue> </Member> --- 576,579 ---- *************** *** 604,608 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>dividend rho</description> </ReturnValue> </Member> --- 595,598 ---- *************** *** 624,628 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>itm cash probability</description> </ReturnValue> </Member> --- 614,617 ---- Index: date.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/date.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** date.xml 19 Jun 2006 08:10:00 -0000 1.6 --- date.xml 4 Jul 2006 10:06:52 -0000 1.7 *************** *** 21,25 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>evaluation date</description> </ReturnValue> </Procedure> --- 21,24 ---- *************** *** 41,45 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>evaluation date</description> </ReturnValue> </Procedure> --- 40,43 ---- *************** *** 61,65 **** <type>bool</type> <tensorRank>scalar</tensorRank> - <description>is an IMM date</description> </ReturnValue> </Procedure> --- 59,62 ---- *************** *** 81,85 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>the next IMM date</description> </ReturnValue> </Procedure> --- 78,81 ---- *************** *** 101,105 **** <type>string</type> <tensorRank>scalar</tensorRank> - <description>the IMM code (e.q. \"H9\")</description> </ReturnValue> </Procedure> --- 97,100 ---- *************** *** 121,125 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>the corresponding IMM code</description> </ReturnValue> </Procedure> --- 116,119 ---- Index: interpolation.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/interpolation.xml,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** interpolation.xml 30 Jun 2006 14:12:03 -0000 1.17 --- interpolation.xml 4 Jul 2006 10:06:52 -0000 1.18 *************** *** 33,37 **** <type>void</type> <tensorRank>scalar</tensorRank> - <description>SUCCESS/FAILURE</description> </ReturnValue> </Member> --- 33,36 ---- *************** *** 60,64 **** <type>double</type> <tensorRank>vector</tensorRank> - <description>interpolated y values</description> </ReturnValue> </Member> --- 59,62 ---- *************** *** 85,89 **** <type>any</type> <tensorRank>vector</tensorRank> - <description>interpolated derivative values</description> </ReturnValue> </Member> --- 83,86 ---- *************** *** 110,114 **** <type>any</type> <tensorRank>vector</tensorRank> - <description>interpolated second derivative values</description> </ReturnValue> </Member> --- 107,110 ---- *************** *** 135,139 **** <type>any</type> <tensorRank>vector</tensorRank> - <description>interpolated primitive values</description> </ReturnValue> </Member> --- 131,134 ---- *************** *** 149,153 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>minimum value of the x array</description> </ReturnValue> </Member> --- 144,147 ---- *************** *** 163,167 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>maximum value of the x array</description> </ReturnValue> </Member> --- 157,160 ---- *************** *** 183,187 **** <type>any</type> <tensorRank>vector</tensorRank> - <description>TRUE if the input value is in the allowed interpolation range</description> </ReturnValue> </Member> --- 176,179 ---- *************** *** 318,322 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>beta of the SABR fit</description> </ReturnValue> </Member> --- 310,313 ---- *************** *** 332,336 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>alpha of the SABR fit</description> </ReturnValue> </Member> --- 323,326 ---- *************** *** 346,350 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>nu of the SABR fit</description> </ReturnValue> </Member> --- 336,339 ---- *************** *** 360,364 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>rho of the SABR fit</description> </ReturnValue> </Member> --- 349,352 ---- *************** *** 374,378 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>expiry of the SABR fit</description> </ReturnValue> </Member> --- 362,365 ---- *************** *** 388,392 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>forward of the SABR fit</description> </ReturnValue> </Member> --- 375,378 ---- *************** *** 402,406 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>error of the SABR fit</description> </ReturnValue> </Member> --- 388,391 ---- *************** *** 416,420 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>error of the SABR fit</description> </ReturnValue> </Member> --- 401,404 ---- *************** *** 433,437 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>minimum value of the x array</description> </ReturnValue> </Member> --- 417,420 ---- *************** *** 447,451 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>maximum value of the x array</description> </ReturnValue> </Member> --- 430,433 ---- *************** *** 461,465 **** <type>double</type> <tensorRank>vector</tensorRank> - <description></description> </ReturnValue> </Member> --- 443,446 ---- *************** *** 475,479 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>minimum value of the x array</description> </ReturnValue> </Member> --- 456,459 ---- *************** *** 489,493 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>maximum value of the x array</description> </ReturnValue> </Member> --- 469,472 ---- *************** *** 503,507 **** <type>double</type> <tensorRank>vector</tensorRank> - <description></description> </ReturnValue> </Member> --- 482,485 ---- *************** *** 517,521 **** <type>double</type> <tensorRank>matrix</tensorRank> - <description></description> </ReturnValue> </Member> --- 495,498 ---- *************** *** 542,546 **** <type>double</type> <tensorRank>vector</tensorRank> - <description></description> </ReturnValue> </Member> --- 519,522 ---- *************** *** 573,577 **** <type>double</type> <tensorRank>vector</tensorRank> - <description>interpolated z values</description> </ReturnValue> </Member> --- 549,552 ---- Index: daycounter.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/daycounter.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** daycounter.xml 27 Jun 2006 21:17:33 -0000 1.4 --- daycounter.xml 4 Jul 2006 10:06:52 -0000 1.5 *************** *** 18,22 **** <type>string</type> <tensorRank>scalar</tensorRank> - <description>DayCounter name</description> </ReturnValue> </EnumerationMember> --- 18,21 ---- *************** *** 43,47 **** <type>long</type> <tensorRank>scalar</tensorRank> - <description>days between the start date and the end date</description> </ReturnValue> </EnumerationMember> --- 42,45 ---- *************** *** 78,82 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>advanced date</description> </ReturnValue> </EnumerationMember> --- 76,79 ---- Index: couponvectors.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/couponvectors.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** couponvectors.xml 28 Jun 2006 15:18:59 -0000 1.8 --- couponvectors.xml 4 Jul 2006 10:06:52 -0000 1.9 *************** *** 97,101 **** <type>double</type> <tensorRank>matrix</tensorRank> - <description>coupon details</description> </ReturnValue> </Member> --- 97,100 ---- *************** *** 122,126 **** <type>double</type> <tensorRank>scalar</tensorRank> - <description>BPS</description> </ReturnValue> </Member> --- 121,124 ---- |
|
From: Eric E. <eri...@us...> - 2006-07-04 10:06:58
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv6085 Modified Files: todo.csv Log Message: remove description from return value in function metadata Index: todo.csv =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todo.csv,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** todo.csv 4 Jul 2006 09:13:08 -0000 1.25 --- todo.csv 4 Jul 2006 10:06:53 -0000 1.26 *************** *** 26,31 **** "gensrc",,"Function Wizard disabled by default",,,1,, "gensrc",,"complete the separation of core gensrc functionality from platform- and library-specific functionality",,,1,, ! ,,"add optional long description to function metadata",,,,, ! ,,"remove description of return value from function metadata",,,,, ,,"Handle - automate conversions so it's not necessary for developer to implement linkTo for every class",,,,, ,,"enumeration as return value (string) should be same as the input value Period, DayCounter",,,1,, --- 26,31 ---- "gensrc",,"Function Wizard disabled by default",,,1,, "gensrc",,"complete the separation of core gensrc functionality from platform- and library-specific functionality",,,1,, ! "gensrc",,"add optional long description to function metadata",,,,, ! "gensrc",,"remove description of return value from function metadata","done",,,04/07/2006, ,,"Handle - automate conversions so it's not necessary for developer to implement linkTo for every class",,,,, ,,"enumeration as return value (string) should be same as the input value Period, DayCounter",,,1,, |
|
From: Eric E. <eri...@us...> - 2006-07-04 09:13:15
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv6028 Modified Files: todo.csv Log Message: Index: todo.csv =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todo.csv,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** todo.csv 3 Jul 2006 07:11:00 -0000 1.24 --- todo.csv 4 Jul 2006 09:13:08 -0000 1.25 *************** *** 1,33 **** "project","subproject","task","status","hours","priority","comp date","comment" ,,,,,,, - ,,,,,,, - "QLA","Enumerations","port gensrc EnumerationMember functionality from ETs -> ECs","in progress",4,,, - "QLA","Enumerations","transfer Calendar, DayCounter, Currency from ET -> EC","in progress",2,,, - "QLA","Enumerations","extend support for mixing ECs/Objects e.g. Calendar/JointCalendar, Index/EuriborXX","in progress",2,,, - "QLA","Enumerations","implement EuriborXX as EC","in progress",2,,, - "QLA","Enumerations","ET ctors use explicit ctors instead of default i.e. use ""HongKong::HKEx"" not ""HongKong""","in progress",0,,, "QLA","Enumerations","QLO ctors which switch on ETs implement for YieldTermStructure, Extrapolator, PricingEngine(?)","in progress",4,,,"done for Extrapolator, PricingEngine" "QLA","Enumerations","port ET/EC registry from QuantLibXL to ObjectHandler","on hold","- -",,,"requires redesign to allow multiple XLLs to share global Registry" "QLA","Enumerations","remove Create<> code from QLO ctors Create<> code to appear only in autogenerated Addin code","cancelled",0,,,"this is required when QLO classes wrap ECs" "QLA","Enumerations","implement autogeneration of source code for ECs","done",2,,02/07/2006, ! "QLA","Enumerations","remove PricingEngine, StrikedTypePayoff from EC and implement as normal objects","done",4,,"30/06/2006", ! "QLA","Enumerations","rename Enumerations->Enumerated Types (ETs), Complex Types->Enumerated Classes (ECs)","done",0,,"29/06/2006", ! ,,,,,,, ! "OH","Design","""singleton"" objects loaded at startup, static handle Calendars, Indexes","cancelled",,2,,"lazy instantiation?" ! "OH","Design"," permanent objects objects which aren't deleted by ohDeleteObject()/ohDeleteAllObjects()/ohCallGC()","done",,2,"14/06/2006", ! "QLA","General Support","getReference/OH_GET_OBJECT/OH_GET_REFERENCE vs getObject/EXPORT_UNDERLYING_OBJECT","done",,3,09/06/2006,"consolidate code for returning object references" ! "QLA","Enumerations","add support for accessing member function of Enumeration e.g. publish the public interface for Calendar, DayCounter","done",,1,12/06/2006,"represent stateful objects as singletons rather than Enumerations?" ,,,,,,, "QLA","Design","revise code for Interpolation, and allow user to provide an enumeration indicating the desired class",,,0,, "QLA","Design","yieldTermStructure user supplies two Enumerations - autogenerate nested select to instantiate indicated template",,,0,, "QLA","Design","use ""objectID"" instead of ""handle"" required to avoid confusion with QuantLib::Handle","in progress",,1,,"use id instead of instance name ???" ! "OH","Design","revise processing for permanent objects: delete old object unless user specifies permanent=TRUE","done",,1,"18/06/2006","also revise GC/deletion for permanent/nonpermanent objects" ! "QLA","Design","support for QuantLib::Handle give Excel user the ability to create a Handle and relink it as required","done",,0,"15/06/2006","need to add support for creation of empty QuantLib::Handle" ! "OH","Design","if user supplies objectID stub he must ensure it's unique / link objectID stub to calling cell (?)","done",,1,"31/05/2006", ,,,,,,, ,,"Handle - automate conversions so it's not necessary for developer to implement linkTo for every class",,,,, ! ,,"enumeration as return value (string) should be same as the input value Period, DayCounter",,,,, ! ,,"accept input params of variable type e.g. 1) date or European exercise 2) volatility or BlackSwaptionEngine",,,,, ! ,,"add support for Array as input / output",,,,, ,,"performance profile of workbook YieldCurveMonitor.xls",,,,, ,,"YC bootstrap fails if workbook RateHelpers.xls is open",,,,, --- 1,33 ---- "project","subproject","task","status","hours","priority","comp date","comment" ,,,,,,, "QLA","Enumerations","QLO ctors which switch on ETs implement for YieldTermStructure, Extrapolator, PricingEngine(?)","in progress",4,,,"done for Extrapolator, PricingEngine" "QLA","Enumerations","port ET/EC registry from QuantLibXL to ObjectHandler","on hold","- -",,,"requires redesign to allow multiple XLLs to share global Registry" "QLA","Enumerations","remove Create<> code from QLO ctors Create<> code to appear only in autogenerated Addin code","cancelled",0,,,"this is required when QLO classes wrap ECs" + "QLA","Enumerations","transfer Calendar, DayCounter, Currency from ET -> EC","cancelled",2,,,"these belong as Enumerated Types" + "QLA","Enumerations","ET ctors use explicit ctors instead of default i.e. use ""HongKong::HKEx"" not ""HongKong""","done",0,,04/07/2006, + "QLA","Enumerations","port gensrc EnumerationMember functionality from ETs -> ECs","done",4,,04/07/2006, + "QLA","Enumerations","extend support for mixing ECs/Objects e.g. Calendar/JointCalendar, Index/EuriborXX","done",2,,04/07/2006, + "QLA","Enumerations","implement EuriborXX as EC","done",2,,04/07/2006, "QLA","Enumerations","implement autogeneration of source code for ECs","done",2,,02/07/2006, ! "QLA","Enumerations","remove PricingEngine, StrikedTypePayoff from EC and implement as normal objects","done",4,,30/06/2006, ! "QLA","Enumerations","rename Enumerations->Enumerated Types (ETs), Complex Types->Enumerated Classes (ECs)","done",0,,29/06/2006, ,,,,,,, "QLA","Design","revise code for Interpolation, and allow user to provide an enumeration indicating the desired class",,,0,, "QLA","Design","yieldTermStructure user supplies two Enumerations - autogenerate nested select to instantiate indicated template",,,0,, "QLA","Design","use ""objectID"" instead of ""handle"" required to avoid confusion with QuantLib::Handle","in progress",,1,,"use id instead of instance name ???" ! "OH","Design","revise processing for permanent objects: delete old object unless user specifies permanent=TRUE","done",,1,18/06/2006,"also revise GC/deletion for permanent/nonpermanent objects" ! "QLA","Design","support for QuantLib::Handle give Excel user the ability to create a Handle and relink it as required","done",,0,15/06/2006,"need to add support for creation of empty QuantLib::Handle" ! "OH","Design","if user supplies objectID stub he must ensure it's unique / link objectID stub to calling cell (?)","done",,1,31/05/2006, ,,,,,,, + "OH","Functions","ohPack() broken not removing empty cells from end of range e.g. for timeseries",,,1,, + "gensrc",,"add support for QuantLib::Array as input / output",,,1,, + "gensrc",,"fix problem with implicit conversion for return values of type Rate/Spread/DiscountFactor/Time (double typedefs)",,,1,,"e.g. qlEigenValues" + "gensrc",,"implement support for coercion between required datatypes for function input/output parameters",,,1,,"date->EuropeanExercise, volatility->BlackSwaptionEngine, etc." + "gensrc",,"Function Wizard disabled by default",,,1,, + "gensrc",,"complete the separation of core gensrc functionality from platform- and library-specific functionality",,,1,, + ,,"add optional long description to function metadata",,,,, + ,,"remove description of return value from function metadata",,,,, ,,"Handle - automate conversions so it's not necessary for developer to implement linkTo for every class",,,,, ! ,,"enumeration as return value (string) should be same as the input value Period, DayCounter",,,1,, ,,"performance profile of workbook YieldCurveMonitor.xls",,,,, ,,"YC bootstrap fails if workbook RateHelpers.xls is open",,,,, *************** *** 39,51 **** ,,"delete VanillaOption->setEngine()","cancelled",,,,"can't until pricing engines are converted into objects" ,,"add support for Matrix as input / output","done",,,, ! ,,"add VC8 makefile to generate .chm documentation from metadata","done",,,"16/06/2006", ! ,,"in autogenerated code - suppress call to objectPointer->setPermanent() if input parameter permanent is FALSE","done",,,"15/06/2006", ! ,,"don't rely on try/catch to control processing flow for deriving Enumerations (in templates in qla/conversions.hpp)","done",,,"16/06/2006", ! ,,"add facility to query the most recent error message","done",,,"16/06/2006", ,,,,,,, "OH","Design","""reflection"" - support member functions dynamically",,,3,, "OH","Design","update design doc",,,3,, "OH","Design","allow objects to be grouped",,,3,, ! "OH","Functions","ohPack() - resolve flags and values","done",,1,"14/06/2006", "QLA","Design","discontinue support for VC6","in progress",,3,, "QLA","Design","Sessions: instead of using workbook as session, allow user to specify session number",,,3,, --- 39,51 ---- ,,"delete VanillaOption->setEngine()","cancelled",,,,"can't until pricing engines are converted into objects" ,,"add support for Matrix as input / output","done",,,, ! ,,"add VC8 makefile to generate .chm documentation from metadata","done",,,16/06/2006, ! ,,"in autogenerated code - suppress call to objectPointer->setPermanent() if input parameter permanent is FALSE","done",,,15/06/2006, ! ,,"don't rely on try/catch to control processing flow for deriving Enumerations (in templates in qla/conversions.hpp)","done",,,16/06/2006, ! ,,"add facility to query the most recent error message","done",,,16/06/2006, ,,,,,,, "OH","Design","""reflection"" - support member functions dynamically",,,3,, "OH","Design","update design doc",,,3,, "OH","Design","allow objects to be grouped",,,3,, ! "OH","Functions","ohPack() - resolve flags and values","done",,1,14/06/2006, "QLA","Design","discontinue support for VC6","in progress",,3,, "QLA","Design","Sessions: instead of using workbook as session, allow user to specify session number",,,3,, *************** *** 63,68 **** "QLA","Enumerations","single return value gets repeated in calling range force scalar to be returned as vector",,,,,"is there an example of an enum list containing 1 item?" "QLA","Enumerations","take enumeration description from metadata",,,,, ! "QLA","Excel binding","categorize function names in Excel Function Wizard","on hold",,1,"20/04/2006","conflict with Adfin addin" ! "QLA","Excel binding","gensrc function metadata ""noWizardRecalc"" to suppress recalc under Excel Function Wizard","done",,1,"14/06/2006","also required for ctors otherwise GC breaks" "QLA","Functions","port old QLXL functionality into new QLXL",,,2,, "QLA","Functions","qlSwapLegAnalysis() to provide column headers in output",,,3,, --- 63,68 ---- "QLA","Enumerations","single return value gets repeated in calling range force scalar to be returned as vector",,,,,"is there an example of an enum list containing 1 item?" "QLA","Enumerations","take enumeration description from metadata",,,,, ! "QLA","Excel binding","categorize function names in Excel Function Wizard","on hold",,1,20/04/2006,"conflict with Adfin addin" ! "QLA","Excel binding","gensrc function metadata ""noWizardRecalc"" to suppress recalc under Excel Function Wizard","done",,1,14/06/2006,"also required for ctors otherwise GC breaks" "QLA","Functions","port old QLXL functionality into new QLXL",,,2,, "QLA","Functions","qlSwapLegAnalysis() to provide column headers in output",,,3,, *************** *** 81,146 **** ,,,,,,, "OH","Design","class FunctionCall - streamline initialization - ""xltypeUninitialized""","done",,,01/05/2006, ! "OH","Design","in objecthandlerxl.cpp replace bespoke parsing w/boost regexes","done",,3,"26/04/2006", ! "OH","Design","ohxll project mistakenly picking up autolink.hpp","done",,3,"27/04/2006", "OH","Design","functions returning empty vector: display #NUM, not 0, in calling cell e.g. getHolidayList()","done",,,07/05/2006, ! "OH","Design","support for retrieval of undecorated handles","done",,1,"30/04/2006","fix non-excel platforms" ! "OH","Design","std::exception -> ObjHandler::Exception","done",,3,"26/04/2006", ! "OH","Design","class FunctionCall to encapsulate function state","done",,2,"26/04/2006", "OH","Design","include cell address in error message?","done",,3,01/05/2006, "OH","Functions","ohDependsOn() - fails if input range is nonexistent","cancelled",,,,"seems to have resolved itself?" ! "OH","Functions","ohHandleList() to support regexes","done",,2,"26/04/2006","renamed to ohListInstanceNames()" ! "OH","Functions","ohListInstanceNames() - 1) regex bug e.g. EUR.*D malfunctions 2) sort return list","done",,1,"18/05/2006", ! "OH","Functions","ohDependsOn() - return counter (#/recalcs) per instance","done",,,"18/05/2006", ! "OH","Functions","remove EO macro / function","done",,3,"21/04/2006", "OH","Functions","ohListInstanceNames() is broken in utilities.xls?","done",,1,,"looks OK now?" "QLA","Design","FuturesRateHelper returns incorrect latestDate","cancelled",,,,"it works OK" "QLA","Design","check whether catch(...) catches unhandled exceptions from QL e.g. negative timesteps","cancelled",,,01/05/2006,"it doesn't" "QLA","Design","in session.cpp replace bespoke parsing with boost::regex","done",,3,05/08/2006, ! "QLA","Design","gensrc flag ""ignoreError"" (default T) invoke function even if some inputs invalid e.g. qlMidEquivalent()","done",,1,"28/04/2006","always ignore errors (no flag)" ! "QLA","Design","move all Create<>s from qla/*.?pp into autogenerated addin code","done",,,"23/05/2006", ! "QLA","Design","move Procedure functions to QuantLibFunctions","done",,1,"30/04/2006","this change will probably be reversed" "QLA","Design","export IMM dates e.g. H7 -> date","done",,,, ! "QLA","Design","Autogenerate source for funcs accepting vector input (qlForwardRate, qlDiscount, etc.)","done",,,"28/04/2006", ! "QLA","Design","if input vector contains mix of #VALUES and valid numbers - return vector should correspond","done",,2,"28/04/2006","also wraps QL function in try/catch" ! "QLA","Design","match QLA function names to underlying QL function names","done",,,"27/04/2006", ! "QLA","Docs","qlXibor() - description of 2nd parameter incorrect","done",,,"21/04/2006", ! "QLA","Docs","installation - refer to Release build not Debug","done",,3,"21/04/2006", "QLA","Enumerations","if string name omitted from XML, use class name as default","cancelled",,3,, ! "QLA","Enumerations","add support for abbreviations","cancelled",,2,"21/04/2006","not required because of right-click menu" ! "QLA","Enumerations","qlListEnum() - return enumerations in mixed case (and in original sequence ??? - cancelled)","done",,,"18/05/2006","retaining original sequence requires design change" ! "QLA","Excel binding","XLL description in Addin manager","cancelled",,,"20/04/2006","not supported by Excel C API" ! "QLA","Excel binding","automatically name calling cell","cancelled",,,"20/04/2006","not supported by Excel C API" ! "QLA","Functions","qlPiecewiseFlatForward() - don't reset eval date","done",,2,"26/04/2006", ! "QLA","Functions","YieldTermStructure iface - ZeroRate/Discount/ForwardRate/ParRate/MaxDate/MaxTime","done",,1,"27/04/2006", "QLA","Functions","modify qlPiecewiseFlatForward() to call alternate QL ctor (calendar/# days) - Observer pattern","done",,,, "QLA","Functions","add support for QL Joint Calendar class. inputs: 1) vector of strings (calendar names) 2) AND/OR value","done",,,08/05/2006, ! "QLA","Functions","qlGetDf() to return vector","done",,2,"21/04/2006","renamed to qlDiscount()" ! "QLA","Functions","latestDate() for RateHelpers","done",,1,"26/04/2006", ! "QLA","Functions","qlMid() - returns DBL_MIN when all inputs are #VALUE should return #NULL & log error","done",,1,"18/05/2006", "QLA","General Support","Session functionality crashes QLA if active book named Book1.XLS","done",,2,08/05/2006, ! "QLA","General Support","upgrade Calc addin to OOo 2 / VC 7","done",,3,"28/04/2006","thanks to Joe Byers" "QLA","General Support","try removing redundant (?) FileConfiguration info from *.vcproj files","done",,,03/05/2006, "QLA","General Support","revise NSIS uninstaller: uninstall released files whether modified or not; don't uninstall new files created by user","done",,,, ! "QLA","General Support","sort out RandomSequenceGenerator","done",,,"19/04/2006", ! "QLA","General Support","upgrade to latest CVS snapshot of QL","done",,,"19/04/2006", ! "QLA","QuantLibXL","separate SourceForge projects/websites for OH, gensrc, QLA, QLXL","done",,3,"19/05/2006", "QLA","gensrc","allow for comments in XML (ignore '#comment' nodes)","cancelled",,3,,"already works OK" ! "QLA","gensrc","remove redundant XML tag getObject='true' for Member functions","cancelled",,,"26/04/2006","the tag is in use" "QLA","gensrc","category metadata list of <includes> - only first item in list is processed","done",,,06/05/2006, ! "QLA","gensrc","add support for QuantLib::Date as datatype of return value","done",,,"26/04/2006", ! "QLA","gensrc","generate summary of files created/updated/changed per platform","done",,3,"30/04/2006", "QLA","gensrc","add support for vector of QuantLib::Dates as input parameter","done",,,06/05/2006, ! "QLA","gensrc","fix typo in Xibor - qlSobolRsg","done",,,"26/04/2006", ! "QLA","gensrc","autogenerate source for Members which loop on input param","done",,,"28/04/2006", ! "QLA","gensrc","add support for complete conversion of datatype of function return value scalar/vector/matrix, QL datatypes, void, etc.","done",,,"23/05/2006", ! "QLA","gensrc","call OH_GET_REFERENCE from Addin code for functions with getObject='true' ?","done",,3,"23/05/2006", "QLA","VBA framework","load XLLs","done",,1,05/05/2006, ! "QLA","VBA framework","right click in cell to create enumeration drop down list","done",,,"18/04/2006", ! "QLA","VBA framework","skeleton structure","done",,,"18/04/2006", "QLA","VBA framework","create trade/market workbooks from templates","done",,1,05/05/2006, ! "QLA","VBA framework","QuantLibAddin menu for Excel","done",,,"18/04/2006", ! "QLA","Workstation Document","explanation of runtime libraries","done",,2,"21/04/2006", ! "QLA","Workstation Document","explanation of VC workspace naming convention / _vc8.sln","done",,2,"21/04/2006", ! "QLA","Workstation Document","document use of Addin Manager","done",,2,"28/04/2006", ! "QLA","Workstation Document","document build for Boost, QuantLibFunctions","done",,,"28/04/2006", ! "QLA","Workstation Document","incorporate other feedback from Nando and Katiuscia","done",,,"28/04/2006", --- 81,150 ---- ,,,,,,, "OH","Design","class FunctionCall - streamline initialization - ""xltypeUninitialized""","done",,,01/05/2006, ! "OH","Design","in objecthandlerxl.cpp replace bespoke parsing w/boost regexes","done",,3,26/04/2006, ! "OH","Design","ohxll project mistakenly picking up autolink.hpp","done",,3,27/04/2006, "OH","Design","functions returning empty vector: display #NUM, not 0, in calling cell e.g. getHolidayList()","done",,,07/05/2006, ! "OH","Design","support for retrieval of undecorated handles","done",,1,30/04/2006,"fix non-excel platforms" ! "OH","Design","std::exception -> ObjHandler::Exception","done",,3,26/04/2006, ! "OH","Design","class FunctionCall to encapsulate function state","done",,2,26/04/2006, "OH","Design","include cell address in error message?","done",,3,01/05/2006, "OH","Functions","ohDependsOn() - fails if input range is nonexistent","cancelled",,,,"seems to have resolved itself?" ! "OH","Functions","ohHandleList() to support regexes","done",,2,26/04/2006,"renamed to ohListInstanceNames()" ! "OH","Functions","ohListInstanceNames() - 1) regex bug e.g. EUR.*D malfunctions 2) sort return list","done",,1,18/05/2006, ! "OH","Functions","ohDependsOn() - return counter (#/recalcs) per instance","done",,,18/05/2006, ! "OH","Functions","remove EO macro / function","done",,3,21/04/2006, "OH","Functions","ohListInstanceNames() is broken in utilities.xls?","done",,1,,"looks OK now?" "QLA","Design","FuturesRateHelper returns incorrect latestDate","cancelled",,,,"it works OK" "QLA","Design","check whether catch(...) catches unhandled exceptions from QL e.g. negative timesteps","cancelled",,,01/05/2006,"it doesn't" "QLA","Design","in session.cpp replace bespoke parsing with boost::regex","done",,3,05/08/2006, ! "QLA","Design","gensrc flag ""ignoreError"" (default T) invoke function even if some inputs invalid e.g. qlMidEquivalent()","done",,1,28/04/2006,"always ignore errors (no flag)" ! "QLA","Design","move all Create<>s from qla/*.?pp into autogenerated addin code","done",,,23/05/2006, ! "QLA","Design","move Procedure functions to QuantLibFunctions","done",,1,30/04/2006,"this change will probably be reversed" "QLA","Design","export IMM dates e.g. H7 -> date","done",,,, ! "QLA","Design","Autogenerate source for funcs accepting vector input (qlForwardRate, qlDiscount, etc.)","done",,,28/04/2006, ! "QLA","Design","if input vector contains mix of #VALUES and valid numbers - return vector should correspond","done",,2,28/04/2006,"also wraps QL function in try/catch" ! "QLA","Design","match QLA function names to underlying QL function names","done",,,27/04/2006, ! "QLA","Docs","qlXibor() - description of 2nd parameter incorrect","done",,,21/04/2006, ! "QLA","Docs","installation - refer to Release build not Debug","done",,3,21/04/2006, "QLA","Enumerations","if string name omitted from XML, use class name as default","cancelled",,3,, ! "QLA","Enumerations","add support for abbreviations","cancelled",,2,21/04/2006,"not required because of right-click menu" ! "QLA","Enumerations","qlListEnum() - return enumerations in mixed case (and in original sequence ??? - cancelled)","done",,,18/05/2006,"retaining original sequence requires design change" ! "QLA","Excel binding","XLL description in Addin manager","cancelled",,,20/04/2006,"not supported by Excel C API" ! "QLA","Excel binding","automatically name calling cell","cancelled",,,20/04/2006,"not supported by Excel C API" ! "QLA","Functions","qlPiecewiseFlatForward() - don't reset eval date","done",,2,26/04/2006, ! "QLA","Functions","YieldTermStructure iface - ZeroRate/Discount/ForwardRate/ParRate/MaxDate/MaxTime","done",,1,27/04/2006, "QLA","Functions","modify qlPiecewiseFlatForward() to call alternate QL ctor (calendar/# days) - Observer pattern","done",,,, "QLA","Functions","add support for QL Joint Calendar class. inputs: 1) vector of strings (calendar names) 2) AND/OR value","done",,,08/05/2006, ! "QLA","Functions","qlGetDf() to return vector","done",,2,21/04/2006,"renamed to qlDiscount()" ! "QLA","Functions","latestDate() for RateHelpers","done",,1,26/04/2006, ! "QLA","Functions","qlMid() - returns DBL_MIN when all inputs are #VALUE should return #NULL & log error","done",,1,18/05/2006, "QLA","General Support","Session functionality crashes QLA if active book named Book1.XLS","done",,2,08/05/2006, ! "QLA","General Support","upgrade Calc addin to OOo 2 / VC 7","done",,3,28/04/2006,"thanks to Joe Byers" "QLA","General Support","try removing redundant (?) FileConfiguration info from *.vcproj files","done",,,03/05/2006, "QLA","General Support","revise NSIS uninstaller: uninstall released files whether modified or not; don't uninstall new files created by user","done",,,, ! "QLA","General Support","sort out RandomSequenceGenerator","done",,,19/04/2006, ! "QLA","General Support","upgrade to latest CVS snapshot of QL","done",,,19/04/2006, ! "QLA","QuantLibXL","separate SourceForge projects/websites for OH, gensrc, QLA, QLXL","done",,3,19/05/2006, "QLA","gensrc","allow for comments in XML (ignore '#comment' nodes)","cancelled",,3,,"already works OK" ! "QLA","gensrc","remove redundant XML tag getObject='true' for Member functions","cancelled",,,26/04/2006,"the tag is in use" "QLA","gensrc","category metadata list of <includes> - only first item in list is processed","done",,,06/05/2006, ! "QLA","gensrc","add support for QuantLib::Date as datatype of return value","done",,,26/04/2006, ! "QLA","gensrc","generate summary of files created/updated/changed per platform","done",,3,30/04/2006, "QLA","gensrc","add support for vector of QuantLib::Dates as input parameter","done",,,06/05/2006, ! "QLA","gensrc","fix typo in Xibor - qlSobolRsg","done",,,26/04/2006, ! "QLA","gensrc","autogenerate source for Members which loop on input param","done",,,28/04/2006, ! "QLA","gensrc","add support for complete conversion of datatype of function return value scalar/vector/matrix, QL datatypes, void, etc.","done",,,23/05/2006, ! "QLA","gensrc","call OH_GET_REFERENCE from Addin code for functions with getObject='true' ?","done",,3,23/05/2006, "QLA","VBA framework","load XLLs","done",,1,05/05/2006, ! "QLA","VBA framework","right click in cell to create enumeration drop down list","done",,,18/04/2006, ! "QLA","VBA framework","skeleton structure","done",,,18/04/2006, "QLA","VBA framework","create trade/market workbooks from templates","done",,1,05/05/2006, ! "QLA","VBA framework","QuantLibAddin menu for Excel","done",,,18/04/2006, ! "QLA","Workstation Document","explanation of runtime libraries","done",,2,21/04/2006, ! "QLA","Workstation Document","explanation of VC workspace naming convention / _vc8.sln","done",,2,21/04/2006, ! "QLA","Workstation Document","document use of Addin Manager","done",,2,28/04/2006, ! "QLA","Workstation Document","document build for Boost, QuantLibFunctions","done",,,28/04/2006, ! "QLA","Workstation Document","incorporate other feedback from Nando and Katiuscia","done",,,28/04/2006, ! "OH","Design","""singleton"" objects loaded at startup, static handle Calendars, Indexes","cancelled",,2,,"lazy instantiation?" ! "OH","Design"," permanent objects objects which aren't deleted by ohDeleteObject()/ohDeleteAllObjects()/ohCallGC()","done",,2,14/06/2006, ! "QLA","General Support","getReference/OH_GET_OBJECT/OH_GET_REFERENCE vs getObject/EXPORT_UNDERLYING_OBJECT","done",,3,09/06/2006,"consolidate code for returning object references" ! "QLA","Enumerations","add support for accessing member function of Enumeration e.g. publish the public interface for Calendar, DayCounter","done",,1,12/06/2006,"represent stateful objects as singletons rather than Enumerations?" |
|
From: Eric E. <eri...@us...> - 2006-07-04 09:06:17
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv1842/gensrc/metadata Modified Files: enumtypes.xml Log Message: specify explicit arguments to Calendar constructors rather than relying on defaults Index: enumtypes.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/enumtypes.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** enumtypes.xml 2 Jul 2006 15:50:26 -0000 1.1 --- enumtypes.xml 4 Jul 2006 09:06:11 -0000 1.2 *************** *** 136,143 **** <EnumerationDefinitions> <EnumerationDefinition> - <string>Argentina</string> - <value>QuantLib::Argentina()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>Argentina::Merval</string> <value>QuantLib::Argentina(QuantLib::Argentina::Merval)</value> --- 136,139 ---- *************** *** 160,167 **** </EnumerationDefinition> <EnumerationDefinition> - <string>CzechRepublic</string> - <value>QuantLib::CzechRepublic()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>CzechRepublic::PSE</string> <value>QuantLib::CzechRepublic(QuantLib::CzechRepublic::PSE)</value> --- 156,159 ---- *************** *** 176,183 **** </EnumerationDefinition> <EnumerationDefinition> - <string>Germany</string> - <value>QuantLib::Germany()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>Germany::Eurex</string> <value>QuantLib::Germany(QuantLib::Germany::Eurex)</value> --- 168,171 ---- *************** *** 196,203 **** </EnumerationDefinition> <EnumerationDefinition> - <string>HongKong</string> - <value>QuantLib::HongKong()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>HongKong::HKEx</string> <value>QuantLib::HongKong(QuantLib::HongKong::HKEx)</value> --- 184,187 ---- *************** *** 208,239 **** </EnumerationDefinition> <EnumerationDefinition> - <string>Iceland</string> - <value>QuantLib::Iceland()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>Iceland::ICEX</string> <value>QuantLib::Iceland(QuantLib::Iceland::ICEX)</value> </EnumerationDefinition> <EnumerationDefinition> - <string>India</string> - <value>QuantLib::India()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>India::NSE</string> <value>QuantLib::India(QuantLib::India::NSE)</value> </EnumerationDefinition> <EnumerationDefinition> - <string>Indonesia</string> - <value>QuantLib::Indonesia()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>Indonesia::BEJ</string> <value>QuantLib::Indonesia(QuantLib::Indonesia::BEJ)</value> </EnumerationDefinition> <EnumerationDefinition> - <string>Italy</string> - <value>QuantLib::Italy()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>Italy::Exchange</string> <value>QuantLib::Italy(QuantLib::Italy::Exchange)</value> --- 192,207 ---- *************** *** 248,255 **** </EnumerationDefinition> <EnumerationDefinition> - <string>Mexico</string> - <value>QuantLib::Mexico()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>Mexico::BMV</string> <value>QuantLib::Mexico(QuantLib::Mexico::BMV)</value> --- 216,219 ---- *************** *** 276,291 **** </EnumerationDefinition> <EnumerationDefinition> - <string>Singapore</string> - <value>QuantLib::Singapore()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>Singapore::SGX</string> <value>QuantLib::Singapore(QuantLib::Singapore::SGX)</value> </EnumerationDefinition> <EnumerationDefinition> - <string>Slovakia</string> - <value>QuantLib::Slovakia()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>Slovakia::BSSE</string> <value>QuantLib::Slovakia(QuantLib::Slovakia::BSSE)</value> --- 240,247 ---- *************** *** 296,303 **** </EnumerationDefinition> <EnumerationDefinition> - <string>SouthKorea</string> - <value>QuantLib::SouthKorea()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>SouthKorea::KRX</string> <value>QuantLib::SouthKorea(QuantLib::SouthKorea::KRX)</value> --- 252,255 ---- *************** *** 312,319 **** </EnumerationDefinition> <EnumerationDefinition> - <string>Taiwan</string> - <value>QuantLib::Taiwan()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>Taiwan::TSEC</string> <value>QuantLib::Taiwan(QuantLib::Taiwan::TSEC)</value> --- 264,267 ---- *************** *** 328,343 **** </EnumerationDefinition> <EnumerationDefinition> - <string>Ukraine</string> - <value>QuantLib::Ukraine()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>Ukraine::USE</string> <value>QuantLib::Ukraine(QuantLib::Ukraine::USE)</value> </EnumerationDefinition> <EnumerationDefinition> - <string>UnitedKingdom</string> - <value>QuantLib::UnitedKingdom()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>UnitedKingdom::Exchange</string> <value>QuantLib::UnitedKingdom(QuantLib::UnitedKingdom::Exchange)</value> --- 276,283 ---- *************** *** 352,359 **** </EnumerationDefinition> <EnumerationDefinition> - <string>UnitedStates</string> - <value>QuantLib::UnitedStates()</value> - </EnumerationDefinition> - <EnumerationDefinition> <string>UnitedStates::GovernmentBond</string> <value>QuantLib::UnitedStates(QuantLib::UnitedStates::GovernmentBond)</value> --- 292,295 ---- |
|
From: Eric E. <eri...@us...> - 2006-07-04 08:42:56
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv21706/qlo Modified Files: conversions.hpp enumclassctors.cpp enumclassctors.hpp typefactory.hpp Log Message: Euribor as Enumerated Class Index: conversions.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/conversions.hpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** conversions.hpp 22 Jun 2006 10:56:36 -0000 1.5 --- conversions.hpp 4 Jul 2006 08:42:52 -0000 1.6 *************** *** 28,34 **** #include <ql/calendar.hpp> #include <ql/interestrate.hpp> ! #include <ohxl/conversions.hpp> #include <vector> namespace QuantLibAddin { --- 28,125 ---- #include <ql/calendar.hpp> #include <ql/interestrate.hpp> ! #include <qlo/handle.hpp> #include <vector> + // Accept an id of an Object in the Repository and return a QuantLib::Handle<qlClass>. + // 1) If the id is an empty string then return an empty handle + // 2) If the Object is of class QuantLibAddin::Handle then return the contained QuantLib::Handle<qlClass> + // 3) If the Object is of class QuantLibAddin::qloClass then convert it to a QuantLib::Handle<qlClass> + // 4) Otherwise the Object is of an unexpected class so raise an exception + + template <class qlClass, class qloClass> + inline QuantLib::Handle<qlClass> libToHandle(const std::string &id) { + if (id.empty()) { + return QuantLib::Handle<qlClass>(); + } + + OH_GET_OBJECT(objectPointer, id, ObjHandler::Object) + boost::shared_ptr<QuantLibAddin::Handle<qlClass> > handlePointer = + boost::dynamic_pointer_cast<QuantLibAddin::Handle<qlClass> >(objectPointer); + + if (handlePointer) { + return handlePointer->getHandle(); + } else { + boost::shared_ptr<qloClass> qloPointer = + boost::dynamic_pointer_cast<qloClass>(objectPointer); + + if (qloPointer) + return QuantLib::Handle<qlClass>( + qloPointer->getLibraryObject<qlClass>()); + else { + std::ostringstream msg; + msg << "error retrieving object with id '" << id + << "' from repository - this object could be converted neither " + << " to " << std::endl << " " << typeid(QuantLib::Handle<qlClass>).name() + << " nor " << std::endl << " " << typeid(qloClass).name(); + throw ObjHandler::Exception(msg.str()); + } + } + } + + // Accept an id of an Object in the Repository and return a boost::shared_ptr<qlClass>. + // 1) If the Object is of class QuantLibAddin::Handle then return the contained boost::shared_ptr<qlClass> + // 2) If the Object is of class QuantLibAddin::qloClass then return the contained boost::shared_ptr<qlClass> + // 3) Otherwise the Object is of an unexpected class so raise an exception + + template <class qlClass, class qloClass> + inline boost::shared_ptr<qlClass> handleToLib(const std::string &id) { + + OH_GET_OBJECT(objectPointer, id, ObjHandler::Object) + boost::shared_ptr<QuantLibAddin::Handle<qlClass> > handlePointer = + boost::dynamic_pointer_cast<QuantLibAddin::Handle<qlClass> >(objectPointer); + + if (handlePointer) { + return handlePointer->getHandle().currentLink(); + } else { + boost::shared_ptr<qloClass> qloPointer = + boost::dynamic_pointer_cast<qloClass>(objectPointer); + + if (qloPointer) + return qloPointer->getLibraryObject<qlClass>(); + else { + std::ostringstream msg; + msg << "error retrieving object with id '" << id + << "' from repository - this object could be converted neither " + << " to " << std::endl << " " << typeid(QuantLib::Handle<qlClass>).name() + << " nor " << std::endl << " " << typeid(qloClass).name(); + throw ObjHandler::Exception(msg.str()); + } + } + } + + // Accept a string which is the ID of either + // 1) A Euribor Enumerated Class + // 2) An Object of class Index (or its derived classes e.g. Xibor, Euribor) + template <class qlClass, class qloClass> + inline boost::shared_ptr<qlClass> convertEuribor(const std::string &id) { + if (id.empty()) { + return boost::shared_ptr<qlClass>(); + } + if (QuantLibAddin::Create<boost::shared_ptr<QuantLib::Euribor> >().checkType(id)) { + boost::shared_ptr<QuantLib::Euribor> ret = + QuantLibAddin::Create<boost::shared_ptr<QuantLib::Euribor> >()(id); + boost::shared_ptr<qlClass> ret2 = + boost::dynamic_pointer_cast<qlClass>(ret); + if (ret2) + return ret2; + else + QL_FAIL("Unable to convert enumerated class with ID " << id << + " to class " << typeid(qloClass).name()); + } else { + OH_GET_REFERENCE(ret, id, qloClass, qlClass) + return ret; + } + } + namespace QuantLibAddin { Index: enumclassctors.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** enumclassctors.cpp 3 Jul 2006 13:25:52 -0000 1.2 --- enumclassctors.cpp 4 Jul 2006 08:42:52 -0000 1.3 *************** *** 18,21 **** --- 18,23 ---- #include <qlo/enumclassctors.hpp> + #include <qlo/conversions.hpp> + #include <qlo/termstructures.hpp> namespace QuantLibAddin { *************** *** 187,191 **** /* *** Interpolation *** */ ! boost::shared_ptr<QuantLib::Interpolation> Linear_Interpolation( dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) { return boost::shared_ptr<QuantLib::Interpolation>( --- 189,193 ---- /* *** Interpolation *** */ ! boost::shared_ptr<QuantLib::Interpolation> LINEAR_Interpolation( dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) { return boost::shared_ptr<QuantLib::Interpolation>( *************** *** 193,197 **** 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>( --- 195,199 ---- 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>( *************** *** 199,203 **** 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>( --- 201,205 ---- 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>( *************** *** 207,211 **** /* *** Interpolation2D *** */ ! boost::shared_ptr<QuantLib::Interpolation2D> Bilinear_Interpolation( dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin, dbl_itr& yEnd, const QuantLib::Matrix& zData) { --- 209,213 ---- /* *** Interpolation2D *** */ ! boost::shared_ptr<QuantLib::Interpolation2D> BILINEAR_Interpolation( dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin, dbl_itr& yEnd, const QuantLib::Matrix& zData) { *************** *** 214,218 **** 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) { --- 216,220 ---- 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) { *************** *** 222,225 **** --- 224,349 ---- } + /* *** EURIBOR *** */ + boost::shared_ptr<QuantLib::Euribor> EURIBOR_SW( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::EuriborSW(handleYieldTermStructure)); + } + boost::shared_ptr<QuantLib::Euribor> EURIBOR_2W( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::Euribor2W(handleYieldTermStructure)); + } + boost::shared_ptr<QuantLib::Euribor> EURIBOR_3W( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::Euribor3W(handleYieldTermStructure)); + } + boost::shared_ptr<QuantLib::Euribor> EURIBOR_1M( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::Euribor1M(handleYieldTermStructure)); + } + boost::shared_ptr<QuantLib::Euribor> EURIBOR_2M( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::Euribor2M(handleYieldTermStructure)); + } + boost::shared_ptr<QuantLib::Euribor> EURIBOR_3M( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::Euribor3M(handleYieldTermStructure)); + } + boost::shared_ptr<QuantLib::Euribor> EURIBOR_4M( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::Euribor4M(handleYieldTermStructure)); + } + boost::shared_ptr<QuantLib::Euribor> EURIBOR_5M( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::Euribor5M(handleYieldTermStructure)); + } + boost::shared_ptr<QuantLib::Euribor> EURIBOR_6M( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::Euribor6M(handleYieldTermStructure)); + } + boost::shared_ptr<QuantLib::Euribor> EURIBOR_7M( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::Euribor7M(handleYieldTermStructure)); + } + boost::shared_ptr<QuantLib::Euribor> EURIBOR_8M( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::Euribor8M(handleYieldTermStructure)); + } + boost::shared_ptr<QuantLib::Euribor> EURIBOR_9M( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::Euribor9M(handleYieldTermStructure)); + } + boost::shared_ptr<QuantLib::Euribor> EURIBOR_10M( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::Euribor10M(handleYieldTermStructure)); + } + boost::shared_ptr<QuantLib::Euribor> EURIBOR_11M( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::Euribor11M(handleYieldTermStructure)); + } + boost::shared_ptr<QuantLib::Euribor> EURIBOR_1Y( + const std::string& handleYieldTermStructureID) { + QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure = + libToHandle<QuantLib::YieldTermStructure, QuantLibAddin::YieldTermStructure> + (handleYieldTermStructureID); + return boost::shared_ptr<QuantLib::Euribor>( + new QuantLib::Euribor1Y(handleYieldTermStructure)); + } + } Index: enumclassctors.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** enumclassctors.hpp 3 Jul 2006 13:25:52 -0000 1.2 --- enumclassctors.hpp 4 Jul 2006 08:42:52 -0000 1.3 *************** *** 43,46 **** --- 43,47 ---- const QuantLib::Option::Type& optionType, const double &moneyness); + /* *** StrikedTypePayoff - strike & strikeIncrement *** */ boost::shared_ptr<QuantLib::StrikedTypePayoff> SUPERSHARE_Payoff( *************** *** 88,106 **** /* *** 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); } --- 89,139 ---- /* *** 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); + /* *** EURIBOR *** */ + boost::shared_ptr<QuantLib::Euribor> EURIBOR_SW( + const std::string& handleYieldTermStructureID); + boost::shared_ptr<QuantLib::Euribor> EURIBOR_2W( + const std::string& handleYieldTermStructureID); + boost::shared_ptr<QuantLib::Euribor> EURIBOR_3W( + const std::string& handleYieldTermStructureID); + boost::shared_ptr<QuantLib::Euribor> EURIBOR_1M( + const std::string& handleYieldTermStructureID); + boost::shared_ptr<QuantLib::Euribor> EURIBOR_2M( + const std::string& handleYieldTermStructureID); + boost::shared_ptr<QuantLib::Euribor> EURIBOR_3M( + const std::string& handleYieldTermStructureID); + boost::shared_ptr<QuantLib::Euribor> EURIBOR_4M( + const std::string& handleYieldTermStructureID); + boost::shared_ptr<QuantLib::Euribor> EURIBOR_5M( + const std::string& handleYieldTermStructureID); + boost::shared_ptr<QuantLib::Euribor> EURIBOR_6M( + const std::string& handleYieldTermStructureID); + boost::shared_ptr<QuantLib::Euribor> EURIBOR_7M( + const std::string& handleYieldTermStructureID); + boost::shared_ptr<QuantLib::Euribor> EURIBOR_8M( + const std::string& handleYieldTermStructureID); + boost::shared_ptr<QuantLib::Euribor> EURIBOR_9M( + const std::string& handleYieldTermStructureID); + boost::shared_ptr<QuantLib::Euribor> EURIBOR_10M( + const std::string& handleYieldTermStructureID); + boost::shared_ptr<QuantLib::Euribor> EURIBOR_11M( + const std::string& handleYieldTermStructureID); + boost::shared_ptr<QuantLib::Euribor> EURIBOR_1Y( + const std::string& handleYieldTermStructureID); + } Index: typefactory.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/typefactory.hpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** typefactory.hpp 3 Jul 2006 13:25:52 -0000 1.14 --- typefactory.hpp 4 Jul 2006 08:42:52 -0000 1.15 *************** *** 26,29 **** --- 26,30 ---- #include <ql/Math/interpolation2D.hpp> #include <oh/exception.hpp> + #include <ql/Indexes/euribor.hpp> namespace QuantLibAddin { *************** *** 33,37 **** protected: template<typename ConstructorSignature> ! ConstructorSignature getType(const std::string& id, bool failIfNotFound = true) { TypeMapPtr type_map = getTypeMap(); std::string idUpper = QuantLib::uppercase(id); --- 34,38 ---- protected: template<typename ConstructorSignature> ! ConstructorSignature getType(const std::string& id) { TypeMapPtr type_map = getTypeMap(); std::string idUpper = QuantLib::uppercase(id); *************** *** 39,46 **** if (QuantLib::uppercase(i->first) == idUpper) return static_cast<ConstructorSignature>(i->second); ! if (failIfNotFound) ! throw ObjHandler::Exception("Unknown id for Type: " + id); ! else ! return 0; } private: --- 40,59 ---- if (QuantLib::uppercase(i->first) == idUpper) return static_cast<ConstructorSignature>(i->second); ! QL_FAIL("Unknown id for Type: " + id); ! } ! bool checkType(const std::string& id) { ! TypeMapPtr type_map; ! AllTypeMap::const_iterator i = ! RegistryClass::instance().getAllTypesMap().find(typeid(T).name()); ! if (i == RegistryClass::instance().getAllTypesMap().end()) { ! return false; ! } else { ! type_map = i->second; ! } ! std::string idUpper = QuantLib::uppercase(id); ! for (TypeMap::iterator i = type_map->begin(); i != type_map->end(); i++) ! if (QuantLib::uppercase(i->first) == idUpper) ! return true; ! return false; } private: *************** *** 66,70 **** return *(getType<T*>(id)); } ! using RegistryManager<T, EnumTypeRegistry>::getType; }; --- 79,83 ---- return *(getType<T*>(id)); } ! using RegistryManager<T, EnumTypeRegistry>::checkType; }; *************** *** 159,162 **** --- 172,193 ---- }; + /* *** EURIBOR *** */ + typedef boost::shared_ptr<QuantLib::Euribor>(*EuriborConstructor)( + const std::string& handleYieldTermStructureID); + + template<> + class Create<boost::shared_ptr<QuantLib::Euribor> > : + private RegistryManager<QuantLib::Euribor, EnumClassRegistry> { + public: + boost::shared_ptr<QuantLib::Euribor> operator() ( + const std::string& euriborID, + const std::string& handleYieldTermStructureID = "") { + EuriborConstructor euriborConstructor = + getType<EuriborConstructor>(euriborID); + return euriborConstructor(handleYieldTermStructureID); + } + using RegistryManager<QuantLib::Euribor, EnumClassRegistry>::checkType; + }; + } |
|
From: Eric E. <eri...@us...> - 2006-07-04 08:42:55
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv21706/gensrc/metadata Modified Files: enumclasses.xml Log Message: Euribor as Enumerated Class Index: enumclasses.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/enumclasses.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** enumclasses.xml 3 Jul 2006 13:25:52 -0000 1.2 --- enumclasses.xml 4 Jul 2006 08:42:51 -0000 1.3 *************** *** 13,27 **** <EnumerationDefinition> <string>Linear</string> ! <value>Linear_Interpolation</value> <libraryClass>QuantLib::LinearInterpolation</libraryClass> </EnumerationDefinition> <EnumerationDefinition> <string>BackwardFlat</string> ! <value>BackwardFlat_Interpolation</value> <libraryClass>QuantLib::BackwardFlatInterpolation</libraryClass> </EnumerationDefinition> <EnumerationDefinition> <string>ForwardFlat</string> ! <value>ForwardFlat_Interpolation</value> <libraryClass>QuantLib::ForwardFlatInterpolation</libraryClass> </EnumerationDefinition> --- 13,27 ---- <EnumerationDefinition> <string>Linear</string> ! <value>LINEAR_Interpolation</value> <libraryClass>QuantLib::LinearInterpolation</libraryClass> </EnumerationDefinition> <EnumerationDefinition> <string>BackwardFlat</string> ! <value>BACKWARDFLAT_Interpolation</value> <libraryClass>QuantLib::BackwardFlatInterpolation</libraryClass> </EnumerationDefinition> <EnumerationDefinition> <string>ForwardFlat</string> ! <value>FORWARDFLAT_Interpolation</value> <libraryClass>QuantLib::ForwardFlatInterpolation</libraryClass> </EnumerationDefinition> *************** *** 34,43 **** <EnumerationDefinition> <string>BiLinear</string> ! <value>Bilinear_Interpolation</value> <libraryClass>QuantLib::BilinearInterpolation</libraryClass> </EnumerationDefinition> <EnumerationDefinition> <string>BiCubic</string> ! <value>BicubicSpline</value> <libraryClass>QuantLib::BicubicSpline</libraryClass> </EnumerationDefinition> --- 34,43 ---- <EnumerationDefinition> <string>BiLinear</string> ! <value>BILINEAR_Interpolation</value> <libraryClass>QuantLib::BilinearInterpolation</libraryClass> </EnumerationDefinition> <EnumerationDefinition> <string>BiCubic</string> ! <value>BICUBICSPLINE</value> <libraryClass>QuantLib::BicubicSpline</libraryClass> </EnumerationDefinition> *************** *** 217,220 **** --- 217,301 ---- </Enumeration> + <Enumeration> + <type>QuantLib::Euribor</type> + <EnumerationDefinitions> + <EnumerationDefinition> + <string>EuriborSW</string> + <value>EURIBOR_SW</value> + <libraryClass>QuantLib::EuriborSW</libraryClass> + </EnumerationDefinition> + <EnumerationDefinition> + <string>Euribor2W</string> + <value>EURIBOR_2W</value> + <libraryClass>QuantLib::Euribor2W</libraryClass> + </EnumerationDefinition> + <EnumerationDefinition> + <string>Euribor3W</string> + <value>EURIBOR_3W</value> + <libraryClass>QuantLib::Euribor3W</libraryClass> + </EnumerationDefinition> + <EnumerationDefinition> + <string>Euribor1M</string> + <value>EURIBOR_1M</value> + <libraryClass>QuantLib::Euribor1M</libraryClass> + </EnumerationDefinition> + <EnumerationDefinition> + <string>Euribor2M</string> + <value>EURIBOR_2M</value> + <libraryClass>QuantLib::Euribor2M</libraryClass> + </EnumerationDefinition> + <EnumerationDefinition> + <string>Euribor3M</string> + <value>EURIBOR_3M</value> + <libraryClass>QuantLib::Euribor3M</libraryClass> + </EnumerationDefinition> + <EnumerationDefinition> + <string>Euribor4M</string> + <value>EURIBOR_4M</value> + <libraryClass>QuantLib::Euribor4M</libraryClass> + </EnumerationDefinition> + <EnumerationDefinition> + <string>Euribor5M</string> + <value>EURIBOR_5M</value> + <libraryClass>QuantLib::Euribor5M</libraryClass> + </EnumerationDefinition> + <EnumerationDefinition> + <string>Euribor6M</string> + <value>EURIBOR_6M</value> + <libraryClass>QuantLib::Euribor6M</libraryClass> + </EnumerationDefinition> + <EnumerationDefinition> + <string>Euribor7M</string> + <value>EURIBOR_7M</value> + <libraryClass>QuantLib::Euribor7M</libraryClass> + </EnumerationDefinition> + <EnumerationDefinition> + <string>Euribor8M</string> + <value>EURIBOR_8M</value> + <libraryClass>QuantLib::Euribor8M</libraryClass> + </EnumerationDefinition> + <EnumerationDefinition> + <string>Euribor9M</string> + <value>EURIBOR_9M</value> + <libraryClass>QuantLib::Euribor9M</libraryClass> + </EnumerationDefinition> + <EnumerationDefinition> + <string>Euribor10M</string> + <value>EURIBOR_10M</value> + <libraryClass>QuantLib::Euribor10M</libraryClass> + </EnumerationDefinition> + <EnumerationDefinition> + <string>Euribor11M</string> + <value>EURIBOR_11M</value> + <libraryClass>QuantLib::Euribor11M</libraryClass> + </EnumerationDefinition> + <EnumerationDefinition> + <string>Euribor1Y</string> + <value>EURIBOR_1Y</value> + <libraryClass>QuantLib::Euribor1Y</libraryClass> + </EnumerationDefinition> + </EnumerationDefinitions> + </Enumeration> + </Enumerations> </root> |
|
From: Eric E. <eri...@us...> - 2006-07-03 13:25:57
|
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); } }; |
|
From: Eric E. <eri...@us...> - 2006-07-03 13:25:57
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv27637/gensrc/metadata Modified Files: enumclasses.xml Log Message: replace Extrapolator with Interpolation/Interpolation2D Index: enumclasses.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/enumclasses.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** enumclasses.xml 2 Jul 2006 15:50:26 -0000 1.1 --- enumclasses.xml 3 Jul 2006 13:25:52 -0000 1.2 *************** *** 9,37 **** <Enumeration> ! <type>QuantLib::Extrapolator</type> <EnumerationDefinitions> <EnumerationDefinition> <string>Linear</string> ! <value>LinearInterpolation_Extrapolator</value> <libraryClass>QuantLib::LinearInterpolation</libraryClass> </EnumerationDefinition> <EnumerationDefinition> <string>BackwardFlat</string> ! <value>BackwardFlatInterpolation_Extrapolator</value> <libraryClass>QuantLib::BackwardFlatInterpolation</libraryClass> </EnumerationDefinition> <EnumerationDefinition> <string>ForwardFlat</string> ! <value>ForwardFlatInterpolation_Extrapolator</value> <libraryClass>QuantLib::ForwardFlatInterpolation</libraryClass> </EnumerationDefinition> <EnumerationDefinition> <string>BiLinear</string> ! <value>BilinearInterpolation_Extrapolator</value> <libraryClass>QuantLib::BilinearInterpolation</libraryClass> </EnumerationDefinition> <EnumerationDefinition> <string>BiCubic</string> ! <value>BicubicSpline_Extrapolator</value> <libraryClass>QuantLib::BicubicSpline</libraryClass> </EnumerationDefinition> --- 9,43 ---- <Enumeration> ! <type>QuantLib::Interpolation</type> <EnumerationDefinitions> <EnumerationDefinition> <string>Linear</string> ! <value>Linear_Interpolation</value> <libraryClass>QuantLib::LinearInterpolation</libraryClass> </EnumerationDefinition> <EnumerationDefinition> <string>BackwardFlat</string> ! <value>BackwardFlat_Interpolation</value> <libraryClass>QuantLib::BackwardFlatInterpolation</libraryClass> </EnumerationDefinition> <EnumerationDefinition> <string>ForwardFlat</string> ! <value>ForwardFlat_Interpolation</value> <libraryClass>QuantLib::ForwardFlatInterpolation</libraryClass> </EnumerationDefinition> + </EnumerationDefinitions> + </Enumeration> + + <Enumeration> + <type>QuantLib::Interpolation2D</type> + <EnumerationDefinitions> <EnumerationDefinition> <string>BiLinear</string> ! <value>Bilinear_Interpolation</value> <libraryClass>QuantLib::BilinearInterpolation</libraryClass> </EnumerationDefinition> <EnumerationDefinition> <string>BiCubic</string> ! <value>BicubicSpline</value> <libraryClass>QuantLib::BicubicSpline</libraryClass> </EnumerationDefinition> |