# 
# RandomSource: XO_RO_SHI_RO_128_PP
# RNG: org.apache.commons.rng.core.source64.XoRoShiRo128PlusPlus
# Seed: 81f8409a9191cc17508181172162458b
# 
# Java: 1.8.0_222
# Runtime: OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~16.04.1-b10)
# JVM: OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
# OS: Linux 4.4.0-165-generic amd64
# Native byte-order: LITTLE_ENDIAN
# Output byte-order: LITTLE_ENDIAN
# 64-bit output: true
# 
# Analyzer: /home/ah403/rng/PractRand/RNG_test_094 stdin64 -tf 1 -te 0 -tlmin 1KB -tlmax 4TB -multithreaded 
# 
# Start: 2019-10-24 04:49:08
# 
RNG_test using PractRand version 0.94
RNG = RNG_stdin64, seed = unknown
test set = core, folding = standard (64 bit)

rng=RNG_stdin64, seed=unknown
length= 1 kilobyte (2^10 bytes), time= 0.2 seconds
  no anomalies in 6 test result(s)

rng=RNG_stdin64, seed=unknown
length= 2 kilobytes (2^11 bytes), time= 0.4 seconds
  no anomalies in 8 test result(s)

rng=RNG_stdin64, seed=unknown
length= 4 kilobytes (2^12 bytes), time= 0.5 seconds
  no anomalies in 18 test result(s)

rng=RNG_stdin64, seed=unknown
length= 8 kilobytes (2^13 bytes), time= 0.8 seconds
  no anomalies in 21 test result(s)

rng=RNG_stdin64, seed=unknown
length= 16 kilobytes (2^14 bytes), time= 1.2 seconds
  no anomalies in 32 test result(s)

rng=RNG_stdin64, seed=unknown
length= 32 kilobytes (2^15 bytes), time= 1.8 seconds
  no anomalies in 36 test result(s)

rng=RNG_stdin64, seed=unknown
length= 64 kilobytes (2^16 bytes), time= 2.2 seconds
  no anomalies in 52 test result(s)

rng=RNG_stdin64, seed=unknown
length= 128 kilobytes (2^17 bytes), time= 3.0 seconds
  no anomalies in 59 test result(s)

rng=RNG_stdin64, seed=unknown
length= 256 kilobytes (2^18 bytes), time= 3.7 seconds
  no anomalies in 72 test result(s)

rng=RNG_stdin64, seed=unknown
length= 512 kilobytes (2^19 bytes), time= 4.5 seconds
  no anomalies in 81 test result(s)

rng=RNG_stdin64, seed=unknown
length= 1 megabyte (2^20 bytes), time= 5.3 seconds
  no anomalies in 93 test result(s)

rng=RNG_stdin64, seed=unknown
length= 2 megabytes (2^21 bytes), time= 5.9 seconds
  no anomalies in 105 test result(s)

rng=RNG_stdin64, seed=unknown
length= 4 megabytes (2^22 bytes), time= 6.8 seconds
  no anomalies in 120 test result(s)

rng=RNG_stdin64, seed=unknown
length= 8 megabytes (2^23 bytes), time= 7.5 seconds
  Test Name                         Raw       Processed     Evaluation
  DC6-9x1Bytes-1                    R=  -4.6  p =1-2.8e-3   unusual          
  ...and 132 test result(s) without anomalies

rng=RNG_stdin64, seed=unknown
length= 16 megabytes (2^24 bytes), time= 8.4 seconds
  no anomalies in 147 test result(s)

rng=RNG_stdin64, seed=unknown
length= 32 megabytes (2^25 bytes), time= 9.4 seconds
  no anomalies in 162 test result(s)

rng=RNG_stdin64, seed=unknown
length= 64 megabytes (2^26 bytes), time= 10.4 seconds
  no anomalies in 177 test result(s)

rng=RNG_stdin64, seed=unknown
length= 128 megabytes (2^27 bytes), time= 11.6 seconds
  no anomalies in 193 test result(s)

rng=RNG_stdin64, seed=unknown
length= 256 megabytes (2^28 bytes), time= 13.2 seconds
  no anomalies in 210 test result(s)

rng=RNG_stdin64, seed=unknown
length= 512 megabytes (2^29 bytes), time= 15.6 seconds
  no anomalies in 226 test result(s)

rng=RNG_stdin64, seed=unknown
length= 1 gigabyte (2^30 bytes), time= 20.0 seconds
  no anomalies in 243 test result(s)

rng=RNG_stdin64, seed=unknown
length= 2 gigabytes (2^31 bytes), time= 27.2 seconds
  no anomalies in 261 test result(s)

rng=RNG_stdin64, seed=unknown
length= 4 gigabytes (2^32 bytes), time= 42.2 seconds
  no anomalies in 277 test result(s)

rng=RNG_stdin64, seed=unknown
length= 8 gigabytes (2^33 bytes), time= 69.4 seconds
  no anomalies in 294 test result(s)

rng=RNG_stdin64, seed=unknown
length= 16 gigabytes (2^34 bytes), time= 125 seconds
  no anomalies in 310 test result(s)

rng=RNG_stdin64, seed=unknown
length= 32 gigabytes (2^35 bytes), time= 236 seconds
  no anomalies in 325 test result(s)

rng=RNG_stdin64, seed=unknown
length= 64 gigabytes (2^36 bytes), time= 464 seconds
  no anomalies in 340 test result(s)

rng=RNG_stdin64, seed=unknown
length= 128 gigabytes (2^37 bytes), time= 912 seconds
  no anomalies in 355 test result(s)

rng=RNG_stdin64, seed=unknown
length= 256 gigabytes (2^38 bytes), time= 1780 seconds
  no anomalies in 369 test result(s)

rng=RNG_stdin64, seed=unknown
length= 512 gigabytes (2^39 bytes), time= 3588 seconds
  no anomalies in 383 test result(s)

rng=RNG_stdin64, seed=unknown
length= 1 terabyte (2^40 bytes), time= 7167 seconds
  no anomalies in 397 test result(s)

rng=RNG_stdin64, seed=unknown
length= 2 terabytes (2^41 bytes), time= 14153 seconds
  no anomalies in 409 test result(s)

rng=RNG_stdin64, seed=unknown
length= 4 terabytes (2^42 bytes), time= 28718 seconds
  no anomalies in 422 test result(s)

# 
# End: 2019-10-24 12:47:47
# 
# Exit value: 0
# Bytes used: 4398046584832 >= 2^42 (4.4 TB)
# 
# Test duration: 478.6546333333334 minutes
# 
