bionic (3) libdieharder.3.gz

Provided by: libdieharder-dev_3.31.1-7build1_amd64 bug

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.

       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...