diff --git a/docs/CODE_OF_CONDUCT.html b/docs/CODE_OF_CONDUCT.html index 08a928a..13cfc67 100644 --- a/docs/CODE_OF_CONDUCT.html +++ b/docs/CODE_OF_CONDUCT.html @@ -33,7 +33,7 @@
- v4.3.8 + v4.3.9
diff --git a/docs/comparison.html b/docs/comparison.html index ab8175c..70565b1 100644 --- a/docs/comparison.html +++ b/docs/comparison.html @@ -34,7 +34,7 @@
- v4.3.8 + v4.3.9
diff --git a/docs/genindex.html b/docs/genindex.html index a9553c0..fad00cd 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -31,7 +31,7 @@
- v4.3.8 + v4.3.9
diff --git a/docs/index.html b/docs/index.html index 117652c..7e86b34 100644 --- a/docs/index.html +++ b/docs/index.html @@ -33,7 +33,7 @@
- v4.3.8 + v4.3.9
diff --git a/docs/license.html b/docs/license.html index a70c0f3..987dd53 100644 --- a/docs/license.html +++ b/docs/license.html @@ -34,7 +34,7 @@
- v4.3.8 + v4.3.9
diff --git a/docs/reference.html b/docs/reference.html index 4a25141..6d7e979 100644 --- a/docs/reference.html +++ b/docs/reference.html @@ -35,7 +35,7 @@
- v4.3.8 + v4.3.9
diff --git a/docs/search.html b/docs/search.html index 49a9805..dffc9f2 100644 --- a/docs/search.html +++ b/docs/search.html @@ -34,7 +34,7 @@
- v4.3.8 + v4.3.9
diff --git a/docs/tutorial.html b/docs/tutorial.html index 3c4f9e9..6e276ed 100644 --- a/docs/tutorial.html +++ b/docs/tutorial.html @@ -35,7 +35,7 @@
- v4.3.8 + v4.3.9
diff --git a/src/docs/conf.py b/src/docs/conf.py index a568170..04ce3e5 100644 --- a/src/docs/conf.py +++ b/src/docs/conf.py @@ -22,7 +22,7 @@ project = 'nanobench' copyright = '2019-2022 Martin Leitner-Ankerl ' author = 'Martin Leitner-Ankerl' -version = 'v4.3.8' +version = 'v4.3.9' # -- General configuration --------------------------------------------------- diff --git a/src/include/nanobench.h b/src/include/nanobench.h index 5f72de8..c03d9ad 100644 --- a/src/include/nanobench.h +++ b/src/include/nanobench.h @@ -33,7 +33,7 @@ // see https://semver.org/ #define ANKERL_NANOBENCH_VERSION_MAJOR 4 // incompatible API changes #define ANKERL_NANOBENCH_VERSION_MINOR 3 // backwards-compatible changes -#define ANKERL_NANOBENCH_VERSION_PATCH 8 // backwards-compatible bug fixes +#define ANKERL_NANOBENCH_VERSION_PATCH 9 // backwards-compatible bug fixes /////////////////////////////////////////////////////////////////////////////////////////////////// // public facing api - as minimal as possible @@ -1182,10 +1182,11 @@ void Rng::shuffle(Container& container) noexcept { while (i > 1U) { using std::swap; auto n = operator()(); - auto b1 = static_cast((static_cast(n) * static_cast(i)) >> 32U); + // using decltype(i) instead of size_t to be compatible to containers with 32bit index (see #80) + auto b1 = static_cast((static_cast(n) * static_cast(i)) >> 32U); swap(container[--i], container[b1]); - auto b2 = static_cast(((n >> 32U) * static_cast(i)) >> 32U); + auto b2 = static_cast(((n >> 32U) * static_cast(i)) >> 32U); swap(container[--i], container[b2]); } }