Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv26135/qlo
Modified Files:
randomsequencegenerator.cpp randomsequencegenerator.hpp
ratehelpers.cpp termstructures.cpp
Log Message:
"Use reserve to avoid unnecessary reallocations" -- Scott Mayers "Effective STL", item 14
Index: termstructures.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/termstructures.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** termstructures.cpp 11 Dec 2006 14:22:15 -0000 1.19
--- termstructures.cpp 2 Jan 2007 14:46:15 -0000 1.20
***************
*** 44,50 ****
const std::string& interpolatorID)
{
- std::vector<boost::shared_ptr<QuantLib::RateHelper> > rateHelpersQL;
std::vector<std::string>::const_iterator i;
! for (i=handlesRateHelper.begin() ; i != handlesRateHelper.end() ; i++) {
OH_GET_REFERENCE(rateHelper, *i, RateHelper, QuantLib::RateHelper)
rateHelpersQL.push_back(rateHelper);
--- 44,51 ----
const std::string& interpolatorID)
{
std::vector<std::string>::const_iterator i;
! std::vector<boost::shared_ptr<QuantLib::RateHelper> > rateHelpersQL;
! rateHelpersQL.reserve(handlesRateHelper.size());
! for (i=handlesRateHelper.begin() ; i != handlesRateHelper.end() ; ++i) {
OH_GET_REFERENCE(rateHelper, *i, RateHelper, QuantLib::RateHelper)
rateHelpersQL.push_back(rateHelper);
Index: randomsequencegenerator.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/randomsequencegenerator.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** randomsequencegenerator.hpp 28 Sep 2006 07:48:03 -0000 1.4
--- randomsequencegenerator.hpp 2 Jan 2007 14:46:15 -0000 1.5
***************
*** 53,57 ****
std::vector<double> v;
! for (std::size_t j=0 ; j < sample.size() ; j++) {
v.push_back(sample[j]);
}
--- 53,59 ----
std::vector<double> v;
! QuantLib::Size n = sample.size();
! v.reserve(n);
! for (QuantLib::Size j=0 ; j<n ; ++j) {
v.push_back(sample[j]);
}
***************
*** 82,86 ****
std::vector<double> v;
! for (std::size_t j=0 ; j < sample.size() ; j++) {
v.push_back(sample[j]);
}
--- 84,90 ----
std::vector<double> v;
! QuantLib::Size n = sample.size();
! v.reserve(n);
! for (std::size_t j=0 ; j<n ; ++j) {
v.push_back(sample[j]);
}
Index: randomsequencegenerator.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/randomsequencegenerator.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** randomsequencegenerator.cpp 30 Aug 2006 17:57:25 -0000 1.3
--- randomsequencegenerator.cpp 2 Jan 2007 14:46:15 -0000 1.4
***************
*** 38,41 ****
--- 38,42 ----
{
std::vector<std::vector<double> > rtn;
+ rtn.reserve(samples);
for (long i=0 ; i < samples ; i++)
rtn.push_back(nextSequence());
Index: ratehelpers.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/ratehelpers.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** ratehelpers.cpp 20 Dec 2006 09:33:16 -0000 1.15
--- ratehelpers.cpp 2 Jan 2007 14:46:15 -0000 1.16
***************
*** 157,164 ****
// RateHelperItem
- std::vector<detail::RateHelperItem> rhsAll;
boost::shared_ptr<QuantLib::RateHelper> qlrh;
! QuantLib::Size i;
! for (i=0; i<nInstruments; i++) {
OH_GET_OBJECT(qlarh, instrumentIDs[i], RateHelper);
bool isFutures, isDepo;
--- 157,164 ----
// RateHelperItem
boost::shared_ptr<QuantLib::RateHelper> qlrh;
! std::vector<detail::RateHelperItem> rhsAll;
! rhsAll.reserve(nInstruments);
! for (QuantLib::Size i=0; i<nInstruments; ++i) {
OH_GET_OBJECT(qlarh, instrumentIDs[i], RateHelper);
bool isFutures, isDepo;
***************
*** 195,199 ****
QuantLib::Date frontFuturesEarliestDate;
bool thereAreFutures = false;
! i = 0;
while (i<nInstruments) {
if (rhsAll[i].isFutures &&
--- 195,199 ----
QuantLib::Date frontFuturesEarliestDate;
bool thereAreFutures = false;
! QuantLib::Size i = 0;
while (i<nInstruments) {
if (rhsAll[i].isFutures &&
|