2020#include < ql/math/randomnumbers/burley2020sobolrsg.hpp>
2121#include < ql/math/randomnumbers/mt19937uniformrng.hpp>
2222#include < boost/functional/hash.hpp>
23- #include < iostream>
2423
2524namespace QuantLib {
2625
@@ -107,19 +106,15 @@ namespace QuantLib {
107106 }
108107
109108 const std::vector<std::uint32_t >& Burley2020SobolRsg::nextInt32Sequence () const {
110- auto n = nested_uniform_scramble (nextSequenceCounter_, group4Seeds_[0 ]);
111- const auto & seq = sobolRsg_->skipTo (n);
112- std::cout << " nextInt32Sequence(): nested_uniform_scramble(" << nextSequenceCounter_ << " ," << group4Seeds_[0 ] << " ) = " << n << std::endl;
109+ const auto & seq =
110+ sobolRsg_->skipTo (nested_uniform_scramble (nextSequenceCounter_, group4Seeds_[0 ]));
113111 std::copy (seq.begin (), seq.end (), integerSequence_.begin ());
114112 Size i = 0 , group = 0 ;
115113 do {
116114 Size seed = group4Seeds_[group++];
117115 for (Size g = 0 ; g < 4 && i < dimensionality_; ++g, ++i) {
118116 boost::hash_combine (seed, g);
119117 integerSequence_[i] = nested_uniform_scramble (integerSequence_[i], seed);
120- std::cout << " nextInt32Sequence(): nested_uniform_scramble(" << integerSequence_[i]
121- << " ," << seed << " ) = " << integerSequence_[i] << " (i=" << i
122- << " )" << std::endl;
123118 }
124119 } while (i < dimensionality_);
125120 ++nextSequenceCounter_;
@@ -129,11 +124,8 @@ namespace QuantLib {
129124 const SobolRsg::sample_type& Burley2020SobolRsg::nextSequence () const {
130125 const std::vector<std::uint32_t >& v = nextInt32Sequence ();
131126 // normalize to get a double in (0,1)
132- for (Size k = 0 ; k < dimensionality_; ++k) {
127+ for (Size k = 0 ; k < dimensionality_; ++k)
133128 sequence_.value [k] = static_cast <double >(v[k]) / 4294967296.0 ;
134- std::cout << " nextSequence(): " << v[k] << " / 4294967296.0 = " << sequence_.value [k]
135- << " (k=" << k << " )" << std::endl;
136- }
137129 return sequence_;
138130 }
139131}
0 commit comments