Mock Version: 3.5
ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs  --target x86_64 --nodeps /builddir/build/SPECS/practrand.spec'], chrootPath='/var/lib/mock/fedora-rawhide-x86_64-1672131771.593312/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7f85a0e1f7d0>timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.bojo4s29:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=True)
Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.bojo4s29:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']
Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '6ff943aa4389473c9d5ad478345a30ec', '-D', '/var/lib/mock/fedora-rawhide-x86_64-1672131771.593312/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.bojo4s29:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;<mock-chroot>\\007"', '--setenv=PS1=<mock-chroot> \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs  --target x86_64 --nodeps /builddir/build/SPECS/practrand.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False
Building target platforms: x86_64
Building for target x86_64
setting SOURCE_DATE_EPOCH=1658448000
Wrote: /builddir/build/SRPMS/practrand-0.951-5.fc38.src.rpm
Child return code was: 0
ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb  --target x86_64 --nodeps /builddir/build/SPECS/practrand.spec'], chrootPath='/var/lib/mock/fedora-rawhide-x86_64-1672131771.593312/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7f85a0e1f7d0>timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.bojo4s29:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=True)
Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.bojo4s29:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']
Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '55da992ce4254d8bb9383c8b59fbdcc8', '-D', '/var/lib/mock/fedora-rawhide-x86_64-1672131771.593312/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.bojo4s29:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;<mock-chroot>\\007"', '--setenv=PS1=<mock-chroot> \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bb  --target x86_64 --nodeps /builddir/build/SPECS/practrand.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False
Building target platforms: x86_64
Building for target x86_64
setting SOURCE_DATE_EPOCH=1658448000
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.PiC8PO
+ umask 022
+ cd /builddir/build/BUILD
+ cd /builddir/build/BUILD
+ rm -rf PractRand-0.951
+ /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/PractRand-0.951.tar.gz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd PractRand-0.951
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ dos2unix doc/PractRand.txt doc/RNG_engines.txt doc/RNG_entropy_pools.txt doc/RNG_interface_variations.txt doc/RNG_multithreading.txt doc/RNG_parallel.txt doc/RNG_speed.txt doc/RNG_usage.txt doc/Tests_batteries.txt doc/Tests_engines.txt doc/Tests_overview.txt doc/Tests_performance.txt doc/Tests_results.txt doc/Tests_usage.txt doc/index.html doc/installation.txt doc/license.txt doc/portability.txt doc/practrand-RNG_test.examples doc/to_do.txt doc/tools.txt doc/versions.txt
dos2unix: converting file doc/PractRand.txt to Unix format...
dos2unix: converting file doc/RNG_engines.txt to Unix format...
dos2unix: converting file doc/RNG_entropy_pools.txt to Unix format...
dos2unix: converting file doc/RNG_interface_variations.txt to Unix format...
dos2unix: converting file doc/RNG_multithreading.txt to Unix format...
dos2unix: converting file doc/RNG_parallel.txt to Unix format...
dos2unix: converting file doc/RNG_speed.txt to Unix format...
dos2unix: converting file doc/RNG_usage.txt to Unix format...
dos2unix: converting file doc/Tests_batteries.txt to Unix format...
dos2unix: converting file doc/Tests_engines.txt to Unix format...
dos2unix: converting file doc/Tests_overview.txt to Unix format...
dos2unix: converting file doc/Tests_performance.txt to Unix format...
dos2unix: converting file doc/Tests_results.txt to Unix format...
dos2unix: converting file doc/Tests_usage.txt to Unix format...
dos2unix: converting file doc/index.html to Unix format...
dos2unix: converting file doc/installation.txt to Unix format...
dos2unix: converting file doc/license.txt to Unix format...
dos2unix: converting file doc/portability.txt to Unix format...
dos2unix: converting file doc/practrand-RNG_test.examples to Unix format...
dos2unix: converting file doc/to_do.txt to Unix format...
dos2unix: converting file doc/tools.txt to Unix format...
dos2unix: converting file doc/versions.txt to Unix format...
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.GAHsq9
+ umask 022
+ cd /builddir/build/BUILD
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules'
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules'
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes'
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd PractRand-0.951
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules'
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules'
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes'
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c src/math.cpp src/non_uniform.cpp src/platform_specifics.cpp src/rand.cpp src/sha2.cpp src/test_batteries.cpp src/tests.cpp src/RNGs/arbee.cpp src/RNGs/chacha.cpp src/RNGs/efiix.cpp src/RNGs/hc256.cpp src/RNGs/isaac.cpp src/RNGs/jsf.cpp src/RNGs/mt19937.cpp src/RNGs/rarns.cpp src/RNGs/salsa.cpp src/RNGs/sfc.cpp src/RNGs/sha2_based_pool.cpp src/RNGs/trivium.cpp src/RNGs/xsm.cpp src/RNGs/other/fibonacci.cpp src/RNGs/other/indirection.cpp src/RNGs/other/mult.cpp src/RNGs/other/simple.cpp src/RNGs/other/transform.cpp -I include -std=c++11 -O3 -g
src/math.cpp: In function 'double PractRand::Tests::math_normaldist_to_suspicion(double)':
src/math.cpp:790:32: warning: unused variable 'ec' [-Wunused-variable]
  790 |                         double ec = 1 - math_erf(norm);
      |                                ^~
src/math.cpp: In function 'double PractRand::Tests::test_uniformity(const SampleSet&)':
src/math.cpp:1024:32: warning: unused variable 'size_inv' [-Wunused-variable]
 1024 |                         double size_inv = 1.0 / size_a;
      |                                ^~~~~~~~
src/math.cpp: In function 'double PractRand::Tests::test_table_uniformity(long unsigned int, const double*, const PractRand::Uint64*)':
src/math.cpp:1086:37: warning: unused variable 'sum_exp' [-Wunused-variable]
 1086 |                         long double sum_exp = 0, sum_log = 0;
      |                                     ^~~~~~~
src/math.cpp:1086:50: warning: unused variable 'sum_log' [-Wunused-variable]
 1086 |                         long double sum_exp = 0, sum_log = 0;
      |                                                  ^~~~~~~
src/math.cpp:1087:32: warning: unused variable 'adjusted_total' [-Wunused-variable]
 1087 |                         double adjusted_total = total + 1.0;
      |                                ^~~~~~~~~~~~~~
src/math.cpp:1088:32: warning: variable 'prior' set but not used [-Wunused-but-set-variable]
 1088 |                         double prior = 0;
      |                                ^~~~~
src/math.cpp: In member function 'long int PractRand::Tests::BitMatrix::large_normalize_and_rank()':
src/math.cpp:1383:54: warning: unused variable 'rfww' [-Wunused-variable]
 1383 |                                                 long rfww = ranks_found * ww;
      |                                                      ^~~~
src/math.cpp: In function 'PractRand::Tests::math_normaldist_to_pvalue(double)':
src/math.cpp:812:33: warning: 'x' may be used uninitialized [-Wmaybe-uninitialized]
  812 |                                 if (midn >= norm) upper_p = midp;
      |                                 ^~
src/math.cpp:850:35: note: 'x' was declared here
  850 |                         double q, x, r;
      |                                   ^
src/math.cpp: In function 'PractRand::Tests::math_pvalue_to_normaldist(double)':
src/math.cpp:850:35: warning: 'x' may be used uninitialized [-Wmaybe-uninitialized]
In function 'PractRand::Tests::math_normaldist_to_pvalue(double)',
    inlined from 'PractRand::Tests::get_hamming_weight_chances(int, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&)' at src/math.cpp:946:40:
src/math.cpp:812:33: warning: 'x' may be used uninitialized [-Wmaybe-uninitialized]
  812 |                                 if (midn >= norm) upper_p = midp;
      |                                 ^~
src/math.cpp: In function 'PractRand::Tests::get_hamming_weight_chances(int, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&)':
src/math.cpp:850:35: note: 'x' was declared here
  850 |                         double q, x, r;
      |                                   ^
src/platform_specifics.cpp: In function 'bool PractRand::Internals::add_entropy_automatically(PractRand::RNGs::vRNG*, int)':
src/platform_specifics.cpp:86:23: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   86 |                 if (f = std::fopen("/dev/urandom", "rb")) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/rand.cpp: In function 'void PractRand::Internals::test_random_access(PractRand::RNGs::vRNG*, PractRand::RNGs::vRNG*, PractRand::Uint64, PractRand::Uint64)':
src/rand.cpp:315:48: warning: comparison of integer expressions of different signedness: 'PractRand::Sint64' {aka 'long long int'} and 'long long unsigned int' [-Wsign-compare]
  315 |                                 while (how_far == 0x8000000000000000ull) how_far = known_good->raw64();//we can't negate this value, so the code would fail
      |                                        ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
src/rand.cpp: In member function 'bool PractRand::RNGs::vRNG::deserialize(const char*, long int)':
src/rand.cpp:382:55: warning: comparison of integer expressions of different signedness: 'std::size_t' {aka 'long unsigned int'} and 'long int' [-Wsign-compare]
  382 |                         return deserializer.size_used == size;
      |                                ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
src/sha2.cpp: In member function 'void PractRand::Crypto::SHA2_512::finish(PractRand::Uint8*)':
src/sha2.cpp:241:52: warning: typedef 'Constants' locally defined but not used [-Wunused-local-typedefs]
  241 |                         typedef SHA2_512_constants Constants;
      |                                                    ^~~~~~~~~
In file included from src/test_batteries.cpp:30:
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::TripleFreq::TripleFreq(int, int)':
include/PractRand/Tests/DistFreq4.h:54:29: warning: 'PractRand::Tests::TripleFreq::passes_at_once' will be initialized after [-Wreorder]
   54 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:53:29: warning:   'int PractRand::Tests::TripleFreq::blocks_per_pass' [-Wreorder]
   53 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:29:25: warning:   when initialized here [-Wreorder]
   29 |                         TripleFreq(int passes_at_once_, int blocks_per_pass_) : passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::TripleMirrorFreq::TripleMirrorFreq(int, int)':
include/PractRand/Tests/DistFreq4.h:82:29: warning: 'PractRand::Tests::TripleMirrorFreq::passes_at_once' will be initialized after [-Wreorder]
   82 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:81:29: warning:   'int PractRand::Tests::TripleMirrorFreq::blocks_per_pass' [-Wreorder]
   81 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:61:25: warning:   when initialized here [-Wreorder]
   61 |                         TripleMirrorFreq(int passes_at_once_, int blocks_per_pass_) : passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::TripleMirrorFreqN::TripleMirrorFreqN(int)':
include/PractRand/Tests/DistFreq4.h:117:29: warning: 'PractRand::Tests::TripleMirrorFreqN::minimum_level' will be initialized after [-Wreorder]
  117 |                         int minimum_level;
      |                             ^~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:116:29: warning:   'int PractRand::Tests::TripleMirrorFreqN::blocks_per_pass' [-Wreorder]
  116 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:88:25: warning:   when initialized here [-Wreorder]
   88 |                         TripleMirrorFreqN(int minimum_level_) : minimum_level(minimum_level_), blocks_per_pass(1 << minimum_level_) {}
      |                         ^~~~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::TripleMirrorCoup::TripleMirrorCoup(int, int)':
include/PractRand/Tests/DistFreq4.h:146:29: warning: 'PractRand::Tests::TripleMirrorCoup::passes_at_once' will be initialized after [-Wreorder]
  146 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:145:29: warning:   'int PractRand::Tests::TripleMirrorCoup::blocks_per_pass' [-Wreorder]
  145 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:123:25: warning:   when initialized here [-Wreorder]
  123 |                         TripleMirrorCoup(int passes_at_once_, int blocks_per_pass_) : passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::QuadFreq::QuadFreq(int, int)':
include/PractRand/Tests/DistFreq4.h:183:29: warning: 'PractRand::Tests::QuadFreq::passes_at_once' will be initialized after [-Wreorder]
  183 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:182:29: warning:   'int PractRand::Tests::QuadFreq::blocks_per_pass' [-Wreorder]
  182 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:156:25: warning:   when initialized here [-Wreorder]
  156 |                         QuadFreq(int passes_at_once_, int blocks_per_pass_) : passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::LPerm16::LPerm16(int, int, int)':
include/PractRand/Tests/DistFreq4.h:204:29: warning: 'PractRand::Tests::LPerm16::passes_at_once' will be initialized after [-Wreorder]
  204 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:203:29: warning:   'int PractRand::Tests::LPerm16::blocks_per_pass' [-Wreorder]
  203 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:190:25: warning:   when initialized here [-Wreorder]
  190 |                         LPerm16(int word_bits_, int passes_at_once_ = 0, int blocks_per_pass_ = 1) : word_bits(word_bits_), passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~
In file included from src/tests.cpp:34:
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::TripleFreq::TripleFreq(int, int)':
include/PractRand/Tests/DistFreq4.h:54:29: warning: 'PractRand::Tests::TripleFreq::passes_at_once' will be initialized after [-Wreorder]
   54 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:53:29: warning:   'int PractRand::Tests::TripleFreq::blocks_per_pass' [-Wreorder]
   53 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:29:25: warning:   when initialized here [-Wreorder]
   29 |                         TripleFreq(int passes_at_once_, int blocks_per_pass_) : passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::TripleMirrorFreq::TripleMirrorFreq(int, int)':
include/PractRand/Tests/DistFreq4.h:82:29: warning: 'PractRand::Tests::TripleMirrorFreq::passes_at_once' will be initialized after [-Wreorder]
   82 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:81:29: warning:   'int PractRand::Tests::TripleMirrorFreq::blocks_per_pass' [-Wreorder]
   81 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:61:25: warning:   when initialized here [-Wreorder]
   61 |                         TripleMirrorFreq(int passes_at_once_, int blocks_per_pass_) : passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::TripleMirrorFreqN::TripleMirrorFreqN(int)':
include/PractRand/Tests/DistFreq4.h:117:29: warning: 'PractRand::Tests::TripleMirrorFreqN::minimum_level' will be initialized after [-Wreorder]
  117 |                         int minimum_level;
      |                             ^~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:116:29: warning:   'int PractRand::Tests::TripleMirrorFreqN::blocks_per_pass' [-Wreorder]
  116 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:88:25: warning:   when initialized here [-Wreorder]
   88 |                         TripleMirrorFreqN(int minimum_level_) : minimum_level(minimum_level_), blocks_per_pass(1 << minimum_level_) {}
      |                         ^~~~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::TripleMirrorCoup::TripleMirrorCoup(int, int)':
include/PractRand/Tests/DistFreq4.h:146:29: warning: 'PractRand::Tests::TripleMirrorCoup::passes_at_once' will be initialized after [-Wreorder]
  146 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:145:29: warning:   'int PractRand::Tests::TripleMirrorCoup::blocks_per_pass' [-Wreorder]
  145 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:123:25: warning:   when initialized here [-Wreorder]
  123 |                         TripleMirrorCoup(int passes_at_once_, int blocks_per_pass_) : passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::QuadFreq::QuadFreq(int, int)':
include/PractRand/Tests/DistFreq4.h:183:29: warning: 'PractRand::Tests::QuadFreq::passes_at_once' will be initialized after [-Wreorder]
  183 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:182:29: warning:   'int PractRand::Tests::QuadFreq::blocks_per_pass' [-Wreorder]
  182 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:156:25: warning:   when initialized here [-Wreorder]
  156 |                         QuadFreq(int passes_at_once_, int blocks_per_pass_) : passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::LPerm16::LPerm16(int, int, int)':
include/PractRand/Tests/DistFreq4.h:204:29: warning: 'PractRand::Tests::LPerm16::passes_at_once' will be initialized after [-Wreorder]
  204 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:203:29: warning:   'int PractRand::Tests::LPerm16::blocks_per_pass' [-Wreorder]
  203 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:190:25: warning:   when initialized here [-Wreorder]
  190 |                         LPerm16(int word_bits_, int passes_at_once_ = 0, int blocks_per_pass_ = 1) : word_bits(word_bits_), passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::Gap16::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:1806:16: warning: unused variable 'cp1' [-Wunused-variable]
 1806 |         double cp1 = TestResult::suspicion_to_pvalue(s1);
      |                ^~~
src/tests.cpp:1807:16: warning: unused variable 'cp2' [-Wunused-variable]
 1807 |         double cp2 = TestResult::suspicion_to_pvalue(s2);
      |                ^~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::Rep16::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:1862:16: warning: unused variable 'e' [-Wunused-variable]
 1862 |         double e = len / (65536.0 * 65536.0);
      |                ^
src/tests.cpp: In static member function 'static PractRand::Uint32 PractRand::Tests::DistC6::_reorder_bits(PractRand::Uint32, int, int)':
src/tests.cpp:1907:13: warning: unused variable 'tbits' [-Wunused-variable]
 1907 |         int tbits = bits_per_sample * length;
      |             ^~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::DistC6::init(PractRand::RNGs::vRNG*)':
src/tests.cpp:1935:29: warning: unused variable 'rb' [-Wunused-variable]
 1935 |                         int rb = reorder_bits(rc);
      |                             ^~
src/tests.cpp:1944:29: warning: unused variable 'rb' [-Wunused-variable]
 1944 |                         int rb = reorder_bits(rc);
      |                             ^~
src/tests.cpp: In member function 'virtual void PractRand::Tests::DistC6::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:2197:32: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
 2197 |         else if (blocks_tested > unitsL * 1024 * 1024 * 16) {
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::DistC7::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:2355:36: warning: comparison of integer expressions of different signedness: 'std::vector<PractRand::TestResult>::size_type' {aka 'long unsigned int'} and 'long int' [-Wsign-compare]
 2355 |                 if (results.size() == old_results_size + 1) results.back().name += ":even";
      |                     ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
src/tests.cpp:2358:36: warning: comparison of integer expressions of different signedness: 'std::vector<PractRand::TestResult>::size_type' {aka 'long unsigned int'} and 'long int' [-Wsign-compare]
 2358 |                 if (results.size() == old_results_size + 1) results.back().name += ":odd";
      |                     ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
src/tests.cpp:2367:28: warning: comparison of integer expressions of different signedness: 'std::vector<PractRand::TestResult>::size_type' {aka 'long unsigned int'} and 'long int' [-Wsign-compare]
 2367 |         if (results.size() == old_results_size + 1) results.back().name += ":both";
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
src/tests.cpp:2368:28: warning: comparison of integer expressions of different signedness: 'std::vector<PractRand::TestResult>::size_type' {aka 'long unsigned int'} and 'long int' [-Wsign-compare]
 2368 |         if (results.size() != initial_results_size + 3) return;
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::BCFN::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:2768:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long unsigned int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2768 |                 for (int i = 0; i < tempcount.size(); i++) tempcount[i] = counts[level][i];
      |                                 ~~^~~~~~~~~~~~~~~~~~
src/tests.cpp:2772:43: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2772 |                         for (int i = 0; i < probs.size(); i++) {
      |                                         ~~^~~~~~~~~~~~~~
src/tests.cpp:2779:43: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2779 |                         for (int i = 0; i < probs.size(); i++) probs[i] = p;
      |                                         ~~^~~~~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::BCFN_FF::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:3481:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long unsigned int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 3481 |                 for (int i = 0; i < tempcount.size(); i++) tempcount[i] = counts[level][i];
      |                                 ~~^~~~~~~~~~~~~~~~~~
src/tests.cpp:3485:43: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 3485 |                         for (int i = 0; i < probs.size(); i++) {
      |                                         ~~^~~~~~~~~~~~~~
src/tests.cpp:3492:43: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 3492 |                         for (int i = 0; i < probs.size(); i++) probs[i] = p;
      |                                         ~~^~~~~~~~~~~~~~
src/tests.cpp:3559:40: warning: unused variable 'p' [-Wunused-variable]
 3559 |                                 double p = math_chisquared_to_pvalue(tr, reduced_size - 1);
      |                                        ^
src/tests.cpp:3402:22: warning: unused variable 'ref_chance' [-Wunused-variable]
 3402 |         const double ref_chance = 1 - chance_skipped[5];
      |                      ^~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::BCFN_FF::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:3799:66: warning: variable 'bits3' set but not used [-Wunused-but-set-variable]
 3799 |                                         int bits0, bits1, bits2, bits3;
      |                                                                  ^~~~~
In file included from src/tests.cpp:26:
include/PractRand/Tests/FPF.h: In constructor 'PractRand::Tests::FPF::FPF(int, int, int)':
include/PractRand/Tests/FPF.h:11:35: warning: 'PractRand::Tests::FPF::stride_bits_L2' will be initialized after [-Wreorder]
   11 |                         const int stride_bits_L2;
      |                                   ^~~~~~~~~~~~~~
include/PractRand/Tests/FPF.h:10:35: warning:   'const int PractRand::Tests::FPF::sig_bits' [-Wreorder]
   10 |                         const int sig_bits, exp_bits;
      |                                   ^~~~~~~~
src/tests.cpp:3946:1: warning:   when initialized here [-Wreorder]
 3946 | PractRand::Tests::FPF::FPF(int stride_bits_L2_ , int sig_bits_ , int exp_bits_ ) : stride_bits_L2(stride_bits_L2_), sig_bits(sig_bits_), exp_bits(exp_bits_) {
      | ^~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::FPF::init(PractRand::RNGs::vRNG*)':
src/tests.cpp:3959:23: warning: unused variable 'footprint' [-Wunused-variable]
 3959 |         unsigned long footprint = sig_bits + max_exp;
      |                       ^~~~~~~~~
src/tests.cpp:3960:23: warning: unused variable 'stride_bits' [-Wunused-variable]
 3960 |         unsigned long stride_bits = 1 << stride_bits_L2;
      |                       ^~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::FPF::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:4014:65: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 4014 |                         double expected = std::pow(0.5, e+1.0+(e==max_exp?-1:0)) * samples;
      |                                                                ~^~~~~~~~~
src/tests.cpp:4022:51: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 4022 |                                 for (int x = 0; x <= max_sig; x++) intra_probs[x] = intra_p;
      |                                                 ~~^~~~~~~~~~
src/tests.cpp:4032:40: warning: unused variable 'p' [-Wunused-variable]
 4032 |                                 double p = math_normaldist_to_pvalue(norm);
      |                                        ^
src/tests.cpp:4053:24: warning: unused variable 'over_p' [-Wunused-variable]
 4053 |                 double over_p = math_normaldist_to_pvalue(over_norm);
      |                        ^~~~~~
src/tests.cpp:4083:27: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 4083 |         for (int e = 0; e <= max_exp; e++) actual_samples += inter_counts[e];
      |                         ~~^~~~~~~~~~
src/tests.cpp:4085:35: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 4085 |                 for (int e = 0; e <= max_exp; e++) inter_probs[e] = std::pow(0.5, e+1.0+(e==max_exp?-1:0));
      |                                 ~~^~~~~~~~~~
src/tests.cpp:4085:91: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 4085 |                 for (int e = 0; e <= max_exp; e++) inter_probs[e] = std::pow(0.5, e+1.0+(e==max_exp?-1:0));
      |                                                                                          ~^~~~~~~~~
src/tests.cpp:4089:24: warning: unused variable 'p' [-Wunused-variable]
 4089 |                 double p = math_normaldist_to_pvalue(norm);
      |                        ^
src/tests.cpp: In member function 'virtual void PractRand::Tests::FPF::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:4101:23: warning: unused variable 'footprint' [-Wunused-variable]
 4101 |         unsigned long footprint = sig_bits + max_exp;
      |                       ^~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::FPMulti::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:4574:32: warning: unused variable 'avg' [-Wunused-variable]
 4574 |                         double avg = gap_product_L2 / p.gap_hits;
      |                                ^~~
src/tests.cpp:4598:32: warning: unused variable 'avg' [-Wunused-variable]
 4598 |                         double avg = total_gap_product_L2 / total_gap_hits;
      |                                ^~~
src/tests.cpp:4494:16: warning: unused variable 'total_samples' [-Wunused-variable]
 4494 |         Uint64 total_samples = 0;
      |                ^~~~~~~~~~~~~
src/tests.cpp: In member function 'void PractRand::Tests::Birthday32::flush_buffer()':
src/tests.cpp:4919:13: warning: unused variable 'running_total' [-Wunused-variable]
 4919 |         int running_total = 0;
      |             ^~~~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::Birthday32::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:4948:25: warning: unused variable 'ptr' [-Wunused-variable]
 4948 |                 Uint32 *ptr = &buffer[num_buffered];
      |                         ^~~
src/tests.cpp: In static member function 'static void PractRand::Tests::Birthday64::_histogram_in_place_sort64(PractRand::Uint64*, long int, long int, PractRand::Uint32*)':
src/tests.cpp:4978:19: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'long int' [-Wsign-compare]
 4978 |         if (total != length) issue_error("Birthday64::_histogram_sort64 - bad region counts");
      |             ~~~~~~^~~~~~~~~
src/tests.cpp:5026:66: warning: comparison of integer expressions of different signedness: 'int' and 'PractRand::Uint32' {aka 'unsigned int'} [-Wsign-compare]
 5026 |                                 for (int x = region_bases2[i]; x < region_bases2[i + 1]; x++) {
      |                                                                ~~^~~~~~~~~~~~~~~~~~~~~~
src/tests.cpp: In static member function 'static void PractRand::Tests::Birthday64::_histogram_sort64(PractRand::Uint64*, long int, long int, PractRand::Uint32*)':
src/tests.cpp:5072:14: warning: unused variable 'begin' [-Wunused-variable]
 5072 |         long begin = 0;
      |              ^~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::Birthday64::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:5183:25: warning: unused variable 'ptr' [-Wunused-variable]
 5183 |                 Uint64 *ptr = &buffer[num_buffered];
      |                         ^~~
src/tests.cpp: In function 'void PractRand::Tests::BirthdayHelpers::radix_sort_and_copy(i128*, i128*, PractRand::Uint64, long int)':
src/tests.cpp:5229:22: warning: unused variable 'shift' [-Wunused-variable]
 5229 |                 long shift = 64 - SORT_HELPER_BITS - bits_already;
      |                      ^~~~~
src/tests.cpp: In function 'void PractRand::Tests::BirthdayHelpers::histogram_in_place_sort128(i128*, PractRand::Uint64, long int, PractRand::Uint64*)':
src/tests.cpp:5367:66: warning: comparison of integer expressions of different signedness: 'int' and 'PractRand::Uint32' {aka 'unsigned int'} [-Wsign-compare]
 5367 |                                 for (int x = region_bases2[i]; x < region_bases2[i + 1]; x++) {
      |                                                                ~~^~~~~~~~~~~~~~~~~~~~~~
src/tests.cpp: In function 'void PractRand::Tests::BirthdayHelpers::_sorted_deltas_of_sorted_values(i128*, long int, PractRand::Uint64*)':
src/tests.cpp:5406:38: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'long int' [-Wsign-compare]
 5406 |                 for (Uint64 i = 0; i < length - 1; i++) {
      |                                    ~~^~~~~~~~~~~~
src/tests.cpp:5419:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<PractRand::Tests::BirthdayHelpers::i128>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 5419 |                 for (int i = 0; i < spills.size(); i++) base[length - 1 - spills.size() + i] = spills[i];
      |                                 ~~^~~~~~~~~~~~~~~
src/tests.cpp:5435:38: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'long int' [-Wsign-compare]
 5435 |                 for (Uint64 i = 0; i < length - 1; i++) {
      |                                    ~~^~~~~~~~~~~~
src/tests.cpp:5448:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<PractRand::Tests::BirthdayHelpers::i128>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 5448 |                 for (int i = 0; i < spills.size(); i++) base[length - 1 - spills.size() + i] = spills[i];
      |                                 ~~^~~~~~~~~~~~~~~
src/tests.cpp: In member function 'virtual PractRand::Uint64 PractRand::Tests::BirthdayLamda1::flush_buffer()':
src/tests.cpp:5583:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<PractRand::Tests::BirthdayHelpers::i128>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 5583 |         for (int i = 0; i < spills.size(); i++) buffer[buffer_size - 1 - spills.size() + i] = spills[i];
      |                         ~~^~~~~~~~~~~~~~~
src/tests.cpp:5596:27: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
 5596 |         for (int i = 0; i < buffer_size - 2; i++) {
      |                         ~~^~~~~~~~~~~~~~~~~
src/tests.cpp:5600:34: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
 5600 |                         while (i < buffer_size - 2 && buffer[i] == buffer[i + 1]) i++;
      |                                ~~^~~~~~~~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::BirthdayLamda1::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:5639:65: warning: right operand of comma operator has no effect [-Wunused-value]
 5639 |                         mask_high = Uint64(Sint64(-1)), mask_low;
      |                                                                 ^
src/tests.cpp: In member function 'void PractRand::Tests::BirthdaySystematic128::do_incomplete_buffer()':
src/tests.cpp:5682:40: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
 5682 |                                 if (p1 == already_sorted) {
      |                                     ~~~^~~~~~~~~~~~~~~~~
src/tests.cpp:5687:51: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
 5687 |                                         while (p1 < already_sorted) buffer[p3++] = buffer[p1++];
      |                                                ~~~^~~~~~~~~~~~~~~~
src/tests.cpp:5694:64: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
 5694 |                                                         if (p1 == already_sorted) break;
      |                                                             ~~~^~~~~~~~~~~~~~~~~
src/tests.cpp:5680:84: warning: unused variable 'max' [-Wunused-variable]
 5680 |                         Uint64 p1 = 0, p2 = already_sorted, p3 = half_buffer_size, max = half_buffer_size + num_buffered;
      |                                                                                    ^~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::BirthdaySystematic128::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:5762:36: warning: comparison of integer expressions of different signedness: 'int' and 'const PractRand::Uint64' {aka 'const long long unsigned int'} [-Wsign-compare]
 5762 |                 if (already_sorted < half_buffer_size && already_sorted < num_buffered) {
      |                     ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
src/tests.cpp:5762:73: warning: comparison of integer expressions of different signedness: 'int' and 'PractRand::Uint64' {aka 'long long unsigned int'} [-Wsign-compare]
 5762 |                 if (already_sorted < half_buffer_size && already_sorted < num_buffered) {
      |                                                          ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::BirthdaySystematic128::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:5859:65: warning: right operand of comma operator has no effect [-Wunused-value]
 5859 |                         mask_high = Uint64(Sint64(-1)), mask_low;
      |                                                                 ^
src/tests.cpp: In static member function 'static void PractRand::Tests::BirthdayAlt::_lookup_constants(int, long double*, long double*, long double*)':
src/tests.cpp:5943:21: warning: unused variable 'offset' [-Wunused-variable]
 5943 |         long double offset, dev, samples;
      |                     ^~~~~~
src/tests.cpp:5943:29: warning: unused variable 'dev' [-Wunused-variable]
 5943 |         long double offset, dev, samples;
      |                             ^~~
src/tests.cpp:5943:34: warning: unused variable 'samples' [-Wunused-variable]
 5943 |         long double offset, dev, samples;
      |                                  ^~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::BirthdayAlt::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:5954:14: warning: unused variable 'buffer_size' [-Wunused-variable]
 5954 |         long buffer_size = 1 << buffer_size_L2;
      |              ^~~~~~~~~~~
src/tests.cpp:5955:40: warning: unused variable 'uncertainty' [-Wunused-variable]
 5955 |         long double dev, _sample_size, uncertainty;
      |                                        ^~~~~~~~~~~
src/tests.cpp: In member function 'void PractRand::Tests::BirthdayAlt::flush_buffer()':
src/tests.cpp:6005:37: warning: unused variable 'preadj' [-Wunused-variable]
 6005 |                         long double preadj = std::pow(2.0, 128.0 - i) / (bufsize - 1);
      |                                     ^~~~~~
src/tests.cpp:5970:75: warning: unused variable 'uncertainty' [-Wunused-variable]
 5970 |         long double expected_log_offset, expected_log_samples, deviation, uncertainty;
      |                                                                           ^~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::CoupGap::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:6312:16: warning: unused variable 'oblocks' [-Wunused-variable]
 6312 |         Uint64 oblocks = blocks_tested;
      |                ^~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::BRank_old::init(PractRand::RNGs::vRNG*)':
src/tests.cpp:6363:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<PractRand::Tests::BRank_old::PerSize>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 6363 |         for (int i = 0; i < ps.size(); i++) ps[i].reset();
      |                         ~~^~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::BRank_old::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:6393:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<PractRand::Tests::BRank_old::PerSize>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 6393 |         for (int si = 0; si < ps.size(); si++) {
      |                          ~~~^~~~~~~~~~~
src/tests.cpp:6415:58: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<unsigned int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 6415 |                 if (s.outliers.size()) for (int i = 0; i < s.outliers.size(); i++) {
      |                                                        ~~^~~~~~~~~~~~~~~~~~~
src/tests.cpp:6416:43: warning: comparison of integer expressions of different signedness: '__gnu_cxx::__alloc_traits<std::allocator<unsigned int>, unsigned int>::value_type' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 6416 |                         if (s.outliers[i] > worst) worst = s.outliers[i];
src/tests.cpp:6403:21: warning: unused variable 'L2' [-Wunused-variable]
 6403 |                 int L2 = int(std::log((double)s.total)/std::log(2.0));
      |                     ^~
src/tests.cpp: In member function 'void PractRand::Tests::BRank_old::pick_next_size()':
src/tests.cpp:6449:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<PractRand::Tests::BRank_old::PerSize>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 6449 |         for (int i = 0; i < ps.size(); i++) {
      |                         ~~^~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::BRank_old::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:6511:44: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
 6511 |                         if (blocks_to_skip > numblocks) blocks_to_skip = numblocks;
      |                             ~~~~~~~~~~~~~~~^~~~~~~~~~~
src/tests.cpp:6519:39: warning: comparison of integer expressions of different signedness: 'int' and 'PractRand::Uint32' {aka 'unsigned int'} [-Wsign-compare]
 6519 |                         if (numblocks >= blocks_needed) {//whole matrix
      |                             ~~~~~~~~~~^~~~~~~~~~~~~~~~
src/tests.cpp: In member function 'PractRand::Uint64 PractRand::Tests::BRank::calculate_size_step(PractRand::Uint64) const':
src/tests.cpp:6604:34: warning: comparison of integer expressions of different signedness: 'int' and 'PractRand::Uint64' {aka 'long long unsigned int'} [-Wsign-compare]
 6604 |         for (l2s = 0; (1 << l2s) < matrix_size; l2s++) ;
      |                       ~~~~~~~~~~~^~~~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::BRank::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:6697:44: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
 6697 |                         if (blocks_to_skip > numblocks) blocks_to_skip = numblocks;
      |                             ~~~~~~~~~~~~~~~^~~~~~~~~~~
src/tests.cpp:6708:39: warning: comparison of integer expressions of different signedness: 'int' and 'PractRand::Uint64' {aka 'long long unsigned int'} [-Wsign-compare]
 6708 |                         if (numblocks < blocks_needed) {
      |                             ~~~~~~~~~~^~~~~~~~~~~~~~~
src/tests.cpp: In member function 'int PractRand::Tests::NearSeq::get_extra_distance(const Word*, int) const':
src/tests.cpp:6971:13: warning: unused variable 'bits_left' [-Wunused-variable]
 6971 |         int bits_left = CORE_SEQUENCE_BITS;
      |             ^~~~~~~~~
src/tests.cpp:6973:13: warning: unused variable 'pos' [-Wunused-variable]
 6973 |         int pos = 0;
      |             ^~~
src/tests.cpp: In function 'std::vector<double> convolve_signals(std::vector<double>, std::vector<double>)':
src/tests.cpp:7046:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 7046 |         for (int x = 0; x < s1.size(); x++) {
      |                         ~~^~~~~~~~~~~
src/tests.cpp:7047:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 7047 |                 for (int y = 0; y < s2.size(); y++) {
      |                                 ~~^~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::NearSeq2::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:7421:24: warning: unused variable 'raw1' [-Wunused-variable]
 7421 |                 double raw1 = cores_valid.get_result();
      |                        ^~~~
src/tests.cpp:7424:24: warning: unused variable 'n2' [-Wunused-variable]
 7424 |                 double n2 = math_chisquared_to_normal(raw2, 1);
      |                        ^~
src/tests.cpp:7426:24: warning: unused variable 'p2' [-Wunused-variable]
 7426 |                 double p2 = math_chisquared_to_pvalue(raw2, 1);
      |                        ^~
src/tests.cpp:7562:48: warning: unused variable 'p' [-Wunused-variable]
 7562 |                                         double p = math_normaldist_to_pvalue(n);
      |                                                ^
src/tests.cpp: In member function 'virtual void PractRand::Tests::mod3_simple::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:7862:45: warning: comparison of integer expressions of different signedness: 'int' and 'PractRand::Uint64' {aka 'long long unsigned int'} [-Wsign-compare]
 7862 |                                 if (reduced >= cat) reduced -= cat;
      |                                     ~~~~~~~~^~~~~~
src/tests.cpp:7844:16: warning: unused variable 'samples' [-Wunused-variable]
 7844 |         Uint64 samples = blocks_tested * TestBlock::SIZE / sizeof(Word)-EXP + 1;
      |                ^~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::mod3_simple::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:7910:59: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
 7910 |                         for (unsigned long i = EXP - 1; i < max; i++) {
      |                                                         ~~^~~~~
src/tests.cpp:7916:53: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
 7916 |                         for (unsigned long i = 0; i < max; i++) {
      |                                                   ~~^~~~~
src/tests.cpp:7927:59: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
 7927 |                         for (unsigned long i = EXP - 1; i < max; i++) {
      |                                                         ~~^~~~~
src/tests.cpp:7933:53: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
 7933 |                         for (unsigned long i = 0; i < max; i++) {
      |                                                   ~~^~~~~
src/tests.cpp:7944:59: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
 7944 |                         for (unsigned long i = EXP - 1; i < max; i++) {
      |                                                         ~~^~~~~
src/tests.cpp:7950:53: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
 7950 |                         for (unsigned long i = 0; i < max; i++) {
      |                                                   ~~^~~~~
src/tests.cpp:7961:59: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
 7961 |                         for (unsigned long i = EXP - 1; i < max; i++) {
      |                                                         ~~^~~~~
src/tests.cpp:7967:53: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
 7967 |                         for (unsigned long i = 0; i < max; i++) {
      |                                                   ~~^~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::mod3n::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:8012:24: warning: unused variable 'E' [-Wunused-variable]
 8012 |                 double E = predicted_samples / effective_K;
      |                        ^
src/tests.cpp: In member function 'virtual void PractRand::Tests::mod3n::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:8153:51: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
 8153 |                 for (i = 0; levels[1].warmup && i < max; i += 4) {
      |                                                 ~~^~~~~
src/tests.cpp:8159:26: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
 8159 |                 for (; i < max; i += 4) {
      |                        ~~^~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::Coup16::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:8274:24: warning: unused variable 'weight' [-Wunused-variable]
 8274 |                 double weight = -std::log(p);
      |                        ^~~~~~
src/tests.cpp:8251:16: warning: unused variable 'eebar' [-Wunused-variable]
 8251 |         double eebar = 0.001;
      |                ^~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::DistFreq4::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:8407:43: warning: comparison of integer expressions of different signedness: 'PractRand::Uint32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 8407 |                         while (base_index <= end_index - (ALIGNMENTS_PER_WORD << SIZE2)) {
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/tests.cpp:8416:40: warning: comparison of integer expressions of different signedness: 'PractRand::Uint32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 8416 |                         if (base_index < end_index) {//partial word
      |                             ~~~~~~~~~~~^~~~~~~~~~~
src/tests.cpp:8418:51: warning: comparison of integer expressions of different signedness: 'PractRand::Uint32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 8418 |                                 while (base_index < end_index) {
      |                                        ~~~~~~~~~~~^~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::TripleMirrorFreq::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:8613:27: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
 8613 |         if (blocks_tested < repeat_blocks) return;
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::TripleMirrorFreq::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:8651:30: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
 8651 |         while (blocks_tested < get_blocks_to_repeat()) {
      |                ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::TripleMirrorCoup::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:8836:27: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
 8836 |         if (blocks_tested < repeat_blocks) return;
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::TripleMirrorCoup::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:8874:30: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
 8874 |         while (blocks_tested < get_blocks_to_repeat()) {
      |                ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::LPerm16::get_results(std::vector<PractRand::TestResult>&)':
src/tests.cpp:11053:37: warning: zero-length gnu_printf format string [-Wformat-zero-length]
11053 |                         std::printf("");
      |                                     ^~
src/tests.cpp:11087:24: warning: unused variable 'observed_ratio' [-Wunused-variable]
11087 |                 double observed_ratio = lperm8_chances[i] / chance;
      |                        ^~~~~~~~~~~~~~
src/tests.cpp:11088:21: warning: unused variable 'low_odds' [-Wunused-variable]
11088 |                 int low_odds = lperm4_greaterthan[low] - lperm4_lessthan[low];
      |                     ^~~~~~~~
src/tests.cpp:11089:21: warning: unused variable 'high_odds' [-Wunused-variable]
11089 |                 int high_odds = lperm4_greaterthan[high] - lperm4_lessthan[high];
      |                     ^~~~~~~~~
src/tests.cpp:8987:19: warning: unused variable 'fact4' [-Wunused-variable]
 8987 |         const int fact4 = 24;
      |                   ^~~~~
src/tests.cpp:8993:13: warning: unused variable 'lperm4_incomparable' [-Wunused-variable]
 8993 |         int lperm4_incomparable[8] = { 0, 1, 0, 1, 1, 0, 1, 0 };
      |             ^~~~~~~~~~~~~~~~~~~
src/tests.cpp:8995:13: warning: variable 'lperm8_greaterthan' set but not used [-Wunused-but-set-variable]
 8995 |         int lperm8_greaterthan[128];
      |             ^~~~~~~~~~~~~~~~~~
src/tests.cpp:8996:13: warning: variable 'lperm8_lessthan' set but not used [-Wunused-but-set-variable]
 8996 |         int lperm8_lessthan[128];
      |             ^~~~~~~~~~~~~~~
src/tests.cpp:8997:13: warning: unused variable 'lperm8_incomparable' [-Wunused-variable]
 8997 |         int lperm8_incomparable[128];
      |             ^~~~~~~~~~~~~~~~~~~
src/tests.cpp: In function 'std::string combine_transform_names(const std::string&, const std::string&)':
src/tests.cpp:11278:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
11278 |         if (a.first != prefix.length()) return fail;
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~
src/tests.cpp:11279:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
11279 |         if (b.first > name.length()) return fail;
      |             ~~~~~~~~^~~~~~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::Transforms::switching::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:11362:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<PractRand::Tests::TestBaseclass*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
11362 |         if (++which == subtests.tests.size()) which = 0;
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
src/tests.cpp: In member function 'virtual void PractRand::Tests::Transforms::Transform_Baseclass::flush(bool)':
src/tests.cpp:11380:35: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
11380 |         int old = (blocks_already > blocks_to_repeat) ? blocks_to_repeat : (int)blocks_already;
      |                    ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
src/tests.cpp:11386:38: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
11386 |         int newold = (blocks_already > blocks_to_repeat) ? blocks_to_repeat : (int)blocks_already;
      |                       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
In file included from src/tests.cpp:19:
include/PractRand/test_helpers.h: In instantiation of 'PractRand::Tests::VariableSizeCount<LowIntType>::VariableSizeCount() [with LowIntType = unsigned char]':
src/tests.cpp:1889:32:   required from here
include/PractRand/test_helpers.h:138:29: warning: 'PractRand::Tests::VariableSizeCount<unsigned char>::size' will be initialized after [-Wreorder]
  138 |                         int size;
      |                             ^~~~
include/PractRand/test_helpers.h:136:37: warning:   'unsigned char* PractRand::Tests::VariableSizeCount<unsigned char>::low' [-Wreorder]
  136 |                         LowIntType *low;
      |                                     ^~~
include/PractRand/test_helpers.h:153:25: warning:   when initialized here [-Wreorder]
  153 |                         VariableSizeCount() : size(0), low(NULL), high(NULL) {}
      |                         ^~~~~~~~~~~~~~~~~
include/PractRand/test_helpers.h: In instantiation of 'PractRand::Tests::VariableSizeCount<LowIntType>::VariableSizeCount() [with LowIntType = short unsigned int]':
src/tests.cpp:2652:74:   required from here
include/PractRand/test_helpers.h:138:29: warning: 'PractRand::Tests::VariableSizeCount<short unsigned int>::size' will be initialized after [-Wreorder]
  138 |                         int size;
      |                             ^~~~
include/PractRand/test_helpers.h:136:37: warning:   'short unsigned int* PractRand::Tests::VariableSizeCount<short unsigned int>::low' [-Wreorder]
  136 |                         LowIntType *low;
      |                                     ^~~
include/PractRand/test_helpers.h:153:25: warning:   when initialized here [-Wreorder]
  153 |                         VariableSizeCount() : size(0), low(NULL), high(NULL) {}
      |                         ^~~~~~~~~~~~~~~~~
src/tests.cpp: At global scope:
src/tests.cpp:7801:14: warning: 'PractRand::Uint8 combine_mod3s(PractRand::Uint8, PractRand::Uint8, PractRand::Uint8, PractRand::Uint8)' defined but not used [-Wunused-function]
 7801 | static Uint8 combine_mod3s(Uint8 a, Uint8 b, Uint8 c, Uint8 d) { return mod3_table[a + b + c + d]; }
      |              ^~~~~~~~~~~~~
src/tests.cpp:7800:14: warning: 'PractRand::Uint8 combine_mod3s(PractRand::Uint8, PractRand::Uint8, PractRand::Uint8)' defined but not used [-Wunused-function]
 7800 | static Uint8 combine_mod3s(Uint8 a, Uint8 b, Uint8 c) { return mod3_table[a + b + c]; }
      |              ^~~~~~~~~~~~~
src/tests.cpp:3898:22: warning: 'long unsigned int count_high_zeroes32(PractRand::Uint32)' defined but not used [-Wunused-function]
 3898 | static unsigned long count_high_zeroes32(Uint32 value) {
      |                      ^~~~~~~~~~~~~~~~~~~
src/tests.cpp:87:20: warning: 'long double gap_log2_variance(long double)' defined but not used [-Wunused-function]
   87 | static long double gap_log2_variance(long double chance_of_gap1 = 1.0 / 65536) {
      |                    ^~~~~~~~~~~~~~~~~
src/tests.cpp:53:20: warning: 'long double gap_variance(long double)' defined but not used [-Wunused-function]
   53 | static long double gap_variance(long double chance_of_gap1 = 1.0 / 65536) {
      |                    ^~~~~~~~~~~~
src/tests.cpp: In member function 'PractRand::Tests::Rep16::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:1841:37: warning: array subscript -1 is below array bounds of 'Uint16[512]' [-Warray-bounds=]
 1841 |                 old1 = data->as16[-1];
      |                        ~~~~~~~~~~~~~^
In file included from src/tests.cpp:17:
include/PractRand/tests.h:40:32: note: while referencing 'as16'
   40 |                         Uint16 as16[SIZE/2];
      |                                ^~~~
src/tests.cpp:1842:37: warning: array subscript -2 is below array bounds of 'Uint16[512]' [-Warray-bounds=]
 1842 |                 old2 = data->as16[-2];
      |                        ~~~~~~~~~~~~~^
include/PractRand/tests.h:40:32: note: while referencing 'as16'
   40 |                         Uint16 as16[SIZE/2];
      |                                ^~~~
src/tests.cpp: In member function 'PractRand::Tests::BirthdayLamda1::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:5631:46: warning: 'mask_low' may be used uninitialized [-Wmaybe-uninitialized]
 5631 |                         dest->low = cur[LOW] & mask_low;
      |                                     ~~~~~~~~~^~~~~~~~~~
src/tests.cpp:5614:48: note: 'mask_low' was declared here
 5614 |         Uint64 mask_high = Uint64(Sint64(-1)), mask_low;
      |                                                ^~~~~~~~
src/tests.cpp: In member function 'PractRand::Tests::TripleMirrorFreq::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:8668:67: warning: array subscript -1 is below array bounds of 'Uint8[1024]' [-Warray-bounds=]
 8668 |                                 Uint8 a = data[0].as8[base_pos - 0], b = data[0].as8[base_pos - ofs], c = data[0].as8[base_pos - ofs - ofs];// if BLOCK_STEP is used
      |                                           ~~~~~~~~~~~~~~~~~~~~~~~~^
include/PractRand/tests.h:39:32: note: while referencing 'as8'
   39 |                         Uint8  as8 [SIZE  ];
      |                                ^~~
src/tests.cpp:8668:100: warning: array subscript -16133 is below array bounds of 'Uint8[1024]' [-Warray-bounds=]
 8668 |                                 Uint8 a = data[0].as8[base_pos - 0], b = data[0].as8[base_pos - ofs], c = data[0].as8[base_pos - ofs - ofs];// if BLOCK_STEP is used
      |                                                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^
include/PractRand/tests.h:39:32: note: while referencing 'as8'
   39 |                         Uint8  as8 [SIZE  ];
      |                                ^~~
src/tests.cpp:8668:139: warning: array subscript -32265 is below array bounds of 'Uint8[1024]' [-Warray-bounds=]
 8668 |                                 Uint8 a = data[0].as8[base_pos - 0], b = data[0].as8[base_pos - ofs], c = data[0].as8[base_pos - ofs - ofs];// if BLOCK_STEP is used
      |                                                                                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
include/PractRand/tests.h:39:32: note: while referencing 'as8'
   39 |                         Uint8  as8 [SIZE  ];
      |                                ^~~
src/tests.cpp: In member function 'PractRand::Tests::TripleMirrorCoup::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:8892:65: warning: array subscript -1 is below array bounds of 'Uint8[1024]' [-Warray-bounds=]
 8892 |                                 Uint8 a = data->as8[base_pos - 0], b = data->as8[base_pos - ofs], c = data->as8[base_pos - ofs - ofs];// if BLOCK_STEP is used
      |                                           ~~~~~~~~~~~~~~~~~~~~~~^
include/PractRand/tests.h:39:32: note: while referencing 'as8'
   39 |                         Uint8  as8 [SIZE  ];
      |                                ^~~
src/tests.cpp:8892:96: warning: array subscript -16133 is below array bounds of 'Uint8[1024]' [-Warray-bounds=]
 8892 |                                 Uint8 a = data->as8[base_pos - 0], b = data->as8[base_pos - ofs], c = data->as8[base_pos - ofs - ofs];// if BLOCK_STEP is used
      |                                                                        ~~~~~~~~~~~~~~~~~~~~~~~~^
include/PractRand/tests.h:39:32: note: while referencing 'as8'
   39 |                         Uint8  as8 [SIZE  ];
      |                                ^~~
src/tests.cpp:8892:133: warning: array subscript -32265 is below array bounds of 'Uint8[1024]' [-Warray-bounds=]
 8892 |                                 Uint8 a = data->as8[base_pos - 0], b = data->as8[base_pos - ofs], c = data->as8[base_pos - ofs - ofs];// if BLOCK_STEP is used
      |                                                                                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
include/PractRand/tests.h:39:32: note: while referencing 'as8'
   39 |                         Uint8  as8 [SIZE  ];
      |                                ^~~
src/tests.cpp: In member function 'PractRand::Tests::FPF::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:4193:52: warning: array subscript -2 is below array bounds of 'Uint32[256]' [-Warray-bounds=]
 4193 |                                 cur = data->as32[-2];//
      |                                       ~~~~~~~~~~~~~^
include/PractRand/tests.h:41:32: note: while referencing 'as32'
   41 |                         Uint32 as32[SIZE/4];
      |                                ^~~~
src/tests.cpp:4129:53: warning: array subscript -1 is below array bounds of 'Uint32[256]' [-Warray-bounds=]
 4129 |                                 cur = reverse_bits32(data->as32[-1]);
      |                                       ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
include/PractRand/tests.h:41:32: note: while referencing 'as32'
   41 |                         Uint32 as32[SIZE/4];
      |                                ^~~~
src/tests.cpp: In member function 'PractRand::Tests::NearSeq2::test_blocks(PractRand::Tests::TestBlock*, int)':
src/tests.cpp:7615:79: warning: array subscript -2 is below array bounds of 'Uint64[128]' [-Warray-bounds=]
 7615 |                                 else if (WORD_BITS == 64) w = data[0].as64[pos];
      |                                                               ~~~~~~~~~~~~~~~~^
include/PractRand/tests.h:42:32: note: while referencing 'as64'
   42 |                         Uint64 as64[SIZE/8];
      |                                ^~~~
src/tests.cpp: In member function 'PractRand::Tests::BirthdayAlt::flush_buffer()':
src/tests.cpp:5978:65: warning: 'expected_log_offset' may be used uninitialized [-Wmaybe-uninitialized]
 5978 |         long double adjusted_expected_log2 = expected_log2 * (1 + expected_log_offset);
      |                                                              ~~~^~~~~~~~~~~~~~~~~~~~~~
src/tests.cpp:5970:21: note: 'expected_log_offset' was declared here
 5970 |         long double expected_log_offset, expected_log_samples, deviation, uncertainty;
      |                     ^~~~~~~~~~~~~~~~~~~
src/tests.cpp: In member function 'PractRand::Tests::NearSeq2::get_results(std::vector<PractRand::TestResult, std::allocator<PractRand::TestResult> >&)':
src/tests.cpp:7530:54: warning: 'worst_b' may be used uninitialized [-Wmaybe-uninitialized]
 7530 |                         os << get_name() << ":WB" << worst_b;
      |                                                      ^~~~~~~
src/tests.cpp:7487:21: note: 'worst_b' was declared here
 7487 |                 int worst_b;
      |                     ^~~~~~~
src/tests.cpp:7526:25: warning: 'worst_p' may be used uninitialized [-Wmaybe-uninitialized]
 7526 |                         if (worst_p < 0.5) worst_p *= NUM_BUCKETS;
      |                         ^~
src/tests.cpp:7488:21: note: 'worst_p' was declared here
 7488 |                 int worst_p;
      |                     ^~~~~~~
src/tests.cpp:7587:72: warning: 'low.bucket' may be used uninitialized [-Wmaybe-uninitialized]
 7587 |                         os1 << get_name() << ":EB:L:" << low.bucket << "_" << low.hbin << "_" << low.ebit;
      |                                                                        ^~~
src/tests.cpp:7541:23: note: 'low.bucket' was declared here
 7541 |                 Entry low, high;
      |                       ^~~
src/tests.cpp:7587:91: warning: 'low.hbin' may be used uninitialized [-Wmaybe-uninitialized]
 7587 |                         os1 << get_name() << ":EB:L:" << low.bucket << "_" << low.hbin << "_" << low.ebit;
      |                                                                                           ^~~
src/tests.cpp:7541:23: note: 'low.hbin' was declared here
 7541 |                 Entry low, high;
      |                       ^~~
src/tests.cpp:7587:102: warning: 'low.ebit' may be used uninitialized [-Wmaybe-uninitialized]
 7587 |                         os1 << get_name() << ":EB:L:" << low.bucket << "_" << low.hbin << "_" << low.ebit;
      |                                                                                                      ^~~~
src/tests.cpp:7541:23: note: 'low.ebit' was declared here
 7541 |                 Entry low, high;
      |                       ^~~
src/tests.cpp:7592:73: warning: 'high.bucket' may be used uninitialized [-Wmaybe-uninitialized]
 7592 |                         os2 << get_name() << ":EB:H:" << high.bucket << "_" << high.hbin << "_" << high.ebit;
      |                                                                         ^~~
src/tests.cpp:7541:28: note: 'high.bucket' was declared here
 7541 |                 Entry low, high;
      |                            ^~~~
src/tests.cpp:7592:93: warning: 'high.hbin' may be used uninitialized [-Wmaybe-uninitialized]
 7592 |                         os2 << get_name() << ":EB:H:" << high.bucket << "_" << high.hbin << "_" << high.ebit;
      |                                                                                             ^~~
src/tests.cpp:7541:28: note: 'high.hbin' was declared here
 7541 |                 Entry low, high;
      |                            ^~~~
src/tests.cpp:7592:105: warning: 'high.ebit' may be used uninitialized [-Wmaybe-uninitialized]
 7592 |                         os2 << get_name() << ":EB:H:" << high.bucket << "_" << high.hbin << "_" << high.ebit;
      |                                                                                                         ^~~~
src/tests.cpp:7541:28: note: 'high.ebit' was declared here
 7541 |                 Entry low, high;
      |                            ^~~~
src/RNGs/efiix.cpp:59:1: warning: multi-line comment [-Wcomment]
   59 | //#define EFIIX_ALGORITHM(BITS, SHIFT_AMOUNT) \
      | ^
src/RNGs/efiix.cpp:75:1: warning: multi-line comment [-Wcomment]
   75 | //#define EFIIX_ALGORITHM(BITS, SHIFT_AMOUNT) \
      | ^
src/RNGs/efiix.cpp:90:1: warning: multi-line comment [-Wcomment]
   90 | //#define EFIIX_ALGORITHM(BITS, SHIFT_AMOUNT) \
      | ^
src/RNGs/efiix.cpp: In member function 'PractRand::Uint8 PractRand::RNGs::Raw::efiix8x48::raw8()':
src/RNGs/efiix.cpp:237:22: warning: typedef 'check_efiix_array_sizes' locally defined but not used [-Wunused-local-typedefs]
  237 |         typedef Word check_efiix_array_sizes[(ITERATION_SIZE & (ITERATION_SIZE-1)) || (INDIRECTION_SIZE & (INDIRECTION_SIZE-1)) ? -1 : 1];
      |                      ^~~~~~~~~~~~~~~~~~~~~~~
src/RNGs/efiix.cpp: In member function 'void PractRand::RNGs::Raw::efiix8x48::seed(PractRand::Uint64, PractRand::Uint64, PractRand::Uint64, PractRand::Uint64)':
src/RNGs/efiix.cpp:246:27: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  246 |         for (int x = 0; x < 1 + (64 / (8 * sizeof(Word))); x++) {
      |                         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/RNGs/efiix.cpp: In member function 'PractRand::Uint16 PractRand::RNGs::Raw::efiix16x48::raw16()':
src/RNGs/efiix.cpp:312:22: warning: typedef 'check_efiix_array_sizes' locally defined but not used [-Wunused-local-typedefs]
  312 |         typedef Word check_efiix_array_sizes[(ITERATION_SIZE & (ITERATION_SIZE-1)) || (INDIRECTION_SIZE & (INDIRECTION_SIZE-1)) ? -1 : 1];
      |                      ^~~~~~~~~~~~~~~~~~~~~~~
src/RNGs/efiix.cpp: In member function 'PractRand::Uint32 PractRand::RNGs::Raw::efiix32x48::raw32()':
src/RNGs/efiix.cpp:343:22: warning: typedef 'check_efiix_array_sizes' locally defined but not used [-Wunused-local-typedefs]
  343 |         typedef Word check_efiix_array_sizes[(ITERATION_SIZE & (ITERATION_SIZE-1)) || (INDIRECTION_SIZE & (INDIRECTION_SIZE-1)) ? -1 : 1];
      |                      ^~~~~~~~~~~~~~~~~~~~~~~
src/RNGs/efiix.cpp: In member function 'PractRand::Uint64 PractRand::RNGs::Raw::efiix64x48::raw64()':
src/RNGs/efiix.cpp:386:22: warning: typedef 'check_efiix_array_sizes' locally defined but not used [-Wunused-local-typedefs]
  386 |         typedef Word check_efiix_array_sizes[(ITERATION_SIZE & (ITERATION_SIZE-1)) || (INDIRECTION_SIZE & (INDIRECTION_SIZE-1)) ? -1 : 1];
      |                      ^~~~~~~~~~~~~~~~~~~~~~~
src/RNGs/efiix.cpp: At global scope:
src/RNGs/efiix.cpp:346:13: warning: 'void mix4x32(PractRand::Uint32&, PractRand::Uint32&, PractRand::Uint32&, PractRand::Uint32&)' defined but not used [-Wunused-function]
  346 | static void mix4x32(Uint32 &a, Uint32 &b, Uint32 &c, Uint32 &d) {
      |             ^~~~~~~
In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)',
    inlined from 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long)' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long)' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
In file included from src/RNGs/efiix.cpp:8:
include/PractRand/RNGs/efiix8x48.h: In member function 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long)':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [17, 23] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)',
    inlined from 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long)' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long)' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h: In member function 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long)':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [19, 24] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)',
    inlined from 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long)' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long)' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h: In member function 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long)':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [21, 25] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)',
    inlined from 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long)' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long)' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h: In member function 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long)':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [23, 26] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)',
    inlined from 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long)' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long)' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h: In member function 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long)':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [25, 27] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)',
    inlined from 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long)' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long)' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h: In member function 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long)':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [27, 28] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)',
    inlined from 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long)' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long)' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h: In member function 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long)':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset 29 into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)',
    inlined from 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)' at src/RNGs/efiix.cpp:22:117:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h: In member function 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [17, 23] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)',
    inlined from 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)' at src/RNGs/efiix.cpp:22:117:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h: In member function 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [19, 24] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)',
    inlined from 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)' at src/RNGs/efiix.cpp:22:117:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h: In member function 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [21, 25] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)',
    inlined from 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)' at src/RNGs/efiix.cpp:22:117:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h: In member function 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [23, 26] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)',
    inlined from 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)' at src/RNGs/efiix.cpp:22:117:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h: In member function 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [25, 27] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)',
    inlined from 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)' at src/RNGs/efiix.cpp:22:117:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h: In member function 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [27, 28] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)',
    inlined from 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)' at src/RNGs/efiix.cpp:22:117:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h: In member function 'PractRand::RNGs::Polymorphic::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset 29 into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
src/RNGs/efiix.cpp: In member function 'PractRand::RNGs::Raw::efiix8x48::seed(unsigned long long, unsigned long long, unsigned long long, unsigned long long)':
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [17, 23] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [19, 24] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [21, 25] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [23, 26] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [25, 27] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [27, 28] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset 29 into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^~~~~~~~~~~~~~~~~
src/RNGs/salsa.cpp:203:13: warning: 'void test_salsa(PractRand::Uint32, const PractRand::Uint32*, bool, PractRand::Uint32, PractRand::Uint32, PractRand::Uint32)' defined but not used [-Wunused-function]
  203 | static void test_salsa ( Uint32 rounds, const Uint32 *seed_and_iv, bool short_seed, Uint32 expected0, Uint32 index, Uint32 expected1) {
      |             ^~~~~~~~~~
src/RNGs/other/fibonacci.cpp: In member function 'virtual PractRand::Uint64 PractRand::RNGs::Polymorphic::NotRecommended::bigbadlcg64X::raw64()':
src/RNGs/other/fibonacci.cpp:56:62: warning: unused variable 'carry' [-Wunused-variable]
   56 |                                                         bool carry = state[shift_i] < old;
      |                                                              ^~~~~
src/RNGs/other/indirection.cpp: In member function 'PractRand::Uint16 PractRand::RNGs::Polymorphic::NotRecommended::genindC::refill()':
src/RNGs/other/indirection.cpp:580:45: warning: unused variable 'size' [-Wunused-variable]
  580 |                                         int size = 1 << table_size_L2;
      |                                             ^~~~
src/RNGs/other/simple.cpp: In member function 'virtual PractRand::Uint64 PractRand::RNGs::Polymorphic::NotRecommended::xoroshiro128plus_2p64::raw64()':
src/RNGs/other/simple.cpp:212:59: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  212 |                                         for (int i = 0; i < sizeof JUMP / sizeof *JUMP; i++) {
      |                                                         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/RNGs/other/simple.cpp: At global scope:
src/RNGs/other/simple.cpp:663:47: warning: 'PractRand::Uint64 PractRand::RNGs::Polymorphic::NotRecommended::shift_array64(PractRand::Uint64*, long unsigned int)' defined but not used [-Wunused-function]
  663 |                                 static Uint64 shift_array64(Uint64 vec[2], unsigned long bits) {
      |                                               ^~~~~~~~~~~~~
In file included from src/RNGs/other/transform.cpp:10:
include/PractRand/RNGs/other/transform.h: In constructor 'PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::GeneralizedTableTransform(PractRand::RNGs::vRNG*, const Entry*, std::string)':
include/PractRand/RNGs/other/transform.h:83:47: warning: 'PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::base_rng' will be initialized after [-Wreorder]
   83 |                                         vRNG *base_rng;
      |                                               ^~~~~~~~
include/PractRand/RNGs/other/transform.h:77:48: warning:   'PractRand::Uint32 PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::buf_count' [-Wreorder]
   77 |                                         Uint32 buf_count;
      |                                                ^~~~~~~~~
include/PractRand/RNGs/other/transform.h:87:41: warning:   when initialized here [-Wreorder]
   87 |                                         GeneralizedTableTransform(vRNG *rng, const Entry *table_, std::string name_) : table(table_), base_rng(rng), buf_count(0), buf_data(0), name(name_) {}
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~
include/PractRand/RNGs/other/transform.h:77:48: warning: 'PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::buf_count' will be initialized after [-Wreorder]
   77 |                                         Uint32 buf_count;
      |                                                ^~~~~~~~~
include/PractRand/RNGs/other/transform.h:76:48: warning:   'PractRand::Uint32 PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::buf_data' [-Wreorder]
   76 |                                         Uint32 buf_data;
      |                                                ^~~~~~~~
include/PractRand/RNGs/other/transform.h:87:41: warning:   when initialized here [-Wreorder]
   87 |                                         GeneralizedTableTransform(vRNG *rng, const Entry *table_, std::string name_) : table(table_), base_rng(rng), buf_count(0), buf_data(0), name(name_) {}
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~
src/RNGs/other/transform.cpp: In member function 'virtual void PractRand::RNGs::Polymorphic::NotRecommended::Xor::refill()':
src/RNGs/other/transform.cpp:233:63: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<PractRand::RNGs::vRNG*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  233 |                                         for (int sri = 1; sri < source_rngs.size(); sri++) {
      |                                                           ~~~~^~~~~~~~~~~~~~~~~~~~
src/RNGs/other/transform.cpp: In member function 'virtual std::string PractRand::RNGs::Polymorphic::NotRecommended::Xor::get_name() const':
src/RNGs/other/transform.cpp:240:63: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<PractRand::RNGs::vRNG*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  240 |                                         for (int sri = 0; sri < source_rngs.size(); sri++) {
      |                                                           ~~~~^~~~~~~~~~~~~~~~~~~~
+ g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -o practrand-RNG_test tools/RNG_test.cpp arbee.o chacha.o efiix.o fibonacci.o hc256.o indirection.o isaac.o jsf.o math.o mt19937.o mult.o non_uniform.o platform_specifics.o rand.o rarns.o salsa.o sfc.o sha2.o sha2_based_pool.o simple.o test_batteries.o tests.o transform.o trivium.o xsm.o -I include -I tools -pthread -std=c++11 -O3 -g
In file included from tools/RNG_test.cpp:27:
include/PractRand/RNGs/other/transform.h: In constructor 'PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::GeneralizedTableTransform(PractRand::RNGs::vRNG*, const Entry*, std::string)':
include/PractRand/RNGs/other/transform.h:83:47: warning: 'PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::base_rng' will be initialized after [-Wreorder]
   83 |                                         vRNG *base_rng;
      |                                               ^~~~~~~~
include/PractRand/RNGs/other/transform.h:77:48: warning:   'PractRand::Uint32 PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::buf_count' [-Wreorder]
   77 |                                         Uint32 buf_count;
      |                                                ^~~~~~~~~
include/PractRand/RNGs/other/transform.h:87:41: warning:   when initialized here [-Wreorder]
   87 |                                         GeneralizedTableTransform(vRNG *rng, const Entry *table_, std::string name_) : table(table_), base_rng(rng), buf_count(0), buf_data(0), name(name_) {}
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~
include/PractRand/RNGs/other/transform.h:77:48: warning: 'PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::buf_count' will be initialized after [-Wreorder]
   77 |                                         Uint32 buf_count;
      |                                                ^~~~~~~~~
include/PractRand/RNGs/other/transform.h:76:48: warning:   'PractRand::Uint32 PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::buf_data' [-Wreorder]
   76 |                                         Uint32 buf_data;
      |                                                ^~~~~~~~
include/PractRand/RNGs/other/transform.h:87:41: warning:   when initialized here [-Wreorder]
   87 |                                         GeneralizedTableTransform(vRNG *rng, const Entry *table_, std::string name_) : table(table_), base_rng(rng), buf_count(0), buf_data(0), name(name_) {}
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from tools/RNG_test.cpp:50:
tools/TestManager.h: In member function 'int TestManager::prep_blocks(PractRand::Uint64&)':
tools/TestManager.h:66:27: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
   66 |         if (_delta_blocks > max_buffer_amount) _delta_blocks = max_buffer_amount;
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from tools/RNG_test.cpp:53:
tools/MultithreadedTestManager.h: In member function 'void MultithreadedTestManager::multithreaded_prep_blocks(PractRand::Uint64)':
tools/MultithreadedTestManager.h:77:43: warning: comparison of integer expressions of different signedness: 'PractRand::Uint64' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
   77 |                 main_blocks = (num_blocks > max_buffer_amount) ? max_buffer_amount : Uint32(num_blocks);
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
tools/RNG_test.cpp: In function 'void show_checkpoint(TestManager&, int, PractRand::Uint64, double, bool, double, bool)':
tools/RNG_test.cpp:320:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<PractRand::TestResult>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  320 |         for (int i = 0; i < results.size(); i++) {
      |                         ~~^~~~~~~~~~~~~~~~
tools/RNG_test.cpp:330:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<PractRand::TestResult>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  330 |         for (int i = 0; i < results.size(); i++) {
      |                         ~~^~~~~~~~~~~~~~~~
tools/RNG_test.cpp:342:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  342 |         for (int i = 0; i < marked.size(); i++) {
      |                         ~~^~~~~~~~~~~~~~~
tools/RNG_test.cpp: In function 'double interpret_length(const std::string&, bool)':
tools/RNG_test.cpp:363:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  363 |         for (; pos < lengthstr.size(); pos++) {
      |                ~~~~^~~~~~~~~~~~~~~~~~
tools/RNG_test.cpp:370:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  370 |         if (pos == lengthstr.size()) return std::pow(2.0,value) * mode_factor;
      |             ~~~~^~~~~~~~~~~~~~~~~~~
tools/RNG_test.cpp:374:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  374 |                 for (; pos < lengthstr.size(); pos++,sig*=0.1) {
      |                        ~~~~^~~~~~~~~~~~~~~~~~
tools/RNG_test.cpp:380:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  380 |                 if (pos == lengthstr.size()) return std::pow(2.0,value) * mode_factor;
      |                     ~~~~^~~~~~~~~~~~~~~~~~~
tools/RNG_test.cpp:419:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  419 |         if (pos == lengthstr.size()) {
      |             ~~~~^~~~~~~~~~~~~~~~~~~
tools/RNG_test.cpp:428:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  428 |         if (pos != lengthstr.size()) return 0;
      |             ~~~~^~~~~~~~~~~~~~~~~~~
tools/RNG_test.cpp: In function 'bool interpret_seed(const std::string&, PractRand::Uint64&)':
tools/RNG_test.cpp:436:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  436 |         while (position < seedstr.length()) {
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~
In file included from tools/RNG_test.cpp:452:
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::TripleFreq::TripleFreq(int, int)':
include/PractRand/Tests/DistFreq4.h:54:29: warning: 'PractRand::Tests::TripleFreq::passes_at_once' will be initialized after [-Wreorder]
   54 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:53:29: warning:   'int PractRand::Tests::TripleFreq::blocks_per_pass' [-Wreorder]
   53 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:29:25: warning:   when initialized here [-Wreorder]
   29 |                         TripleFreq(int passes_at_once_, int blocks_per_pass_) : passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::TripleMirrorFreq::TripleMirrorFreq(int, int)':
include/PractRand/Tests/DistFreq4.h:82:29: warning: 'PractRand::Tests::TripleMirrorFreq::passes_at_once' will be initialized after [-Wreorder]
   82 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:81:29: warning:   'int PractRand::Tests::TripleMirrorFreq::blocks_per_pass' [-Wreorder]
   81 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:61:25: warning:   when initialized here [-Wreorder]
   61 |                         TripleMirrorFreq(int passes_at_once_, int blocks_per_pass_) : passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::TripleMirrorFreqN::TripleMirrorFreqN(int)':
include/PractRand/Tests/DistFreq4.h:117:29: warning: 'PractRand::Tests::TripleMirrorFreqN::minimum_level' will be initialized after [-Wreorder]
  117 |                         int minimum_level;
      |                             ^~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:116:29: warning:   'int PractRand::Tests::TripleMirrorFreqN::blocks_per_pass' [-Wreorder]
  116 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:88:25: warning:   when initialized here [-Wreorder]
   88 |                         TripleMirrorFreqN(int minimum_level_) : minimum_level(minimum_level_), blocks_per_pass(1 << minimum_level_) {}
      |                         ^~~~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::TripleMirrorCoup::TripleMirrorCoup(int, int)':
include/PractRand/Tests/DistFreq4.h:146:29: warning: 'PractRand::Tests::TripleMirrorCoup::passes_at_once' will be initialized after [-Wreorder]
  146 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:145:29: warning:   'int PractRand::Tests::TripleMirrorCoup::blocks_per_pass' [-Wreorder]
  145 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:123:25: warning:   when initialized here [-Wreorder]
  123 |                         TripleMirrorCoup(int passes_at_once_, int blocks_per_pass_) : passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::QuadFreq::QuadFreq(int, int)':
include/PractRand/Tests/DistFreq4.h:183:29: warning: 'PractRand::Tests::QuadFreq::passes_at_once' will be initialized after [-Wreorder]
  183 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:182:29: warning:   'int PractRand::Tests::QuadFreq::blocks_per_pass' [-Wreorder]
  182 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:156:25: warning:   when initialized here [-Wreorder]
  156 |                         QuadFreq(int passes_at_once_, int blocks_per_pass_) : passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~~
include/PractRand/Tests/DistFreq4.h: In constructor 'PractRand::Tests::LPerm16::LPerm16(int, int, int)':
include/PractRand/Tests/DistFreq4.h:204:29: warning: 'PractRand::Tests::LPerm16::passes_at_once' will be initialized after [-Wreorder]
  204 |                         int passes_at_once;
      |                             ^~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:203:29: warning:   'int PractRand::Tests::LPerm16::blocks_per_pass' [-Wreorder]
  203 |                         int blocks_per_pass;
      |                             ^~~~~~~~~~~~~~~
include/PractRand/Tests/DistFreq4.h:190:25: warning:   when initialized here [-Wreorder]
  190 |                         LPerm16(int word_bits_, int passes_at_once_ = 0, int blocks_per_pass_ = 1) : word_bits(word_bits_), passes_at_once(passes_at_once_), blocks_per_pass(blocks_per_pass_) {}
      |                         ^~~~~~~
In file included from tools/RNG_test.cpp:55:
tools/Candidate_RNGs.h: In instantiation of 'Word Candidates::_VeryFast<Word, ROTATE, RSHIFT, LSHIFT>::_raw_native() [with Word = long long unsigned int; int ROTATE = 29; int RSHIFT = 9; int LSHIFT = 3]':
tools/Candidate_RNGs.h:269:99:   required from here
tools/Candidate_RNGs.h:187:22: warning: unused variable 'old' [-Wunused-variable]
  187 |                 Word old;
      |                      ^~~
tools/Candidate_RNGs.h:188:28: warning: unused variable 'K' [-Wunused-variable]
  188 |                 const Word K = Word(0x92ec64765925a395ull);
      |                            ^
tools/Candidate_RNGs.h: In instantiation of 'Word Candidates::_VeryFast<Word, ROTATE, RSHIFT, LSHIFT>::_raw_native() [with Word = unsigned int; int ROTATE = 13; int RSHIFT = 7; int LSHIFT = 3]':
tools/Candidate_RNGs.h:270:99:   required from here
tools/Candidate_RNGs.h:187:22: warning: unused variable 'old' [-Wunused-variable]
  187 |                 Word old;
      |                      ^~~
tools/Candidate_RNGs.h:188:28: warning: unused variable 'K' [-Wunused-variable]
  188 |                 const Word K = Word(0x92ec64765925a395ull);
      |                            ^
tools/Candidate_RNGs.h: In instantiation of 'Word Candidates::_VeryFast<Word, ROTATE, RSHIFT, LSHIFT>::_raw_native() [with Word = short unsigned int; int ROTATE = 7; int RSHIFT = 3; int LSHIFT = 2]':
tools/Candidate_RNGs.h:271:99:   required from here
tools/Candidate_RNGs.h:187:22: warning: unused variable 'old' [-Wunused-variable]
  187 |                 Word old;
      |                      ^~~
tools/Candidate_RNGs.h:188:28: warning: unused variable 'K' [-Wunused-variable]
  188 |                 const Word K = Word(0x92ec64765925a395ull);
      |                            ^
tools/Candidate_RNGs.h: In instantiation of 'Word Candidates::_VeryFast<Word, ROTATE, RSHIFT, LSHIFT>::_raw_native() [with Word = unsigned char; int ROTATE = 3; int RSHIFT = 2; int LSHIFT = 2]':
tools/Candidate_RNGs.h:272:99:   required from here
tools/Candidate_RNGs.h:187:22: warning: unused variable 'old' [-Wunused-variable]
  187 |                 Word old;
      |                      ^~~
tools/Candidate_RNGs.h:188:28: warning: unused variable 'K' [-Wunused-variable]
  188 |                 const Word K = Word(0x92ec64765925a395ull);
      |                            ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [17, 23] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [19, 24] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [21, 25] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [23, 26] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [25, 27] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [27, 28] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset 29 into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In function 'copy',
    inlined from '__ct ' at /usr/include/c++/13/bits/basic_string.h:675:23,
    inlined from 'operator+' at /usr/include/c++/13/bits/basic_string.h:3653:43,
    inlined from 'get_name' at tools/Candidate_RNGs.h:166:1:
/usr/include/c++/13/bits/char_traits.h:425:56: warning: '__builtin_memcpy' reading 17 bytes from a region of size 16 [-Wstringop-overread]
  425 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                                        ^
tools/Candidate_RNGs.h: In member function 'get_name':
tools/Candidate_RNGs.h:166:1: note: at offset 16 into source object '<anonymous>' of size 32
  166 | POLYMORPHIC_CANDIDATE(ranrot_variant, 64)
      | ^
In function 'copy',
    inlined from '__ct ' at /usr/include/c++/13/bits/basic_string.h:675:23,
    inlined from 'operator+' at /usr/include/c++/13/bits/basic_string.h:3653:43,
    inlined from 'get_name' at tools/Candidate_RNGs.h:167:1:
/usr/include/c++/13/bits/char_traits.h:425:56: warning: '__builtin_memcpy' reading 17 bytes from a region of size 16 [-Wstringop-overread]
  425 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                                        ^
tools/Candidate_RNGs.h: In member function 'get_name':
tools/Candidate_RNGs.h:167:1: note: at offset 16 into source object '<anonymous>' of size 32
  167 | POLYMORPHIC_CANDIDATE(ranrot_variant, 32)
      | ^
In function 'copy',
    inlined from '__ct ' at /usr/include/c++/13/bits/basic_string.h:675:23,
    inlined from 'operator+' at /usr/include/c++/13/bits/basic_string.h:3653:43,
    inlined from 'get_name' at tools/Candidate_RNGs.h:168:1:
/usr/include/c++/13/bits/char_traits.h:425:56: warning: '__builtin_memcpy' reading 17 bytes from a region of size 16 [-Wstringop-overread]
  425 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                                        ^
tools/Candidate_RNGs.h: In member function 'get_name':
tools/Candidate_RNGs.h:168:1: note: at offset 16 into source object '<anonymous>' of size 32
  168 | POLYMORPHIC_CANDIDATE(ranrot_variant, 16)
      | ^
In function 'copy',
    inlined from '__ct ' at /usr/include/c++/13/bits/basic_string.h:675:23,
    inlined from 'operator+' at /usr/include/c++/13/bits/basic_string.h:3653:43,
    inlined from 'get_name' at tools/Candidate_RNGs.h:509:1:
/usr/include/c++/13/bits/char_traits.h:425:56: warning: '__builtin_memcpy' reading 18 bytes from a region of size 16 [-Wstringop-overread]
  425 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                                        ^
tools/Candidate_RNGs.h: In member function 'get_name':
tools/Candidate_RNGs.h:509:1: note: at offset 16 into source object '<anonymous>' of size 32
  509 | SEEDED_POLYMORPHIC_CANDIDATE(sfc_alternative, 64)
      | ^
In function 'copy',
    inlined from '__ct ' at /usr/include/c++/13/bits/basic_string.h:675:23,
    inlined from 'operator+' at /usr/include/c++/13/bits/basic_string.h:3653:43,
    inlined from 'get_name' at tools/Candidate_RNGs.h:510:1:
/usr/include/c++/13/bits/char_traits.h:425:56: warning: '__builtin_memcpy' reading 18 bytes from a region of size 16 [-Wstringop-overread]
  425 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                                        ^
tools/Candidate_RNGs.h: In member function 'get_name':
tools/Candidate_RNGs.h:510:1: note: at offset 16 into source object '<anonymous>' of size 32
  510 | SEEDED_POLYMORPHIC_CANDIDATE(sfc_alternative, 32)
      | ^
In function 'copy',
    inlined from '__ct ' at /usr/include/c++/13/bits/basic_string.h:675:23,
    inlined from 'operator+' at /usr/include/c++/13/bits/basic_string.h:3653:43,
    inlined from 'get_name' at tools/Candidate_RNGs.h:511:1:
/usr/include/c++/13/bits/char_traits.h:425:56: warning: '__builtin_memcpy' reading 18 bytes from a region of size 16 [-Wstringop-overread]
  425 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                                        ^
tools/Candidate_RNGs.h: In member function 'get_name':
tools/Candidate_RNGs.h:511:1: note: at offset 16 into source object '<anonymous>' of size 32
  511 | SEEDED_POLYMORPHIC_CANDIDATE(sfc_alternative, 16)
      | ^
In function 'copy',
    inlined from '__ct ' at /usr/include/c++/13/bits/basic_string.h:675:23,
    inlined from 'operator+' at /usr/include/c++/13/bits/basic_string.h:3653:43,
    inlined from 'get_name' at tools/Candidate_RNGs.h:512:1:
/usr/include/c++/13/bits/char_traits.h:425:56: warning: '__builtin_memcpy' reading 17 bytes from a region of size 16 [-Wstringop-overread]
  425 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                                        ^
tools/Candidate_RNGs.h: In member function 'get_name':
tools/Candidate_RNGs.h:512:1: note: at offset 16 into source object '<anonymous>' of size 32
  512 | SEEDED_POLYMORPHIC_CANDIDATE(sfc_alternative, 8)
      | ^
+ g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -o practrand-RNG_output tools/RNG_output.cpp arbee.o chacha.o efiix.o fibonacci.o hc256.o indirection.o isaac.o jsf.o math.o mt19937.o mult.o non_uniform.o platform_specifics.o rand.o rarns.o salsa.o sfc.o sha2.o sha2_based_pool.o simple.o test_batteries.o tests.o transform.o trivium.o xsm.o -I include -I tools -pthread -std=c++11 -O3 -g
In file included from tools/RNG_output.cpp:31:
include/PractRand/RNGs/other/transform.h: In constructor 'PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::GeneralizedTableTransform(PractRand::RNGs::vRNG*, const Entry*, std::string)':
include/PractRand/RNGs/other/transform.h:83:47: warning: 'PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::base_rng' will be initialized after [-Wreorder]
   83 |                                         vRNG *base_rng;
      |                                               ^~~~~~~~
include/PractRand/RNGs/other/transform.h:77:48: warning:   'PractRand::Uint32 PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::buf_count' [-Wreorder]
   77 |                                         Uint32 buf_count;
      |                                                ^~~~~~~~~
include/PractRand/RNGs/other/transform.h:87:41: warning:   when initialized here [-Wreorder]
   87 |                                         GeneralizedTableTransform(vRNG *rng, const Entry *table_, std::string name_) : table(table_), base_rng(rng), buf_count(0), buf_data(0), name(name_) {}
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~
include/PractRand/RNGs/other/transform.h:77:48: warning: 'PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::buf_count' will be initialized after [-Wreorder]
   77 |                                         Uint32 buf_count;
      |                                                ^~~~~~~~~
include/PractRand/RNGs/other/transform.h:76:48: warning:   'PractRand::Uint32 PractRand::RNGs::Polymorphic::NotRecommended::GeneralizedTableTransform::buf_data' [-Wreorder]
   76 |                                         Uint32 buf_data;
      |                                                ^~~~~~~~
include/PractRand/RNGs/other/transform.h:87:41: warning:   when initialized here [-Wreorder]
   87 |                                         GeneralizedTableTransform(vRNG *rng, const Entry *table_, std::string name_) : table(table_), base_rng(rng), buf_count(0), buf_data(0), name(name_) {}
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from tools/RNG_output.cpp:42:
tools/Candidate_RNGs.h: In instantiation of 'Word Candidates::_VeryFast<Word, ROTATE, RSHIFT, LSHIFT>::_raw_native() [with Word = long long unsigned int; int ROTATE = 29; int RSHIFT = 9; int LSHIFT = 3]':
tools/Candidate_RNGs.h:269:99:   required from here
tools/Candidate_RNGs.h:187:22: warning: unused variable 'old' [-Wunused-variable]
  187 |                 Word old;
      |                      ^~~
tools/Candidate_RNGs.h:188:28: warning: unused variable 'K' [-Wunused-variable]
  188 |                 const Word K = Word(0x92ec64765925a395ull);
      |                            ^
tools/Candidate_RNGs.h: In instantiation of 'Word Candidates::_VeryFast<Word, ROTATE, RSHIFT, LSHIFT>::_raw_native() [with Word = unsigned int; int ROTATE = 13; int RSHIFT = 7; int LSHIFT = 3]':
tools/Candidate_RNGs.h:270:99:   required from here
tools/Candidate_RNGs.h:187:22: warning: unused variable 'old' [-Wunused-variable]
  187 |                 Word old;
      |                      ^~~
tools/Candidate_RNGs.h:188:28: warning: unused variable 'K' [-Wunused-variable]
  188 |                 const Word K = Word(0x92ec64765925a395ull);
      |                            ^
tools/Candidate_RNGs.h: In instantiation of 'Word Candidates::_VeryFast<Word, ROTATE, RSHIFT, LSHIFT>::_raw_native() [with Word = short unsigned int; int ROTATE = 7; int RSHIFT = 3; int LSHIFT = 2]':
tools/Candidate_RNGs.h:271:99:   required from here
tools/Candidate_RNGs.h:187:22: warning: unused variable 'old' [-Wunused-variable]
  187 |                 Word old;
      |                      ^~~
tools/Candidate_RNGs.h:188:28: warning: unused variable 'K' [-Wunused-variable]
  188 |                 const Word K = Word(0x92ec64765925a395ull);
      |                            ^
tools/Candidate_RNGs.h: In instantiation of 'Word Candidates::_VeryFast<Word, ROTATE, RSHIFT, LSHIFT>::_raw_native() [with Word = unsigned char; int ROTATE = 3; int RSHIFT = 2; int LSHIFT = 2]':
tools/Candidate_RNGs.h:272:99:   required from here
tools/Candidate_RNGs.h:187:22: warning: unused variable 'old' [-Wunused-variable]
  187 |                 Word old;
      |                      ^~~
tools/Candidate_RNGs.h:188:28: warning: unused variable 'K' [-Wunused-variable]
  188 |                 const Word K = Word(0x92ec64765925a395ull);
      |                            ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [17, 23] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [19, 24] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [21, 25] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [23, 26] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [25, 27] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [27, 28] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset 29 into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
+ g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -o practrand-RNG_benchmark tools/RNG_benchmark.cpp arbee.o chacha.o efiix.o fibonacci.o hc256.o indirection.o isaac.o jsf.o math.o mt19937.o mult.o non_uniform.o platform_specifics.o rand.o rarns.o salsa.o sfc.o sha2.o sha2_based_pool.o simple.o test_batteries.o tests.o transform.o trivium.o xsm.o -I include -I tools -pthread -std=c++11 -O3 -g
In file included from tools/RNG_benchmark.cpp:35:
tools/Candidate_RNGs.h: In instantiation of 'Word Candidates::_VeryFast<Word, ROTATE, RSHIFT, LSHIFT>::_raw_native() [with Word = long long unsigned int; int ROTATE = 29; int RSHIFT = 9; int LSHIFT = 3]':
tools/Candidate_RNGs.h:269:99:   required from here
tools/Candidate_RNGs.h:187:22: warning: unused variable 'old' [-Wunused-variable]
  187 |                 Word old;
      |                      ^~~
tools/Candidate_RNGs.h:188:28: warning: unused variable 'K' [-Wunused-variable]
  188 |                 const Word K = Word(0x92ec64765925a395ull);
      |                            ^
tools/Candidate_RNGs.h: In instantiation of 'Word Candidates::_VeryFast<Word, ROTATE, RSHIFT, LSHIFT>::_raw_native() [with Word = unsigned int; int ROTATE = 13; int RSHIFT = 7; int LSHIFT = 3]':
tools/Candidate_RNGs.h:270:99:   required from here
tools/Candidate_RNGs.h:187:22: warning: unused variable 'old' [-Wunused-variable]
  187 |                 Word old;
      |                      ^~~
tools/Candidate_RNGs.h:188:28: warning: unused variable 'K' [-Wunused-variable]
  188 |                 const Word K = Word(0x92ec64765925a395ull);
      |                            ^
tools/Candidate_RNGs.h: In instantiation of 'Word Candidates::_VeryFast<Word, ROTATE, RSHIFT, LSHIFT>::_raw_native() [with Word = short unsigned int; int ROTATE = 7; int RSHIFT = 3; int LSHIFT = 2]':
tools/Candidate_RNGs.h:271:99:   required from here
tools/Candidate_RNGs.h:187:22: warning: unused variable 'old' [-Wunused-variable]
  187 |                 Word old;
      |                      ^~~
tools/Candidate_RNGs.h:188:28: warning: unused variable 'K' [-Wunused-variable]
  188 |                 const Word K = Word(0x92ec64765925a395ull);
      |                            ^
tools/Candidate_RNGs.h: In instantiation of 'Word Candidates::_VeryFast<Word, ROTATE, RSHIFT, LSHIFT>::_raw_native() [with Word = unsigned char; int ROTATE = 3; int RSHIFT = 2; int LSHIFT = 2]':
tools/Candidate_RNGs.h:272:99:   required from here
tools/Candidate_RNGs.h:187:22: warning: unused variable 'old' [-Wunused-variable]
  187 |                 Word old;
      |                      ^~~
tools/Candidate_RNGs.h:188:28: warning: unused variable 'K' [-Wunused-variable]
  188 |                 const Word K = Word(0x92ec64765925a395ull);
      |                            ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [17, 23] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [19, 24] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [21, 25] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [23, 26] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [25, 27] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset [27, 28] into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In member function 'seed',
    inlined from 'seed' at include/PractRand/RNGs/efiix8x48.h:25:31,
    inlined from 'seed' at src/RNGs/efiix.cpp:20:83:
src/RNGs/efiix.cpp:263:73: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  263 |                                         indirection_table[y + mask + 1] = b ^ iterated;
      |                                                                         ^
include/PractRand/RNGs/efiix8x48.h: In member function 'seed':
include/PractRand/RNGs/efiix8x48.h:19:38: note: at offset 29 into destination object 'indirection_table' of size 16
   19 |                                 Word indirection_table[INDIRECTION_SIZE], iteration_table[ITERATION_SIZE];
      |                                      ^
In function 'copy',
    inlined from '__ct ' at /usr/include/c++/13/bits/basic_string.h:675:23,
    inlined from 'operator+' at /usr/include/c++/13/bits/basic_string.h:3653:43,
    inlined from 'get_name' at tools/Candidate_RNGs.h:166:1:
/usr/include/c++/13/bits/char_traits.h:425:56: warning: '__builtin_memcpy' reading 17 bytes from a region of size 16 [-Wstringop-overread]
  425 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                                        ^
tools/Candidate_RNGs.h: In member function 'get_name':
tools/Candidate_RNGs.h:166:1: note: at offset 16 into source object '<anonymous>' of size 32
  166 | POLYMORPHIC_CANDIDATE(ranrot_variant, 64)
      | ^
In function 'copy',
    inlined from '__ct ' at /usr/include/c++/13/bits/basic_string.h:675:23,
    inlined from 'operator+' at /usr/include/c++/13/bits/basic_string.h:3653:43,
    inlined from 'get_name' at tools/Candidate_RNGs.h:167:1:
/usr/include/c++/13/bits/char_traits.h:425:56: warning: '__builtin_memcpy' reading 17 bytes from a region of size 16 [-Wstringop-overread]
  425 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                                        ^
tools/Candidate_RNGs.h: In member function 'get_name':
tools/Candidate_RNGs.h:167:1: note: at offset 16 into source object '<anonymous>' of size 32
  167 | POLYMORPHIC_CANDIDATE(ranrot_variant, 32)
      | ^
In function 'copy',
    inlined from '__ct ' at /usr/include/c++/13/bits/basic_string.h:675:23,
    inlined from 'operator+' at /usr/include/c++/13/bits/basic_string.h:3653:43,
    inlined from 'get_name' at tools/Candidate_RNGs.h:168:1:
/usr/include/c++/13/bits/char_traits.h:425:56: warning: '__builtin_memcpy' reading 17 bytes from a region of size 16 [-Wstringop-overread]
  425 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                                        ^
tools/Candidate_RNGs.h: In member function 'get_name':
tools/Candidate_RNGs.h:168:1: note: at offset 16 into source object '<anonymous>' of size 32
  168 | POLYMORPHIC_CANDIDATE(ranrot_variant, 16)
      | ^
In function 'copy',
    inlined from '__ct ' at /usr/include/c++/13/bits/basic_string.h:675:23,
    inlined from 'operator+' at /usr/include/c++/13/bits/basic_string.h:3653:43,
    inlined from 'get_name' at tools/Candidate_RNGs.h:509:1:
/usr/include/c++/13/bits/char_traits.h:425:56: warning: '__builtin_memcpy' reading 18 bytes from a region of size 16 [-Wstringop-overread]
  425 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                                        ^
tools/Candidate_RNGs.h: In member function 'get_name':
tools/Candidate_RNGs.h:509:1: note: at offset 16 into source object '<anonymous>' of size 32
  509 | SEEDED_POLYMORPHIC_CANDIDATE(sfc_alternative, 64)
      | ^
In function 'copy',
    inlined from '__ct ' at /usr/include/c++/13/bits/basic_string.h:675:23,
    inlined from 'operator+' at /usr/include/c++/13/bits/basic_string.h:3653:43,
    inlined from 'get_name' at tools/Candidate_RNGs.h:510:1:
/usr/include/c++/13/bits/char_traits.h:425:56: warning: '__builtin_memcpy' reading 18 bytes from a region of size 16 [-Wstringop-overread]
  425 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                                        ^
tools/Candidate_RNGs.h: In member function 'get_name':
tools/Candidate_RNGs.h:510:1: note: at offset 16 into source object '<anonymous>' of size 32
  510 | SEEDED_POLYMORPHIC_CANDIDATE(sfc_alternative, 32)
      | ^
In function 'copy',
    inlined from '__ct ' at /usr/include/c++/13/bits/basic_string.h:675:23,
    inlined from 'operator+' at /usr/include/c++/13/bits/basic_string.h:3653:43,
    inlined from 'get_name' at tools/Candidate_RNGs.h:511:1:
/usr/include/c++/13/bits/char_traits.h:425:56: warning: '__builtin_memcpy' reading 18 bytes from a region of size 16 [-Wstringop-overread]
  425 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                                        ^
tools/Candidate_RNGs.h: In member function 'get_name':
tools/Candidate_RNGs.h:511:1: note: at offset 16 into source object '<anonymous>' of size 32
  511 | SEEDED_POLYMORPHIC_CANDIDATE(sfc_alternative, 16)
      | ^
+ help2man --no-discard-stderr --include=doc/practrand-RNG_test.examples ./practrand-RNG_test
+ help2man --no-discard-stderr ./practrand-RNG_output
+ help2man --no-discard-stderr ./practrand-RNG_benchmark
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.pOP2BV
+ umask 022
+ cd /builddir/build/BUILD
+ '[' /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64 '!=' / ']'
+ rm -rf /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64
++ dirname /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64
+ mkdir -p /builddir/build/BUILDROOT
+ mkdir /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules'
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules'
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes'
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd PractRand-0.951
+ mkdir -p /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64/usr/share/doc/practrand
+ mv doc/license.txt .
+ mkdir -p /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64/usr/share/man/man1
+ install -Dp -m0644 practrand-RNG_benchmark.1 practrand-RNG_output.1 practrand-RNG_test.1 /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64/usr/share/man/man1
+ mkdir -p /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64/usr/bin
+ install -Dp -m0755 practrand-RNG_test practrand-RNG_output practrand-RNG_benchmark /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64/usr/bin
+ /usr/bin/find-debuginfo -j2 --strict-build-id -m -i --build-id-seed 0.951-5.fc38 --unique-debug-suffix -0.951-5.fc38.x86_64 --unique-debug-src-base practrand-0.951-5.fc38.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -S debugsourcefiles.list /builddir/build/BUILD/PractRand-0.951
extracting debug info from /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64/usr/bin/practrand-RNG_output
extracting debug info from /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64/usr/bin/practrand-RNG_benchmark
extracting debug info from /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64/usr/bin/practrand-RNG_test
original debug info size: 18768kB, size after compression: 15304kB
/usr/bin/sepdebugcrcfix: Updated 3 CRC32s, 0 CRC32s did match.
4402 blocks
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-ldconfig
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/check-rpaths
+ /usr/lib/rpm/redhat/brp-mangle-shebangs
+ /usr/lib/rpm/brp-remove-la-files
+ /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0
+ /usr/lib/rpm/redhat/brp-python-hardlink
Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.BourPc
+ umask 022
+ cd /builddir/build/BUILD
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules'
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules'
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes'
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd PractRand-0.951
+ ./practrand-RNG_test jsf64 -tlmax 512M
practrand-RNG_test using PractRand version 0.95
RNG = jsf64, seed = 0xc4559b4b
test set = core, folding = standard (64 bit)
rng=jsf64, seed=0xc4559b4b
length= 512 megabytes (2^29 bytes), time= 3.8 seconds
  no anomalies in 205 test result(s)
+ ./practrand-RNG_output jsf64 536870912
+ ./practrand-RNG_test stdin32 -tlmax 512M
practrand-RNG_test using PractRand version 0.95
RNG = RNG_stdin32, seed = unknown
test set = core, folding = standard (32 bit)
rng=RNG_stdin32, seed=unknown
length= 256 megabytes (2^28 bytes), time= 2.1 seconds
  no anomalies in 150 test result(s)
rng=RNG_stdin32, seed=unknown
length= 512 megabytes (2^29 bytes), time= 5.3 seconds
  no anomalies in 161 test result(s)
+ ./practrand-RNG_benchmark
Random number generation speeds:
  light-weight   polymorphic    seeding       name
small fast RNGs:
  3.212 GB/s  :  3.228 GB/s  :   4898 KHz  :  jsf32
  6.465 GB/s  :  6.484 GB/s  :   5088 KHz  :  jsf64
  3.494 GB/s  :  3.483 GB/s  :   5344 KHz  :  sfc32
  7.057 GB/s  :  7.081 GB/s  :   5359 KHz  :  sfc64
random access RNGs:
  1.974 GB/s  :  1.383 GB/s  :   5428 KHz  :  xsm32
  3.940 GB/s  :  3.518 GB/s  :   5470 KHz  :  xsm64
  1.196 GB/s  :  0.883 GB/s  :   5493 KHz  :  rarns16
  2.515 GB/s  :  2.638 GB/s  :   5410 KHz  :  rarns32
  5.022 GB/s  :  5.085 GB/s  :   5312 KHz  :  rarns64
entropy pooling RNGs:
  5.524 GB/s  :  5.492 GB/s  :   5247 KHz  :  arbee
  ----- GB/s  :  0.102 GB/s  :   1567 KHz  :  sha2_based_pool
crypto / high quality RNGs:
  1.322 GB/s  :  1.309 GB/s  :    132 KHz  :  hc256
  1.643 GB/s  :  1.261 GB/s  :   3785 KHz  :  trivium
  1.036 GB/s  :  1.036 GB/s  :    569 KHz  :  isaac32x256
  2.072 GB/s  :  2.072 GB/s  :    567 KHz  :  isaac64x256
  2.039 GB/s  :  2.035 GB/s  :   2136 KHz  :  efiix32x48
  4.469 GB/s  :  4.501 GB/s  :   2222 KHz  :  efiix64x48
  0.794 GB/s  :  0.794 GB/s  :   3225 KHz  :  chacha(8)
  0.611 GB/s  :  0.611 GB/s  :   3217 KHz  :  chacha(12)
  0.418 GB/s  :  0.418 GB/s  :   3219 KHz  :  chacha(20)
  0.844 GB/s  :  0.839 GB/s  :   3320 KHz  :  salsa(8)
  0.652 GB/s  :  0.648 GB/s  :   3324 KHz  :  salsa(12)
  0.448 GB/s  :  0.446 GB/s  :   3321 KHz  :  salsa(20)
popular RNGs:
  1.895 GB/s  :  1.884 GB/s  :    227 KHz  :  mt19937
16 bit variants:
  1.892 GB/s  :  1.913 GB/s  :   5264 KHz  :  sfc16
  1.120 GB/s  :  1.119 GB/s  :   2133 KHz  :  efiix16x48
8 bit variants:
  0.532 GB/s  :  0.534 GB/s  :   1560 KHz  :  efiix8x48
candidate RNGs: (not recommended, but almost)
  3.934 GB/s  :  3.948 GB/s  :   5182 KHz  :  siphash
  3.716 GB/s  :  3.711 GB/s  :   5165 KHz  :  VeryFast32
  7.407 GB/s  :  7.463 GB/s  :   5189 KHz  :  VeryFast64
  1.855 GB/s  :  1.915 GB/s  :   4517 KHz  :  sfc_alternative32
  3.882 GB/s  :  3.900 GB/s  :   4510 KHz  :  sfc_alternative64
  1.552 GB/s  :  2.845 GB/s  :   3665 KHz  :  ranrot_variant32
  3.120 GB/s  :  5.540 GB/s  :   3637 KHz  :  ranrot_variant64
16 & 8 bit candidate RNGs: (not recommended, but almost)
  1.895 GB/s  :  1.893 GB/s  :   5155 KHz  :  VeryFast16
  1.854 GB/s  :  1.371 GB/s  :   3633 KHz  :  ranrot_variant16
  0.527 GB/s  :  0.344 GB/s  :   3306 KHz  :  ranrot_variant8
  1.060 GB/s  :  1.060 GB/s  :   4865 KHz  :  sfc_alternative16
Entropy pool input speeds:
  arbee
    add_entropy8  : 314.0 MB/s
    add_entropy16 : 583.3 MB/s
    add_entropy32 : 787.3 MB/s
    add_entropy64 : 944.0 MB/s
    add_entropy_N :1184.3 MB/s
  sha2_based_pool
    add_entropy8  : 116.1 MB/s
    add_entropy16 : 112.4 MB/s
    add_entropy32 : 114.1 MB/s
    add_entropy64 : 116.5 MB/s
    add_entropy_N : 117.2 MB/s
+ RPM_EC=0
++ jobs -p
+ exit 0
Processing files: practrand-0.951-5.fc38.x86_64
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.YHB60X
+ umask 022
+ cd /builddir/build/BUILD
+ cd PractRand-0.951
+ DOCDIR=/builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64/usr/share/doc/practrand
+ export LC_ALL=C
+ LC_ALL=C
+ export DOCDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64/usr/share/doc/practrand
+ cp -pr doc/ /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64/usr/share/doc/practrand
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.TZpKV3
+ umask 022
+ cd /builddir/build/BUILD
+ cd PractRand-0.951
+ LICENSEDIR=/builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64/usr/share/licenses/practrand
+ export LC_ALL=C
+ LC_ALL=C
+ export LICENSEDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64/usr/share/licenses/practrand
+ cp -pr license.txt /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64/usr/share/licenses/practrand
+ RPM_EC=0
++ jobs -p
+ exit 0
Provides: practrand = 0.951-5.fc38 practrand(x86-64) = 0.951-5.fc38
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.7)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libm.so.6(GLIBC_2.29)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so.6(GLIBCXX_3.4.19)(64bit) libstdc++.so.6(GLIBCXX_3.4.20)(64bit) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) libstdc++.so.6(GLIBCXX_3.4.26)(64bit) libstdc++.so.6(GLIBCXX_3.4.29)(64bit) libstdc++.so.6(GLIBCXX_3.4.30)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) rtld(GNU_HASH)
Processing files: practrand-debugsource-0.951-5.fc38.x86_64
Provides: practrand-debugsource = 0.951-5.fc38 practrand-debugsource(x86-64) = 0.951-5.fc38
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Processing files: practrand-debuginfo-0.951-5.fc38.x86_64
Provides: debuginfo(build-id) = 28bce334651726691de8fc7874a18a7e93ffc503 debuginfo(build-id) = 33f8452ad0630c68151accab5a9b3f6592207000 debuginfo(build-id) = a7396cdff2f30f963a03315fa6e59628fb3c9be4 practrand-debuginfo = 0.951-5.fc38 practrand-debuginfo(x86-64) = 0.951-5.fc38
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Recommends: practrand-debugsource(x86-64) = 0.951-5.fc38
Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64
Wrote: /builddir/build/RPMS/practrand-0.951-5.fc38.x86_64.rpm
Wrote: /builddir/build/RPMS/practrand-debugsource-0.951-5.fc38.x86_64.rpm
Wrote: /builddir/build/RPMS/practrand-debuginfo-0.951-5.fc38.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.rNn45R
+ umask 022
+ cd /builddir/build/BUILD
+ cd PractRand-0.951
+ /usr/bin/rm -rf /builddir/build/BUILDROOT/practrand-0.951-5.fc38.x86_64
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.T2ABe4
+ umask 022
+ cd /builddir/build/BUILD
+ rm -rf PractRand-0.951 PractRand-0.951.gemspec
+ RPM_EC=0
++ jobs -p
+ exit 0
Child return code was: 0