Posted by
Andreas Spengler-2 on
Feb 20, 2009; 2:03pm
URL: http://quantlib.414.s1.nabble.com/Compilation-problems-with-SUN-CC-tp12581p12582.html
> Can you send me a list of those?
Course. The following files had to be adapted because of missing std::
qualifier before some mathematical functions:
./ql/models/marketmodels/models/alphafinder.cpp
./ql/models/marketmodels/evolvers/volprocesses/squarerootandersen.cpp
./ql/models/marketmodels/evolvers/lognormalfwdrateeulerconstrained.cpp
./ql/cashflows/rangeaccrual.cpp
./ql/processes/hullwhiteprocess.cpp
./ql/processes/hestonprocess.cpp
./ql/processes/gjrgarchprocess.cpp
./ql/math/randomnumbers/latticersg.cpp
./ql/math/randomnumbers/latticerules.cpp
./ql/math/surface.cpp
./ql/math/quadratic.cpp
./ql/math/integrals/kronrodintegral.cpp
./ql/math/matrixutilities/basisincompleteordered.cpp
./ql/math/optimization/spherecylinder.cpp
./ql/experimental/credit/onefactorgaussiancopula.cpp
./ql/experimental/credit/cdsoption.cpp
./ql/experimental/credit/onefactorstudentcopula.cpp
./ql/experimental/amortizingbonds/amortizingfixedratebond.cpp
./ql/experimental/varianceoption/integralhestonvarianceoptionengine.cpp
./ql/experimental/finitedifferences/fdhestonrebateengine.cpp
./ql/experimental/finitedifferences/fdblackscholesrebateengine.cpp
./ql/experimental/finitedifferences/fdblackscholesvanillaengine.cpp
./ql/experimental/finitedifferences/fdhestonvanillaengine.cpp
./ql/experimental/finitedifferences/fdblackscholesbarrierengine.cpp
./ql/experimental/finitedifferences/fdhestonbarrierengine.cpp
./ql/experimental/lattices/extendedbinomialtree.cpp
./ql/pricingengines/blackformula.cpp
./ql/methods/lattices/binomialtree.cpp
./ql/termstructures/volatility/swaption/swaptionvolcube1.cpp
Furthermore, I had to add an "#include <math.h>" line in the following
three files, because some define's (M_PI_2 and the like) were not found...
./ql/math/randomnumbers/sobolrsg.cpp
./ql/math/integrals/gaussianorthogonalpolynomial.cpp
./ql/pricingengines/vanilla/analyticgjrgarchengine.cpp
In ./ql/instruments/bond.cpp I had to do the following change, because you
can't modify a const iterator:
*** ./ql/instruments/bond.cpp.orig Fri Feb 20 10:46:22 2009
--- ./ql/instruments/bond.cpp Fri Feb 20 10:46:50 2009
***************
*** 200,206 ****
redemptions_.push_back(cashflows.back());
! std::sort(cashflows_.begin(), --cashflows_.end(),
earlier_than<boost::shared_ptr<CashFlow> >());
}
--- 200,206 ----
redemptions_.push_back(cashflows.back());
! std::sort(cashflows_.begin(), cashflows_.end()-1,
earlier_than<boost::shared_ptr<CashFlow> >());
}
***************
*** 222,228 ****
// lower_bound, *i is the earliest date which is greater or
// equal than d. Its index is greater or equal to 1.
std::vector<Date>::const_iterator i =
! std::lower_bound(++notionalSchedule_.begin(),
notionalSchedule_.end(), d);
Size index = std::distance(notionalSchedule_.begin(), i);
--- 222,228 ----
// lower_bound, *i is the earliest date which is greater or
// equal than d. Its index is greater or equal to 1.
std::vector<Date>::const_iterator i =
! std::lower_bound(notionalSchedule_.begin()+1,
notionalSchedule_.end(), d);
Size index = std::distance(notionalSchedule_.begin(), i);
Now I only keep getting an error in
ql/models/marketmodels/models/alphafinder.cpp (maybe because of the empty
namespace surrounding the declaration):
"alphafinder.cpp", line 386: Error, nomatchoverin: Could not find a match
for::Bisection<::T,::Value>(double, double, double, double,
QuantLib::AlphaFinder) needed in QuantLib::AlphaFinder::solve(double, int,
const std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
"alphafinder.cpp", line 394: Error, nomatchoverin: Could not find a match
for::Bisection<::T,::Value>(double, double, double, double,
QuantLib::AlphaFinder) needed in QuantLib::AlphaFinder::solve(double, int,
const std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
"alphafinder.cpp", line 466: Error, nomatchoverin: Could not find a match
for::FindLowestOK<::T,::Value>(double, double, double,
QuantLib::AlphaFinder) needed in
QuantLib::AlphaFinder::solveWithMaxHomogeneity(double, int, const
std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
"alphafinder.cpp", line 473: Error, nomatchoverin: Could not find a match
for::FindLowestOK<::T,::Value>(double, double, double,
QuantLib::AlphaFinder) needed in
QuantLib::AlphaFinder::solveWithMaxHomogeneity(double, int, const
std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
"alphafinder.cpp", line 484: Error, nomatchoverin: Could not find a match
for::FindHighestOK<::T,::Value>(double, double, double,
QuantLib::AlphaFinder) needed in
QuantLib::AlphaFinder::solveWithMaxHomogeneity(double, int, const
std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
"alphafinder.cpp", line 513: Error, nomatchoverin: Could not find a match
for::FindHighestOK<::T,::Value>(double, double, double,
QuantLib::AlphaFinder) needed in
QuantLib::AlphaFinder::solveWithMaxHomogeneity(double, int, const
std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
"alphafinder.cpp", line 520: Error, nomatchoverin: Could not find a match
for::FindLowestOK<::T,::Value>(double, double, double,
QuantLib::AlphaFinder) needed in
QuantLib::AlphaFinder::solveWithMaxHomogeneity(double, int, const
std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
"alphafinder.cpp", line 533: Error, nomatchoverin: Could not find a match
for::Minimize<::T,::Value,::Condition>(double, double, double,
QuantLib::AlphaFinder, bool) needed in
QuantLib::AlphaFinder::solveWithMaxHomogeneity(double, int, const
std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
8 Error(s) detected.
Rgds,
Andreas
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev