You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(17) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(23) |
| 2002 |
Jan
(18) |
Feb
(20) |
Mar
(22) |
Apr
(41) |
May
(28) |
Jun
(25) |
Jul
(10) |
Aug
(7) |
Sep
(5) |
Oct
(20) |
Nov
(13) |
Dec
(11) |
| 2003 |
Jan
(28) |
Feb
(5) |
Mar
(6) |
Apr
(5) |
May
(17) |
Jun
(6) |
Jul
(45) |
Aug
(35) |
Sep
(24) |
Oct
(50) |
Nov
(53) |
Dec
(6) |
| 2004 |
Jan
(4) |
Feb
(10) |
Mar
(52) |
Apr
(46) |
May
(8) |
Jun
(25) |
Jul
(12) |
Aug
(6) |
Sep
(8) |
Oct
(8) |
Nov
(9) |
Dec
(7) |
| 2005 |
Jan
(18) |
Feb
(60) |
Mar
(19) |
Apr
(26) |
May
(14) |
Jun
(27) |
Jul
(8) |
Aug
(15) |
Sep
(19) |
Oct
(53) |
Nov
(20) |
Dec
(23) |
| 2006 |
Jan
(16) |
Feb
(27) |
Mar
(33) |
Apr
(51) |
May
(36) |
Jun
(25) |
Jul
(54) |
Aug
(30) |
Sep
(25) |
Oct
(67) |
Nov
(43) |
Dec
(13) |
| 2007 |
Jan
(23) |
Feb
(27) |
Mar
(55) |
Apr
(79) |
May
(60) |
Jun
(66) |
Jul
(46) |
Aug
(30) |
Sep
(90) |
Oct
(49) |
Nov
(85) |
Dec
(74) |
| 2008 |
Jan
(68) |
Feb
(59) |
Mar
(64) |
Apr
(28) |
May
(66) |
Jun
(35) |
Jul
(73) |
Aug
(76) |
Sep
(65) |
Oct
(46) |
Nov
(41) |
Dec
(19) |
| 2009 |
Jan
(46) |
Feb
(90) |
Mar
(51) |
Apr
(104) |
May
(13) |
Jun
(24) |
Jul
(20) |
Aug
(39) |
Sep
(109) |
Oct
(101) |
Nov
(117) |
Dec
(57) |
| 2010 |
Jan
(55) |
Feb
(42) |
Mar
(39) |
Apr
(22) |
May
(33) |
Jun
(41) |
Jul
(25) |
Aug
(52) |
Sep
(75) |
Oct
(60) |
Nov
(62) |
Dec
(52) |
| 2011 |
Jan
(70) |
Feb
(31) |
Mar
(26) |
Apr
(28) |
May
(17) |
Jun
(38) |
Jul
(51) |
Aug
(35) |
Sep
(27) |
Oct
(35) |
Nov
(10) |
Dec
(20) |
| 2012 |
Jan
(21) |
Feb
(29) |
Mar
(13) |
Apr
(37) |
May
(33) |
Jun
(12) |
Jul
(34) |
Aug
(27) |
Sep
(29) |
Oct
(35) |
Nov
(58) |
Dec
(27) |
| 2013 |
Jan
(27) |
Feb
(16) |
Mar
(40) |
Apr
(16) |
May
(34) |
Jun
(37) |
Jul
(6) |
Aug
(3) |
Sep
(4) |
Oct
(49) |
Nov
(13) |
Dec
(12) |
| 2014 |
Jan
(15) |
Feb
(21) |
Mar
(11) |
Apr
(13) |
May
(27) |
Jun
(60) |
Jul
(19) |
Aug
(29) |
Sep
(20) |
Oct
(28) |
Nov
(41) |
Dec
(15) |
| 2015 |
Jan
(33) |
Feb
(29) |
Mar
(26) |
Apr
(17) |
May
(2) |
Jun
(13) |
Jul
(21) |
Aug
(30) |
Sep
(22) |
Oct
(15) |
Nov
(46) |
Dec
(20) |
| 2016 |
Jan
(6) |
Feb
(5) |
Mar
(9) |
Apr
(15) |
May
(9) |
Jun
(4) |
Jul
(3) |
Aug
(4) |
Sep
(39) |
Oct
(8) |
Nov
(5) |
Dec
(8) |
| 2017 |
Jan
(4) |
Feb
(14) |
Mar
(4) |
Apr
(16) |
May
(5) |
Jun
(10) |
Jul
(25) |
Aug
(2) |
Sep
(5) |
Oct
(11) |
Nov
(8) |
Dec
(11) |
| 2018 |
Jan
(7) |
Feb
(4) |
Mar
|
Apr
(1) |
May
(4) |
Jun
(21) |
Jul
(8) |
Aug
(3) |
Sep
(2) |
Oct
(2) |
Nov
(1) |
Dec
|
| 2019 |
Jan
(1) |
Feb
(5) |
Mar
(18) |
Apr
(9) |
May
(5) |
Jun
(21) |
Jul
(25) |
Aug
(25) |
Sep
(4) |
Oct
(2) |
Nov
(2) |
Dec
(5) |
| 2020 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
(2) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(2) |
Nov
(6) |
Dec
|
| 2021 |
Jan
(1) |
Feb
|
Mar
(2) |
Apr
(1) |
May
(4) |
Jun
|
Jul
(1) |
Aug
|
Sep
(2) |
Oct
(9) |
Nov
(1) |
Dec
(5) |
| 2022 |
Jan
(7) |
Feb
(3) |
Mar
|
Apr
(2) |
May
(5) |
Jun
(3) |
Jul
(3) |
Aug
(3) |
Sep
(3) |
Oct
(14) |
Nov
|
Dec
(1) |
| 2023 |
Jan
(10) |
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
(2) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(5) |
Nov
|
Dec
|
| 2024 |
Jan
(8) |
Feb
|
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
(4) |
Aug
(5) |
Sep
|
Oct
(4) |
Nov
(1) |
Dec
(1) |
| 2025 |
Jan
(3) |
Feb
(2) |
Mar
(2) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2026 |
Jan
(1) |
Feb
(12) |
Mar
|
Apr
(2) |
May
(8) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Didrik P. <dp...@en...> - 2013-12-11 14:23:36
|
Hi Vasiliy, I have encountered the very same issue. It seems to be down to the linking process on MacOSX 10.9. Using nm on the dylib shows clearly that the mangled names are not available in the shared library. Haven't found the solution yet. -- Didrik On 10 December 2013 15:43, Vasiliy Afonin <va...@ne...> wrote: > Hello, > > I am using OS X 10.9(I am also newbie in unix); boost > 1.55+no_single+no_static+python27 and I am trying to make QuantLib work on > python 2.7. > > I follow the same procedure as in QuantLib OS X installation<http://quantlib.org/install/macosx.shtml> and I > have the following warning during ./configure of QuantLib: > >> checking for Boost unit-test framework... no >> configure: WARNING: Boost unit-test framework not found. >> configure: WARNING: The test suite will be disabled. > > > I looked on the Internet and found a thread with the same problem > http://help.lockergnome.com/linux/Bug-425923-quantlib-FTBFS-boost-libraries--ftopict452445.html. > However, it was long ago and as far as I understood the problem was > associated with 'new' boost 1.34 and was solved by an update. > > After the installation of QuantLib. I install swig without perl java and > ruby(there were some problems with them during making). > I run python setup.py test and get an error: > > ImportError: >> dlopen(build/lib.macosx-10.5-x86_64-2.7/QuantLib/_QuantLib.so, 2): Symbol >> not found: __ZThn104_N8QuantLib19CappedFlooredCoupon6updateEv >> Referenced from: build/lib.macosx-10.5-x86_64-2.7/QuantLib/_QuantLib.so >> Expected in: dynamic lookup > > > I also tried to use pyql and got a similar error while testing: > >> quantlib.test.test_bonds (unittest.loader.ModuleImportFailure) ... ERROR >> test_iteration_on_date_list (quantlib.test.test_calendar.TestDateList) >> ... ok >> test_adjust_business_day >> (quantlib.test.test_calendar.TestQuantLibCalendar) ... make: *** [tests] >> Segmentation fault: 11 > > > I think that these errors are binded somehow. It seems that boost works > inappropriately. > Could you please help me to solve this problem? > Best, > Vasily > > > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics > Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > _______________________________________________ > QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev > |
|
From: Vasiliy A. <va...@ne...> - 2013-12-10 16:38:42
|
Hello, I am using OS X 10.9(I am also newbie in unix); boost 1.55+no_single+no_static+python27 and I am trying to make QuantLib work on python 2.7. I follow the same procedure as in QuantLib OS X installation<http://quantlib.org/install/macosx.shtml> and I have the following warning during ./configure of QuantLib: > checking for Boost unit-test framework... no > configure: WARNING: Boost unit-test framework not found. > configure: WARNING: The test suite will be disabled. I looked on the Internet and found a thread with the same problem http://help.lockergnome.com/linux/Bug-425923-quantlib-FTBFS-boost-libraries--ftopict452445.html. However, it was long ago and as far as I understood the problem was associated with 'new' boost 1.34 and was solved by an update. After the installation of QuantLib. I install swig without perl java and ruby(there were some problems with them during making). I run python setup.py test and get an error: ImportError: dlopen(build/lib.macosx-10.5-x86_64-2.7/QuantLib/_QuantLib.so, > 2): Symbol not found: __ZThn104_N8QuantLib19CappedFlooredCoupon6updateEv > Referenced from: build/lib.macosx-10.5-x86_64-2.7/QuantLib/_QuantLib.so > Expected in: dynamic lookup I also tried to use pyql and got a similar error while testing: > quantlib.test.test_bonds (unittest.loader.ModuleImportFailure) ... ERROR > test_iteration_on_date_list (quantlib.test.test_calendar.TestDateList) ... > ok > test_adjust_business_day > (quantlib.test.test_calendar.TestQuantLibCalendar) ... make: *** [tests] > Segmentation fault: 11 I think that these errors are binded somehow. It seems that boost works inappropriately. Could you please help me to solve this problem? Best, Vasily |
|
From: Eric E. <eri...@na...> - 2013-12-06 09:24:32
|
>> On Sun, Nov 10, 2013 at 12:30 AM, Piter Dias >> <pit...@pi...> >> Guys, I just sent a QuatLibXL VS 2012 upgrade via pull request 54 and >> see Thanks very much for that, I will include it in the 1.4 release. >> How do you usually keep Visual Studio projects across all folders? >> There are >> so many versions that it doesn't seem to be feasible doing the work >> manually. On 2013-11-12 09:03, Luigi Ballabio wrote: > I usually manage only the ones in QuantLib :) > I'm not sure how Eric deals with QuantLibXL. I do it manually. The problem I have now is that I no longer have all those versions of Visual Studio installed. Also, a couple of weeks ago we attempted a 64 bit build, and concluded that for the time being it is more trouble than it is worth... So I am not sure how I will test all of the different builds that are included in the release... Cheers, Eric -- =================================================== Eric Ehlers nazcatech sprl | Brussels | http://www.nazcatech.be * Distributed computing for pricing analytics * Use Microsoft Excel as a client to the Grid |
|
From: asavoldi <sav...@gm...> - 2013-12-03 13:56:58
|
Hi Nando, I've been able to analyze CME SPAN methodology for CME, Nymex, Comex, CBOT markets. Initial margins, for plenty of test portfolios, have been compared against PC-SPAN software, the official software which implements the CME Group SPAN methodology. What do you need about SPAN methodology (General picture, intra-inter risk class calculation, super-spread calculation (e.g. for Nymex market), etc.)? if you wish we might discuss over this topic, also off-list if you wish. Regards, Antonio -- View this message in context: http://quantlib.10058.n7.nabble.com/Chicago-Mercantile-Exchange-SPAN-tp9354p14690.html Sent from the quantlib-dev mailing list archive at Nabble.com. |
|
From: Peter C. <pca...@gm...> - 2013-11-30 16:45:35
|
Hi Dirk, basically I agree. However we have to think about which dependencies we want. There are also license issues I guess, GSL is copylefted (R too ?), cplex is not free at all, is it ? Boost provides ODE solvers but only in 53++. Questions like this. As long as the implementations are done on solid ground and come with resonable unit tests (ups, I should send some for the optimizer) it is not bad to have some numerical firepower self contained in the library. I always liked it at least. Still you are right. I also sometimes thought, if some special functions, rngs etc. could be changed to simple wrappers to boost. Peter On 30 November 2013 15:11, Dirk Eddelbuettel <ed...@de...> wrote: > > On 22 November 2013 at 21:58, Peter Caspers wrote: > | Hi, > | > | picking up the topic "global optimization" which was mentioned recently > | on the quantlib user conference I added an experimental simulated > | annealing optimizer here > | > | https://github.com/lballabio/quantlib/pull/57 > | > | which is a reimplementation from the one in Numerical Recipes, 2nd ed. > > Nice. > > | I do not have real use cases at the moment. However I tried it with the > | toy example minimizing > | > | f(x,y) = (2.0+sin(x)*sin(y))*(x*x+y*y) > | > | starting at (10,20) with (a rather unfavorable) lambda = 1 for building > | the initial simplex. A start temperature of 1000.0 and 500 moves for > | cooling down to zero finds the global optimum at (0,0) in 667 > | iterations. The success is obviously dependent on suitable parameters > | though. > | > | DifferentialEvolution which is already available in the library does > | also find the minimum. It needs 5900 iterations in my experiment, but > | works out of the box with the standard configuration. > > The bigger question is whether QL should venture into re-implementing topics > that are well-understood and provided by other domains? > > Eg R comes with five optimizers built in [as options to function optim()], > yet people keep contributing new ones: > > http://cran.r-project.org/web/views/Optimization.html > > It's a tough call. There is definitely a use case for optimization, but maybe > a 'hook' (to the GSL, some coin-or algo, cplex, ... ) may be better in the > long run? > > Dirk > > -- > Dirk Eddelbuettel | ed...@de... | http://dirk.eddelbuettel.com |
|
From: Dirk E. <ed...@de...> - 2013-11-30 14:11:13
|
On 22 November 2013 at 21:58, Peter Caspers wrote: | Hi, | | picking up the topic "global optimization" which was mentioned recently | on the quantlib user conference I added an experimental simulated | annealing optimizer here | | https://github.com/lballabio/quantlib/pull/57 | | which is a reimplementation from the one in Numerical Recipes, 2nd ed. Nice. | I do not have real use cases at the moment. However I tried it with the | toy example minimizing | | f(x,y) = (2.0+sin(x)*sin(y))*(x*x+y*y) | | starting at (10,20) with (a rather unfavorable) lambda = 1 for building | the initial simplex. A start temperature of 1000.0 and 500 moves for | cooling down to zero finds the global optimum at (0,0) in 667 | iterations. The success is obviously dependent on suitable parameters | though. | | DifferentialEvolution which is already available in the library does | also find the minimum. It needs 5900 iterations in my experiment, but | works out of the box with the standard configuration. The bigger question is whether QL should venture into re-implementing topics that are well-understood and provided by other domains? Eg R comes with five optimizers built in [as options to function optim()], yet people keep contributing new ones: http://cran.r-project.org/web/views/Optimization.html It's a tough call. There is definitely a use case for optimization, but maybe a 'hook' (to the GSL, some coin-or algo, cplex, ... ) may be better in the long run? Dirk -- Dirk Eddelbuettel | ed...@de... | http://dirk.eddelbuettel.com |
|
From: Peter C. <pca...@gm...> - 2013-11-22 20:59:02
|
Hi, picking up the topic "global optimization" which was mentioned recently on the quantlib user conference I added an experimental simulated annealing optimizer here https://github.com/lballabio/quantlib/pull/57 which is a reimplementation from the one in Numerical Recipes, 2nd ed. I do not have real use cases at the moment. However I tried it with the toy example minimizing f(x,y) = (2.0+sin(x)*sin(y))*(x*x+y*y) starting at (10,20) with (a rather unfavorable) lambda = 1 for building the initial simplex. A start temperature of 1000.0 and 500 moves for cooling down to zero finds the global optimum at (0,0) in 667 iterations. The success is obviously dependent on suitable parameters though. DifferentialEvolution which is already available in the library does also find the minimum. It needs 5900 iterations in my experiment, but works out of the box with the standard configuration. best regards Peter |
|
From: Luigi B. <lui...@gm...> - 2013-11-22 14:37:05
|
Hi Karol,
apologies for the delay. Is there any particular field you're
interested in? Or, since you're using the library already: is there
anything that would be useful for your work and is currently missing?
Luigi
On Fri, Nov 8, 2013 at 7:10 PM, Karol Pysniak <kpy...@gm...> wrote:
> Hi All,
>
> I am new to QuantLib dev, but I've been using it for some time and I am very
> interested to contribute to the source code :) Would you recommend any issue
> or a new feature that you think could be a good starting point? Also, is
> there any "wish list" of the features that are considered worth adding?
>
> Thanks,
> Karol
>
> ------------------------------------------------------------------------------
> November Webinars for C, C++, Fortran Developers
> Accelerate application performance with scalable programming models. Explore
> techniques for threading, error checking, porting, and tuning. Get the most
> from the latest Intel processors and coprocessors. See abstracts and
> register
> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
> _______________________________________________
> QuantLib-dev mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>
--
<https://implementingquantlib.blogspot.com>
<https://twitter.com/lballabio>
|
|
From: Chris H. <chr...@ya...> - 2013-11-21 10:32:06
|
I have committed a new version with improved performance to my github Chris On Monday, 18 November 2013, 12:00, Chris Higgs <chr...@ya...> wrote: At the QuantLib conference last week there was some discussion of how the observable pattern can give performance issues when there are many updates and many observers, either directly or via cascading updates e.g. quotes->curves->instruments. I have created an enhanced observable pattern which allows the disabling/enabling of updates, with optional deferment of updates - this means that when updating is re-enabled, any updates which would have been sent whilst disabled are then dispatched. Only one update is then sent per observer. So you can disable updates, change all the quotes on the curve, enable updates, and the curve is notified just once. The code for this can be seen at https://github.com/higgscc/quantlib/blob/master/QuantLib/ql/patterns/observable.hpp I also replaced the std::set with boost::unordered_set in the pattern classes as the latter is supposed to be faster as is it based on a hash table, and this has indeed itself produced a significant speedup. All changes are backwards compatible. The method is complimentary to another method which has been used of adding a silent update method to the SimpleQuote class which does not trigger updates, these later being done manually by updating the dependent curve. That method is likely to be faster still than this, but does require the user to manually understand and manage the dependencies between his objects. I also produced a test program to demonstrate if there was a performance benefit. There was no benefit visible if there is a single layer of observers, indeed it was slightly slower if updates were deferred, and the overhead in maintaining the deferred update list outweighed the benefit from sending less updates. However if there are then secondary observers there is a significant speedup. The following test program took 0.016 seconds to execute if updates are deferred, but over two seconds if they are made directly (and repeatedly). These numbers are with all tracing turned off and compiled out. Chris Higgs //--------------------------------------------------------------------------------------------------- // what follows is some code to test the observable/observer deferred processing //--------------------------------------------------------------------------------------------------- class DummyObserver : public Observer, public Observable { public: DummyObserver() {} void update() { QL_TRACE(this << " notified of update"); notifyObservers(); } }; int main(int argc, char* argv[]) { QL_TRACE_ENABLE; boost::timer timer; // set up an observable // for example a quote boost::shared_ptr<Observable> observable(new Observable()); // set up two observers // for example two curves depending on the quote DummyObserver* obsPtr = new DummyObserver(); boost::shared_ptr<Observable> observer(obsPtr); obsPtr->registerWith(observable); DummyObserver* obsPtr2 = new DummyObserver(); boost::shared_ptr<Observable> observer2(obsPtr2); obsPtr2->registerWith(observable); // set up some secondary observers // for example simulating trades depending on curves for (int i=0; i<1000; i++) { DummyObserver* secondaryObserver = new DummyObserver(); secondaryObserver->registerWith(observer); secondaryObserver->registerWith(observer2); } QL_TRACE ("deferring updates"); ObservableSettings::instance().disableUpdates(true); for (int i=0; i<100000; i++) observable->notifyObservers(); QL_TRACE ("re-enabling updates"); ObservableSettings::instance().enableUpdates(); std::cout << "processed in " << std::fixed << std::setprecision(6) << timer.elapsed() << std::endl; } ------------------------------------------------------------------------------ DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access Free app hosting. Or install the open source package on any LAMP server. Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk _______________________________________________ QuantLib-dev mailing list Qua...@li... https://lists.sourceforge.net/lists/listinfo/quantlib-dev |
|
From: Chris H. <chr...@ya...> - 2013-11-18 10:59:31
|
At the QuantLib conference last week there was some discussion of how the observable pattern can give performance issues when there are many updates and many observers, either directly or via cascading updates e.g. quotes->curves->instruments. I have created an enhanced observable pattern which allows the disabling/enabling of updates, with optional deferment of updates - this means that when updating is re-enabled, any updates which would have been sent whilst disabled are then dispatched. Only one update is then sent per observer. So you can disable updates, change all the quotes on the curve, enable updates, and the curve is notified just once. The code for this can be seen at https://github.com/higgscc/quantlib/blob/master/QuantLib/ql/patterns/observable.hpp I also replaced the std::set with boost::unordered_set in the pattern classes as the latter is supposed to be faster as is it based on a hash table, and this has indeed itself produced a significant speedup. All changes are backwards compatible. The method is complimentary to another method which has been used of adding a silent update method to the SimpleQuote class which does not trigger updates, these later being done manually by updating the dependent curve. That method is likely to be faster still than this, but does require the user to manually understand and manage the dependencies between his objects. I also produced a test program to demonstrate if there was a performance benefit. There was no benefit visible if there is a single layer of observers, indeed it was slightly slower if updates were deferred, and the overhead in maintaining the deferred update list outweighed the benefit from sending less updates. However if there are then secondary observers there is a significant speedup. The following test program took 0.016 seconds to execute if updates are deferred, but over two seconds if they are made directly (and repeatedly). These numbers are with all tracing turned off and compiled out. Chris Higgs //--------------------------------------------------------------------------------------------------- // what follows is some code to test the observable/observer deferred processing //--------------------------------------------------------------------------------------------------- class DummyObserver : public Observer, public Observable { public: DummyObserver() {} void update() { QL_TRACE(this << " notified of update"); notifyObservers(); } }; int main(int argc, char* argv[]) { QL_TRACE_ENABLE; boost::timer timer; // set up an observable // for example a quote boost::shared_ptr<Observable> observable(new Observable()); // set up two observers // for example two curves depending on the quote DummyObserver* obsPtr = new DummyObserver(); boost::shared_ptr<Observable> observer(obsPtr); obsPtr->registerWith(observable); DummyObserver* obsPtr2 = new DummyObserver(); boost::shared_ptr<Observable> observer2(obsPtr2); obsPtr2->registerWith(observable); // set up some secondary observers // for example simulating trades depending on curves for (int i=0; i<1000; i++) { DummyObserver* secondaryObserver = new DummyObserver(); secondaryObserver->registerWith(observer); secondaryObserver->registerWith(observer2); } QL_TRACE ("deferring updates"); ObservableSettings::instance().disableUpdates(true); for (int i=0; i<100000; i++) observable->notifyObservers(); QL_TRACE ("re-enabling updates"); ObservableSettings::instance().enableUpdates(); std::cout << "processed in " << std::fixed << std::setprecision(6) << timer.elapsed() << std::endl; } |
|
From: Luigi B. <lui...@gm...> - 2013-11-12 08:03:36
|
I usually manage only the ones in QuantLib :) I'm not sure how Eric deals with QuantLibXL. Luigi On Mon, Nov 11, 2013 at 11:43 PM, Piter Dias <pit...@pi...> wrote: > I just tried ant it is all good. > > > > How do you usually keep Visual Studio projects across all folders? There are > so many versions that it doesn't seem to be feasible doing the work > manually. > > > > --- > > > > ________________________________ > > Piter Dias > pit...@pi... > http://www.piterdias.com > > On 2013-11-11 13:45, Luigi Ballabio wrote: > > I've merged the change into master. I'd be grateful if anyone could try it > out. > > Luigi > > On Sun, Nov 10, 2013 at 12:30 AM, Piter Dias <pit...@pi...> > wrote: > > Guys, I just sent a QuatLibXL VS 2012 upgrade via pull request 54 and see > below how I did it (packages is where I store some third projects): Let me > know if you have any concerns. rm -rf $1 cp -r ../packages/quantlib $1 sed > -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' <$1/gensrc/Docs/docs_vc10.vcxproj > > $1/gensrc/Docs/docs_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/gensrc/Docs/docs_vc10.vcxproj.filters > > $1/gensrc/Docs/docs_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' <$1/gensrc/gensrc_vc10.sln > > $1/gensrc/gensrc_vc11.sln > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' <$1/gensrc/gensrc_vc10.vcxproj > > $1/gensrc/gensrc_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/gensrc/gensrc_vc10.vcxproj.filters > > $1/gensrc/gensrc_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' <$1/log4cxx/msvc/apr_vc10.vcxproj > > $1/log4cxx/msvc/apr_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/log4cxx/msvc/apr_vc10.vcxproj.filters > > $1/log4cxx/msvc/apr_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/log4cxx/msvc/aprutil_vc10.vcxproj >$1/log4cxx/msvc/aprutil_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/log4cxx/msvc/aprutil_vc10.vcxproj.filters > > $1/log4cxx/msvc/aprutil_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' <$1/log4cxx/msvc/log4cxx_vc10.sln > > $1/log4cxx/msvc/log4cxx_vc11.sln > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/log4cxx/msvc/log4cxx_vc10.vcxproj >$1/log4cxx/msvc/log4cxx_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/log4cxx/msvc/log4cxx_vc10.vcxproj.filters > > $1/log4cxx/msvc/log4cxx_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Docs/docs_vc10.vcxproj > > $1/ObjectHandler/Docs/docs_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Docs/docs_vc10.vcxproj.filters > > $1/ObjectHandler/Docs/docs_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/C++/ExampleCpp_vc10.vcxproj > > $1/ObjectHandler/Examples/C++/ExampleCpp_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/C++/ExampleCpp_vc10.vcxproj.user > > $1/ObjectHandler/Examples/C++/ExampleCpp_vc11.vcxproj.user > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc10.vcxproj > > $1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc10.vcxproj.filters > > $1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc10.vcxproj > > $1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc10.vcxproj.user > > $1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc11.vcxproj.user > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc10.vcxproj > > $1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc10.vcxproj.user > > $1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc11.vcxproj.user > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/xl/ExampleXllStatic_vc10.vcxproj > > $1/ObjectHandler/Examples/xl/ExampleXllStatic_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/xl/ExampleXllStatic_vc10.vcxproj.user > > $1/ObjectHandler/Examples/xl/ExampleXllStatic_vc11.vcxproj.user > > sed -e 's/vc10/vc11/' -e > 's/<ConfigurationType>Makefile<\/ConfigurationType>/<ConfigurationType>Makefile<\/ConfigurationType>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/gensrc/ohgensrc_vc10.vcxproj > > $1/ObjectHandler/gensrc/ohgensrc_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/gensrc/ohgensrc_vc10.vcxproj.filters > > $1/ObjectHandler/gensrc/ohgensrc_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/ObjectHandler_vc10.sln > > $1/ObjectHandler/ObjectHandler_vc11.sln > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/ohlib_vc10.vcxproj >$1/ObjectHandler/ohlib_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/ohlib_vc10.vcxproj.filters > > $1/ObjectHandler/ohlib_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/ohxl/ohxll/ohxll_vc10.vcxproj > > $1/ObjectHandler/ohxl/ohxll/ohxll_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/ohxl/ohxll/ohxll_vc10.vcxproj.filters > > $1/ObjectHandler/ohxl/ohxll/ohxll_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/ohxl/ohxllib/ohxllib_vc10.vcxproj > > $1/ObjectHandler/ohxl/ohxllib/ohxllib_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/ohxl/ohxllib/ohxllib_vc10.vcxproj.filters > > $1/ObjectHandler/ohxl/ohxllib/ohxllib_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/xlsdk/xlsdk_vc10.vcxproj > > $1/ObjectHandler/xlsdk/xlsdk_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/Addins/Cpp/AddinCpp_vc10.vcxproj > > $1/QuantLibAddin/Addins/Cpp/AddinCpp_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/Addins/Cpp/AddinCpp_vc10.vcxproj.filters > > $1/QuantLibAddin/Addins/Cpp/AddinCpp_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/Clients/Cpp/ClientCppDemo_vc10.vcxproj > > $1/QuantLibAddin/Clients/Cpp/ClientCppDemo_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/Clients/CppInstrumentIn/CppInstrumentIn_vc10.vcxproj > > $1/QuantLibAddin/Clients/CppInstrumentIn/CppInstrumentIn_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/Clients/CppSwapOut/ClientCppSwapOut_vc10.vcxproj > > $1/QuantLibAddin/Clients/CppSwapOut/ClientCppSwapOut_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/Docs/docs-QuantLibAddin_vc10.vcxproj > > $1/QuantLibAddin/Docs/docs-QuantLibAddin_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/Docs/docs-QuantLibAddin_vc10.vcxproj.filters > > $1/QuantLibAddin/Docs/docs-QuantLibAddin_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<ConfigurationType>Makefile<\/ConfigurationType>/<ConfigurationType>Makefile<\/ConfigurationType>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/gensrc/qlgensrc_vc10.vcxproj > > $1/QuantLibAddin/gensrc/qlgensrc_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/gensrc/qlgensrc_vc10.vcxproj.filters > > $1/QuantLibAddin/gensrc/qlgensrc_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/QuantLibAddin_vc10.sln > > $1/QuantLibAddin/QuantLibAddin_vc11.sln > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/QuantLibObjects_vc10.vcxproj > > $1/QuantLibAddin/QuantLibObjects_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/QuantLibObjects_vc10.vcxproj.filters > > $1/QuantLibAddin/QuantLibObjects_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc10.vcxproj > > $1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc10.vcxproj.filters > > $1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLib-SWIG/CSharp/csharp/NQuantLib_vc10.csproj > > $1/QuantLib-SWIG/CSharp/csharp/NQuantLib_vc11.csproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLib-SWIG/CSharp/examples/BermudanSwaption_vc10.csproj > > $1/QuantLib-SWIG/CSharp/examples/BermudanSwaption_vc11.csproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLib-SWIG/CSharp/examples/EquityOption_vc10.csproj > > $1/QuantLib-SWIG/CSharp/examples/EquityOption_vc11.csproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLib-SWIG/CSharp/QuantLib_vc10.sln > > $1/QuantLib-SWIG/CSharp/QuantLib_vc11.sln > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/Docs/docs-QuantLibXL_vc10.vcxproj > > $1/QuantLibXL/Docs/docs-QuantLibXL_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/Docs/docs-QuantLibXL_vc10.vcxproj.filters > > $1/QuantLibXL/Docs/docs-QuantLibXL_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/qlxl/QuantLibXLDynamic_vc10.vcxproj > > $1/QuantLibXL/qlxl/QuantLibXLDynamic_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/qlxl/QuantLibXLDynamic_vc10.vcxproj.filters > > $1/QuantLibXL/qlxl/QuantLibXLDynamic_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/g' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' -e > 's/<TargetMachine>MachineX86<\/TargetMachine>/<TargetMachine>MachineX86<\/TargetMachine>\n > <ImageHasSafeExceptionHandlers>false<\/ImageHasSafeExceptionHandlers>/' > <$1/QuantLibXL/qlxl/QuantLibXLStatic_vc10.vcxproj > > $1/QuantLibXL/qlxl/QuantLibXLStatic_vc11.vcxproj > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/qlxl/QuantLibXLStatic_vc10.vcxproj.filters > > $1/QuantLibXL/qlxl/QuantLibXLStatic_vc11.vcxproj.filters > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/QuantLibAllDynamic_vc10.sln > > $1/QuantLibXL/QuantLibAllDynamic_vc11.sln > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/QuantLibXL_basic_vc10.sln > > $1/QuantLibXL/QuantLibXL_basic_vc11.sln > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/QuantLibXL_full_vc10.sln > > $1/QuantLibXL/QuantLibXL_full_vc11.sln > > sed 's/# define LOG4CXX_LIB_TOOLSET "vc100"/# define LOG4CXX_LIB_TOOLSET > "vc100"\n#elif (_MSC_VER == 1700)\n# define LOG4CXX_LIB_TOOLSET "vc110"/' > <$1/log4cxx/src/main/include/log4cxx/auto_link.hpp > > $1/log4cxx/src/main/include/log4cxx/auto_link.hpp.new > > sed 's/# define XLSDK_LIB_TOOLSET "vc100"/# define XLSDK_LIB_TOOLSET > "vc100"\n#elif (_MSC_VER == 1700)\n# define XLSDK_LIB_TOOLSET "vc110"/' > <$1/ObjectHandler/xlsdk/auto_link.hpp > > $1/ObjectHandler/xlsdk/auto_link.hpp.new > > sed 's/# define QLADDIN_LIB_TOOLSET "vc100"/# define QLADDIN_LIB_TOOLSET > "vc100"\n#elif (_MSC_VER == 1700)\n# define QLADDIN_LIB_TOOLSET "vc110"/' > <$1/QuantLibAddin/qlo/auto_link.hpp >$1/QuantLibAddin/qlo/auto_link.hpp.new > sed 's/# define OBJHANDLER_LIB_TOOLSET "vc100"/# define > OBJHANDLER_LIB_TOOLSET "vc100"\n#elif (_MSC_VER == 1700)\n# define > OBJHANDLER_LIB_TOOLSET "vc110"/' <$1/ObjectHandler/oh/auto_link.hpp > > $1/ObjectHandler/oh/auto_link.hpp.new > > mv $1/log4cxx/src/main/include/log4cxx/auto_link.hpp.new > $1/log4cxx/src/main/include/log4cxx/auto_link.hpp mv > $1/ObjectHandler/xlsdk/auto_link.hpp.new > $1/ObjectHandler/xlsdk/auto_link.hpp mv > $1/QuantLibAddin/qlo/auto_link.hpp.new $1/QuantLibAddin/qlo/auto_link.hpp mv > $1/ObjectHandler/oh/auto_link.hpp.new $1/ObjectHandler/oh/auto_link.hpp -- > ________________________________ Piter Dias pit...@pi... > http://www.piterdias.com > ------------------------------------------------------------------------------ > November Webinars for C, C++, Fortran Developers Accelerate application > performance with scalable programming models. Explore techniques for > threading, error checking, porting, and tuning. Get the most from the latest > Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk > _______________________________________________ QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev -- <https://implementingquantlib.blogspot.com> <https://twitter.com/lballabio> |
|
From: Piter D. <pit...@pi...> - 2013-11-11 22:44:16
|
I just tried ant it is all good. How do you usually keep Visual Studio projects across all folders? There are so many versions that it doesn't seem to be feasible doing the work manually. --- ------------------------- Piter Dias pit...@pi... http://www.piterdias.com [1] On 2013-11-11 13:45, Luigi Ballabio wrote: > I've merged the change into master. I'd be grateful if anyone could try it out. > > Luigi > > On Sun, Nov 10, 2013 at 12:30 AM, Piter Dias <pit...@pi...> wrote: > Guys, I just sent a QuatLibXL VS 2012 upgrade via pull request 54 and see below how I did it (packages is where I store some third projects): Let me know if you have any concerns. rm -rf $1 cp -r ../packages/quantlib $1 sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/gensrc/Docs/docs_vc10.vcxproj $1/gensrc/Docs/docs_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/gensrc/Docs/docs_vc10.vcxproj.filters $1/gensrc/Docs/docs_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/gensrc/gensrc_vc10.sln $1/gensrc/gensrc_vc11.sln sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/gensrc/gensrc_vc10.vcxproj $1/gensrc/gensrc_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/gensrc/gensrc_vc10.vcxproj.filters $1/gensrc/gensrc_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/log4cxx/msvc/apr_vc10.vcxproj $1/log4cxx/msvc/apr_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/log4cxx/msvc/apr_vc10.vcxproj.filters $1/log4cxx/msvc/apr_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/log4cxx/msvc/aprutil_vc10.vcxproj >$1/log4cxx/msvc/aprutil_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/log4cxx/msvc/aprutil_vc10.vcxproj.filters $1/log4cxx/msvc/aprutil_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/log4cxx/msvc/log4cxx_vc10.sln $1/log4cxx/msvc/log4cxx_vc11.sln sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/log4cxx/msvc/log4cxx_vc10.vcxproj >$1/log4cxx/msvc/log4cxx_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/log4cxx/msvc/log4cxx_vc10.vcxproj.filters $1/log4cxx/msvc/log4cxx_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Docs/docs_vc10.vcxproj $1/ObjectHandler/Docs/docs_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Docs/docs_vc10.vcxproj.filters $1/ObjectHandler/Docs/docs_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/C++/ExampleCpp_vc10.vcxproj $1/ObjectHandler/Examples/C++/ExampleCpp_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/C++/ExampleCpp_vc10.vcxproj.user $1/ObjectHandler/Examples/C++/ExampleCpp_vc11.vcxproj.user sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc10.vcxproj $1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc10.vcxproj.filters $1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc10.vcxproj $1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc10.vcxproj.user $1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc11.vcxproj.user sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc10.vcxproj $1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc10.vcxproj.user $1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc11.vcxproj.user sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/xl/ExampleXllStatic_vc10.vcxproj $1/ObjectHandler/Examples/xl/ExampleXllStatic_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/xl/ExampleXllStatic_vc10.vcxproj.user $1/ObjectHandler/Examples/xl/ExampleXllStatic_vc11.vcxproj.user sed -e 's/vc10/vc11/' -e 's/<ConfigurationType>Makefile</ConfigurationType>/<ConfigurationType>Makefile</ConfigurationType>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/gensrc/ohgensrc_vc10.vcxproj $1/ObjectHandler/gensrc/ohgensrc_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/gensrc/ohgensrc_vc10.vcxproj.filters $1/ObjectHandler/gensrc/ohgensrc_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/ObjectHandler_vc10.sln $1/ObjectHandler/ObjectHandler_vc11.sln sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/ohlib_vc10.vcxproj >$1/ObjectHandler/ohlib_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/ohlib_vc10.vcxproj.filters $1/ObjectHandler/ohlib_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/ohxl/ohxll/ohxll_vc10.vcxproj $1/ObjectHandler/ohxl/ohxll/ohxll_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/ohxl/ohxll/ohxll_vc10.vcxproj.filters $1/ObjectHandler/ohxl/ohxll/ohxll_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/ohxl/ohxllib/ohxllib_vc10.vcxproj $1/ObjectHandler/ohxl/ohxllib/ohxllib_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/ohxl/ohxllib/ohxllib_vc10.vcxproj.filters $1/ObjectHandler/ohxl/ohxllib/ohxllib_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/xlsdk/xlsdk_vc10.vcxproj $1/ObjectHandler/xlsdk/xlsdk_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/Addins/Cpp/AddinCpp_vc10.vcxproj $1/QuantLibAddin/Addins/Cpp/AddinCpp_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/Addins/Cpp/AddinCpp_vc10.vcxproj.filters $1/QuantLibAddin/Addins/Cpp/AddinCpp_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/Clients/Cpp/ClientCppDemo_vc10.vcxproj $1/QuantLibAddin/Clients/Cpp/ClientCppDemo_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/Clients/CppInstrumentIn/CppInstrumentIn_vc10.vcxproj $1/QuantLibAddin/Clients/CppInstrumentIn/CppInstrumentIn_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/Clients/CppSwapOut/ClientCppSwapOut_vc10.vcxproj $1/QuantLibAddin/Clients/CppSwapOut/ClientCppSwapOut_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/Docs/docs-QuantLibAddin_vc10.vcxproj $1/QuantLibAddin/Docs/docs-QuantLibAddin_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/Docs/docs-QuantLibAddin_vc10.vcxproj.filters $1/QuantLibAddin/Docs/docs-QuantLibAddin_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<ConfigurationType>Makefile</ConfigurationType>/<ConfigurationType>Makefile</ConfigurationType>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/gensrc/qlgensrc_vc10.vcxproj $1/QuantLibAddin/gensrc/qlgensrc_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/gensrc/qlgensrc_vc10.vcxproj.filters $1/QuantLibAddin/gensrc/qlgensrc_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/QuantLibAddin_vc10.sln $1/QuantLibAddin/QuantLibAddin_vc11.sln sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/QuantLibObjects_vc10.vcxproj $1/QuantLibAddin/QuantLibObjects_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/QuantLibObjects_vc10.vcxproj.filters $1/QuantLibAddin/QuantLibObjects_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc10.vcxproj $1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc10.vcxproj.filters $1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLib-SWIG/CSharp/csharp/NQuantLib_vc10.csproj $1/QuantLib-SWIG/CSharp/csharp/NQuantLib_vc11.csproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLib-SWIG/CSharp/examples/BermudanSwaption_vc10.csproj $1/QuantLib-SWIG/CSharp/examples/BermudanSwaption_vc11.csproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLib-SWIG/CSharp/examples/EquityOption_vc10.csproj $1/QuantLib-SWIG/CSharp/examples/EquityOption_vc11.csproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLib-SWIG/CSharp/QuantLib_vc10.sln $1/QuantLib-SWIG/CSharp/QuantLib_vc11.sln sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/Docs/docs-QuantLibXL_vc10.vcxproj $1/QuantLibXL/Docs/docs-QuantLibXL_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/Docs/docs-QuantLibXL_vc10.vcxproj.filters $1/QuantLibXL/Docs/docs-QuantLibXL_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/qlxl/QuantLibXLDynamic_vc10.vcxproj $1/QuantLibXL/qlxl/QuantLibXLDynamic_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/qlxl/QuantLibXLDynamic_vc10.vcxproj.filters $1/QuantLibXL/qlxl/QuantLibXLDynamic_vc11.vcxproj.filters sed -e 's/vc10/vc11/g' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' -e 's/<TargetMachine>MachineX86</TargetMachine>/<TargetMachine>MachineX86</TargetMachine>n <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>/' <$1/QuantLibXL/qlxl/QuantLibXLStatic_vc10.vcxproj $1/QuantLibXL/qlxl/QuantLibXLStatic_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/qlxl/QuantLibXLStatic_vc10.vcxproj.filters $1/QuantLibXL/qlxl/QuantLibXLStatic_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/QuantLibAllDynamic_vc10.sln $1/QuantLibXL/QuantLibAllDynamic_vc11.sln sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/QuantLibXL_basic_vc10.sln $1/QuantLibXL/QuantLibXL_basic_vc11.sln sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/QuantLibXL_full_vc10.sln $1/QuantLibXL/QuantLibXL_full_vc11.sln sed 's/# define LOG4CXX_LIB_TOOLSET "vc100"/# define LOG4CXX_LIB_TOOLSET "vc100"n#elif (_MSC_VER == 1700)n# define LOG4CXX_LIB_TOOLSET "vc110"/' <$1/log4cxx/src/main/include/log4cxx/auto_link.hpp $1/log4cxx/src/main/include/log4cxx/auto_link.hpp.new sed 's/# define XLSDK_LIB_TOOLSET "vc100"/# define XLSDK_LIB_TOOLSET "vc100"n#elif (_MSC_VER == 1700)n# define XLSDK_LIB_TOOLSET "vc110"/' <$1/ObjectHandler/xlsdk/auto_link.hpp $1/ObjectHandler/xlsdk/auto_link.hpp.new sed 's/# define QLADDIN_LIB_TOOLSET "vc100"/# define QLADDIN_LIB_TOOLSET "vc100"n#elif (_MSC_VER == 1700)n# define QLADDIN_LIB_TOOLSET "vc110"/' <$1/QuantLibAddin/qlo/auto_link.hpp >$1/QuantLibAddin/qlo/auto_link.hpp.new sed 's/# define OBJHANDLER_LIB_TOOLSET "vc100"/# define OBJHANDLER_LIB_TOOLSET "vc100"n#elif (_MSC_VER == 1700)n# define OBJHANDLER_LIB_TOOLSET "vc110"/' <$1/ObjectHandler/oh/auto_link.hpp $1/ObjectHandler/oh/auto_link.hpp.new mv $1/log4cxx/src/main/include/log4cxx/auto_link.hpp.new $1/log4cxx/src/main/include/log4cxx/auto_link.hpp mv $1/ObjectHandler/xlsdk/auto_link.hpp.new $1/ObjectHandler/xlsdk/auto_link.hpp mv $1/QuantLibAddin/qlo/auto_link.hpp.new $1/QuantLibAddin/qlo/auto_link.hpp mv $1/ObjectHandler/oh/auto_link.hpp.new $1/ObjectHandler/oh/auto_link.hpp -- ________________________________ Piter Dias pit...@pi... http://www.piterdias.com [1] ------------------------------------------------------------------------------ November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk [2] _______________________________________________ QuantLib-dev mailing list Qua...@li... https://lists.sourceforge.net/lists/listinfo/quantlib-dev [3] Links: ------ [1] http://www.piterdias.com [2] http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk [3] https://lists.sourceforge.net/lists/listinfo/quantlib-dev |
|
From: Luigi B. <lui...@gm...> - 2013-11-11 15:45:27
|
I've merged the change into master. I'd be grateful if anyone could try it out. Luigi On Sun, Nov 10, 2013 at 12:30 AM, Piter Dias <pit...@pi...> wrote: > Guys, > > > > I just sent a QuatLibXL VS 2012 upgrade via pull request 54 and see below > how I did it (packages is where I store some third projects): > > Let me know if you have any concerns. > > > > rm -rf $1 > > cp -r ../packages/quantlib $1 > > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' <$1/gensrc/Docs/docs_vc10.vcxproj >>$1/gensrc/Docs/docs_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/gensrc/Docs/docs_vc10.vcxproj.filters >>$1/gensrc/Docs/docs_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' <$1/gensrc/gensrc_vc10.sln >>$1/gensrc/gensrc_vc11.sln > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' <$1/gensrc/gensrc_vc10.vcxproj >>$1/gensrc/gensrc_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/gensrc/gensrc_vc10.vcxproj.filters >>$1/gensrc/gensrc_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' <$1/log4cxx/msvc/apr_vc10.vcxproj >>$1/log4cxx/msvc/apr_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/log4cxx/msvc/apr_vc10.vcxproj.filters >>$1/log4cxx/msvc/apr_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/log4cxx/msvc/aprutil_vc10.vcxproj >$1/log4cxx/msvc/aprutil_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/log4cxx/msvc/aprutil_vc10.vcxproj.filters >>$1/log4cxx/msvc/aprutil_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' <$1/log4cxx/msvc/log4cxx_vc10.sln >>$1/log4cxx/msvc/log4cxx_vc11.sln > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/log4cxx/msvc/log4cxx_vc10.vcxproj >$1/log4cxx/msvc/log4cxx_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/log4cxx/msvc/log4cxx_vc10.vcxproj.filters >>$1/log4cxx/msvc/log4cxx_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Docs/docs_vc10.vcxproj >>$1/ObjectHandler/Docs/docs_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Docs/docs_vc10.vcxproj.filters >>$1/ObjectHandler/Docs/docs_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/C++/ExampleCpp_vc10.vcxproj >>$1/ObjectHandler/Examples/C++/ExampleCpp_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/C++/ExampleCpp_vc10.vcxproj.user >>$1/ObjectHandler/Examples/C++/ExampleCpp_vc11.vcxproj.user > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc10.vcxproj >>$1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc10.vcxproj.filters >>$1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc10.vcxproj >>$1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc10.vcxproj.user >>$1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc11.vcxproj.user > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc10.vcxproj >>$1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc10.vcxproj.user >>$1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc11.vcxproj.user > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/xl/ExampleXllStatic_vc10.vcxproj >>$1/ObjectHandler/Examples/xl/ExampleXllStatic_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/Examples/xl/ExampleXllStatic_vc10.vcxproj.user >>$1/ObjectHandler/Examples/xl/ExampleXllStatic_vc11.vcxproj.user > sed -e 's/vc10/vc11/' -e > 's/<ConfigurationType>Makefile<\/ConfigurationType>/<ConfigurationType>Makefile<\/ConfigurationType>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/gensrc/ohgensrc_vc10.vcxproj >>$1/ObjectHandler/gensrc/ohgensrc_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/gensrc/ohgensrc_vc10.vcxproj.filters >>$1/ObjectHandler/gensrc/ohgensrc_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/ObjectHandler_vc10.sln >>$1/ObjectHandler/ObjectHandler_vc11.sln > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/ohlib_vc10.vcxproj >$1/ObjectHandler/ohlib_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/ohlib_vc10.vcxproj.filters >>$1/ObjectHandler/ohlib_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/ohxl/ohxll/ohxll_vc10.vcxproj >>$1/ObjectHandler/ohxl/ohxll/ohxll_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/ohxl/ohxll/ohxll_vc10.vcxproj.filters >>$1/ObjectHandler/ohxl/ohxll/ohxll_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/ohxl/ohxllib/ohxllib_vc10.vcxproj >>$1/ObjectHandler/ohxl/ohxllib/ohxllib_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/ohxl/ohxllib/ohxllib_vc10.vcxproj.filters >>$1/ObjectHandler/ohxl/ohxllib/ohxllib_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/ObjectHandler/xlsdk/xlsdk_vc10.vcxproj >>$1/ObjectHandler/xlsdk/xlsdk_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/Addins/Cpp/AddinCpp_vc10.vcxproj >>$1/QuantLibAddin/Addins/Cpp/AddinCpp_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/Addins/Cpp/AddinCpp_vc10.vcxproj.filters >>$1/QuantLibAddin/Addins/Cpp/AddinCpp_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/Clients/Cpp/ClientCppDemo_vc10.vcxproj >>$1/QuantLibAddin/Clients/Cpp/ClientCppDemo_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/Clients/CppInstrumentIn/CppInstrumentIn_vc10.vcxproj >>$1/QuantLibAddin/Clients/CppInstrumentIn/CppInstrumentIn_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/Clients/CppSwapOut/ClientCppSwapOut_vc10.vcxproj >>$1/QuantLibAddin/Clients/CppSwapOut/ClientCppSwapOut_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/Docs/docs-QuantLibAddin_vc10.vcxproj >>$1/QuantLibAddin/Docs/docs-QuantLibAddin_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/Docs/docs-QuantLibAddin_vc10.vcxproj.filters >>$1/QuantLibAddin/Docs/docs-QuantLibAddin_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<ConfigurationType>Makefile<\/ConfigurationType>/<ConfigurationType>Makefile<\/ConfigurationType>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/gensrc/qlgensrc_vc10.vcxproj >>$1/QuantLibAddin/gensrc/qlgensrc_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/gensrc/qlgensrc_vc10.vcxproj.filters >>$1/QuantLibAddin/gensrc/qlgensrc_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/QuantLibAddin_vc10.sln >>$1/QuantLibAddin/QuantLibAddin_vc11.sln > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/QuantLibObjects_vc10.vcxproj >>$1/QuantLibAddin/QuantLibObjects_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibAddin/QuantLibObjects_vc10.vcxproj.filters >>$1/QuantLibAddin/QuantLibObjects_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc10.vcxproj >>$1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc10.vcxproj.filters >>$1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLib-SWIG/CSharp/csharp/NQuantLib_vc10.csproj >>$1/QuantLib-SWIG/CSharp/csharp/NQuantLib_vc11.csproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLib-SWIG/CSharp/examples/BermudanSwaption_vc10.csproj >>$1/QuantLib-SWIG/CSharp/examples/BermudanSwaption_vc11.csproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLib-SWIG/CSharp/examples/EquityOption_vc10.csproj >>$1/QuantLib-SWIG/CSharp/examples/EquityOption_vc11.csproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLib-SWIG/CSharp/QuantLib_vc10.sln >>$1/QuantLib-SWIG/CSharp/QuantLib_vc11.sln > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/Docs/docs-QuantLibXL_vc10.vcxproj >>$1/QuantLibXL/Docs/docs-QuantLibXL_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/Docs/docs-QuantLibXL_vc10.vcxproj.filters >>$1/QuantLibXL/Docs/docs-QuantLibXL_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/qlxl/QuantLibXLDynamic_vc10.vcxproj >>$1/QuantLibXL/qlxl/QuantLibXLDynamic_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/qlxl/QuantLibXLDynamic_vc10.vcxproj.filters >>$1/QuantLibXL/qlxl/QuantLibXLDynamic_vc11.vcxproj.filters > sed -e 's/vc10/vc11/g' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' -e > 's/<TargetMachine>MachineX86<\/TargetMachine>/<TargetMachine>MachineX86<\/TargetMachine>\n > <ImageHasSafeExceptionHandlers>false<\/ImageHasSafeExceptionHandlers>/' > <$1/QuantLibXL/qlxl/QuantLibXLStatic_vc10.vcxproj >>$1/QuantLibXL/qlxl/QuantLibXLStatic_vc11.vcxproj > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/qlxl/QuantLibXLStatic_vc10.vcxproj.filters >>$1/QuantLibXL/qlxl/QuantLibXLStatic_vc11.vcxproj.filters > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/QuantLibAllDynamic_vc10.sln >>$1/QuantLibXL/QuantLibAllDynamic_vc11.sln > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/QuantLibXL_basic_vc10.sln >>$1/QuantLibXL/QuantLibXL_basic_vc11.sln > sed -e 's/vc10/vc11/' -e > 's/<CharacterSet>MultiByte<\/CharacterSet>/<CharacterSet>MultiByte<\/CharacterSet>\n > <PlatformToolset>v110<\/PlatformToolset>/' > <$1/QuantLibXL/QuantLibXL_full_vc10.sln >>$1/QuantLibXL/QuantLibXL_full_vc11.sln > > sed 's/# define LOG4CXX_LIB_TOOLSET "vc100"/# define LOG4CXX_LIB_TOOLSET > "vc100"\n#elif (_MSC_VER == 1700)\n# define LOG4CXX_LIB_TOOLSET "vc110"/' > <$1/log4cxx/src/main/include/log4cxx/auto_link.hpp >>$1/log4cxx/src/main/include/log4cxx/auto_link.hpp.new > sed 's/# define XLSDK_LIB_TOOLSET "vc100"/# define XLSDK_LIB_TOOLSET > "vc100"\n#elif (_MSC_VER == 1700)\n# define XLSDK_LIB_TOOLSET "vc110"/' > <$1/ObjectHandler/xlsdk/auto_link.hpp >>$1/ObjectHandler/xlsdk/auto_link.hpp.new > sed 's/# define QLADDIN_LIB_TOOLSET "vc100"/# define QLADDIN_LIB_TOOLSET > "vc100"\n#elif (_MSC_VER == 1700)\n# define QLADDIN_LIB_TOOLSET "vc110"/' > <$1/QuantLibAddin/qlo/auto_link.hpp >$1/QuantLibAddin/qlo/auto_link.hpp.new > sed 's/# define OBJHANDLER_LIB_TOOLSET "vc100"/# define > OBJHANDLER_LIB_TOOLSET "vc100"\n#elif (_MSC_VER == 1700)\n# define > OBJHANDLER_LIB_TOOLSET "vc110"/' <$1/ObjectHandler/oh/auto_link.hpp >>$1/ObjectHandler/oh/auto_link.hpp.new > > mv $1/log4cxx/src/main/include/log4cxx/auto_link.hpp.new > $1/log4cxx/src/main/include/log4cxx/auto_link.hpp > mv $1/ObjectHandler/xlsdk/auto_link.hpp.new > $1/ObjectHandler/xlsdk/auto_link.hpp > mv $1/QuantLibAddin/qlo/auto_link.hpp.new $1/QuantLibAddin/qlo/auto_link.hpp > mv $1/ObjectHandler/oh/auto_link.hpp.new $1/ObjectHandler/oh/auto_link.hpp > > > > > > > > -- > > > > ________________________________ > > Piter Dias > pit...@pi... > http://www.piterdias.com > > > ------------------------------------------------------------------------------ > November Webinars for C, C++, Fortran Developers > Accelerate application performance with scalable programming models. Explore > techniques for threading, error checking, porting, and tuning. Get the most > from the latest Intel processors and coprocessors. See abstracts and > register > http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk > _______________________________________________ > QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev > -- <https://implementingquantlib.blogspot.com> <https://twitter.com/lballabio> |
|
From: Piter D. <pit...@pi...> - 2013-11-09 23:46:43
|
Guys, I just sent a QuatLibXL VS 2012 upgrade via pull request 54 and see below how I did it (packages is where I store some third projects): Let me know if you have any concerns. rm -rf $1 cp -r ../packages/quantlib $1 sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/gensrc/Docs/docs_vc10.vcxproj >$1/gensrc/Docs/docs_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/gensrc/Docs/docs_vc10.vcxproj.filters >$1/gensrc/Docs/docs_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/gensrc/gensrc_vc10.sln >$1/gensrc/gensrc_vc11.sln sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/gensrc/gensrc_vc10.vcxproj >$1/gensrc/gensrc_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/gensrc/gensrc_vc10.vcxproj.filters >$1/gensrc/gensrc_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/log4cxx/msvc/apr_vc10.vcxproj >$1/log4cxx/msvc/apr_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/log4cxx/msvc/apr_vc10.vcxproj.filters >$1/log4cxx/msvc/apr_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/log4cxx/msvc/aprutil_vc10.vcxproj >$1/log4cxx/msvc/aprutil_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/log4cxx/msvc/aprutil_vc10.vcxproj.filters >$1/log4cxx/msvc/aprutil_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/log4cxx/msvc/log4cxx_vc10.sln >$1/log4cxx/msvc/log4cxx_vc11.sln sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/log4cxx/msvc/log4cxx_vc10.vcxproj >$1/log4cxx/msvc/log4cxx_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/log4cxx/msvc/log4cxx_vc10.vcxproj.filters >$1/log4cxx/msvc/log4cxx_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Docs/docs_vc10.vcxproj >$1/ObjectHandler/Docs/docs_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Docs/docs_vc10.vcxproj.filters >$1/ObjectHandler/Docs/docs_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/C++/ExampleCpp_vc10.vcxproj >$1/ObjectHandler/Examples/C++/ExampleCpp_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/C++/ExampleCpp_vc10.vcxproj.user >$1/ObjectHandler/Examples/C++/ExampleCpp_vc11.vcxproj.user sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc10.vcxproj >$1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc10.vcxproj.filters >$1/ObjectHandler/Examples/ExampleObjects/ExampleObjects_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc10.vcxproj >$1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc10.vcxproj.user >$1/ObjectHandler/Examples/xl/ExampleXllDynamic1_vc11.vcxproj.user sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc10.vcxproj >$1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc10.vcxproj.user >$1/ObjectHandler/Examples/xl/ExampleXllDynamic2_vc11.vcxproj.user sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/xl/ExampleXllStatic_vc10.vcxproj >$1/ObjectHandler/Examples/xl/ExampleXllStatic_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/Examples/xl/ExampleXllStatic_vc10.vcxproj.user >$1/ObjectHandler/Examples/xl/ExampleXllStatic_vc11.vcxproj.user sed -e 's/vc10/vc11/' -e 's/<ConfigurationType>Makefile</ConfigurationType>/<ConfigurationType>Makefile</ConfigurationType>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/gensrc/ohgensrc_vc10.vcxproj >$1/ObjectHandler/gensrc/ohgensrc_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/gensrc/ohgensrc_vc10.vcxproj.filters >$1/ObjectHandler/gensrc/ohgensrc_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/ObjectHandler_vc10.sln >$1/ObjectHandler/ObjectHandler_vc11.sln sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/ohlib_vc10.vcxproj >$1/ObjectHandler/ohlib_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/ohlib_vc10.vcxproj.filters >$1/ObjectHandler/ohlib_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/ohxl/ohxll/ohxll_vc10.vcxproj >$1/ObjectHandler/ohxl/ohxll/ohxll_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/ohxl/ohxll/ohxll_vc10.vcxproj.filters >$1/ObjectHandler/ohxl/ohxll/ohxll_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/ohxl/ohxllib/ohxllib_vc10.vcxproj >$1/ObjectHandler/ohxl/ohxllib/ohxllib_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/ohxl/ohxllib/ohxllib_vc10.vcxproj.filters >$1/ObjectHandler/ohxl/ohxllib/ohxllib_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/ObjectHandler/xlsdk/xlsdk_vc10.vcxproj >$1/ObjectHandler/xlsdk/xlsdk_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/Addins/Cpp/AddinCpp_vc10.vcxproj >$1/QuantLibAddin/Addins/Cpp/AddinCpp_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/Addins/Cpp/AddinCpp_vc10.vcxproj.filters >$1/QuantLibAddin/Addins/Cpp/AddinCpp_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/Clients/Cpp/ClientCppDemo_vc10.vcxproj >$1/QuantLibAddin/Clients/Cpp/ClientCppDemo_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/Clients/CppInstrumentIn/CppInstrumentIn_vc10.vcxproj >$1/QuantLibAddin/Clients/CppInstrumentIn/CppInstrumentIn_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/Clients/CppSwapOut/ClientCppSwapOut_vc10.vcxproj >$1/QuantLibAddin/Clients/CppSwapOut/ClientCppSwapOut_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/Docs/docs-QuantLibAddin_vc10.vcxproj >$1/QuantLibAddin/Docs/docs-QuantLibAddin_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/Docs/docs-QuantLibAddin_vc10.vcxproj.filters >$1/QuantLibAddin/Docs/docs-QuantLibAddin_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<ConfigurationType>Makefile</ConfigurationType>/<ConfigurationType>Makefile</ConfigurationType>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/gensrc/qlgensrc_vc10.vcxproj >$1/QuantLibAddin/gensrc/qlgensrc_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/gensrc/qlgensrc_vc10.vcxproj.filters >$1/QuantLibAddin/gensrc/qlgensrc_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/QuantLibAddin_vc10.sln >$1/QuantLibAddin/QuantLibAddin_vc11.sln sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/QuantLibObjects_vc10.vcxproj >$1/QuantLibAddin/QuantLibObjects_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibAddin/QuantLibObjects_vc10.vcxproj.filters >$1/QuantLibAddin/QuantLibObjects_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc10.vcxproj >$1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc10.vcxproj.filters >$1/QuantLib-SWIG/CSharp/cpp/QuantlibWrapper_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLib-SWIG/CSharp/csharp/NQuantLib_vc10.csproj >$1/QuantLib-SWIG/CSharp/csharp/NQuantLib_vc11.csproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLib-SWIG/CSharp/examples/BermudanSwaption_vc10.csproj >$1/QuantLib-SWIG/CSharp/examples/BermudanSwaption_vc11.csproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLib-SWIG/CSharp/examples/EquityOption_vc10.csproj >$1/QuantLib-SWIG/CSharp/examples/EquityOption_vc11.csproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLib-SWIG/CSharp/QuantLib_vc10.sln >$1/QuantLib-SWIG/CSharp/QuantLib_vc11.sln sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/Docs/docs-QuantLibXL_vc10.vcxproj >$1/QuantLibXL/Docs/docs-QuantLibXL_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/Docs/docs-QuantLibXL_vc10.vcxproj.filters >$1/QuantLibXL/Docs/docs-QuantLibXL_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/qlxl/QuantLibXLDynamic_vc10.vcxproj >$1/QuantLibXL/qlxl/QuantLibXLDynamic_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/qlxl/QuantLibXLDynamic_vc10.vcxproj.filters >$1/QuantLibXL/qlxl/QuantLibXLDynamic_vc11.vcxproj.filters sed -e 's/vc10/vc11/g' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' -e 's/<TargetMachine>MachineX86</TargetMachine>/<TargetMachine>MachineX86</TargetMachine>n <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>/' <$1/QuantLibXL/qlxl/QuantLibXLStatic_vc10.vcxproj >$1/QuantLibXL/qlxl/QuantLibXLStatic_vc11.vcxproj sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/qlxl/QuantLibXLStatic_vc10.vcxproj.filters >$1/QuantLibXL/qlxl/QuantLibXLStatic_vc11.vcxproj.filters sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/QuantLibAllDynamic_vc10.sln >$1/QuantLibXL/QuantLibAllDynamic_vc11.sln sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/QuantLibXL_basic_vc10.sln >$1/QuantLibXL/QuantLibXL_basic_vc11.sln sed -e 's/vc10/vc11/' -e 's/<CharacterSet>MultiByte</CharacterSet>/<CharacterSet>MultiByte</CharacterSet>n <PlatformToolset>v110</PlatformToolset>/' <$1/QuantLibXL/QuantLibXL_full_vc10.sln >$1/QuantLibXL/QuantLibXL_full_vc11.sln sed 's/# define LOG4CXX_LIB_TOOLSET "vc100"/# define LOG4CXX_LIB_TOOLSET "vc100"n#elif (_MSC_VER == 1700)n# define LOG4CXX_LIB_TOOLSET "vc110"/' <$1/log4cxx/src/main/include/log4cxx/auto_link.hpp >$1/log4cxx/src/main/include/log4cxx/auto_link.hpp.new sed 's/# define XLSDK_LIB_TOOLSET "vc100"/# define XLSDK_LIB_TOOLSET "vc100"n#elif (_MSC_VER == 1700)n# define XLSDK_LIB_TOOLSET "vc110"/' <$1/ObjectHandler/xlsdk/auto_link.hpp >$1/ObjectHandler/xlsdk/auto_link.hpp.new sed 's/# define QLADDIN_LIB_TOOLSET "vc100"/# define QLADDIN_LIB_TOOLSET "vc100"n#elif (_MSC_VER == 1700)n# define QLADDIN_LIB_TOOLSET "vc110"/' <$1/QuantLibAddin/qlo/auto_link.hpp >$1/QuantLibAddin/qlo/auto_link.hpp.new sed 's/# define OBJHANDLER_LIB_TOOLSET "vc100"/# define OBJHANDLER_LIB_TOOLSET "vc100"n#elif (_MSC_VER == 1700)n# define OBJHANDLER_LIB_TOOLSET "vc110"/' <$1/ObjectHandler/oh/auto_link.hpp >$1/ObjectHandler/oh/auto_link.hpp.new mv $1/log4cxx/src/main/include/log4cxx/auto_link.hpp.new $1/log4cxx/src/main/include/log4cxx/auto_link.hpp mv $1/ObjectHandler/xlsdk/auto_link.hpp.new $1/ObjectHandler/xlsdk/auto_link.hpp mv $1/QuantLibAddin/qlo/auto_link.hpp.new $1/QuantLibAddin/qlo/auto_link.hpp mv $1/ObjectHandler/oh/auto_link.hpp.new $1/ObjectHandler/oh/auto_link.hpp -- ------------------------- Piter Dias pit...@pi... http://www.piterdias.com [1] Links: ------ [1] http://www.piterdias.com |
|
From: Karol P. <kpy...@gm...> - 2013-11-08 18:11:13
|
Hi All, I am new to QuantLib dev, but I've been using it for some time and I am very interested to contribute to the source code :) Would you recommend any issue or a new feature that you think could be a good starting point? Also, is there any "wish list" of the features that are considered worth adding? Thanks, Karol |
|
From: Chris H. <chr...@ya...> - 2013-11-01 16:54:29
|
I found that adding this code to the routine Calendar::advance allows the schedule to be generated as expected if annDay is passed as 29:
...
} else {
Date d1 = d + n*unit;
// we are sure the unit is Months or Years
if (endOfMonth && isEndOfMonth(d))
return Calendar::endOfMonth(d1);
else if (annDay > 0)
{
if (annDay >= Calendar::endOfMonth(d1).dayOfMonth())
return Calendar::endOfMonth(d1);
else
d1 = Date(annDay, d1.month(), d1.year());
}
return adjust(d1, c);
}
}
...
The rest of the changes involve only the passing of annDay as a new optional parameter to the Schedule constructor, and then on into the calls to Calendar::advance.
Chris
On Friday, 1 November 2013, 8:56, Chris Higgs <chr...@ya...> wrote:
ate =EffDate = 20090827
MatDate = 20220829
Frequency = Semi-Annual
Payment
day of month = 29
Payment Date rule = Modified
Following
Payment Holiday Calendar = EUR
Resulting
payment dates (according to Summit):
20100226
20100830
20110228
20110829
20120229
20120829
20130228
20130829
20140228
20140829
20150227
20150831
20160229
20160829
20170228
20170829
20180228
20180829
20190228
20190829
20200228
20200831
20210226
20210830
20220228
20220829
I am guessing in this particular case that just
setting the Schedule to generate backwards from 20220829 and not setting firstDateor nextToLastDatemight produce the correct result? However I
could produce other test cases where it would not work, for example
EffDate = 20090228
MatDate = 20220228
Payment Frequency = Annual
Payment day of month = 29
I
believe that adding an extra optional parameter to the Schedule constructor
would allow this case to be internally handled but not break any existing code:
Schedule(Date effectiveDate,
const Date& terminationDate,
const Period& tenor,
const Calendar& calendar,
BusinessDayConvention convention,
BusinessDayConvention
terminationDateConvention,
DateGeneration::Rule rule,
bool endOfMonth,
const Date& firstDate = Date(),
constDate& nextToLastDate = Date()
int
annDayOfMonth = 0);
Setting
annDayOfMonth=31 is then the same as setting endOfMonth=true. Setting annDayOfMonth=29
or 30 will then trigger new functionality to generate schedules as above.
Chris
On Thursday, 31 October 2013, 22:12, Ferdinando M. Ametrano <fer...@am...> wrote:
may you please post target vector of dates to be reproduced?
On Thu, Oct 31, 2013 at 6:19 PM, Chris Higgs <chr...@ya...> wrote:
I am building a bridge between Summit and QuantLib and have come across a payment schedule which I believe cannot currently be generated in QuantLib. Basically it has payments to be made on the 29th of each month, but with a settlement/start date not on the 29th. Normally I am passing the firstDate parameter to the Schedule class as the 29th of the relevant month of the first payment. However in my case the first date is in February 2009, so I cannot do this as 29th Feb 2009 is an invalid date. If I pass the 28th Feb, then most of my payments come out on the 28th, and if I set the end of month flag I get typically the 30th/31st, neither of which is correct I believe the same issue arise if payments are supposed to happen on the 30th of the month.
>
>If someone can confirm this is indeed a case not currently handled,
then I happy to take a look at the code to see if I can work out a solution which caters for this case, and which would be backwards compatible.
>
>Chris Higgs
>
>
>
>------------------------------------------------------------------------------
>Android is increasing in popularity, but the open development platform that
>developers love is also attractive to malware creators. Download this white
>paper to learn more about secure code signing practices that can help keep
>Android apps secure.
>http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
>_______________________________________________
>QuantLib-dev mailing list
>Qua...@li...
>https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>
>
------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
QuantLib-dev mailing list
Qua...@li...
https://lists.sourceforge.net/lists/listinfo/quantlib-dev |
|
From: Chris H. <chr...@ya...> - 2013-11-01 07:55:57
|
ate =EffDate = 20090827 MatDate = 20220829 Frequency = Semi-Annual Payment day of month = 29 Payment Date rule = Modified Following Payment Holiday Calendar = EUR Resulting payment dates (according to Summit): 20100226 20100830 20110228 20110829 20120229 20120829 20130228 20130829 20140228 20140829 20150227 20150831 20160229 20160829 20170228 20170829 20180228 20180829 20190228 20190829 20200228 20200831 20210226 20210830 20220228 20220829 I am guessing in this particular case that just setting the Schedule to generate backwards from 20220829 and not setting firstDateor nextToLastDatemight produce the correct result? However I could produce other test cases where it would not work, for example EffDate = 20090228 MatDate = 20220228 Payment Frequency = Annual Payment day of month = 29 I believe that adding an extra optional parameter to the Schedule constructor would allow this case to be internally handled but not break any existing code: Schedule(Date effectiveDate, const Date& terminationDate, const Period& tenor, const Calendar& calendar, BusinessDayConvention convention, BusinessDayConvention terminationDateConvention, DateGeneration::Rule rule, bool endOfMonth, const Date& firstDate = Date(), constDate& nextToLastDate = Date() int annDayOfMonth = 0); Setting annDayOfMonth=31 is then the same as setting endOfMonth=true. Setting annDayOfMonth=29 or 30 will then trigger new functionality to generate schedules as above. Chris On Thursday, 31 October 2013, 22:12, Ferdinando M. Ametrano <fer...@am...> wrote: may you please post target vector of dates to be reproduced? On Thu, Oct 31, 2013 at 6:19 PM, Chris Higgs <chr...@ya...> wrote: I am building a bridge between Summit and QuantLib and have come across a payment schedule which I believe cannot currently be generated in QuantLib. Basically it has payments to be made on the 29th of each month, but with a settlement/start date not on the 29th. Normally I am passing the firstDate parameter to the Schedule class as the 29th of the relevant month of the first payment. However in my case the first date is in February 2009, so I cannot do this as 29th Feb 2009 is an invalid date. If I pass the 28th Feb, then most of my payments come out on the 28th, and if I set the end of month flag I get typically the 30th/31st, neither of which is correct I believe the same issue arise if payments are supposed to happen on the 30th of the month. > >If someone can confirm this is indeed a case not currently handled, then I happy to take a look at the code to see if I can work out a solution which caters for this case, and which would be backwards compatible. > >Chris Higgs > > > >------------------------------------------------------------------------------ >Android is increasing in popularity, but the open development platform that >developers love is also attractive to malware creators. Download this white >paper to learn more about secure code signing practices that can help keep >Android apps secure. >http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk >_______________________________________________ >QuantLib-dev mailing list >Qua...@li... >https://lists.sourceforge.net/lists/listinfo/quantlib-dev > > |
|
From: Ferdinando M. A. <fer...@am...> - 2013-10-31 21:13:02
|
may you please post target vector of dates to be reproduced? On Thu, Oct 31, 2013 at 6:19 PM, Chris Higgs <chr...@ya...>wrote: > I am building a bridge between Summit and QuantLib and have come across a > payment schedule which I believe cannot currently be generated in QuantLib. > Basically it has payments to be made on the 29th of each month, but with a > settlement/start date not on the 29th. Normally I am passing the firstDate > parameter to the Schedule class as the 29th of the relevant month of the > first payment. However in my case the first date is in February 2009, so I > cannot do this as 29th Feb 2009 is an invalid date. If I pass the 28th Feb, > then most of my payments come out on the 28th, and if I set the end of > month flag I get typically the 30th/31st, neither of which is correct I > believe the same issue arise if payments are supposed to happen on the 30th > of the month. > > If someone can confirm this is indeed a case not currently handled, then I > happy to take a look at the code to see if I can work out a solution which > caters for this case, and which would be backwards compatible. > > Chris Higgs > > > > ------------------------------------------------------------------------------ > Android is increasing in popularity, but the open development platform that > developers love is also attractive to malware creators. Download this white > paper to learn more about secure code signing practices that can help keep > Android apps secure. > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > _______________________________________________ > QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev > > |
|
From: Luigi B. <lui...@gm...> - 2013-10-31 17:32:18
|
Hello Chris,
no, it's not currently handled. (As a workaround, if the first
date were in February but the last weren't, you might build it
backwards from the 29th of the last month. But that's not likely--your
schedules probably span a whole number of years...)
Luigi
On Thu, Oct 31, 2013 at 6:19 PM, Chris Higgs <chr...@ya...> wrote:
> I am building a bridge between Summit and QuantLib and have come across a
> payment schedule which I believe cannot currently be generated in QuantLib.
> Basically it has payments to be made on the 29th of each month, but with a
> settlement/start date not on the 29th. Normally I am passing the firstDate
> parameter to the Schedule class as the 29th of the relevant month of the
> first payment. However in my case the first date is in February 2009, so I
> cannot do this as 29th Feb 2009 is an invalid date. If I pass the 28th Feb,
> then most of my payments come out on the 28th, and if I set the end of month
> flag I get typically the 30th/31st, neither of which is correct I believe
> the same issue arise if payments are supposed to happen on the 30th of the
> month.
>
> If someone can confirm this is indeed a case not currently handled, then I
> happy to take a look at the code to see if I can work out a solution which
> caters for this case, and which would be backwards compatible.
>
> Chris Higgs
>
>
> ------------------------------------------------------------------------------
> Android is increasing in popularity, but the open development platform that
> developers love is also attractive to malware creators. Download this white
> paper to learn more about secure code signing practices that can help keep
> Android apps secure.
> http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
> _______________________________________________
> QuantLib-dev mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>
--
<https://implementingquantlib.blogspot.com>
<https://twitter.com/lballabio>
|
|
From: Chris H. <chr...@ya...> - 2013-10-31 17:19:30
|
I am building a bridge between Summit and QuantLib and have come across a payment schedule which I believe cannot currently be generated in QuantLib. Basically it has payments to be made on the 29th of each month, but with a settlement/start date not on the 29th. Normally I am passing the firstDate parameter to the Schedule class as the 29th of the relevant month of the first payment. However in my case the first date is in February 2009, so I cannot do this as 29th Feb 2009 is an invalid date. If I pass the 28th Feb, then most of my payments come out on the 28th, and if I set the end of month flag I get typically the 30th/31st, neither of which is correct I believe the same issue arise if payments are supposed to happen on the 30th of the month. If someone can confirm this is indeed a case not currently handled, then I happy to take a look at the code to see if I can work out a solution which caters for this case, and which would be backwards compatible. Chris Higgs |
|
From: Luigi B. <lui...@gm...> - 2013-10-30 13:11:52
|
It should be fixed now in the git repository.
Luigi
On Thu, Oct 24, 2013 at 11:20 AM, Luigi Ballabio
<lui...@gm...> wrote:
> Ok, I see. It's YieldTermStructure::update(), which gets called when
> the zero-spreaded curve is notified that the discount handle has
> changed and tries to calculate the new reference date. Except it
> can't, because the handle is empty.
>
> As a quick and dirty fix, wrap the "if" in
> YieldTermStructure::update() in a try/catch and just block the
> exception. But be aware that this could hide other problems, i.e.,
> actual exceptions in setJumps(). I'll try and commit a more robust
> patch in the repository.
>
> Luigi
>
>
> On Wed, Oct 23, 2013 at 11:13 PM, Breig, Dr. Christoph (IDS GmbH)
> <CHR...@in...> wrote:
>> Hi Luigi, hi all,
>> yes, here is it. Do you have an idea how to reset "discTermStructure" after the initialisation of "spreadedDiscTermStructure".
>> -------------------
>> #include <ql/quantlib.hpp>
>>
>> using namespace QuantLib;
>>
>> int main(int, char* []) {
>>
>> try {
>>
>> QuantLib::RelinkableHandle<QuantLib::YieldTermStructure> discTermStructure;
>> boost::shared_ptr<YieldTermStructure> nullYTSPtr;
>> Date evaluationDate = Date(23,Month(10),2013);
>> boost::shared_ptr<YieldTermStructure> yts(new FlatForward(evaluationDate, 0.02, ActualActual()));
>> discTermStructure.linkTo(yts);
>> boost::shared_ptr<Quote> spread(new SimpleQuote(0.02));
>>
>> // no problem
>> discTermStructure.linkTo(nullYTSPtr);
>> discTermStructure.linkTo(yts);
>>
>> // problem
>> boost::shared_ptr<YieldTermStructure> spreadedDiscTermStructure(new ZeroSpreadedTermStructure(discTermStructure,Handle<Quote>(spread)));
>> discTermStructure.linkTo(nullYTSPtr);
>>
>> system("PAUSE");
>> return 0;
>>
>> } catch (std::exception& e) {
>> std::cerr << e.what() << std::endl;
>> system("PAUSE");
>> return 1;
>> } catch (...) {
>> std::cerr << "unknown error" << std::endl;
>> system("PAUSE");
>> return 1;
>> }
>> }
>>
>> -------------
>>
>> Best and thx
>> Chris
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Luigi Ballabio [mailto:lui...@gm...]
>> Gesendet: Mittwoch, 23. Oktober 2013 18:08
>> An: Breig, Dr. Christoph (IDS GmbH)
>> Cc: QuantLib developers
>> Betreff: Re: [Quantlib-dev] RelinkableHandle<YieldTermStructure> reset to Null
>>
>> It looks like the spreaded curve notifies its observers of the change,
>> one of them tries to perform some calculation as a consequence, and
>> the calculation fails because the handle is empty. Can you reproduce
>> the problem in a short program you can post?
>>
>> Luigi
>>
>>
>> On Wed, Oct 23, 2013 at 4:49 PM, Breig, Dr. Christoph (IDS GmbH)
>> <CHR...@in...> wrote:
>>> Hi Luigi, hi all
>>>
>>> the empty shared_ptr works fine for e.g. InterpolatedZeroCurves but not for
>>> ZeroSpreadedTermStructures. Then, while setting the empty shared_ptr,
>>> following error messages takes place:
>>> "could not notify one or more observers: empty Handle cannot be
>>> dereferenced"
>>>
>>> I'm at the moment using version 1.0 of QuantLib (in case the problem is a
>>> bug and was already fixed).
>>>
>>> Best and thanks
>>> Chris
>>>
>>> ________________________________
>>> Von: Luigi Ballabio [mailto:lui...@gm...]
>>> Gesendet: Freitag, 18. Oktober 2013 16:13
>>> An: Breig, Dr. Christoph (IDS GmbH)
>>> Cc: QuantLib developers
>>> Betreff: Re: [Quantlib-dev] RelinkableHandle<YieldTermStructure> reset to
>>> Null
>>>
>>> Hi,
>>> link it to an empty shared_ptr.
>>>
>>> Luigi
>>>
>>> On Oct 18, 2013 4:01 PM, "Breig, Dr. Christoph (IDS GmbH)"
>>> <CHR...@in...> wrote:
>>>>
>>>> Dear all,
>>>>
>>>> has anybody an idea how to set a Relinkable Handle who is already linked
>>>> to a YieldTermStructure object back to Null, so that the function
>>>> "empty()" returns again true?
>>>>
>>>> Best and thanks
>>>> Chris
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> October Webinars: Code for Performance
>>>> Free Intel webinars can help you accelerate application performance.
>>>> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
>>>> from
>>>> the latest Intel processors and coprocessors. See abstracts and register >
>>>>
>>>> http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
>>>> _______________________________________________
>>>> QuantLib-dev mailing list
>>>> Qua...@li...
>>>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>>>>
>>>
>>
>>
>>
>> --
>> <https://implementingquantlib.blogspot.com>
>> <https://twitter.com/lballabio>
>
>
>
> --
> <https://implementingquantlib.blogspot.com>
> <https://twitter.com/lballabio>
--
<https://implementingquantlib.blogspot.com>
<https://twitter.com/lballabio>
|
|
From: Luigi B. <lui...@gm...> - 2013-10-29 10:21:31
|
Hi Joe,
I've merged your code into master. Please check if everything
works as expected. (Note: there are a couple of test-case failures
today, but it's an accuracy thing. The same failures appear on version
1.3.)
Keep us updated on what happens in your fork---and people, help Joe
out; it's an interesting project, as well as a useful one. Fork his
repo and send him pull requests.
Later,
Luigi
On Sun, Oct 27, 2013 at 11:54 AM, Joseph Wang <joe...@gm...> wrote:
> I've revised quantlib push #45 to default openmp to off, and to include only
> parallel changes that don't cause numerical differences. Can you take a
> look and see if you can push it into the main quantlib trunk.
>
> Also, I'd be interested to what experiences people out there have with
> openmp. I'm finding that it dramatically speeds up FD and lattice
> calculations in my six-core machine.
--
<https://implementingquantlib.blogspot.com>
<https://twitter.com/lballabio>
|
|
From: Peter C. <pca...@gm...> - 2013-10-27 18:04:29
|
Hi Dirk,
> |
> | dyn.load('/usr/local/lib/R/site-library/QuantLib/libs/QuantLib.so')
> |
> | and after
> |
> | source('~/quantlibpc/QuantLib-SWIG/R/R/QuantLib.R')
>
> Nooooooooooooo!!! That is wrong.
>
don't panic, my fault. I tend to read through readmes too fast, then
often missing the lines on the top ... yes, your new way of doing it
works very well.
> Please lets keep this thread going. Between you, Klaus, Joe, myself, we
> shoukld get some mojo back into QuantLib and R. (And yes, I still plan to
> renovate RQuantLib. Help welcome. Repo on R-Forge, would be happy to move to
> GH if folks think it helped.)
sure. Maybe GH would support collaboration better. Don't know R-Forge though.
Thanks for you help
Peter
|
|
From: Dirk E. <ed...@de...> - 2013-10-27 15:08:15
|
Hi Peter,
On 27 October 2013 at 10:45, Peter Caspers wrote:
| thank you. With
|
| CXX=clang++
| CXXFLAGS=-g -O3 -Wall -pipe -Wno-unused -pedantic -std=c++11
|
| in ~/R/Makevars make runs smooth on my code. I get 12 warnings of type
|
| QuantLib.cpp:552:7: warning: 'register' storage class specifier is deprecated [-Wdeprecated-register]
|
| which does not look critical, and 3 warnings
|
| * checking DESCRIPTION meta-information ... WARNING
| Non-standard license specification:
| QuantLib License
| Standardizable: FALSE
Normal.
R stocks a set of licenses (on Debian/Ubuntu in /usr/share/R/share/licenses/)
but does not know our one. Which does not matter as we'd never ever push this
as a package to CRAN (as we'd need R help page entry for each callable
function etc pp)
| * checking for missing documentation entries ... WARNING
| Undocumented code objects:
| ‘ARSCurrency’ ‘ATSCurrency’ ‘AUDCurrency’ ‘AUDLibor’
| ‘AUDLibor__SWIG_0’ ‘AUDLibor__SWIG_1’ ‘Actual360’ ‘Actual365Fixed’
| ‘Actual365NoLeap’ ‘ActualActual’ ‘ActualActual__SWIG_0’
| ...
Yep. As expected.
| * checking PDF version of manual ... WARNING
| LaTeX errors when creating PDF version.
| This typically indicates Rd problems.
|
| again not dangerous, are they.
|
| Also then running R CMD INSTALL . goes without problems. After that I
| have a QuantLib.so which I can load from R
|
| dyn.load('/usr/local/lib/R/site-library/QuantLib/libs/QuantLib.so')
|
| and after
|
| source('~/quantlibpc/QuantLib-SWIG/R/R/QuantLib.R')
Nooooooooooooo!!! That is wrong.
The changes I made a few months ago allow you to
a) create what looks like an R package to R
b) install it like an R package
c) use it like an R package.
In short: R -e 'library(QuantLib); callWhatEverYouWantHere()'
and of course also in a longer interactive sesssion. Here QuantLib is the
package we got out of QL's SWIG work.
Doing it this is
d) portable as R knows whether your library ends in .so, .dll or .dynlib
e) well understood and a standard in the eosystem you entered: R
f) hence _much_ easier on users
g) also deals with all the metadata (eg the RData)
h) makes R aware of the package too (eg library() sees it)
I apologize for having taken years to make the somewhat small changes to all
the excellent work Joe had to make it build under SWIG. Once you have a
package, it all works much, much better.
| I can succesfully run a few basic tests with QuantLib objects.
|
| However there does not seem to be the compiled wrapper QuantLib.RData
| generated. Was it renamed maybe or do I have to generate it by myself ?
You do that too as part of the package build and load. Automagically.
Please lets keep this thread going. Between you, Klaus, Joe, myself, we
shoukld get some mojo back into QuantLib and R. (And yes, I still plan to
renovate RQuantLib. Help welcome. Repo on R-Forge, would be happy to move to
GH if folks think it helped.)
Dirk
--
Dirk Eddelbuettel | ed...@de... | http://dirk.eddelbuettel.com
|
|
From: Dirk E. <ed...@de...> - 2013-10-27 14:57:03
|
If it helped, there is an M4 snipped at the GNU autoconf archive which I brought to the attention of the R Core team too. If and when they use, we get a #define header to see if C++11 is available. Until then, we might as well toss it into QL's autoconf logic, no? http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html Dirk -- Dirk Eddelbuettel | ed...@de... | http://dirk.eddelbuettel.com |