Mark the __eval methods on independent_bits_engine (and __independent_bits_engine) as const, since they make no changes to the object. NFC.

llvm-svn: 313789
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 8f27eef230a841daaef26e47329399bd58e7bfe8
diff --git a/include/algorithm b/include/algorithm
index 282083a..036b42c 100644
--- a/include/algorithm
+++ b/include/algorithm
@@ -2962,8 +2962,8 @@
     result_type operator()() {return __eval(integral_constant<bool, _Rp != 0>());}
 
 private:
-    result_type __eval(false_type);
-    result_type __eval(true_type);
+    result_type __eval(false_type) const;
+    result_type __eval(true_type)  const;
 };
 
 template<class _Engine, class _UIntType>
@@ -3004,14 +3004,14 @@
 template<class _Engine, class _UIntType>
 inline
 _UIntType
-__independent_bits_engine<_Engine, _UIntType>::__eval(false_type)
+__independent_bits_engine<_Engine, _UIntType>::__eval(false_type) const
 {
     return static_cast<result_type>(__e_() & __mask0_);
 }
 
 template<class _Engine, class _UIntType>
 _UIntType
-__independent_bits_engine<_Engine, _UIntType>::__eval(true_type)
+__independent_bits_engine<_Engine, _UIntType>::__eval(true_type) const
 {
     const size_t _WRt = numeric_limits<result_type>::digits;
     result_type _Sp = 0;