Walker test code coverage report
Current view: top level - RNGTest - BigCrush.cpp (source / functions) Hit Total Coverage
Commit: test_coverage.info Lines: 0 227 0.0 %
Date: 2022-09-21 13:52:12 Functions: 0 1 0.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 1296 0.0 %

           Branch data     Line data    Source code
       1                 :            : // *****************************************************************************
       2                 :            : /*!
       3                 :            :   \file      src/RNGTest/BigCrush.cpp
       4                 :            :   \copyright 2012-2015 J. Bakosi,
       5                 :            :              2016-2018 Los Alamos National Security, LLC.,
       6                 :            :              2019-2021 Triad National Security, LLC.
       7                 :            :              All rights reserved. See the LICENSE file for details.
       8                 :            :   \brief     Class re-creating the TestU01 library's BigCrush battery
       9                 :            :   \details   Class re-creating the TestU01 library's BigCrush battery.
      10                 :            : */
      11                 :            : // *****************************************************************************
      12                 :            : 
      13                 :            : #include "NoWarning/charm.hpp"
      14                 :            : #include "NoWarning/pup_stl.hpp"
      15                 :            : #include "NoWarning/pup.hpp"
      16                 :            : 
      17                 :            : extern "C" {
      18                 :            :   #include <gdef.h>
      19                 :            :   #include <gofw.h>
      20                 :            :   #include <scomp.h>
      21                 :            :   #include <sknuth.h>
      22                 :            :   #include <smarsa.h>
      23                 :            :   #include <snpair.h>
      24                 :            :   #include <sres.h>
      25                 :            :   #include <sspectral.h>
      26                 :            :   #include <sstring.h>
      27                 :            :   #include <swalk.h>
      28                 :            : }
      29                 :            : 
      30                 :            : #include "Tags.hpp"
      31                 :            : #include "PUPUtil.hpp"
      32                 :            : #include "TestU01.hpp"
      33                 :            : #include "StatTest.hpp"
      34                 :            : #include "TestStack.hpp"
      35                 :            : #include "TestU01Props.hpp"
      36                 :            : #include "TestU01Stack.hpp"
      37                 :            : #include "BigCrush.hpp"
      38                 :            : 
      39                 :            : namespace rngtest {
      40                 :            : 
      41                 :            : extern TestStack g_testStack;
      42                 :            : 
      43                 :            : } // rngtest::
      44                 :            : 
      45                 :            : using rngtest::BigCrush;
      46                 :            : 
      47                 :            : void
      48                 :          0 : BigCrush::addTests( std::vector< std::function< StatTest() > >& tests,
      49                 :            :                     tk::ctr::RNGType rng,
      50                 :            :                     CProxy_TestU01Suite& proxy )
      51                 :            : // *****************************************************************************
      52                 :            : // Add statistical tests to battery
      53                 :            : //! \details This function adds, i.e., registers, all statistical tests to the
      54                 :            : //!   test stack corresponding to the TestU01 library's BigCrush battery.
      55                 :            : //! \param[in] tests Vector of test constructors
      56                 :            : //! \param[in] rng RNG ID enum associated with the RNG to be tested
      57                 :            : //! \param[in] proxy Charm++ host proxy to which the tests will call back to
      58                 :            : // *****************************************************************************
      59                 :            : {
      60                 :            :   // Select test stack
      61                 :            :   const auto& stack = g_testStack.TestU01;
      62                 :            : 
      63                 :            :   // Find RNG
      64                 :          0 :   auto gen = stack.generator( rng );
      65                 :            : 
      66                 :            :   static const long THOUSAND = 1000;
      67                 :            :   static const long MILLION = THOUSAND * THOUSAND;
      68                 :            :   static const long BILLION = THOUSAND * MILLION;
      69                 :            : 
      70                 :            :   // Marsaglia Serial Over, r = 0
      71                 :            :   stack.add< TestU01< TestU01Props< tag::SerialOver, CProxy_TestU01Suite,
      72                 :            :                                     sres_Basic, sres_CreateBasic,
      73                 :            :                                     sres_DeleteBasic,
      74                 :            :                                     long, long, int, long, int > > >
      75         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Serial Over r=0"},
      76 [ -  - ][ -  - ]:          0 :              1L, static_cast<long>(BILLION), 0, 256L, 3 );
         [ -  - ][ -  - ]
                 [ -  - ]
      77                 :            : 
      78                 :            :   // Marsaglia Serial Over, r = 22
      79                 :            :   stack.add< TestU01< TestU01Props< tag::SerialOver, CProxy_TestU01Suite,
      80                 :            :                                     sres_Basic, sres_CreateBasic,
      81                 :            :                                     sres_DeleteBasic,
      82                 :            :                                     long, long, int, long, int > > >
      83         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Serial Over r=22"},
      84 [ -  - ][ -  - ]:          0 :              1L, static_cast<long>(BILLION), 22, 256L, 3 );
         [ -  - ][ -  - ]
                 [ -  - ]
      85                 :            : 
      86                 :            :   // Marsaglia Collision Over, t = 2, r = 0
      87                 :            :   stack.add< TestU01< TestU01Props< tag::CollisionOver, CProxy_TestU01Suite,
      88                 :            :                                     smarsa_Res, smarsa_CreateRes,
      89                 :            :                                     smarsa_DeleteRes,
      90                 :            :                                     long, long, int, long, int > > >
      91         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Collision Over t=2 r=0"},
      92 [ -  - ][ -  - ]:          0 :              30L, 20L * MILLION, 0, 1024L * 1024L * 2L, 2 );
         [ -  - ][ -  - ]
                 [ -  - ]
      93                 :            : 
      94                 :            :   // Marsaglia Collision Over, t = 2, r = 9
      95                 :            :   stack.add< TestU01< TestU01Props< tag::CollisionOver, CProxy_TestU01Suite,
      96                 :            :                                     smarsa_Res, smarsa_CreateRes,
      97                 :            :                                     smarsa_DeleteRes,
      98                 :            :                                     long, long, int, long, int > > >
      99         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Collision Over t=2 r=9"},
     100 [ -  - ][ -  - ]:          0 :              30L, 20L * MILLION, 9, 1024L * 1024L * 2L, 2 );
         [ -  - ][ -  - ]
                 [ -  - ]
     101                 :            : 
     102                 :            :   // Marsaglia Collision Over, t = 3, r = 0
     103                 :            :   stack.add< TestU01< TestU01Props< tag::CollisionOver, CProxy_TestU01Suite,
     104                 :            :                                     smarsa_Res, smarsa_CreateRes,
     105                 :            :                                     smarsa_DeleteRes,
     106                 :            :                                     long, long, int, long, int > > >
     107         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Collision Over t=3 r=0"},
     108 [ -  - ][ -  - ]:          0 :              30L, 20L * MILLION, 0, 1024L * 16L, 3 );
         [ -  - ][ -  - ]
                 [ -  - ]
     109                 :            : 
     110                 :            :   // Marsaglia Collision Over, t = 3, r = 16
     111                 :            :   stack.add< TestU01< TestU01Props< tag::CollisionOver, CProxy_TestU01Suite,
     112                 :            :                                     smarsa_Res, smarsa_CreateRes,
     113                 :            :                                     smarsa_DeleteRes,
     114                 :            :                                     long, long, int, long, int > > >
     115         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Collision Over t=3 r=16"},
     116 [ -  - ][ -  - ]:          0 :              30L, 20L * MILLION, 16, 1024L * 16L, 3 );
         [ -  - ][ -  - ]
                 [ -  - ]
     117                 :            : 
     118                 :            :   // Marsaglia Collision Over, t = 7, r = 0
     119                 :            :   stack.add< TestU01< TestU01Props< tag::CollisionOver, CProxy_TestU01Suite,
     120                 :            :                                     smarsa_Res, smarsa_CreateRes,
     121                 :            :                                     smarsa_DeleteRes,
     122                 :            :                                     long, long, int, long, int > > >
     123         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Collision Over t=7 r=0"},
     124 [ -  - ][ -  - ]:          0 :              30L, 20L * MILLION, 0, 64L, 7 );
         [ -  - ][ -  - ]
                 [ -  - ]
     125                 :            : 
     126                 :            :   // Marsaglia Collision Over, t = 7, r = 24
     127                 :            :   stack.add< TestU01< TestU01Props< tag::CollisionOver, CProxy_TestU01Suite,
     128                 :            :                                     smarsa_Res, smarsa_CreateRes,
     129                 :            :                                     smarsa_DeleteRes,
     130                 :            :                                     long, long, int, long, int > > >
     131         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Collision Over t=7 r=24"},
     132 [ -  - ][ -  - ]:          0 :              30L, 20L * MILLION, 24, 64L, 7 );
         [ -  - ][ -  - ]
                 [ -  - ]
     133                 :            : 
     134                 :            :   // Marsaglia Collision Over, t = 14, r = 0
     135                 :            :   stack.add< TestU01< TestU01Props< tag::CollisionOver, CProxy_TestU01Suite,
     136                 :            :                                     smarsa_Res, smarsa_CreateRes,
     137                 :            :                                     smarsa_DeleteRes,
     138                 :            :                                     long, long, int, long, int > > >
     139         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Collision Over t=14 r=0"},
     140 [ -  - ][ -  - ]:          0 :              30L, 20L * MILLION, 0, 8L, 14 );
         [ -  - ][ -  - ]
                 [ -  - ]
     141                 :            : 
     142                 :            :   // Marsaglia Collision Over, t = 14, r = 27
     143                 :            :   stack.add< TestU01< TestU01Props< tag::CollisionOver, CProxy_TestU01Suite,
     144                 :            :                                     smarsa_Res, smarsa_CreateRes,
     145                 :            :                                     smarsa_DeleteRes,
     146                 :            :                                     long, long, int, long, int > > >
     147         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Collision Over t=14 r=27"},
     148 [ -  - ][ -  - ]:          0 :              30L, 20L * MILLION, 27, 8L, 14 );
         [ -  - ][ -  - ]
                 [ -  - ]
     149                 :            : 
     150                 :            :   // Marsaglia Collision Over, t = 21, r = 0
     151                 :            :   stack.add< TestU01< TestU01Props< tag::CollisionOver, CProxy_TestU01Suite,
     152                 :            :                                     smarsa_Res, smarsa_CreateRes,
     153                 :            :                                     smarsa_DeleteRes,
     154                 :            :                                     long, long, int, long, int > > >
     155         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Collision Over t=21 r=0"},
     156 [ -  - ][ -  - ]:          0 :              30L, 20L * MILLION, 0, 4L, 21 );
         [ -  - ][ -  - ]
                 [ -  - ]
     157                 :            : 
     158                 :            :   // Marsaglia Collision Over, t = 21, r = 0
     159                 :            :   stack.add< TestU01< TestU01Props< tag::CollisionOver, CProxy_TestU01Suite,
     160                 :            :                                     smarsa_Res, smarsa_CreateRes,
     161                 :            :                                     smarsa_DeleteRes,
     162                 :            :                                     long, long, int, long, int > > >
     163         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Collision Over t=21 r=0"},
     164 [ -  - ][ -  - ]:          0 :              30L, 20L * MILLION, 0, 4L, 21 );
         [ -  - ][ -  - ]
                 [ -  - ]
     165                 :            : 
     166                 :            :   // Marsaglia Collision Over, t = 21, r = 28
     167                 :            :   stack.add< TestU01< TestU01Props< tag::CollisionOver, CProxy_TestU01Suite,
     168                 :            :                                     smarsa_Res, smarsa_CreateRes,
     169                 :            :                                     smarsa_DeleteRes,
     170                 :            :                                     long, long, int, long, int > > >
     171         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Collision Over t=21 r=28"},
     172 [ -  - ][ -  - ]:          0 :              30L, 20L * MILLION, 28, 4L, 21 );
         [ -  - ][ -  - ]
                 [ -  - ]
     173                 :            : 
     174                 :            :   #ifdef USE_LONGLONG
     175                 :            : 
     176                 :            :   // Marsaglia's Birthday Spacings, t = 2, r = 0
     177                 :            :   #if LONG_MAX <= 2147483647L
     178                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     179                 :            :                                     sres_Poisson, sres_CreatePoisson,
     180                 :            :                                     sres_DeletePoisson,
     181                 :            :                                     long, long, int, long, int, int > > >
     182                 :            :            ( proxy, tests, rng, gen, {"Birthday Spacings t=2 r=0"},
     183                 :            :              250L, 4L * MILLION, 0, 1073741824L, 2, 1 );
     184                 :            :   #else // LONG_MAX
     185                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     186                 :            :                                     sres_Poisson, sres_CreatePoisson,
     187                 :            :                                     sres_DeletePoisson,
     188                 :            :                                     long, long, int, long, int, int > > >
     189         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Birthday Spacings t=2 r=0"},
     190 [ -  - ][ -  - ]:          0 :              100L, 10L * MILLION, 0, 2147483648L, 2, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     191                 :            :   #endif // LONG_MAX
     192                 :            : 
     193                 :            :   // Marsaglia's Birthday Spacings, t = 3, r = 0
     194                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     195                 :            :                                     sres_Poisson, sres_CreatePoisson,
     196                 :            :                                     sres_DeletePoisson,
     197                 :            :                                     long, long, int, long, int, int > > >
     198         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Birthday Spacings t=3 r=0"},
     199 [ -  - ][ -  - ]:          0 :              20L, 20L * MILLION, 0, 2097152L, 3, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     200                 :            : 
     201                 :            :   // Marsaglia's Birthday Spacings, t = 4, r = 14
     202                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     203                 :            :                                     sres_Poisson, sres_CreatePoisson,
     204                 :            :                                     sres_DeletePoisson,
     205                 :            :                                     long, long, int, long, int, int > > >
     206         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Birthday Spacings t=4 r=14"},
     207 [ -  - ][ -  - ]:          0 :              20L, 30L * MILLION, 14, 65536L, 4, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     208                 :            : 
     209                 :            :   // Marsaglia's Birthday Spacings, t = 7, r = 0
     210                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     211                 :            :                                     sres_Poisson, sres_CreatePoisson,
     212                 :            :                                     sres_DeletePoisson,
     213                 :            :                                     long, long, int, long, int, int > > >
     214         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Birthday Spacings t=7 r=0"},
     215 [ -  - ][ -  - ]:          0 :              20L, 20L * MILLION, 0, 512L, 7, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     216                 :            : 
     217                 :            :   // Marsaglia's Birthday Spacings, t = 7, r = 7
     218                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     219                 :            :                                     sres_Poisson, sres_CreatePoisson,
     220                 :            :                                     sres_DeletePoisson,
     221                 :            :                                     long, long, int, long, int, int > > >
     222         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Birthday Spacings t=7 r=7"},
     223 [ -  - ][ -  - ]:          0 :              20L, 20L * MILLION, 7, 512L, 7, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     224                 :            : 
     225                 :            :   // Marsaglia's Birthday Spacings, t = 8, r = 14
     226                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     227                 :            :                                     sres_Poisson, sres_CreatePoisson,
     228                 :            :                                     sres_DeletePoisson,
     229                 :            :                                     long, long, int, long, int, int > > >
     230         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Birthday Spacings t=8 r=14"},
     231 [ -  - ][ -  - ]:          0 :              20L, 30L * MILLION, 14, 256L, 8, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     232                 :            : 
     233                 :            :   // Marsaglia's Birthday Spacings, t = 8, r = 22
     234                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     235                 :            :                                     sres_Poisson, sres_CreatePoisson,
     236                 :            :                                     sres_DeletePoisson,
     237                 :            :                                     long, long, int, long, int, int > > >
     238         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Birthday Spacings t=8 r=22"},
     239 [ -  - ][ -  - ]:          0 :              20L, 30L * MILLION, 22, 256L, 8, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     240                 :            : 
     241                 :            :   // Marsaglia's Birthday Spacings, t = 16, r = 0
     242                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     243                 :            :                                     sres_Poisson, sres_CreatePoisson,
     244                 :            :                                     sres_DeletePoisson,
     245                 :            :                                     long, long, int, long, int, int > > >
     246         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Birthday Spacings t=16 r=0"},
     247 [ -  - ][ -  - ]:          0 :              20L, 30L * MILLION, 0, 16L, 16, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     248                 :            : 
     249                 :            :   // Marsaglia's Birthday Spacings, t = 16, r = 26
     250                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     251                 :            :                                     sres_Poisson, sres_CreatePoisson,
     252                 :            :                                     sres_DeletePoisson,
     253                 :            :                                     long, long, int, long, int, int > > >
     254         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Birthday Spacings t=16 r=26"},
     255 [ -  - ][ -  - ]:          0 :              20L, 30L * MILLION, 26, 16L, 16, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     256                 :            : 
     257                 :            :   #else // USE_LONGLONG
     258                 :            : 
     259                 :            :   // Marsaglia's Birthday Spacings, t = 2, r = 0
     260                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     261                 :            :                                     sres_Poisson, sres_CreatePoisson,
     262                 :            :                                     sres_DeletePoisson,
     263                 :            :                                     long, long, int, long, int, int > > >
     264                 :            :            ( proxy, tests, rng, gen, {"Birthday Spacings t=2 r=0"},
     265                 :            :              10L*THOUSAND, static_cast<long>(MILLION/10), 0, 67108864L, 2, 1 );
     266                 :            : 
     267                 :            :   // Marsaglia's Birthday Spacings, t = 4, r = 0
     268                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     269                 :            :                                     sres_Poisson, sres_CreatePoisson,
     270                 :            :                                     sres_DeletePoisson,
     271                 :            :                                     long, long, int, long, int, int > > >
     272                 :            :            ( proxy, tests, rng, gen, {"Birthday Spacings t=4 r=0"},
     273                 :            :              10L*THOUSAND, static_cast<long>(MILLION/10), 0, 1024L*8L, 4, 1 );
     274                 :            : 
     275                 :            :   // Marsaglia's Birthday Spacings, t = 4, r = 16
     276                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     277                 :            :                                     sres_Poisson, sres_CreatePoisson,
     278                 :            :                                     sres_DeletePoisson,
     279                 :            :                                     long, long, int, long, int, int > > >
     280                 :            :            ( proxy, tests, rng, gen, {"Birthday Spacings t=4 r=16"},
     281                 :            :              10L*THOUSAND, static_cast<long>(MILLION/10), 16, 1024L*8L, 4, 1 );
     282                 :            : 
     283                 :            :   // Marsaglia's Birthday Spacings, t = 13, r = 0
     284                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     285                 :            :                                     sres_Poisson, sres_CreatePoisson,
     286                 :            :                                     sres_DeletePoisson,
     287                 :            :                                     long, long, int, long, int, int > > >
     288                 :            :            ( proxy, tests, rng, gen, {"Birthday Spacings t=13 r=0"},
     289                 :            :              10L*THOUSAND, static_cast<long>(MILLION/10), 0, 16L, 13, 1 );
     290                 :            : 
     291                 :            :   // Marsaglia's Birthday Spacings, t = 13, r = 5
     292                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     293                 :            :                                     sres_Poisson, sres_CreatePoisson,
     294                 :            :                                     sres_DeletePoisson,
     295                 :            :                                     long, long, int, long, int, int > > >
     296                 :            :            ( proxy, tests, rng, gen, {"Birthday Spacings t=13 r=5"},
     297                 :            :              10L*THOUSAND, static_cast<long>(MILLION/10), 5, 16L, 13, 1 );
     298                 :            : 
     299                 :            :   // Marsaglia's Birthday Spacings, t = 13, r = 10
     300                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     301                 :            :                                     sres_Poisson, sres_CreatePoisson,
     302                 :            :                                     sres_DeletePoisson,
     303                 :            :                                     long, long, int, long, int, int > > >
     304                 :            :            ( proxy, tests, rng, gen, {"Birthday Spacings t=13 r=10"},
     305                 :            :              10L*THOUSAND, static_cast<long>(MILLION/10), 10, 16L, 13, 1 );
     306                 :            : 
     307                 :            :   // Marsaglia's Birthday Spacings, t = 13, r = 15
     308                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     309                 :            :                                     sres_Poisson, sres_CreatePoisson,
     310                 :            :                                     sres_DeletePoisson,
     311                 :            :                                     long, long, int, long, int, int > > >
     312                 :            :            ( proxy, tests, rng, gen, {"Birthday Spacings t=13 r=15"},
     313                 :            :              10L*THOUSAND, static_cast<long>(MILLION/10), 15, 16L, 13, 1 );
     314                 :            : 
     315                 :            :   // Marsaglia's Birthday Spacings, t = 13, r = 20
     316                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     317                 :            :                                     sres_Poisson, sres_CreatePoisson,
     318                 :            :                                     sres_DeletePoisson,
     319                 :            :                                     long, long, int, long, int, int > > >
     320                 :            :            ( proxy, tests, rng, gen, {"Birthday Spacings t=13 r=20"},
     321                 :            :              10L*THOUSAND, static_cast<long>(MILLION/10), 20, 16L, 13, 1 );
     322                 :            : 
     323                 :            :   // Marsaglia's Birthday Spacings, t = 13, r = 26
     324                 :            :   stack.add< TestU01< TestU01Props< tag::BirthdaySpacings, CProxy_TestU01Suite,
     325                 :            :                                     sres_Poisson, sres_CreatePoisson,
     326                 :            :                                     sres_DeletePoisson,
     327                 :            :                                     long, long, int, long, int, int > > >
     328                 :            :            ( proxy, tests, rng, gen, {"Birthday Spacings t=13 r=26"},
     329                 :            :              10L*THOUSAND, static_cast<long>(MILLION/10), 26, 16L, 13, 1 );
     330                 :            : 
     331                 :            :   #endif // USE_LONGLONG
     332                 :            : 
     333                 :            :   // Close Pairs, t = 3
     334                 :            :   stack.add< TestU01< TestU01Props< tag::ClosePairs, CProxy_TestU01Suite,
     335                 :            :                                     snpair_Res, snpair_CreateRes,
     336                 :            :                                     snpair_DeleteRes,
     337                 :            :                                     long, long, int, int, int, int, int > > >
     338         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Close Pairs NP t=3",
     339                 :            :                                       "Close Pairs mNP t=3",
     340                 :            :                                       "Close Pairs mNP1 t=3",
     341                 :            :                                       "Close Pairs mNP2 t=3",
     342                 :            :                                       "Close Pairs mNJumps t=3",
     343                 :            :                                       "Close Pairs mNP2S t=3"},
     344 [ -  - ][ -  - ]:          0 :              30L, 6L * MILLION, 0, 3, 0, 30, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     345                 :            : 
     346                 :            :   // Close Pairs, t = 5
     347                 :            :   stack.add< TestU01< TestU01Props< tag::ClosePairs, CProxy_TestU01Suite,
     348                 :            :                                     snpair_Res, snpair_CreateRes,
     349                 :            :                                     snpair_DeleteRes,
     350                 :            :                                     long, long, int, int, int, int, int > > >
     351         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Close Pairs NP t=5",
     352                 :            :                                       "Close Pairs mNP t=5",
     353                 :            :                                       "Close Pairs mNP1 t=5",
     354                 :            :                                       "Close Pairs mNP2 t=5",
     355                 :            :                                       "Close Pairs mNJumps t=5",
     356                 :            :                                       "Close Pairs mNP2S t=5"},
     357 [ -  - ][ -  - ]:          0 :              20L, 4L * MILLION, 0, 5, 0, 30, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     358                 :            : 
     359                 :            :   // Close Pairs, t = 9
     360                 :            :   stack.add< TestU01< TestU01Props< tag::ClosePairs, CProxy_TestU01Suite,
     361                 :            :                                     snpair_Res, snpair_CreateRes,
     362                 :            :                                     snpair_DeleteRes,
     363                 :            :                                     long, long, int, int, int, int, int > > >
     364         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Close Pairs NP t=9",
     365                 :            :                                       "Close Pairs mNP t=9",
     366                 :            :                                       "Close Pairs mNP1 t=9",
     367                 :            :                                       "Close Pairs mNP2 t=9",
     368                 :            :                                       "Close Pairs mNJumps t=9",
     369                 :            :                                       "Close Pairs mNP2S t=9"},
     370 [ -  - ][ -  - ]:          0 :              10L, 3L * MILLION, 0, 9, 0, 30, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     371                 :            : 
     372                 :            :   // Close Pairs, t = 16
     373                 :            :   stack.add< TestU01< TestU01Props< tag::ClosePairs, CProxy_TestU01Suite,
     374                 :            :                                     snpair_Res, snpair_CreateRes,
     375                 :            :                                     snpair_DeleteRes,
     376                 :            :                                     long, long, int, int, int, int, int > > >
     377         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Close Pairs NP t=16",
     378                 :            :                                       "Close Pairs mNP t=16",
     379                 :            :                                       "Close Pairs mNP1 t=16",
     380                 :            :                                       "Close Pairs mNP2 t=16",
     381                 :            :                                       "Close Pairs mNJumps t=16",
     382                 :            :                                       "Close Pairs mNP2S t=16"},
     383 [ -  - ][ -  - ]:          0 :              5L, 2L * MILLION, 0, 16, 0, 30, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     384                 :            : 
     385                 :            :   // Knuth's Simple Poker, d = 8, r = 0
     386                 :            :   stack.add< TestU01< TestU01Props< tag::SimplePoker, CProxy_TestU01Suite,
     387                 :            :                                     sres_Chi2, sres_CreateChi2,
     388                 :            :                                     sres_DeleteChi2,
     389                 :            :                                     long, long, int, int, int > > >
     390         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Simplified Poker d=8 r=0"},
     391 [ -  - ][ -  - ]:          0 :                1L, 400L * MILLION, 0, 8, 8 );
         [ -  - ][ -  - ]
                 [ -  - ]
     392                 :            : 
     393                 :            :   // Knuth's Simple Poker, d = 8, r = 27
     394                 :            :   stack.add< TestU01< TestU01Props< tag::SimplePoker, CProxy_TestU01Suite,
     395                 :            :                                     sres_Chi2, sres_CreateChi2,
     396                 :            :                                     sres_DeleteChi2,
     397                 :            :                                     long, long, int, int, int > > >
     398         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Simplified Poker d=8 r=27"},
     399 [ -  - ][ -  - ]:          0 :                1L, 400L * MILLION, 27, 8, 8 );
         [ -  - ][ -  - ]
                 [ -  - ]
     400                 :            : 
     401                 :            :   // Knuth's Simple Poker, d = 32, r = 0
     402                 :            :   stack.add< TestU01< TestU01Props< tag::SimplePoker, CProxy_TestU01Suite,
     403                 :            :                                     sres_Chi2, sres_CreateChi2,
     404                 :            :                                     sres_DeleteChi2,
     405                 :            :                                     long, long, int, int, int > > >
     406         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Simplified Poker d=32 r=0"},
     407 [ -  - ][ -  - ]:          0 :                1L, 100L * MILLION, 0, 32, 32 );
         [ -  - ][ -  - ]
                 [ -  - ]
     408                 :            : 
     409                 :            :   // Knuth's Simple Poker, d = 32, r = 25
     410                 :            :   stack.add< TestU01< TestU01Props< tag::SimplePoker, CProxy_TestU01Suite,
     411                 :            :                                     sres_Chi2, sres_CreateChi2,
     412                 :            :                                     sres_DeleteChi2,
     413                 :            :                                     long, long, int, int, int > > >
     414         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Simplified Poker d=32 r=25"},
     415 [ -  - ][ -  - ]:          0 :                1L, 100L * MILLION, 25, 32, 32 );
         [ -  - ][ -  - ]
                 [ -  - ]
     416                 :            : 
     417                 :            :   // Knuth's Coupon Collector, d = 8, r = 0
     418                 :            :   stack.add< TestU01< TestU01Props< tag::CouponCollector, CProxy_TestU01Suite,
     419                 :            :                                     sres_Chi2, sres_CreateChi2,
     420                 :            :                                     sres_DeleteChi2,
     421                 :            :                                     long, long, int, int > > >
     422         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Coupon Collector d=8 r=0"},
     423 [ -  - ][ -  - ]:          0 :                1L, 200L * MILLION, 0, 8 );
         [ -  - ][ -  - ]
                 [ -  - ]
     424                 :            : 
     425                 :            :   // Knuth's Coupon Collector, d = 8, r = 10
     426                 :            :   stack.add< TestU01< TestU01Props< tag::CouponCollector, CProxy_TestU01Suite,
     427                 :            :                                     sres_Chi2, sres_CreateChi2,
     428                 :            :                                     sres_DeleteChi2,
     429                 :            :                                     long, long, int, int > > >
     430         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Coupon Collector d=8 r=10"},
     431 [ -  - ][ -  - ]:          0 :                1L, 200L * MILLION, 10, 8 );
         [ -  - ][ -  - ]
                 [ -  - ]
     432                 :            : 
     433                 :            :   // Knuth's Coupon Collector, d = 8, r = 20
     434                 :            :   stack.add< TestU01< TestU01Props< tag::CouponCollector, CProxy_TestU01Suite,
     435                 :            :                                     sres_Chi2, sres_CreateChi2,
     436                 :            :                                     sres_DeleteChi2,
     437                 :            :                                     long, long, int, int > > >
     438         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Coupon Collector d=8 r=20"},
     439 [ -  - ][ -  - ]:          0 :                1L, 200L * MILLION, 20, 8 );
         [ -  - ][ -  - ]
                 [ -  - ]
     440                 :            : 
     441                 :            :   // Knuth's Coupon Collector, d = 8, r = 27
     442                 :            :   stack.add< TestU01< TestU01Props< tag::CouponCollector, CProxy_TestU01Suite,
     443                 :            :                                     sres_Chi2, sres_CreateChi2,
     444                 :            :                                     sres_DeleteChi2,
     445                 :            :                                     long, long, int, int > > >
     446         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Coupon Collector d=8 r=27"},
     447 [ -  - ][ -  - ]:          0 :                1L, 200L * MILLION, 27, 8 );
         [ -  - ][ -  - ]
                 [ -  - ]
     448                 :            : 
     449                 :            :   // Knuth's Gap, r = 0
     450                 :            :   stack.add< TestU01< TestU01Props< tag::Gap, CProxy_TestU01Suite,
     451                 :            :                                     sres_Chi2, sres_CreateChi2,
     452                 :            :                                     sres_DeleteChi2,
     453                 :            :                                     long, long, int, double, double > > >
     454         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Gap r=0"},
     455 [ -  - ][ -  - ]:          0 :                1L, static_cast<long>(BILLION/2), 0, 0.0, 1.0/16.0 );
         [ -  - ][ -  - ]
                 [ -  - ]
     456                 :            : 
     457                 :            :   // Knuth's Gap, r = 25
     458                 :            :   stack.add< TestU01< TestU01Props< tag::Gap, CProxy_TestU01Suite,
     459                 :            :                                     sres_Chi2, sres_CreateChi2,
     460                 :            :                                     sres_DeleteChi2,
     461                 :            :                                     long, long, int, double, double > > >
     462         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Gap r=25"},
     463 [ -  - ][ -  - ]:          0 :                1L, 300L * MILLION, 25, 0.0, 1.0/32.0 );
         [ -  - ][ -  - ]
                 [ -  - ]
     464                 :            : 
     465                 :            :   // Knuth's Gap, r = 0, n = .5e+9
     466                 :            :   stack.add< TestU01< TestU01Props< tag::Gap, CProxy_TestU01Suite,
     467                 :            :                                     sres_Chi2, sres_CreateChi2,
     468                 :            :                                     sres_DeleteChi2,
     469                 :            :                                     long, long, int, double, double > > >
     470         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Gap r=0 n=.5B"},
     471 [ -  - ][ -  - ]:          0 :                1L, static_cast<long>(BILLION / 10), 0, 0.0, 1.0/128.0 );
         [ -  - ][ -  - ]
                 [ -  - ]
     472                 :            : 
     473                 :            :   // Knuth's Gap, r = 20, n = 10e+6
     474                 :            :   stack.add< TestU01< TestU01Props< tag::Gap, CProxy_TestU01Suite,
     475                 :            :                                     sres_Chi2, sres_CreateChi2,
     476                 :            :                                     sres_DeleteChi2,
     477                 :            :                                     long, long, int, double, double > > >
     478         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Gap r=20 n=10M"},
     479 [ -  - ][ -  - ]:          0 :                1L, 10L * MILLION, 20, 0.0, 1.0/1024.0 );
         [ -  - ][ -  - ]
                 [ -  - ]
     480                 :            : 
     481                 :            :   // Knuth's Run, r = 0
     482                 :            :   stack.add< TestU01< TestU01Props< tag::Run, CProxy_TestU01Suite,
     483                 :            :                                     sres_Chi2, sres_CreateChi2,
     484                 :            :                                     sres_DeleteChi2,
     485                 :            :                                     long, long, int, int > > >
     486         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Run r=0"},
     487 [ -  - ][ -  - ]:          0 :                5L, static_cast<long>(BILLION), 0, 0 );
         [ -  - ][ -  - ]
                 [ -  - ]
     488                 :            : 
     489                 :            :   // Knuth's Run, r = 15
     490                 :            :   stack.add< TestU01< TestU01Props< tag::Run, CProxy_TestU01Suite,
     491                 :            :                                     sres_Chi2, sres_CreateChi2,
     492                 :            :                                     sres_DeleteChi2,
     493                 :            :                                     long, long, int, int > > >
     494         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Run r=15"},
     495 [ -  - ][ -  - ]:          0 :                10L, static_cast<long>(BILLION), 15, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     496                 :            : 
     497                 :            :   // Knuth's Permutation, t = 3
     498                 :            :   stack.add< TestU01< TestU01Props< tag::Permutation, CProxy_TestU01Suite,
     499                 :            :                                     sres_Chi2, sres_CreateChi2,
     500                 :            :                                     sres_DeleteChi2,
     501                 :            :                                     long, long, int, int > > >
     502         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Permutation t=3"},
     503 [ -  - ][ -  - ]:          0 :                1L, static_cast<long>(BILLION), 5, 3 );
         [ -  - ][ -  - ]
                 [ -  - ]
     504                 :            : 
     505                 :            :   // Knuth's Permutation, t = 5
     506                 :            :   stack.add< TestU01< TestU01Props< tag::Permutation, CProxy_TestU01Suite,
     507                 :            :                                     sres_Chi2, sres_CreateChi2,
     508                 :            :                                     sres_DeleteChi2,
     509                 :            :                                     long, long, int, int > > >
     510         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Permutation t=5"},
     511 [ -  - ][ -  - ]:          0 :                1L, static_cast<long>(BILLION), 5, 5 );
         [ -  - ][ -  - ]
                 [ -  - ]
     512                 :            : 
     513                 :            :   // Knuth's Permutation, t = 7
     514                 :            :   stack.add< TestU01< TestU01Props< tag::Permutation, CProxy_TestU01Suite,
     515                 :            :                                     sres_Chi2, sres_CreateChi2,
     516                 :            :                                     sres_DeleteChi2,
     517                 :            :                                     long, long, int, int > > >
     518         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Permutation t=7"},
     519 [ -  - ][ -  - ]:          0 :                1L, static_cast<long>(BILLION / 2), 5, 7 );
         [ -  - ][ -  - ]
                 [ -  - ]
     520                 :            : 
     521                 :            :   // Knuth's Permutation, t = 10
     522                 :            :   stack.add< TestU01< TestU01Props< tag::Permutation, CProxy_TestU01Suite,
     523                 :            :                                     sres_Chi2, sres_CreateChi2,
     524                 :            :                                     sres_DeleteChi2,
     525                 :            :                                     long, long, int, int > > >
     526         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Permutation t=10"},
     527 [ -  - ][ -  - ]:          0 :                1L, static_cast<long>(BILLION / 2), 10, 10 );
         [ -  - ][ -  - ]
                 [ -  - ]
     528                 :            : 
     529                 :            :   // Knuth's Collision with permutations, r = 0
     530                 :            :   stack.add< TestU01< TestU01Props< tag::CollisionPermut, CProxy_TestU01Suite,
     531                 :            :                                     sknuth_Res2, sknuth_CreateRes2,
     532                 :            :                                     sknuth_DeleteRes2,
     533                 :            :                                     long, long, int, int > > >
     534         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Collision w. Permutations r=0"},
     535 [ -  - ][ -  - ]:          0 :                20L, 20L * MILLION, 0, 14 );
         [ -  - ][ -  - ]
                 [ -  - ]
     536                 :            : 
     537                 :            :   // Knuth's Collision with permutations, r = 10
     538                 :            :   stack.add< TestU01< TestU01Props< tag::CollisionPermut, CProxy_TestU01Suite,
     539                 :            :                                     sknuth_Res2, sknuth_CreateRes2,
     540                 :            :                                     sknuth_DeleteRes2,
     541                 :            :                                     long, long, int, int > > >
     542         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Collision w. Permutations r=10"},
     543 [ -  - ][ -  - ]:          0 :                20L, 20L * MILLION, 10, 14 );
         [ -  - ][ -  - ]
                 [ -  - ]
     544                 :            : 
     545                 :            :   // Knuth's Maximum-of-t, t = 8
     546                 :            :   stack.add< TestU01< TestU01Props< tag::MaxOft, CProxy_TestU01Suite,
     547                 :            :                                     sknuth_Res1, sknuth_CreateRes1,
     548                 :            :                                     sknuth_DeleteRes1,
     549                 :            :                                     long, long, int, int, int, int, int > > >
     550         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Maximum-of-t t=8",
     551                 :            :                                         "Maximum-of-t Anderson-Darling t=8"},
     552                 :          0 :                40L, 10L * MILLION, 0, static_cast<int>(MILLION / 10), 8,
     553 [ -  - ][ -  - ]:          0 :                  gofw_Sum, gofw_AD );
         [ -  - ][ -  - ]
                 [ -  - ]
     554                 :            : 
     555                 :            :   // Knuth's Maximum-of-t, t = 16
     556                 :            :   stack.add< TestU01< TestU01Props< tag::MaxOft, CProxy_TestU01Suite,
     557                 :            :                                     sknuth_Res1, sknuth_CreateRes1,
     558                 :            :                                     sknuth_DeleteRes1,
     559                 :            :                                     long, long, int, int, int, int, int > > >
     560         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Maximum-of-t t=16",
     561                 :            :                                         "Maximum-of-t Anderson-Darling t=16"},
     562                 :          0 :                30L, 10L * MILLION, 0, static_cast<int>(MILLION / 10), 16,
     563 [ -  - ][ -  - ]:          0 :                  gofw_Sum, gofw_AD );
         [ -  - ][ -  - ]
                 [ -  - ]
     564                 :            : 
     565                 :            :   // Knuth's Maximum-of-t, t = 24
     566                 :            :   stack.add< TestU01< TestU01Props< tag::MaxOft, CProxy_TestU01Suite,
     567                 :            :                                     sknuth_Res1, sknuth_CreateRes1,
     568                 :            :                                     sknuth_DeleteRes1,
     569                 :            :                                     long, long, int, int, int, int, int > > >
     570         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Maximum-of-t t=24",
     571                 :            :                                         "Maximum-of-t Anderson-Darling t=24"},
     572                 :          0 :                20L, 10L * MILLION, 0, static_cast<int>(MILLION / 10), 24,
     573 [ -  - ][ -  - ]:          0 :                  gofw_Mean, gofw_Mean );
         [ -  - ][ -  - ]
                 [ -  - ]
     574                 :            : 
     575                 :            :   // Knuth's Maximum-of-t, t = 32
     576                 :            :   stack.add< TestU01< TestU01Props< tag::MaxOft, CProxy_TestU01Suite,
     577                 :            :                                     sknuth_Res1, sknuth_CreateRes1,
     578                 :            :                                     sknuth_DeleteRes1,
     579                 :            :                                     long, long, int, int, int, int, int > > >
     580         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Maximum-of-t t=32",
     581                 :            :                                         "Maximum-of-t Anderson-Darling t=32"},
     582                 :          0 :                20L, 10L * MILLION, 0, static_cast<int>(MILLION / 10), 32,
     583 [ -  - ][ -  - ]:          0 :                  gofw_Mean, gofw_Mean );
         [ -  - ][ -  - ]
                 [ -  - ]
     584                 :            : 
     585                 :            :   // Sample Products, t = 8
     586                 :            :   stack.add< TestU01< TestU01Props< tag::SampleProd, CProxy_TestU01Suite,
     587                 :            :                                     sres_Basic, sres_CreateBasic,
     588                 :            :                                     sres_DeleteBasic,
     589                 :            :                                     long, long, int, int > > >
     590         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Sample Products t=8"},
     591 [ -  - ][ -  - ]:          0 :                4L, 10L * MILLION, 0, 8 );
         [ -  - ][ -  - ]
                 [ -  - ]
     592                 :            : 
     593                 :            :   // Sample Products, t = 16
     594                 :            :   stack.add< TestU01< TestU01Props< tag::SampleProd, CProxy_TestU01Suite,
     595                 :            :                                     sres_Basic, sres_CreateBasic,
     596                 :            :                                     sres_DeleteBasic,
     597                 :            :                                     long, long, int, int > > >
     598         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Sample Products t=16"},
     599 [ -  - ][ -  - ]:          0 :                20L, 10L * MILLION, 0, 16 );
         [ -  - ][ -  - ]
                 [ -  - ]
     600                 :            : 
     601                 :            :   // Sample Products, t = 24
     602                 :            :   stack.add< TestU01< TestU01Props< tag::SampleProd, CProxy_TestU01Suite,
     603                 :            :                                     sres_Basic, sres_CreateBasic,
     604                 :            :                                     sres_DeleteBasic,
     605                 :            :                                     long, long, int, int > > >
     606         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Sample Products t=24"},
     607 [ -  - ][ -  - ]:          0 :                20L, 10L * MILLION, 0, 24 );
         [ -  - ][ -  - ]
                 [ -  - ]
     608                 :            : 
     609                 :            :   // Sample Mean, r = 0
     610                 :            :   stack.add< TestU01< TestU01Props< tag::SampleMean, CProxy_TestU01Suite,
     611                 :            :                                     sres_Basic, sres_CreateBasic,
     612                 :            :                                     sres_DeleteBasic,
     613                 :            :                                     long, long, int > > >
     614         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Sample Mean r=0"},
     615 [ -  - ][ -  - ]:          0 :                20L * MILLION, 30L, 0 );
         [ -  - ][ -  - ]
                 [ -  - ]
     616                 :            : 
     617                 :            :   // Sample Mean, r = 10
     618                 :            :   stack.add< TestU01< TestU01Props< tag::SampleMean, CProxy_TestU01Suite,
     619                 :            :                                     sres_Basic, sres_CreateBasic,
     620                 :            :                                     sres_DeleteBasic,
     621                 :            :                                     long, long, int > > >
     622         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Sample Mean r=10"},
     623 [ -  - ][ -  - ]:          0 :                20L * MILLION, 30L, 10 );
         [ -  - ][ -  - ]
                 [ -  - ]
     624                 :            : 
     625                 :            :   // Sample Autorrelation, k = 1
     626                 :            :   stack.add< TestU01< TestU01Props< tag::SampleCorr, CProxy_TestU01Suite,
     627                 :            :                                     sres_Basic, sres_CreateBasic,
     628                 :            :                                     sres_DeleteBasic,
     629                 :            :                                     long, long, int, int > > >
     630         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Sample Autorrelation k=1"},
     631 [ -  - ][ -  - ]:          0 :                1L, 2L * BILLION, 0, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     632                 :            : 
     633                 :            :   // Sample Autorrelation, k = 2
     634                 :            :   stack.add< TestU01< TestU01Props< tag::SampleCorr, CProxy_TestU01Suite,
     635                 :            :                                     sres_Basic, sres_CreateBasic,
     636                 :            :                                     sres_DeleteBasic,
     637                 :            :                                     long, long, int, int > > >
     638         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Sample Autorrelation k=2"},
     639 [ -  - ][ -  - ]:          0 :                1L, 2L * BILLION, 0, 2 );
         [ -  - ][ -  - ]
                 [ -  - ]
     640                 :            : 
     641                 :            :   // Maurer's "universal" test, r = 0
     642                 :            :   stack.add< TestU01< TestU01Props< tag::AppearanceSpacings, CProxy_TestU01Suite,
     643                 :            :                                     sres_Basic, sres_CreateBasic,
     644                 :            :                                     sres_DeleteBasic,
     645                 :            :                                     long, long, long, int, int, int > > >
     646         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Appearance Spacings r=0"},
     647 [ -  - ][ -  - ]:          0 :                1L, 10L * MILLION, 400L * MILLION, 0, 30, 15 );
         [ -  - ][ -  - ]
                 [ -  - ]
     648                 :            : 
     649                 :            :   // Maurer's "universal" test, r = 0
     650                 :            :   stack.add< TestU01< TestU01Props< tag::AppearanceSpacings, CProxy_TestU01Suite,
     651                 :            :                                     sres_Basic, sres_CreateBasic,
     652                 :            :                                     sres_DeleteBasic,
     653                 :            :                                     long, long, long, int, int, int > > >
     654         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Appearance Spacings r=0"},
     655                 :          0 :                1L, 10L * MILLION, static_cast<long>(BILLION), 0,
     656 [ -  - ][ -  - ]:          0 :                              3, 15 );
         [ -  - ][ -  - ]
                 [ -  - ]
     657                 :            : 
     658                 :            :   // Maurer's "universal" test, r = 27
     659                 :            :   stack.add< TestU01< TestU01Props< tag::AppearanceSpacings, CProxy_TestU01Suite,
     660                 :            :                                     sres_Basic, sres_CreateBasic,
     661                 :            :                                     sres_DeleteBasic,
     662                 :            :                                     long, long, long, int, int, int > > >
     663         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Appearance Spacings r=27"},
     664                 :          0 :                1L, 10L * MILLION, static_cast<long>(BILLION), 27,
     665 [ -  - ][ -  - ]:          0 :                              3, 15 );
         [ -  - ][ -  - ]
                 [ -  - ]
     666                 :            : 
     667                 :            :   // Weight Distribution, r = 0
     668                 :            :   stack.add< TestU01< TestU01Props< tag::WeightDistrib, CProxy_TestU01Suite,
     669                 :            :                                     sres_Chi2, sres_CreateChi2,
     670                 :            :                                     sres_DeleteChi2,
     671                 :            :                                     long, long, int, long, double, double > > >
     672         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Weight Distribution r=0"},
     673 [ -  - ][ -  - ]:          0 :                1L, 20L * MILLION, 0, 256L, 0.0, 0.25 );
         [ -  - ][ -  - ]
                 [ -  - ]
     674                 :            : 
     675                 :            :   // Weight Distribution, r = 20
     676                 :            :   stack.add< TestU01< TestU01Props< tag::WeightDistrib, CProxy_TestU01Suite,
     677                 :            :                                     sres_Chi2, sres_CreateChi2,
     678                 :            :                                     sres_DeleteChi2,
     679                 :            :                                     long, long, int, long, double, double > > >
     680         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Weight Distribution r=20"},
     681 [ -  - ][ -  - ]:          0 :                1L, 20L * MILLION, 20, 256L, 0.0, 0.25 );
         [ -  - ][ -  - ]
                 [ -  - ]
     682                 :            : 
     683                 :            :   // Weight Distribution, r = 28
     684                 :            :   stack.add< TestU01< TestU01Props< tag::WeightDistrib, CProxy_TestU01Suite,
     685                 :            :                                     sres_Chi2, sres_CreateChi2,
     686                 :            :                                     sres_DeleteChi2,
     687                 :            :                                     long, long, int, long, double, double > > >
     688         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Weight Distribution r=28"},
     689 [ -  - ][ -  - ]:          0 :                1L, 20L * MILLION, 28, 256L, 0.0, 0.25 );
         [ -  - ][ -  - ]
                 [ -  - ]
     690                 :            : 
     691                 :            :   // Weight Distribution, r = 0, beta = 1/16
     692                 :            :   stack.add< TestU01< TestU01Props< tag::WeightDistrib, CProxy_TestU01Suite,
     693                 :            :                                     sres_Chi2, sres_CreateChi2,
     694                 :            :                                     sres_DeleteChi2,
     695                 :            :                                     long, long, int, long, double, double > > >
     696         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Weight Distribution r=0 beta=1/16"},
     697 [ -  - ][ -  - ]:          0 :                1L, 20L * MILLION, 0, 256L, 0.0, 0.0625 );
         [ -  - ][ -  - ]
                 [ -  - ]
     698                 :            : 
     699                 :            :   // Weight Distribution, r = 10
     700                 :            :   stack.add< TestU01< TestU01Props< tag::WeightDistrib, CProxy_TestU01Suite,
     701                 :            :                                     sres_Chi2, sres_CreateChi2,
     702                 :            :                                     sres_DeleteChi2,
     703                 :            :                                     long, long, int, long, double, double > > >
     704         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Weight Distribution r=10"},
     705 [ -  - ][ -  - ]:          0 :                1L, 20L * MILLION, 10, 256L, 0.0, 0.0625 );
         [ -  - ][ -  - ]
                 [ -  - ]
     706                 :            : 
     707                 :            :   // Weight Distribution, r = 26
     708                 :            :   stack.add< TestU01< TestU01Props< tag::WeightDistrib, CProxy_TestU01Suite,
     709                 :            :                                     sres_Chi2, sres_CreateChi2,
     710                 :            :                                     sres_DeleteChi2,
     711                 :            :                                     long, long, int, long, double, double > > >
     712         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Weight Distribution r=26"},
     713 [ -  - ][ -  - ]:          0 :                1L, 20L * MILLION, 26, 256L, 0.0, 0.0625 );
         [ -  - ][ -  - ]
                 [ -  - ]
     714                 :            : 
     715                 :            :   // Sum Collector
     716                 :            :   stack.add< TestU01< TestU01Props< tag::SumCollector, CProxy_TestU01Suite,
     717                 :            :                                     sres_Chi2, sres_CreateChi2,
     718                 :            :                                     sres_DeleteChi2,
     719                 :            :                                     long, long, int, double > > >
     720         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Sum Collector"},
     721 [ -  - ][ -  - ]:          0 :                1L, 500L * MILLION, 0, 10.0 );
         [ -  - ][ -  - ]
                 [ -  - ]
     722                 :            : 
     723                 :            :   // Marsaglia's Matrix Rank, L = 30, r = 0
     724                 :            :   stack.add< TestU01< TestU01Props< tag::MatrixRank, CProxy_TestU01Suite,
     725                 :            :                                     sres_Chi2, sres_CreateChi2,
     726                 :            :                                     sres_DeleteChi2,
     727                 :            :                                     long, long, int, int, int, int > > >
     728         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Matrix Rank L=30 r=0"},
     729 [ -  - ][ -  - ]:          0 :                10L, static_cast<long>(MILLION), 0, 5, 30, 30 );
         [ -  - ][ -  - ]
                 [ -  - ]
     730                 :            : 
     731                 :            :   // Marsaglia's Matrix Rank, L = 30, r = 25
     732                 :            :   stack.add< TestU01< TestU01Props< tag::MatrixRank, CProxy_TestU01Suite,
     733                 :            :                                     sres_Chi2, sres_CreateChi2,
     734                 :            :                                     sres_DeleteChi2,
     735                 :            :                                     long, long, int, int, int, int > > >
     736         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Matrix Rank L=30 r=25"},
     737 [ -  - ][ -  - ]:          0 :                10L, static_cast<long>(MILLION), 25, 5, 30, 30 );
         [ -  - ][ -  - ]
                 [ -  - ]
     738                 :            : 
     739                 :            :   // Marsaglia's Matrix Rank, L = 1000, r = 0
     740                 :            :   stack.add< TestU01< TestU01Props< tag::MatrixRank, CProxy_TestU01Suite,
     741                 :            :                                     sres_Chi2, sres_CreateChi2,
     742                 :            :                                     sres_DeleteChi2,
     743                 :            :                                     long, long, int, int, int, int > > >
     744         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Matrix Rank L=1000 r=0"},
     745 [ -  - ][ -  - ]:          0 :                1L, 5L * THOUSAND, 0, 4, 1000, 1000 );
         [ -  - ][ -  - ]
                 [ -  - ]
     746                 :            : 
     747                 :            :   // Marsaglia's Matrix Rank, L = 1000, r = 26
     748                 :            :   stack.add< TestU01< TestU01Props< tag::MatrixRank, CProxy_TestU01Suite,
     749                 :            :                                     sres_Chi2, sres_CreateChi2,
     750                 :            :                                     sres_DeleteChi2,
     751                 :            :                                     long, long, int, int, int, int > > >
     752         [ -  - ]:          0 :              ( proxy, tests, rng, gen, {"Matrix Rank L=1000 r=26"},
     753 [ -  - ][ -  - ]:          0 :                1L, 5L * THOUSAND, 26, 4, 1000, 1000 );
         [ -  - ][ -  - ]
                 [ -  - ]
     754                 :            : 
     755                 :            :   // Marsaglia's Matrix Rank, L = 5000, r = 15
     756                 :            :   stack.add< TestU01< TestU01Props< tag::MatrixRank, CProxy_TestU01Suite,
     757                 :            :                                     sres_Chi2, sres_CreateChi2,
     758                 :            :                                     sres_DeleteChi2,
     759                 :            :                                     long, long, int, int, int, int > > >
     760         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Matrix Rank L=5000 r=15"},
     761 [ -  - ][ -  - ]:          0 :              1L, 80L, 15, 15, 5000, 5000 );
         [ -  - ][ -  - ]
                 [ -  - ]
     762                 :            : 
     763                 :            :   // Marsaglia's Matrix Rank, L = 5000, r = 0
     764                 :            :   stack.add< TestU01< TestU01Props< tag::MatrixRank, CProxy_TestU01Suite,
     765                 :            :                                     sres_Chi2, sres_CreateChi2,
     766                 :            :                                     sres_DeleteChi2,
     767                 :            :                                     long, long, int, int, int, int > > >
     768         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Matrix Rank L=5000 r=0"},
     769 [ -  - ][ -  - ]:          0 :              1L, 80L, 0, 30, 5000, 5000 );
         [ -  - ][ -  - ]
                 [ -  - ]
     770                 :            : 
     771                 :            :   // Marsaglia's Modified Savir
     772                 :            :   stack.add< TestU01< TestU01Props< tag::Savir2, CProxy_TestU01Suite,
     773                 :            :                                     sres_Chi2, sres_CreateChi2,
     774                 :            :                                     sres_DeleteChi2,
     775                 :            :                                     long, long, int, long, int > > >
     776         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Savir2"},
     777 [ -  - ][ -  - ]:          0 :              10L, 10L * MILLION, 10, 1024L * 1024L, 30 );
         [ -  - ][ -  - ]
                 [ -  - ]
     778                 :            : 
     779                 :            :   // Marsaglia's greatest common divisor
     780                 :            :   stack.add< TestU01< TestU01Props< tag::GCD, CProxy_TestU01Suite,
     781                 :            :                                     smarsa_Res2, smarsa_CreateRes2,
     782                 :            :                                     smarsa_DeleteRes2,
     783                 :            :                                     long, long, int, int > > >
     784         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"GCD"},
     785 [ -  - ][ -  - ]:          0 :              10L, 50L * MILLION, 0, 30 );
         [ -  - ][ -  - ]
                 [ -  - ]
     786                 :            : 
     787                 :            :   // Random Walk 1, L = 50, r = 0
     788                 :            :   stack.add< TestU01< TestU01Props< tag::RandomWalk1, CProxy_TestU01Suite,
     789                 :            :                                     swalk_Res, swalk_CreateRes,
     790                 :            :                                     swalk_DeleteRes,
     791                 :            :                                     long, long, int, int, long, long > > >
     792         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Random Walk 1 Stat H L=50 r=0",
     793                 :            :                                       "Random Walk 1 Stat M L=50 r=0",
     794                 :            :                                       "Random Walk 1 Stat J L=50 r=0",
     795                 :            :                                       "Random Walk 1 Stat R L=50 r=0",
     796                 :            :                                       "Random Walk 1 Stat C L=50 r=0"},
     797 [ -  - ][ -  - ]:          0 :              1L, 100L * MILLION, 0, 5, 50L, 50L );
         [ -  - ][ -  - ]
                 [ -  - ]
     798                 :            : 
     799                 :            :   // Random Walk 1, L = 50, r = 25
     800                 :            :   stack.add< TestU01< TestU01Props< tag::RandomWalk1, CProxy_TestU01Suite,
     801                 :            :                                     swalk_Res, swalk_CreateRes,
     802                 :            :                                     swalk_DeleteRes,
     803                 :            :                                     long, long, int, int, long, long > > >
     804         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Random Walk 1 Stat H L=50 r=25",
     805                 :            :                                       "Random Walk 1 Stat M L=50 r=25",
     806                 :            :                                       "Random Walk 1 Stat J L=50 r=25",
     807                 :            :                                       "Random Walk 1 Stat R L=50 r=25",
     808                 :            :                                       "Random Walk 1 Stat C L=50 r=25"},
     809 [ -  - ][ -  - ]:          0 :              1L, 100L * MILLION, 25, 5, 50L, 50L );
         [ -  - ][ -  - ]
                 [ -  - ]
     810                 :            : 
     811                 :            :   // Random Walk 1, L = 1000, r = 0
     812                 :            :   stack.add< TestU01< TestU01Props< tag::RandomWalk1, CProxy_TestU01Suite,
     813                 :            :                                     swalk_Res, swalk_CreateRes,
     814                 :            :                                     swalk_DeleteRes,
     815                 :            :                                     long, long, int, int, long, long > > >
     816         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Random Walk 1 Stat H L=1000 r=0",
     817                 :            :                                       "Random Walk 1 Stat M L=1000 r=0",
     818                 :            :                                       "Random Walk 1 Stat J L=1000 r=0",
     819                 :            :                                       "Random Walk 1 Stat R L=1000 r=0",
     820                 :            :                                       "Random Walk 1 Stat C L=1000 r=0"},
     821 [ -  - ][ -  - ]:          0 :              1L, 10L * MILLION, 0, 10, 1000L, 1000L );
         [ -  - ][ -  - ]
                 [ -  - ]
     822                 :            : 
     823                 :            :   // Random Walk 1, L = 1000, r = 20
     824                 :            :   stack.add< TestU01< TestU01Props< tag::RandomWalk1, CProxy_TestU01Suite,
     825                 :            :                                     swalk_Res, swalk_CreateRes,
     826                 :            :                                     swalk_DeleteRes,
     827                 :            :                                     long, long, int, int, long, long > > >
     828         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Random Walk 1 Stat H L=1000 r=20",
     829                 :            :                                       "Random Walk 1 Stat M L=1000 r=20",
     830                 :            :                                       "Random Walk 1 Stat J L=1000 r=20",
     831                 :            :                                       "Random Walk 1 Stat R L=1000 r=20",
     832                 :            :                                       "Random Walk 1 Stat C L=1000 r=20"},
     833 [ -  - ][ -  - ]:          0 :              1L, 10L * MILLION, 20, 10, 1000L, 1000L );
         [ -  - ][ -  - ]
                 [ -  - ]
     834                 :            : 
     835                 :            :   // Random Walk 1, L = 10000, r = 0
     836                 :            :   stack.add< TestU01< TestU01Props< tag::RandomWalk1, CProxy_TestU01Suite,
     837                 :            :                                     swalk_Res, swalk_CreateRes,
     838                 :            :                                     swalk_DeleteRes,
     839                 :            :                                     long, long, int, int, long, long > > >
     840         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Random Walk 1 Stat H L=10000 r=0",
     841                 :            :                                       "Random Walk 1 Stat M L=10000 r=0",
     842                 :            :                                       "Random Walk 1 Stat J L=10000 r=0",
     843                 :            :                                       "Random Walk 1 Stat R L=10000 r=0",
     844                 :            :                                       "Random Walk 1 Stat C L=10000 r=0"},
     845 [ -  - ][ -  - ]:          0 :              1L, static_cast<long>(MILLION), 0, 15, 10000L, 10000L );
         [ -  - ][ -  - ]
                 [ -  - ]
     846                 :            : 
     847                 :            :   // Random Walk 1, L = 10000, r = 15
     848                 :            :   stack.add< TestU01< TestU01Props< tag::RandomWalk1, CProxy_TestU01Suite,
     849                 :            :                                     swalk_Res, swalk_CreateRes,
     850                 :            :                                     swalk_DeleteRes,
     851                 :            :                                     long, long, int, int, long, long > > >
     852         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Random Walk 1 Stat H L=10000 r=15",
     853                 :            :                                       "Random Walk 1 Stat M L=10000 r=15",
     854                 :            :                                       "Random Walk 1 Stat J L=10000 r=15",
     855                 :            :                                       "Random Walk 1 Stat R L=10000 r=15",
     856                 :            :                                       "Random Walk 1 Stat C L=10000 r=15"},
     857 [ -  - ][ -  - ]:          0 :              1L, static_cast<long>(MILLION), 15, 15, 10000L, 10000L );
         [ -  - ][ -  - ]
                 [ -  - ]
     858                 :            : 
     859                 :            :   // Linear Complexity, r = 0
     860                 :            :   stack.add< TestU01< TestU01Props< tag::LinearComp, CProxy_TestU01Suite,
     861                 :            :                                     scomp_Res, scomp_CreateRes,
     862                 :            :                                     scomp_DeleteRes,
     863                 :            :                                     long, long, int, int > > >
     864         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Linear Complexity Jump r=0",
     865                 :            :                                       "Linear Complexity Size r=0"},
     866 [ -  - ][ -  - ]:          0 :              1L, 400L * THOUSAND + 20, 0, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     867                 :            : 
     868                 :            :   // Linear Complexity, r = 29
     869                 :            :   stack.add< TestU01< TestU01Props< tag::LinearComp, CProxy_TestU01Suite,
     870                 :            :                                     scomp_Res, scomp_CreateRes,
     871                 :            :                                     scomp_DeleteRes,
     872                 :            :                                     long, long, int, int > > >
     873         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Linear Complexity Jump r=29",
     874                 :            :                                       "Linear Complexity Size r=29"},
     875 [ -  - ][ -  - ]:          0 :              1L, 400L * THOUSAND + 20, 29, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
     876                 :            : 
     877                 :            :   // Lempel-Ziv Compressibility, r = 0
     878                 :            :   stack.add< TestU01< TestU01Props< tag::LempelZiv, CProxy_TestU01Suite,
     879                 :            :                                     sres_Basic, sres_CreateBasic,
     880                 :            :                                     sres_DeleteBasic,
     881                 :            :                                     long, int, int, int > > >
     882         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Lempel-Ziv Compressibility r=0"},
     883 [ -  - ][ -  - ]:          0 :              10L, 27, 0, 30 );
         [ -  - ][ -  - ]
                 [ -  - ]
     884                 :            : 
     885                 :            :   // Lempel-Ziv Compressibility, r = 15
     886                 :            :   stack.add< TestU01< TestU01Props< tag::LempelZiv, CProxy_TestU01Suite,
     887                 :            :                                     sres_Basic, sres_CreateBasic,
     888                 :            :                                     sres_DeleteBasic,
     889                 :            :                                     long, int, int, int > > >
     890         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Lempel-Ziv Compressibility r=15"},
     891 [ -  - ][ -  - ]:          0 :              10L, 27, 15, 15 );
         [ -  - ][ -  - ]
                 [ -  - ]
     892                 :            : 
     893                 :            :   // Fourier3, r = 0
     894                 :            :   stack.add< TestU01< TestU01Props< tag::Fourier3, CProxy_TestU01Suite,
     895                 :            :                                     sspectral_Res, sspectral_CreateRes,
     896                 :            :                                     sspectral_DeleteRes,
     897                 :            :                                     long, int, int, int > > >
     898         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Fourier 3 r=0"},
     899 [ -  - ][ -  - ]:          0 :              100L * THOUSAND, 14, 0, 3 );
         [ -  - ][ -  - ]
                 [ -  - ]
     900                 :            : 
     901                 :            :   // Fourier3, r = 20
     902                 :            :   stack.add< TestU01< TestU01Props< tag::Fourier3, CProxy_TestU01Suite,
     903                 :            :                                     sspectral_Res, sspectral_CreateRes,
     904                 :            :                                     sspectral_DeleteRes,
     905                 :            :                                     long, int, int, int > > >
     906         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Fourier 3 r=27"},
     907 [ -  - ][ -  - ]:          0 :              100L * THOUSAND, 14, 27, 3 );
         [ -  - ][ -  - ]
                 [ -  - ]
     908                 :            : 
     909                 :            :   // Longes Head Run, r = 0
     910                 :            :   stack.add< TestU01< TestU01Props< tag::LongestHeadRun, CProxy_TestU01Suite,
     911                 :            :                                     sstring_Res2, sstring_CreateRes2,
     912                 :            :                                     sstring_DeleteRes2,
     913                 :            :                                     long, long, int, int, long > > >
     914         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Longest Head Run Chi r=0",
     915                 :            :                                       "Longest Head Run Disc r=0"},
     916 [ -  - ][ -  - ]:          0 :              1L, 1000L, 0, 3, 20L + 10L * MILLION );
         [ -  - ][ -  - ]
                 [ -  - ]
     917                 :            : 
     918                 :            :   // Longes Head Run, r = 27
     919                 :            :   stack.add< TestU01< TestU01Props< tag::LongestHeadRun, CProxy_TestU01Suite,
     920                 :            :                                     sstring_Res2, sstring_CreateRes2,
     921                 :            :                                     sstring_DeleteRes2,
     922                 :            :                                     long, long, int, int, long > > >
     923         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Longest Head Run Chi r=27",
     924                 :            :                                       "Longest Head Run Disc r=27"},
     925 [ -  - ][ -  - ]:          0 :              1L, 1000L, 27, 3, 20L + 10L * MILLION );
         [ -  - ][ -  - ]
                 [ -  - ]
     926                 :            : 
     927                 :            :   // Periods In Strings, r = 0
     928                 :            :   stack.add< TestU01< TestU01Props< tag::PeriodsInStrings, CProxy_TestU01Suite,
     929                 :            :                                     sres_Chi2, sres_CreateChi2,
     930                 :            :                                     sres_DeleteChi2,
     931                 :            :                                     long, long, int, int > > >
     932         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Periods In Strings r=0"},
     933 [ -  - ][ -  - ]:          0 :              10L, BILLION / 2, 0, 10 );
         [ -  - ][ -  - ]
                 [ -  - ]
     934                 :            : 
     935                 :            :   // Periods In Strings, r = 20
     936                 :            :   stack.add< TestU01< TestU01Props< tag::PeriodsInStrings, CProxy_TestU01Suite,
     937                 :            :                                     sres_Chi2, sres_CreateChi2,
     938                 :            :                                     sres_DeleteChi2,
     939                 :            :                                     long, long, int, int > > >
     940         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Periods In Strings r=20"},
     941 [ -  - ][ -  - ]:          0 :              10L, BILLION / 2, 20, 10 );
         [ -  - ][ -  - ]
                 [ -  - ]
     942                 :            : 
     943                 :            :   // Hamming Weight 2, r = 0
     944                 :            :   stack.add< TestU01< TestU01Props< tag::HammingWeight2, CProxy_TestU01Suite,
     945                 :            :                                     sres_Basic, sres_CreateBasic,
     946                 :            :                                     sres_DeleteBasic,
     947                 :            :                                     long, long, int, int, long > > >
     948         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Hamming Weight 2 r=0"},
     949                 :          0 :              10L, static_cast<long>(BILLION), 0, 3,
     950 [ -  - ][ -  - ]:          0 :                          static_cast<long>(MILLION) );
         [ -  - ][ -  - ]
                 [ -  - ]
     951                 :            : 
     952                 :            :   // Hamming Weight 2, r = 27
     953                 :            :   stack.add< TestU01< TestU01Props< tag::HammingWeight2, CProxy_TestU01Suite,
     954                 :            :                                     sres_Basic, sres_CreateBasic,
     955                 :            :                                     sres_DeleteBasic,
     956                 :            :                                     long, long, int, int, long > > >
     957         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Hamming Weight 2 r=27"},
     958                 :          0 :              10L, static_cast<long>(BILLION), 27, 3,
     959 [ -  - ][ -  - ]:          0 :                          static_cast<long>(MILLION) );
         [ -  - ][ -  - ]
                 [ -  - ]
     960                 :            : 
     961                 :            :   // Hamming Correlation, L = 30
     962                 :            :   stack.add< TestU01< TestU01Props< tag::HammingCorr, CProxy_TestU01Suite,
     963                 :            :                                     sstring_Res, sstring_CreateRes,
     964                 :            :                                     sstring_DeleteRes,
     965                 :            :                                     long, long, int, int, int> > >
     966         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Hamming Correlation L=30"},
     967 [ -  - ][ -  - ]:          0 :              1L, static_cast<long>(BILLION), 10, 10, 30 );
         [ -  - ][ -  - ]
                 [ -  - ]
     968                 :            : 
     969                 :            :   // Hamming Correlation, L = 300
     970                 :            :   stack.add< TestU01< TestU01Props< tag::HammingCorr, CProxy_TestU01Suite,
     971                 :            :                                     sstring_Res, sstring_CreateRes,
     972                 :            :                                     sstring_DeleteRes,
     973                 :            :                                     long, long, int, int, int> > >
     974         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Hamming Correlation L=300"},
     975 [ -  - ][ -  - ]:          0 :              1L, 100L * MILLION, 10, 10, 10 * 30 );
         [ -  - ][ -  - ]
                 [ -  - ]
     976                 :            : 
     977                 :            :   // Hamming Correlation, L = 1200
     978                 :            :   stack.add< TestU01< TestU01Props< tag::HammingCorr, CProxy_TestU01Suite,
     979                 :            :                                     sstring_Res, sstring_CreateRes,
     980                 :            :                                     sstring_DeleteRes,
     981                 :            :                                     long, long, int, int, int> > >
     982         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Hamming Correlation L=1200"},
     983 [ -  - ][ -  - ]:          0 :              1L, 100L * MILLION, 10, 10, 40 * 30 );
         [ -  - ][ -  - ]
                 [ -  - ]
     984                 :            : 
     985                 :            :   // Hamming independence, L = 30, r = 0
     986                 :            :   stack.add< TestU01< TestU01Props< tag::HammingIndep, CProxy_TestU01Suite,
     987                 :            :                                     sstring_Res, sstring_CreateRes,
     988                 :            :                                     sstring_DeleteRes,
     989                 :            :                                     long, long, int, int, int, int > > >
     990         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Hamming Independence L=30 r=0"},
     991 [ -  - ][ -  - ]:          0 :              10L, 30L * MILLION, 0, 3, 30, 0 );
         [ -  - ][ -  - ]
                 [ -  - ]
     992                 :            : 
     993                 :            :   // Hamming independence, L = 30, r = 27
     994                 :            :   stack.add< TestU01< TestU01Props< tag::HammingIndep, CProxy_TestU01Suite,
     995                 :            :                                     sstring_Res, sstring_CreateRes,
     996                 :            :                                     sstring_DeleteRes,
     997                 :            :                                     long, long, int, int, int, int > > >
     998         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Hamming Independence L=30 r=27"},
     999 [ -  - ][ -  - ]:          0 :              10L, 30L * MILLION, 27, 3, 30, 0 );
         [ -  - ][ -  - ]
                 [ -  - ]
    1000                 :            : 
    1001                 :            :   // Hamming independence, L = 300, r = 0
    1002                 :            :   stack.add< TestU01< TestU01Props< tag::HammingIndep, CProxy_TestU01Suite,
    1003                 :            :                                     sstring_Res, sstring_CreateRes,
    1004                 :            :                                     sstring_DeleteRes,
    1005                 :            :                                     long, long, int, int, int, int > > >
    1006         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Hamming Independence L=300 r=0"},
    1007 [ -  - ][ -  - ]:          0 :              1L, 30L * MILLION, 0, 4, 10 * 30, 0 );
         [ -  - ][ -  - ]
                 [ -  - ]
    1008                 :            : 
    1009                 :            :   // Hamming independence, L = 300, r = 26
    1010                 :            :   stack.add< TestU01< TestU01Props< tag::HammingIndep, CProxy_TestU01Suite,
    1011                 :            :                                     sstring_Res, sstring_CreateRes,
    1012                 :            :                                     sstring_DeleteRes,
    1013                 :            :                                     long, long, int, int, int, int > > >
    1014         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Hamming Independence L=300 r=26"},
    1015 [ -  - ][ -  - ]:          0 :              1L, 30L * MILLION, 26, 4, 10 * 30, 0 );
         [ -  - ][ -  - ]
                 [ -  - ]
    1016                 :            : 
    1017                 :            :   // Hamming independence, L = 1200, r = 0
    1018                 :            :   stack.add< TestU01< TestU01Props< tag::HammingIndep, CProxy_TestU01Suite,
    1019                 :            :                                     sstring_Res, sstring_CreateRes,
    1020                 :            :                                     sstring_DeleteRes,
    1021                 :            :                                     long, long, int, int, int, int > > >
    1022         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Hamming Independence L=1200 r=0"},
    1023 [ -  - ][ -  - ]:          0 :              1L, 10L * MILLION, 0, 5, 40 * 30, 0 );
         [ -  - ][ -  - ]
                 [ -  - ]
    1024                 :            : 
    1025                 :            :   // Hamming independence, L = 1200, r = 25
    1026                 :            :   stack.add< TestU01< TestU01Props< tag::HammingIndep, CProxy_TestU01Suite,
    1027                 :            :                                     sstring_Res, sstring_CreateRes,
    1028                 :            :                                     sstring_DeleteRes,
    1029                 :            :                                     long, long, int, int, int, int > > >
    1030         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Hamming Independence L=1200 r=25"},
    1031 [ -  - ][ -  - ]:          0 :              1L, 10L * MILLION, 25, 5, 40 * 30, 0 );
         [ -  - ][ -  - ]
                 [ -  - ]
    1032                 :            : 
    1033                 :            :   // String Run, r = 0
    1034                 :            :   stack.add< TestU01< TestU01Props< tag::StringRun, CProxy_TestU01Suite,
    1035                 :            :                                     sstring_Res3, sstring_CreateRes3,
    1036                 :            :                                     sstring_DeleteRes3,
    1037                 :            :                                     long, long, int, int > > >
    1038         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"String Run NRuns r=0",
    1039                 :            :                                       "String Run NBits r=0"},
    1040 [ -  - ][ -  - ]:          0 :              1L, 2L * BILLION, 0, 3 );
         [ -  - ][ -  - ]
                 [ -  - ]
    1041                 :            : 
    1042                 :            :   // String Run, r = 27
    1043                 :            :   stack.add< TestU01< TestU01Props< tag::StringRun, CProxy_TestU01Suite,
    1044                 :            :                                     sstring_Res3, sstring_CreateRes3,
    1045                 :            :                                     sstring_DeleteRes3,
    1046                 :            :                                     long, long, int, int > > >
    1047         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"String Run NRuns r=27",
    1048                 :            :                                       "String Run NBits r=27"},
    1049 [ -  - ][ -  - ]:          0 :              1L, 2L * BILLION, 27, 3 );
         [ -  - ][ -  - ]
                 [ -  - ]
    1050                 :            : 
    1051                 :            :   // Autocorrelation, d = 1, r = 0
    1052                 :            :   stack.add< TestU01< TestU01Props< tag::AutoCorr, CProxy_TestU01Suite,
    1053                 :            :                                     sres_Basic, sres_CreateBasic,
    1054                 :            :                                     sres_DeleteBasic,
    1055                 :            :                                     long, long, int, int, int > > >
    1056         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Autocorrelation d=1 r=0"},
    1057 [ -  - ][ -  - ]:          0 :              10L, 30L + BILLION, 0, 3, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
    1058                 :            : 
    1059                 :            :   // Autocorrelation, d = 3, r = 0
    1060                 :            :   stack.add< TestU01< TestU01Props< tag::AutoCorr, CProxy_TestU01Suite,
    1061                 :            :                                     sres_Basic, sres_CreateBasic,
    1062                 :            :                                     sres_DeleteBasic,
    1063                 :            :                                     long, long, int, int, int > > >
    1064         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Autocorrelation d=3 r=0"},
    1065 [ -  - ][ -  - ]:          0 :              10L, 30L + BILLION, 0, 3, 3 );
         [ -  - ][ -  - ]
                 [ -  - ]
    1066                 :            : 
    1067                 :            :   // Autocorrelation, d = 1, r =27
    1068                 :            :   stack.add< TestU01< TestU01Props< tag::AutoCorr, CProxy_TestU01Suite,
    1069                 :            :                                     sres_Basic, sres_CreateBasic,
    1070                 :            :                                     sres_DeleteBasic,
    1071                 :            :                                     long, long, int, int, int > > >
    1072         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Autocorrelation d=1 r=27"},
    1073 [ -  - ][ -  - ]:          0 :              10L, 30L + BILLION, 27, 3, 1 );
         [ -  - ][ -  - ]
                 [ -  - ]
    1074                 :            : 
    1075                 :            :   // Autocorrelation, d = 3, r = 27
    1076                 :            :   stack.add< TestU01< TestU01Props< tag::AutoCorr, CProxy_TestU01Suite,
    1077                 :            :                                     sres_Basic, sres_CreateBasic,
    1078                 :            :                                     sres_DeleteBasic,
    1079                 :            :                                     long, long, int, int, int > > >
    1080         [ -  - ]:          0 :            ( proxy, tests, rng, gen, {"Autocorrelation d=3 r=27"},
    1081 [ -  - ][ -  - ]:          0 :              10L, 30L + BILLION, 27, 3, 3 );
         [ -  - ][ -  - ]
                 [ -  - ]
    1082                 :          0 : }

Generated by: LCOV version 1.14