[libcxx-commits] [PATCH] D114129: [libc++] Fix `uniform_int_distribution` for 128-bit result type

Fabian Wolff via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Nov 18 16:23:44 PST 2021


fwolff added a comment.

In D114129#3141402 <https://reviews.llvm.org/D114129#3141402>, @Quuxplusone wrote:

> On both of those questions (but especially the second), I tentatively propose that we (I?) should granularize `<random>` into `<__random/*.h>` //before// landing this PR. (Which will merge-conflict horribly, no matter which way we do things. Unless people think we should just land this one ASAP. I wouldn't //object// to that, but I wouldn't necessarily encourage it either.)

Sure. Do let me know if/how I can help (so that I'm not stepping on your toes).

> Way before my time; I wonder if @mclow.lists would remember. :) What little I've got: That engine was absent from N1932 <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1932.pdf>, which was discussed in Berlin 2006 (the meeting notes are not enlightening to me); N2079 <http://open-std.org/JTC1/SC22/WG21/docs/papers/2006/n2079.pdf> had the "simple" version of `random_bits_engine`, with some comments indicating that getting the math exactly technically right on `generate_canonical` was harder than it looked; I don't know where N2079 was discussed (presumably Portland though); and then its successor N2111 <http://open-std.org/JTC1/SC22/WG21/docs/papers/2006/n2111.pdf> had the "complicated" version of `independent_bits_engine` and was voted into the Standard in Portland 2006 (the meeting notes are just a straw poll on voting in the still-draft-numbered d2111, no recorded discussion).

Thanks for digging up this information! I can only imagine that it must have something to do with some mathematical intricacy that I'm not seeing...


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114129/new/

https://reviews.llvm.org/D114129



More information about the libcxx-commits mailing list