Internal cleanup

PiperOrigin-RevId: 950841043
Change-Id: I8948415dec8790c284a31738bd037572a7ddbba2
diff --git a/absl/random/internal/BUILD.bazel b/absl/random/internal/BUILD.bazel
index df91d9c..3ba8d9c 100644
--- a/absl/random/internal/BUILD.bazel
+++ b/absl/random/internal/BUILD.bazel
@@ -194,6 +194,7 @@
         ":platform",
         ":randen",
         ":seed_material",
+        "//absl/algorithm:container",
         "//absl/base",
         "//absl/base:config",
         "//absl/base:core_headers",
@@ -367,8 +368,9 @@
     deps = [
         ":platform",
         ":randen_hwaes",
+        ":randen_hwaes_impl",
         ":randen_slow",
-        "//absl/base:raw_logging_internal",
+        "//absl/base:config",
     ],
 )
 
@@ -394,13 +396,11 @@
     ],
     hdrs = [
         "randen_detect.h",
-        "randen_hwaes.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
         ":platform",
-        ":randen_hwaes_impl",
         "//absl/base:config",
     ],
 )
@@ -410,6 +410,8 @@
     name = "randen_hwaes_impl",
     srcs = [
         "randen_hwaes.cc",
+    ],
+    hdrs = [
         "randen_hwaes.h",
     ],
     copts = ABSL_DEFAULT_COPTS + ABSL_RANDOM_RANDEN_COPTS + select({
@@ -421,7 +423,6 @@
     deps = [
         ":platform",
         "//absl/base:config",
-        "//absl/base:core_headers",
         "//absl/numeric:int128",
     ],
 )
@@ -433,6 +434,7 @@
     ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
+        "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/random:distributions",
     ],
@@ -537,7 +539,8 @@
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
         ":explicit_seed_seq",
-        "//absl/random:seed_sequences",
+        "//absl/base:config",
+        "//absl/base:core_headers",
         "@googletest//:gtest",
         "@googletest//:gtest_main",
     ],
@@ -551,6 +554,8 @@
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
         ":salted_seed_seq",
+        ":seed_material",
+        "//absl/base:core_headers",
         "@googletest//:gtest",
         "@googletest//:gtest_main",
     ],
@@ -566,6 +571,7 @@
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
         ":distribution_test_util",
+        "//absl/algorithm:container",
         "//absl/base:core_headers",
         "@googletest//:gtest",
         "@googletest//:gtest_main",
@@ -582,6 +588,7 @@
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
         ":fast_uniform_bits",
+        "//absl/base:config",
         "@googletest//:gtest",
         "@googletest//:gtest_main",
     ],
@@ -621,8 +628,8 @@
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
         ":nonsecure_base",
+        "//absl/algorithm:container",
         "//absl/container:flat_hash_set",
-        "//absl/meta:type_traits",
         "//absl/random",
         "//absl/random:distributions",
         "//absl/synchronization",
@@ -672,7 +679,6 @@
     deps = [
         ":explicit_seed_seq",
         ":pcg_engine",
-        "//absl/time",
         "@googletest//:gtest",
         "@googletest//:gtest_main",
     ],
@@ -690,7 +696,6 @@
         ":explicit_seed_seq",
         ":randen_engine",
         "//absl/log",
-        "//absl/strings",
         "//absl/time",
         "@googletest//:gtest",
         "@googletest//:gtest_main",
@@ -705,7 +710,6 @@
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
         ":randen",
-        "//absl/meta:type_traits",
         "@googletest//:gtest",
         "@googletest//:gtest_main",
     ],
@@ -720,7 +724,6 @@
     deps = [
         ":platform",
         ":randen_slow",
-        "//absl/base:endian",
         "@googletest//:gtest",
         "@googletest//:gtest_main",
     ],
@@ -738,7 +741,6 @@
         ":randen_hwaes",
         ":randen_hwaes_impl",  # build_cleaner: keep
         "//absl/log",
-        "//absl/strings:str_format",
         "@googletest//:gtest",
     ],
 )
@@ -750,6 +752,7 @@
     copts = ABSL_TEST_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
+        ":traits",
         ":wide_multiply",
         "//absl/numeric:int128",
         "@googletest//:gtest",
@@ -765,6 +768,7 @@
     deps = [
         ":platform",
         ":randen_engine",
+        "//absl/algorithm:container",
         "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/base:raw_logging_internal",
@@ -811,6 +815,7 @@
     ],
     deps = [
         ":nanobenchmark",
+        "//absl/base:config",
         "//absl/log",
         "//absl/log:check",
         "//absl/strings",
@@ -829,7 +834,6 @@
     tags = ABSL_RANDOM_NONPORTABLE_TAGS + ["benchmark"],
     deps = [
         ":nanobenchmark",
-        ":platform",
         ":randen",
         ":randen_engine",
         ":randen_hwaes",
diff --git a/absl/random/internal/chi_square.cc b/absl/random/internal/chi_square.cc
index 4cfc4d7..481c1c3 100644
--- a/absl/random/internal/chi_square.cc
+++ b/absl/random/internal/chi_square.cc
@@ -16,6 +16,7 @@
 
 #include <cmath>
 
+#include "absl/base/config.h"
 #include "absl/random/internal/distribution_test_util.h"
 
 namespace absl {
diff --git a/absl/random/internal/chi_square_test.cc b/absl/random/internal/chi_square_test.cc
index 29fd988..8e02f7a 100644
--- a/absl/random/internal/chi_square_test.cc
+++ b/absl/random/internal/chi_square_test.cc
@@ -22,6 +22,7 @@
 #include <vector>
 
 #include "gtest/gtest.h"
+#include "absl/algorithm/container.h"
 #include "absl/base/macros.h"
 
 using absl::random_internal::ChiSquare;
@@ -176,8 +177,8 @@
   // $ python -c "import scipy.stats
   // > print scipy.stats.chisquare([910293487, 910292491, 910216780])[0]"
   // 4.25410123524
-  double sum = std::accumulate(std::begin(data), std::end(data), double{0});
-  size_t n = std::distance(std::begin(data), std::end(data));
+  double sum = absl::c_accumulate(data, double{0});
+  size_t n = absl::c_distance(data);
   double a = ChiSquareWithExpected(std::begin(data), std::end(data), sum / n);
   EXPECT_NEAR(4.254101, a, 1e-6);
 
@@ -343,8 +344,8 @@
   // The dof value of 4, @95% = 9.488 (see above test)
   // The dof value of 5, @95% = 11.070
   const int rolls[6] = {22, 11, 17, 14, 20, 18};
-  double sum = std::accumulate(std::begin(rolls), std::end(rolls), double{0});
-  size_t n = std::distance(std::begin(rolls), std::end(rolls));
+  double sum = absl::c_accumulate(rolls, double{0});
+  size_t n = absl::c_distance(rolls);
 
   double a = ChiSquareWithExpected(std::begin(rolls), std::end(rolls), sum / n);
   EXPECT_NEAR(a, 4.70588, 1e-5);
diff --git a/absl/random/internal/distribution_test_util.cc b/absl/random/internal/distribution_test_util.cc
index 9fa37bd..4ae6fcb 100644
--- a/absl/random/internal/distribution_test_util.cc
+++ b/absl/random/internal/distribution_test_util.cc
@@ -14,15 +14,20 @@
 
 #include "absl/random/internal/distribution_test_util.h"
 
+#include <algorithm>
 #include <cassert>
 #include <cmath>
+#include <limits>
+#include <ostream>
 #include <string>
-#include <vector>
 
+#include "absl/base/config.h"
 #include "absl/base/internal/raw_logging.h"
 #include "absl/base/macros.h"
 #include "absl/strings/str_cat.h"
 #include "absl/strings/str_format.h"
+#include "absl/strings/string_view.h"
+#include "absl/types/span.h"
 
 namespace absl {
 ABSL_NAMESPACE_BEGIN
diff --git a/absl/random/internal/distribution_test_util_test.cc b/absl/random/internal/distribution_test_util_test.cc
index c49d44f..1b66879 100644
--- a/absl/random/internal/distribution_test_util_test.cc
+++ b/absl/random/internal/distribution_test_util_test.cc
@@ -14,6 +14,9 @@
 
 #include "absl/random/internal/distribution_test_util.h"
 
+#include <utility>
+#include <vector>
+
 #include "gtest/gtest.h"
 
 namespace {
diff --git a/absl/random/internal/entropy_pool.cc b/absl/random/internal/entropy_pool.cc
index 1386700..21f8305 100644
--- a/absl/random/internal/entropy_pool.cc
+++ b/absl/random/internal/entropy_pool.cc
@@ -20,6 +20,7 @@
 #include <cstring>
 #include <iterator>
 
+#include "absl/algorithm/container.h"
 #include "absl/base/attributes.h"
 #include "absl/base/call_once.h"
 #include "absl/base/config.h"
@@ -56,21 +57,21 @@
 
   void Init(absl::Span<const uint32_t> data) {
     SpinLockHolder l(mu_);  // Always uncontested.
-    std::copy(data.begin(), data.end(), std::begin(state_));
+    absl::c_copy(data, std::begin(state_));
     next_ = kState;
   }
 
   // Copy bytes into out.
   void Fill(uint8_t* out, size_t bytes) ABSL_LOCKS_EXCLUDED(mu_);
 
-  inline void MaybeRefill() ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_) {
+  void MaybeRefill() ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_) {
     if (next_ >= kState) {
       next_ = kCapacity;
       impl_.Generate(state_);
     }
   }
 
-  inline size_t available() const ABSL_SHARED_LOCKS_REQUIRED(mu_) {
+  size_t available() const ABSL_SHARED_LOCKS_REQUIRED(mu_) {
     return kState - next_;
   }
 
diff --git a/absl/random/internal/explicit_seed_seq_test.cc b/absl/random/internal/explicit_seed_seq_test.cc
index 68c9ab2..1cf6806 100644
--- a/absl/random/internal/explicit_seed_seq_test.cc
+++ b/absl/random/internal/explicit_seed_seq_test.cc
@@ -14,13 +14,17 @@
 
 #include "absl/random/internal/explicit_seed_seq.h"
 
+#include <cstddef>
+#include <cstdint>
 #include <iterator>
 #include <random>
 #include <utility>
+#include <vector>
 
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
-#include "absl/random/seed_sequences.h"
+#include "absl/base/config.h"
+#include "absl/base/macros.h"
 
 namespace {
 
diff --git a/absl/random/internal/fast_uniform_bits_test.cc b/absl/random/internal/fast_uniform_bits_test.cc
index 34c2520..3c33d41 100644
--- a/absl/random/internal/fast_uniform_bits_test.cc
+++ b/absl/random/internal/fast_uniform_bits_test.cc
@@ -14,9 +14,13 @@
 
 #include "absl/random/internal/fast_uniform_bits.h"
 
+#include <cstddef>
+#include <cstdint>
+#include <limits>
 #include <random>
 
 #include "gtest/gtest.h"
+#include "absl/base/config.h"
 
 namespace absl {
 ABSL_NAMESPACE_BEGIN
diff --git a/absl/random/internal/fastmath_test.cc b/absl/random/internal/fastmath_test.cc
index 0b9ae5e..cd33d7a 100644
--- a/absl/random/internal/fastmath_test.cc
+++ b/absl/random/internal/fastmath_test.cc
@@ -14,6 +14,9 @@
 
 #include "absl/random/internal/fastmath.h"
 
+#include <cmath>
+#include <cstdint>
+
 #include "gtest/gtest.h"
 
 #if defined(__EMSCRIPTEN__)
diff --git a/absl/random/internal/gaussian_distribution_gentables.cc b/absl/random/internal/gaussian_distribution_gentables.cc
index 3561251..2132450 100644
--- a/absl/random/internal/gaussian_distribution_gentables.cc
+++ b/absl/random/internal/gaussian_distribution_gentables.cc
@@ -22,6 +22,7 @@
 #include <limits>
 #include <string>
 
+#include "absl/base/config.h"
 #include "absl/base/macros.h"
 #include "absl/random/gaussian_distribution.h"
 
diff --git a/absl/random/internal/iostream_state_saver.h b/absl/random/internal/iostream_state_saver.h
index fcd45a1..7c11a0b 100644
--- a/absl/random/internal/iostream_state_saver.h
+++ b/absl/random/internal/iostream_state_saver.h
@@ -39,7 +39,7 @@
   using flags_type = std::ios_base::fmtflags;
 
   null_state_saver(T&, flags_type) {}
-  ~null_state_saver() {}
+  ~null_state_saver() = default;
 };
 
 // ostream_state_saver is a RAII object to save and restore the common
@@ -186,7 +186,7 @@
 template <>
 struct stream_u128_helper<absl::uint128> {
   template <typename IStream>
-  inline absl::uint128 read(IStream& in) {
+  absl::uint128 read(IStream& in) {
     uint64_t h = 0;
     uint64_t l = 0;
     in >> h >> l;
@@ -194,7 +194,7 @@
   }
 
   template <typename OStream>
-  inline void write(absl::uint128 val, OStream& out) {
+  void write(absl::uint128 val, OStream& out) {
     uint64_t h = absl::Uint128High64(val);
     uint64_t l = absl::Uint128Low64(val);
     out << h << out.fill() << l;
@@ -205,7 +205,7 @@
 template <>
 struct stream_u128_helper<__uint128_t> {
   template <typename IStream>
-  inline __uint128_t read(IStream& in) {
+  __uint128_t read(IStream& in) {
     uint64_t h = 0;
     uint64_t l = 0;
     in >> h >> l;
@@ -213,7 +213,7 @@
   }
 
   template <typename OStream>
-  inline void write(__uint128_t val, OStream& out) {
+  void write(__uint128_t val, OStream& out) {
     uint64_t h = static_cast<uint64_t>(val >> 64u);
     uint64_t l = static_cast<uint64_t>(val);
     out << h << out.fill() << l;
diff --git a/absl/random/internal/iostream_state_saver_test.cc b/absl/random/internal/iostream_state_saver_test.cc
index a9bf5fc..a196ace 100644
--- a/absl/random/internal/iostream_state_saver_test.cc
+++ b/absl/random/internal/iostream_state_saver_test.cc
@@ -14,9 +14,13 @@
 
 #include "absl/random/internal/iostream_state_saver.h"
 
-#include <errno.h>
 #include <stdio.h>
 
+#include <cmath>
+#include <cstdint>
+#include <cstdlib>
+#include <ios>
+#include <limits>
 #include <sstream>
 #include <string>
 #include <type_traits>
diff --git a/absl/random/internal/nanobenchmark.cc b/absl/random/internal/nanobenchmark.cc
index 0f31a7d..0cf657b 100644
--- a/absl/random/internal/nanobenchmark.cc
+++ b/absl/random/internal/nanobenchmark.cc
@@ -17,7 +17,6 @@
 #include <sys/types.h>
 
 #include <algorithm>  // sort
-#include <atomic>
 #include <cstddef>
 #include <cstdint>
 #include <cstdlib>
@@ -27,7 +26,9 @@
 #include <utility>
 #include <vector>
 
+#include "absl/algorithm/container.h"
 #include "absl/base/attributes.h"
+#include "absl/base/config.h"
 #include "absl/base/internal/raw_logging.h"
 #include "absl/random/internal/platform.h"
 #include "absl/random/internal/randen_engine.h"
@@ -548,7 +549,7 @@
 // Returns vector of unique input values.
 InputVec UniqueInputs(const FuncInput* inputs, const size_t num_inputs) {
   InputVec unique(inputs, inputs + num_inputs);
-  std::sort(unique.begin(), unique.end());
+  absl::c_sort(unique);
   unique.erase(std::unique(unique.begin(), unique.end()), unique.end());
   return unique;
 }
@@ -607,7 +608,7 @@
     full.insert(full.end(), inputs, inputs + num_inputs);
   }
   absl::random_internal::randen_engine<uint32_t> rng;
-  std::shuffle(full.begin(), full.end(), rng);
+  absl::c_shuffle(full, rng);
   return full;
 }
 
@@ -615,20 +616,20 @@
 // randomly selected occurrences of "input_to_skip" removed.
 void FillSubset(const InputVec& full, const FuncInput input_to_skip,
                 const size_t num_skip, InputVec* subset) {
-  const size_t count = std::count(full.begin(), full.end(), input_to_skip);
+  const ptrdiff_t count = absl::c_count(full, input_to_skip);
   // Generate num_skip random indices: which occurrence to skip.
   std::vector<uint32_t> omit;
   // Replacement for std::iota, not yet available in MSVC builds.
   omit.reserve(count);
-  for (size_t i = 0; i < count; ++i) {
+  for (ptrdiff_t i = 0; i < count; ++i) {
     omit.push_back(i);
   }
   // omit[] is the same on every call, but that's OK because they identify the
   // Nth instance of input_to_skip, so the position within full[] differs.
   absl::random_internal::randen_engine<uint32_t> rng;
-  std::shuffle(omit.begin(), omit.end(), rng);
+  absl::c_shuffle(omit, rng);
   omit.resize(num_skip);
-  std::sort(omit.begin(), omit.end());
+  absl::c_sort(omit);
 
   uint32_t occurrence = ~0u;  // 0 after preincrement
   size_t idx_omit = 0;        // cursor within omit[]
diff --git a/absl/random/internal/nanobenchmark.h b/absl/random/internal/nanobenchmark.h
index a5097ba..9a1cb59 100644
--- a/absl/random/internal/nanobenchmark.h
+++ b/absl/random/internal/nanobenchmark.h
@@ -124,7 +124,7 @@
 // Ensures the thread is running on the specified cpu, and no others.
 // Reduces noise due to desynchronized socket RDTSC and context switches.
 // If "cpu" is negative, pin to the currently running core.
-void PinThreadToCPU(const int cpu = -1);
+void PinThreadToCPU(int cpu = -1);
 
 // Returns tick rate, useful for converting measurements to seconds. Invariant
 // means the tick counter frequency is independent of CPU throttling or sleep.
@@ -143,9 +143,8 @@
 //   uniform distribution over [0, 4) could be represented as {3,0,2,1}.
 // Returns how many Result were written to "results": one per unique input, or
 //   zero if the measurement failed (an error message goes to stderr).
-size_t Measure(const Func func, const void* arg, const FuncInput* inputs,
-               const size_t num_inputs, Result* results,
-               const Params& p = Params());
+size_t Measure(Func func, const void* arg, const FuncInput* inputs,
+               size_t num_inputs, Result* results, const Params& p = Params());
 
 // Calls operator() of the given closure (lambda function).
 template <class Closure>
diff --git a/absl/random/internal/nanobenchmark_test.cc b/absl/random/internal/nanobenchmark_test.cc
index d4f1028..fc3f996 100644
--- a/absl/random/internal/nanobenchmark_test.cc
+++ b/absl/random/internal/nanobenchmark_test.cc
@@ -14,6 +14,10 @@
 
 #include "absl/random/internal/nanobenchmark.h"
 
+#include <cstddef>
+#include <cstdint>
+
+#include "absl/base/config.h"
 #include "absl/log/check.h"
 #include "absl/log/log.h"
 #include "absl/strings/numbers.h"
diff --git a/absl/random/internal/nonsecure_base_test.cc b/absl/random/internal/nonsecure_base_test.cc
index 75f40bd..61f49cd 100644
--- a/absl/random/internal/nonsecure_base_test.cc
+++ b/absl/random/internal/nonsecure_base_test.cc
@@ -25,8 +25,8 @@
 #include <vector>
 
 #include "gtest/gtest.h"
+#include "absl/algorithm/container.h"
 #include "absl/container/flat_hash_set.h"
-#include "absl/meta/type_traits.h"
 #include "absl/random/distributions.h"
 #include "absl/random/random.h"
 #include "absl/synchronization/mutex.h"
@@ -213,7 +213,7 @@
         absl::BitGen gen;
 
         std::vector<result_type> v(kValuesPerThread);
-        std::generate(v.begin(), v.end(), [&]() { return gen(); });
+        absl::c_generate(v, [&]() { return gen(); });
         absl::MutexLock l(mu);
         data.push_back(std::move(v));
       });
diff --git a/absl/random/internal/pcg_engine.h b/absl/random/internal/pcg_engine.h
index 5184c86..96295b0 100644
--- a/absl/random/internal/pcg_engine.h
+++ b/absl/random/internal/pcg_engine.h
@@ -176,12 +176,12 @@
   state_type state_;
 
   // Returns the linear-congruential generator next state.
-  static inline constexpr state_type lcg(state_type s) {
+  static constexpr state_type lcg(state_type s) {
     return s * Params::multiplier() + Params::increment();
   }
 
   // Returns the linear-congruential arbitrary seek state.
-  inline state_type advance(state_type s, uint64_t n) const {
+  state_type advance(state_type s, uint64_t n) const {
     state_type mult = Params::multiplier();
     state_type inc = Params::increment();
     state_type m = 1;
@@ -221,10 +221,10 @@
 class pcg128_params {
  public:
   using state_type = absl::uint128;
-  static inline constexpr state_type multiplier() {
+  static constexpr state_type multiplier() {
     return absl::MakeUint128(kMultA, kMultB);
   }
-  static inline constexpr state_type increment() {
+  static constexpr state_type increment() {
     return absl::MakeUint128(kIncA, kIncB);
   }
 };
@@ -235,7 +235,7 @@
   using state_type = absl::uint128;
   using result_type = uint64_t;
 
-  inline uint64_t operator()(state_type state) {
+  uint64_t operator()(state_type state) {
     // This is equivalent to the xsl_rr_128_64 mixing function.
     uint64_t rotate = static_cast<uint64_t>(state >> 122u);
     state ^= state >> 64;
@@ -250,8 +250,8 @@
 class pcg64_params {
  public:
   using state_type = uint64_t;
-  static inline constexpr state_type multiplier() { return kMult; }
-  static inline constexpr state_type increment() { return kInc; }
+  static constexpr state_type multiplier() { return kMult; }
+  static constexpr state_type increment() { return kInc; }
 };
 
 // Implementation of the PCG xsh_rr_64_32 64-bit mixing function, which accepts
@@ -259,7 +259,7 @@
 struct pcg_xsh_rr_64_32 {
   using state_type = uint64_t;
   using result_type = uint32_t;
-  inline uint32_t operator()(uint64_t state) {
+  uint32_t operator()(uint64_t state) {
     return rotr(static_cast<uint32_t>(((state >> 18) ^ state) >> 27),
                 state >> 59);
   }
diff --git a/absl/random/internal/pcg_engine_test.cc b/absl/random/internal/pcg_engine_test.cc
index 1861fb6..9b34cfe 100644
--- a/absl/random/internal/pcg_engine_test.cc
+++ b/absl/random/internal/pcg_engine_test.cc
@@ -16,14 +16,15 @@
 
 #include <algorithm>
 #include <bitset>
+#include <cmath>
+#include <cstddef>
+#include <cstdint>
 #include <random>
 #include <sstream>
 #include <type_traits>
 
-#include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "absl/random/internal/explicit_seed_seq.h"
-#include "absl/time/clock.h"
 
 #define UPDATE_GOLDEN 0
 
diff --git a/absl/random/internal/randen.cc b/absl/random/internal/randen.cc
index c1bc044..e42013c 100644
--- a/absl/random/internal/randen.cc
+++ b/absl/random/internal/randen.cc
@@ -14,8 +14,11 @@
 
 #include "absl/random/internal/randen.h"
 
-#include "absl/base/internal/raw_logging.h"
+#include "absl/base/config.h"
+#include "absl/random/internal/platform.h"
 #include "absl/random/internal/randen_detect.h"
+#include "absl/random/internal/randen_hwaes.h"
+#include "absl/random/internal/randen_slow.h"
 
 // RANDen = RANDom generator or beetroots in Swiss High German.
 // 'Strong' (well-distributed, unpredictable, backtracking-resistant) random
diff --git a/absl/random/internal/randen.h b/absl/random/internal/randen.h
index 9ff4a7a..6192333 100644
--- a/absl/random/internal/randen.h
+++ b/absl/random/internal/randen.h
@@ -44,7 +44,7 @@
   // Generate updates the randen sponge. The outer portion of the sponge
   // (kCapacityBytes .. kStateBytes) may be consumed as PRNG state.
   // REQUIRES: state points to kStateBytes of state.
-  inline void Generate(void* state) const {
+  void Generate(void* state) const {
 #if ABSL_RANDOM_INTERNAL_AES_DISPATCH
     // HW AES Dispatch.
     if (has_crypto_) {
@@ -65,7 +65,7 @@
   // absorb returns, Generate must be called before the state may be consumed.
   // REQUIRES: seed points to kSeedBytes of seed.
   // REQUIRES: state points to kStateBytes of state.
-  inline void Absorb(const void* seed, void* state) const {
+  void Absorb(const void* seed, void* state) const {
 #if ABSL_RANDOM_INTERNAL_AES_DISPATCH
     // HW AES Dispatch.
     if (has_crypto_) {
diff --git a/absl/random/internal/randen_benchmarks.cc b/absl/random/internal/randen_benchmarks.cc
index 1acc2c3..51e6a50 100644
--- a/absl/random/internal/randen_benchmarks.cc
+++ b/absl/random/internal/randen_benchmarks.cc
@@ -18,7 +18,6 @@
 
 #include "absl/base/internal/raw_logging.h"
 #include "absl/random/internal/nanobenchmark.h"
-#include "absl/random/internal/platform.h"
 #include "absl/random/internal/randen.h"
 #include "absl/random/internal/randen_detect.h"
 #include "absl/random/internal/randen_engine.h"
diff --git a/absl/random/internal/randen_detect.cc b/absl/random/internal/randen_detect.cc
index fc8c673..a613cf0 100644
--- a/absl/random/internal/randen_detect.cc
+++ b/absl/random/internal/randen_detect.cc
@@ -29,10 +29,9 @@
 #include <sys/types.h>
 #endif
 
-#include <cstdint>
-#include <cstring>
 #include <optional>  // IWYU pragma: keep
 
+#include "absl/base/config.h"
 #include "absl/random/internal/platform.h"
 
 #if !defined(__UCLIBC__) && defined(__GLIBC__) && \
diff --git a/absl/random/internal/randen_engine_test.cc b/absl/random/internal/randen_engine_test.cc
index 9709cce..5488bd5 100644
--- a/absl/random/internal/randen_engine_test.cc
+++ b/absl/random/internal/randen_engine_test.cc
@@ -16,15 +16,16 @@
 
 #include <algorithm>
 #include <bitset>
+#include <cmath>
+#include <cstddef>
+#include <cstdint>
 #include <random>
 #include <sstream>
 #include <type_traits>
 
-#include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "absl/log/log.h"
 #include "absl/random/internal/explicit_seed_seq.h"
-#include "absl/strings/str_cat.h"
 #include "absl/time/clock.h"
 
 #define UPDATE_GOLDEN 0
diff --git a/absl/random/internal/randen_hwaes.cc b/absl/random/internal/randen_hwaes.cc
index f535f4c..f8dd358 100644
--- a/absl/random/internal/randen_hwaes.cc
+++ b/absl/random/internal/randen_hwaes.cc
@@ -19,10 +19,9 @@
 
 #include "absl/random/internal/randen_hwaes.h"
 
-#include <cstdint>
 #include <cstring>
 
-#include "absl/base/attributes.h"
+#include "absl/base/config.h"
 #include "absl/numeric/int128.h"
 #include "absl/random/internal/platform.h"
 #include "absl/random/internal/randen_traits.h"
@@ -220,11 +219,11 @@
 class Vector128 {
  public:
   // Convert from/to intrinsics.
-  inline explicit Vector128(const __m128i& v) : data_(v) {}
+  explicit Vector128(const __m128i& v) : data_(v) {}
 
-  inline __m128i data() const { return data_; }
+  __m128i data() const { return data_; }
 
-  inline Vector128& operator^=(const Vector128& other) {
+  Vector128& operator^=(const Vector128& other) {
     data_ = _mm_xor_si128(data_, other.data());
     return *this;
   }
diff --git a/absl/random/internal/randen_hwaes_test.cc b/absl/random/internal/randen_hwaes_test.cc
index 0378972..956e9d6 100644
--- a/absl/random/internal/randen_hwaes_test.cc
+++ b/absl/random/internal/randen_hwaes_test.cc
@@ -14,13 +14,14 @@
 
 #include "absl/random/internal/randen_hwaes.h"
 
-#include "gmock/gmock.h"
+#include <cstdint>
+#include <cstring>
+
 #include "gtest/gtest.h"
 #include "absl/log/log.h"
 #include "absl/random/internal/platform.h"
 #include "absl/random/internal/randen_detect.h"
 #include "absl/random/internal/randen_traits.h"
-#include "absl/strings/str_format.h"
 
 namespace {
 
diff --git a/absl/random/internal/randen_round_keys.cc b/absl/random/internal/randen_round_keys.cc
index 5fb3ca5..27a97b5 100644
--- a/absl/random/internal/randen_round_keys.cc
+++ b/absl/random/internal/randen_round_keys.cc
@@ -12,6 +12,9 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+#include <cstddef>
+
+#include "absl/base/config.h"
 #include "absl/random/internal/randen_traits.h"
 
 // This file contains only the round keys for randen.
diff --git a/absl/random/internal/randen_slow.cc b/absl/random/internal/randen_slow.cc
index 9bfd2a4..d2b7da3 100644
--- a/absl/random/internal/randen_slow.cc
+++ b/absl/random/internal/randen_slow.cc
@@ -19,7 +19,8 @@
 #include <cstring>
 
 #include "absl/base/attributes.h"
-#include "absl/base/internal/endian.h"
+#include "absl/base/config.h"
+#include "absl/base/internal/endian.h"  // IWYU pragma: keep
 #include "absl/numeric/int128.h"
 #include "absl/random/internal/platform.h"
 #include "absl/random/internal/randen_traits.h"
diff --git a/absl/random/internal/randen_slow_test.cc b/absl/random/internal/randen_slow_test.cc
index ed60395..b9d54aa 100644
--- a/absl/random/internal/randen_slow_test.cc
+++ b/absl/random/internal/randen_slow_test.cc
@@ -14,10 +14,10 @@
 
 #include "absl/random/internal/randen_slow.h"
 
+#include <cstdint>
 #include <cstring>
 
 #include "gtest/gtest.h"
-#include "absl/base/internal/endian.h"
 #include "absl/random/internal/randen_traits.h"
 
 namespace {
diff --git a/absl/random/internal/randen_test.cc b/absl/random/internal/randen_test.cc
index 44bd907..ff7365b 100644
--- a/absl/random/internal/randen_test.cc
+++ b/absl/random/internal/randen_test.cc
@@ -14,11 +14,11 @@
 
 #include "absl/random/internal/randen.h"
 
+#include <cstdint>
 #include <cstring>
 #include <type_traits>
 
 #include "gtest/gtest.h"
-#include "absl/meta/type_traits.h"
 
 namespace {
 
diff --git a/absl/random/internal/salted_seed_seq_test.cc b/absl/random/internal/salted_seed_seq_test.cc
index 6f48c61..dd862f2 100644
--- a/absl/random/internal/salted_seed_seq_test.cc
+++ b/absl/random/internal/salted_seed_seq_test.cc
@@ -14,6 +14,8 @@
 
 #include "absl/random/internal/salted_seed_seq.h"
 
+#include <cstddef>
+#include <cstdint>
 #include <iterator>
 #include <random>
 #include <utility>
@@ -21,6 +23,8 @@
 
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
+#include "absl/base/macros.h"
+#include "absl/random/internal/seed_material.h"
 
 using absl::random_internal::GetSaltMaterial;
 using absl::random_internal::MakeSaltedSeedSeq;
diff --git a/absl/random/internal/seed_material.cc b/absl/random/internal/seed_material.cc
index f509926..60607cf 100644
--- a/absl/random/internal/seed_material.cc
+++ b/absl/random/internal/seed_material.cc
@@ -35,10 +35,8 @@
 #include "absl/base/config.h"
 #include "absl/base/dynamic_annotations.h"
 #include "absl/base/internal/raw_logging.h"
-#include "absl/strings/ascii.h"
 #include "absl/strings/escaping.h"
 #include "absl/strings/string_view.h"
-#include "absl/strings/strip.h"
 #include "absl/types/span.h"
 
 #if defined(_WIN32)
diff --git a/absl/random/internal/uniform_helper_test.cc b/absl/random/internal/uniform_helper_test.cc
index f03bf2c..bd5acca 100644
--- a/absl/random/internal/uniform_helper_test.cc
+++ b/absl/random/internal/uniform_helper_test.cc
@@ -16,7 +16,7 @@
 
 #include <cmath>
 #include <cstdint>
-#include <random>
+#include <limits>
 #include <type_traits>
 
 #include "gtest/gtest.h"
diff --git a/absl/random/internal/wide_multiply_test.cc b/absl/random/internal/wide_multiply_test.cc
index f8ee35c..caf5ab4 100644
--- a/absl/random/internal/wide_multiply_test.cc
+++ b/absl/random/internal/wide_multiply_test.cc
@@ -17,6 +17,7 @@
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "absl/numeric/int128.h"
+#include "absl/random/internal/traits.h"
 
 using absl::random_internal::MultiplyU128ToU256;
 using absl::random_internal::U256;