comp.lang.ada
 help / color / mirror / Atom feed
From: brbarkstrom@gmail.com
Subject: Re: New IEEE Language Popularity Ratings
Date: Sat, 6 Aug 2016 18:19:38 -0700 (PDT)
Date: 2016-08-06T18:19:38-07:00	[thread overview]
Message-ID: <6cf84976-e561-4935-b674-6c84fbc0531a@googlegroups.com> (raw)
In-Reply-To: <no5ldp$pd1$1@dont-email.me>

> > Another example is random number generators.  Knuth's Art of Computer 
> > Programming, Vol. 2, is the basic definitive reference.  It includes ten
> > tests of a random number generator that anybody needing one should be sure
> > have been used.  Park and Miller's article many years ago in CACM provides
> > code for a portable version of an algorithm that they put through the Knuth
> > wringer.  In my own work, I've got an Ada library for generating probability
> > distributions that includes Park and Miller's algorithm, since it includes
> > a test as to whether it's been implemented correctly.  I might trust the 
> > algorithms in MatLab or Mathematica, but this kind of work is not for
> > amateur mathematicians.
> 
> These tests, while useful, are probably badly outdated for modern algorithms on
> 64-bit processors. More modern tests include TestU01's Crush and Big-Crush test
> suites. The Threefry generator is said to be the fastest to pass all the
> Big-Crush tests.
> 
> -- 
> Jeff Carter
> "I've seen projects fail miserably for blindly
> applying the Agile catechism: we're Agile, we
> don't need to stop and think, we just go ahead
> and code!"
> Bertrand Meyer
> 150

The algorithms are mathematical artifacts and they have proofs related
to loss of digital information.  Whether or not the bits in the hardware
are 32 or 64 or 128 bits doesn't matter.  Neither does the age.  Most 
mathematical algorithms are essentially ageless.  Can we get the Big Crush
test suite to identify the specific relations between Knuth's tests and
their tests?  I'll try to find the time to see if I can use the reference
to the RNG in AdaCore.  In the mean time, some examination of the floating
point standard and rounding and truncation error may be appropriate.

Unfortunately, Lawson and Hanson's algorithm doesn't easily translate to
Ada because they rely on FORTRAN's (rather opaque) approach to memory
management within COMMON blocks for dealing with Pivoting.

Bruce B.

Bruce B.

  reply	other threads:[~2016-08-07  1:19 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-28 14:58 New IEEE Language Popularity Ratings brbarkstrom
2016-07-28 15:05 ` Alejandro R. Mosteo
2016-07-28 20:19   ` brbarkstrom
2016-07-28 20:47     ` G.B.
2016-08-09 19:58   ` Norman Worth
2016-08-09 20:29     ` Jeffrey R. Carter
2016-08-09 21:18       ` Maciej Sobczak
2016-08-09 22:26         ` Jeffrey R. Carter
2016-08-09 23:18           ` Anh Vo
2016-08-10  6:08     ` Stu Hollander
2016-08-10  7:13       ` Paul Rubin
2016-08-10  8:57         ` G.B.
2016-08-10 15:50           ` Paul Rubin
2016-08-10 16:32             ` Dmitry A. Kazakov
2016-08-10 18:43               ` Paul Rubin
2016-08-10 19:10                 ` Dmitry A. Kazakov
2016-08-10 22:55                   ` Paul Rubin
2016-08-10 23:14                     ` G.B.
2016-08-11  0:53                       ` Paul Rubin
2016-08-11 21:34                         ` G.B.
2016-08-10 23:06             ` G.B.
2016-08-11  0:04               ` Paul Rubin
2016-08-11  6:55                 ` rrr.eee.27
2016-08-11  6:56                   ` Paul Rubin
2016-08-10  7:23       ` gautier_niouzes
2016-08-10  9:07       ` G.B.
2016-08-10  9:12       ` G.B.
2016-08-10 14:41       ` Maciej Sobczak
2016-07-29  6:41 ` Jerry
2016-07-29 12:37   ` brbarkstrom
2016-08-03 15:24     ` Serge Robyns
2016-08-06 15:53       ` brbarkstrom
2016-08-06 20:10         ` rieachus
2016-08-06 20:59           ` brbarkstrom
2016-08-06 23:32             ` G.B.
2016-08-06 20:20         ` rieachus
2016-08-06 21:38         ` Jeffrey R. Carter
2016-08-07  1:19           ` brbarkstrom [this message]
2016-08-07  6:21             ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox