Skip to content

Commit 013e594

Browse files
committed
Revert "Revert "QPR-12140 tmp commit for further debugging unit test""
This reverts commit a1b2c89.
1 parent a1b2c89 commit 013e594

2 files changed

Lines changed: 14 additions & 5 deletions

File tree

ql/math/randomnumbers/burley2020sobolrsg.cpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <ql/math/randomnumbers/burley2020sobolrsg.hpp>
2121
#include <ql/math/randomnumbers/mt19937uniformrng.hpp>
2222
#include <boost/functional/hash.hpp>
23+
#include <iostream>
2324

2425
namespace QuantLib {
2526

@@ -106,15 +107,19 @@ namespace QuantLib {
106107
}
107108

108109
const std::vector<std::uint32_t>& Burley2020SobolRsg::nextInt32Sequence() const {
109-
const auto& seq =
110-
sobolRsg_->skipTo(nested_uniform_scramble(nextSequenceCounter_, group4Seeds_[0]));
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;
111113
std::copy(seq.begin(), seq.end(), integerSequence_.begin());
112114
Size i = 0, group = 0;
113115
do {
114116
Size seed = group4Seeds_[group++];
115117
for (Size g = 0; g < 4 && i < dimensionality_; ++g, ++i) {
116118
boost::hash_combine(seed, g);
117119
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;
118123
}
119124
} while (i < dimensionality_);
120125
++nextSequenceCounter_;
@@ -124,8 +129,11 @@ namespace QuantLib {
124129
const SobolRsg::sample_type& Burley2020SobolRsg::nextSequence() const {
125130
const std::vector<std::uint32_t>& v = nextInt32Sequence();
126131
// normalize to get a double in (0,1)
127-
for (Size k = 0; k < dimensionality_; ++k)
132+
for (Size k = 0; k < dimensionality_; ++k) {
128133
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+
}
129137
return sequence_;
130138
}
131139
}

test-suite/lowdiscrepancysequences.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1093,11 +1093,12 @@ void LowDiscrepancyTest::testHighDimensionalIntegrals() {
10931093
return p;
10941094
};
10951095

1096-
Size N = 30031;
1096+
Size N = 10;//30031;
10971097

10981098
BOOST_TEST_MESSAGE("dimension,Sobol(Gray),Sobol(Seq),Burley2020");
10991099

1100-
std::vector<Size> dimension = {1000,2000,5000};
1100+
std::vector<Size> dimension = {3, 4, 5};
1101+
// std::vector<Size> dimension = {1000,2000,5000};
11011102
std::vector<std::vector<Real>> expectedOrderOfError = {
11021103
{-3.0, -3.0, -4.5}, {-2.5, -2.5, -4.0}, {-2.0, -2.0, -4.0}};
11031104

0 commit comments

Comments
 (0)