Explictly use 64-bit random engine

Avoids downcasting issues for the seed on platforms where the random
engine is actually 32-bit.

Change-Id: Ia9e4cffb688e7c82f3f088b71f99002b76ad1df3
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/65640
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/fuzzers/random_generator.cc b/fuzzers/random_generator.cc
index a485b0e..c50a879 100644
--- a/fuzzers/random_generator.cc
+++ b/fuzzers/random_generator.cc
@@ -32,7 +32,7 @@
 /// @param upper - Upper bound of integer generated
 /// @returns i, where lower <= i < upper
 template <typename I>
-I RandomUInt(std::mt19937* engine, I lower, I upper) {
+I RandomUInt(std::mt19937_64* engine, I lower, I upper) {
   assert(lower < upper && "|lower| must be stictly less than |upper|");
 
   return std::uniform_int_distribution<I>(lower, upper - 1)(*engine);
@@ -80,18 +80,18 @@
 }
 
 uint8_t RandomGenerator::GetByte() {
-  return std::independent_bits_engine<std::mt19937, 8, uint8_t>(engine_)();
+  return std::independent_bits_engine<std::mt19937_64, 8, uint8_t>(engine_)();
 }
 
 uint32_t RandomGenerator::Get4Bytes() {
-  return std::independent_bits_engine<std::mt19937, 32, uint32_t>(engine_)();
+  return std::independent_bits_engine<std::mt19937_64, 32, uint32_t>(engine_)();
 }
 
 void RandomGenerator::GetNBytes(uint8_t* dest, size_t n) {
   assert(dest && "|dest| must not be nullptr");
   std::generate(
       dest, dest + n,
-      std::independent_bits_engine<std::mt19937, 8, uint8_t>(engine_));
+      std::independent_bits_engine<std::mt19937_64, 8, uint8_t>(engine_));
 }
 
 bool RandomGenerator::GetBool() {
diff --git a/fuzzers/random_generator.h b/fuzzers/random_generator.h
index 4fe6acc..002a13c 100644
--- a/fuzzers/random_generator.h
+++ b/fuzzers/random_generator.h
@@ -98,7 +98,7 @@
   }
 
  private:
-  std::mt19937 engine_;
+  std::mt19937_64 engine_;
 
 };  // class RandomGenerator