{"id":13705972,"url":"https://github.com/eddelbuettel/dieharder","last_synced_at":"2025-03-21T12:31:08.616Z","repository":{"id":41073828,"uuid":"282453424","full_name":"eddelbuettel/dieharder","owner":"eddelbuettel","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-30T11:35:14.000Z","size":2603,"stargazers_count":12,"open_issues_count":5,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-10-12T21:26:24.651Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eddelbuettel.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null}},"created_at":"2020-07-25T13:51:25.000Z","updated_at":"2024-08-26T03:28:28.000Z","dependencies_parsed_at":"2024-04-06T13:48:42.483Z","dependency_job_id":null,"html_url":"https://github.com/eddelbuettel/dieharder","commit_stats":null,"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fdieharder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fdieharder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fdieharder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fdieharder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eddelbuettel","download_url":"https://codeload.github.com/eddelbuettel/dieharder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221815129,"owners_count":16885126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T22:00:50.604Z","updated_at":"2024-10-28T10:07:10.959Z","avatar_url":"https://github.com/eddelbuettel.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"                        Building Dieharder\n========================================================================\n\nYou MUST run ./autogen.sh FIRST.  Then ./configure, make and so on\nshould work.  Sorry, if I distribute it any other way some aspect of the\nGnu Build Tools breaks for some system.  See INSTALL for more details.\n\n========================================================================\n\nAuthor Contact Information:\n\n   Robert G. Brown\t\n   Duke University Dept. of Physics, Box 90305\n   Durham, N.C. 27708-0305\n   Phone: 1-919-660-2567  \n   Fax: 919-660-2525  \n   Email: rgb@phy.duke.edu\n   URL: http://www.phy.duke.edu/~rgb\n\n========================================================================\n\n                            Versioning\n\nVersioning in dieharder has a very specific meaning.  The major number\nis bumped when a major project milestone is reached OR when a major\nfundamental redesign takes place (something that happens roughly 3-5\ntimes over the lifetime of any given project).  The first minor is the\nnumber of tests built into the current snapshot.  The second minor is\nbumped when e.g. a major change occurs within a release -- a bug is\nfixed, a new feature (but not a new test) is added.  Release is used to\ntrack micro/testing releases in the development cycle.  Basically,\nproposed bugfixes that will eventually become bumps in the second minor\nnumber.\n\n\nIn this way one can always see if dieharder is likely to have major new\nfeatures or bugfixes in it relative to your current version.\n\n               Notes About the Tests in Dieharder\n\nDieharder is original code written by and Copyright Robert G. Brown\n(with different code modules written over the period 2003-present).  The\ntests included (or expected to be included in the future) in dieharder,\nare, however, derived from descriptions from several places.\n\n  * Diehard, a famous suite of random number tests written over many\nyears by George Marsaglia.  The original Diehard sources (written in\nFortran) are (of course) Copyright George Marsaglia according to the\nBerne convention, where authors retain copyright with or without a\nnotice in any original work.  The original Diehard code written by\nMarsaglia did not include a copyright notice or an explicit license in\nor with the sources that have been made publically available on the web\nfor many years.  When contacted, Dr. Marsaglia has indicated his wish to\nrestrict commercial usage of his code and permit only academic/research\nrelated use.  For this reason the the algorithms are fully\nre-implemented, in original code, in dieharder to keep authorship and\nGPL licensing issues clear.  However, all diehard-equivalent tests are\nclearly labelled as such and academically attributed to Dr. Marsaglia.\n\n  * The National Institute of Standards and Technology (NIST)\nStatistical Test Suite (STS) as described in publication SP800-22b.\nAlthough this test suite was developed with government support and is\nexplicitly in the public domain, and is available in C source.  There is\nsome overlap between STS and Diehard -- for example, both have binary\nmatrix rank tests -- but the STS focusses primarily on bitlevel\nrandomness and the suitability of a random number generator for use in\ncryptographic applications.  The tests described in SP800-22b that are\nimplemented in dieharder are completely rewritten in original C by\nRobert G. Brown to keep copyright and GPL issues clear.  All STS-derived\ntests are clearly labelled as such and are academically attributed to\nthe various authors of the suite (Andrew Rukhin, Juan Soto, James\nNechvatal, Miles Smid, Elaine Barker, Stefan Leigh, Mark Levenson, Mark\nVangel, David Banks, Alan Heckert, James Dray, San Vo).\n\n  * Original tests or timing operations inserted by Robert G. Brown.\nAlmost any distribution that can be computed on the basis of a source of\nrandom numbers with a derived statistic with known or reliably\nmeasurable statistical properties can serve as a test of random numbers\nusing the general approach implemented in Diehard, the STS, Dieharder,\nand elsewhere.\n\n  * Tests described in Knuth's The Art of Computer Programming.\n\n  * User-contributed tests.\n\n  * Tests described elsewhere in the literature.\n\nIn all cases some effort has been made to correctly attribute the\noriginator of a test algorithm, and if there are any errors in this\nregard they will be happily corrected once they are brought to the\nattention of the author.\n\n========================================================================\n\n                         To Build Dieharder\n\nSee the file INSTALL that should have come with the tarball to get\nfairly explicit building instructions.  You may have to experiment a bit\nto figure out the dynamic linking thing mentioned there and below in\norder to be able to hack the library and the front end at the same time.\n\n                   Development and Experimentation\n\nDieharder is an open source project for a reason -- it simply is not\npossible to trust a test suite of this sort without access to the source\nbecause even a subtle error in the sources or data used to perform a\ntest will cause the test to return incorrect answers, conceivably to the\ndetriment of all concerned.  With the source readily available, any user\nis free to examine or modify the source for any test and determine\nwhether or not the test is working and participate in the critical\nprocess whereby academia arrives at a consensus truth.\n\nAlso, many individuals may wish to use the general dieharder library to\ntest their own (software) rngs.  This may well involve adding tests or\nmodifying individual tests already there, or dieharder defaults.\ndieharder is built using the familiar, if somewhat evil, Gnu Build\nTools.  Unpack tarball, run autogen.sh, ./configure, make.  If you wish\nto install, be sure to set the prefix.  Be aware that this program\nbuilds a DYNAMICALLY LINKED version of the program.  If you want a\nstatically linked version or to be able to work on it in the build\ndirectory either add the libdieharder directory to your\nLOAD_LIBRARY_PATH or hack the Makefile.am to build and use a static\nlibrary (the commands are there, commented out).\n\n                               RPM\n\nDieharder is developed on RPM-based systems (FCX) and one should be able\nto build an RPM by using the make target:  \"make rpm\" (after setting up\na private RPM build tree).  No root privileges are needed to build the\nrpms in this way.  \n\n                          Debian / Ubuntu\n\nDieharder has been in Debian since February 2007. Therefore, on most current\nDebian or Ubuntu systems a simple\n\n   sudo apt-get install dieharder\n\ninstalls the command-line (which itself also install the shared library\npackage it depends upon). In order develop against the Dieharder API, run\n\n   sudo apt-get install libdieharder-dev\n\n========================================================================\n\n                 Licensing and Revision Control\n\nDieharder is (as noted) Copyright Robert G. Brown, 2003-2006.  It has\nbeen kept under revision control (first CVS, more recently Subversion)\nsince the inception of the process in 2003 and all incremental changes\nto the code as it was developed are carefully documented.\n\nDieharder was deliberately developed to be a GPL project, since\nalternative random number test suites were either incomplete with regard\nto the span of test possibilities of interest to the author, restricted\nor unclear about their licensing restrictions, or both.  In addition, by\nintegrating from the beginning with the Gnu Scientific Library (which is\na full GPL project with the viral version of the license) it becomes\nitself a GPL project in any event.\n\nIt is strongly suggested that prospective users of this test read the\nterms of the license included with this source distribution in the file\nCOPYING.  In summary, permission is granted to freely use and modify the\nsources and distribute the result or any binary objects derived\ntherefrom as long as the terms of the GPL are abided by.  These terms\nrequire the preservation of all copyright and license information in the\nsources and that the source of any and all revisions to the original\ndieharder code be made available upon request to any receivers of a\ndieharder binary, among other things.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nGeneral Public License for more details.\n\nIf any user of the dieharder program should revise the program in a way\nthat is likely to be of use to others, they are encouraged to at least\noffer to contribute the revision back to the project (subject to the\n\"editorial\" approval of the primary author).  Contact Robert G. Brown to\narrange for such a contribution.\n\n========================================================================\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddelbuettel%2Fdieharder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feddelbuettel%2Fdieharder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddelbuettel%2Fdieharder/lists"}