vlad.tsyrklevich added inline comments.

================
Comment at: clang/include/clang/AST/RecordFieldReorganizer.h:54
+  std::seed_seq Seq;
+  std::default_random_engine rng;
+};
----------------
timpugh wrote:
> connorkuehl wrote:
> > pcc wrote:
> > > I don't think we can use `default_random_engine` for this because the 
> > > behaviour would need to be consistent between C++ standard library 
> > > implementations, and the behaviour of `default_random_engine` is 
> > > implementation defined. Similarly, I don't think that we can use 
> > > `std::shuffle` (see note in 
> > > https://en.cppreference.com/w/cpp/algorithm/random_shuffle ).
> > Sure thing, we'll begin investigating alternatives.
> @pcc  if we were to swap `default_random_engine` for a pre-defined random 
> generator such as `mt19937_64` would this suffice? It is included in the 
> random number library.
> 
> https://en.cppreference.com/w/cpp/numeric/random
In that case the random numbers would be deterministic; however, std::shuffle 
would still vary by implementation (as mentioned in the note Peter linked to.) 
A quick search didn't reveal a deterministic shuffle in the LLVM code so you 
may have to implement one.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D59254



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to