Man Linux: Main Page and Category List

NAME

       libdieharder  -  A  testing  and benchmarking library for random number
       generators

SYNOPSIS

       #include dieharder.h

       void run_user_template()
       {

       Test **user_template_test;
       /*
        * Create the test
        */
       user_template_test                                                    =
       create_test(&user_template_dtest,tsamples,psamples,&user_template);

       /*
        * Set any GLOBAL data used by the test.
        */
       user_template_lag = (int)x_user;

       /*
        * Show the standard test header
        */
       show_test_header(&user_template_dtest,user_template_test);

       /*
        * Call the test
        */
       std_test(&user_template_dtest,user_template_test);

       /*
        * This almost certainly belongs in the show_test_results section,
         *  possibly  with  additional  conditionals  rejecting  test  results
       involving
        * rewinds, period.
        */
       if(strncmp(
             printf(     #     %u     rands     were     used     in      this
       test0,file_input_get_rtot(rng));"
              printf(     #     The     file     %s     was     rewound     %u
       times0,gsl_rng_name(rng),file_input_get_rewind_cnt(rng));"
       }

       /*
        * Show standard test results
        */ .
       show_test_results(&user_template_dtest,user_template_test);

       }

DESCRIPTION

       libdieharder

       The libdieharder library provides an API  to  user  interface  programs
       wishing  to  call  dieharder  tests.  Commands are defined for creating
       tests, initializing the tests  and  running  the  tests.   Showing  the
       results is of course the responsibility of the UI.

       libdieharder  also wraps certain additional random number generators so
       that they can be tested.  libdieharder can  be  default  test  all  the
       random  number  generators  in  the  Gnu  Scientific Library plus these
       additional  generators  (which  include  "generators"  for  reading  in
       numbers from a file).

       libdieharder  is  extensible.  It is fairly easy to add additional test
       "objects"  or  random  number  generators  using  existing  sources  as
       templates.

       The  API  will  be  documented in more detail as the project approaches
       completion.  In the meantime, it is  strongly  recommended  that  users
       wishing to call the library use the source of the dieharder tty UI as a
       template and list of all currently supported objects, as  this  is  the
       primary libdieharder debugging vehicle in addition to being the current
       "standard" application of the library.

PUBLICATION RULES

       libdieharder is entirely original code and can be modified and used  at
       will by any user, provided that:

         a) The original copyright notices are maintained and that the source,
       including all modifications, is made publically available at  the  time
       of  any derived publication.  This is open source software according to
       the  precepts  and  spirit  of  the  Gnu  Public  License.    See   the
       accompanying    file   COPYING,   which   also   must   accompany   any
       redistribution.

         b) The  author  of  the  code  (Robert  G.  Brown)  is  appropriately
       acknowledged and referenced in any derived publication.  It is strongly
       suggested that George Marsaglia and the Diehard suite and  the  various
       authors  of  the  Statistical  Test  Suite  be  similarly acknowledged,
       although this suite shares no actual code with these random number test
       suites.

         c)   Full   responsibility   for   the   accuracy,  suitability,  and
       effectiveness of the program rests with the users and/or modifiers.  As
       is clearly stated in the accompanying copyright.h:

       THE  COPYRIGHT  HOLDERS  DISCLAIM  ALL  WARRANTIES  WITH REGARD TO THIS
       SOFTWARE, INCLUDING  ALL  IMPLIED  WARRANTIES  OF  MERCHANTABILITY  AND
       FITNESS,  IN  NO  EVENT  SHALL  THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
       SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR  ANY  DAMAGES  WHATSOEVER
       RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
       CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING  OUT  OF  OR  IN
       CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

ACKNOWLEDGEMENTS

       The  author of this suite gratefully acknowledges George Marsaglia (the
       author of the diehard test suite)  and  the  various  authors  of  NIST
       Special  Publication 800-22 (which describes the Statistical Test Suite
       for  testing   pseudorandom   number   generators   for   cryptographic
       applications),  for excellent descriptions of the tests therein.  These
       descriptions enabled this suite to be developed with a clean copyright,
       licensable under the GPL.

       The  author  also wishes to reiterate that the academic correctness and
       accuracy  of  the  implementation  of   these   tests   is   his   sole
       responsibility  and  not  that  of  the  authors  of the Diehard or STS
       suites.  This is especially true where he has seen fit to modify  those
       tests from their strict original descriptions.

COPYRIGHT

       GPL  2b;  see  the  file  COPYING  that  accompanies the source of this
       program.  This is the "standard Gnu General Public License version 2 or
       any   later   version",   with  the  one  minor  (humorous)  "Beverage"
       modification listed below.  Note that this modification is probably not
       legally  defensible and can be followed really pretty much according to
       the honor rule.

       As to my personal preferences in beverages, red wine is great, beer  is
       delightful,  and  Coca Cola or coffee or tea or even milk acceptable to
       those who for religious or personal reasons wish to avoid stressing  my
       liver.

       The Beverage Modification to the GPL:

       Any  satisfied  user  of  this software shall, upon meeting the primary
       author(s) of this software for the first  time  under  the  appropriate
       circumstances,  offer  to  buy  him  or  her  or them a beverage.  This
       beverage may or may not be alcoholic, depending on the personal ethical
       and  moral views of the offerer.  The beverage cost need not exceed one
       U.S. dollar (although it certainly may at the whim  of  the  offerer:-)
       and  may be accepted or declined with no further obligation on the part
       of the offerer.  It is not necessary to  repeat  the  offer  after  the
       first meeting, but it can’t hurt...