comp.lang.ada
 help / color / mirror / Atom feed
From: Uno <merrilljensen@q.com>
Subject: Re: KISS4691, a potentially top-ranked RNG.
Date: Fri, 30 Jul 2010 04:46:32 -0600
Date: 2010-07-30T04:46:32-06:00	[thread overview]
Message-ID: <8bfos5FakcU1@mid.individual.net> (raw)
In-Reply-To: <4c4ecbee$0$12393$c30e37c6@exi-reader.telstra.net>

robin wrote:
> "geo" <gmarsaglia@gmail.com> wrote in message news:a82cebe3-cdb9-48af-8080-bca935eeb9b1@l14g2000yql.googlegroups.com...
> |I have been asked to recommend an RNG
> | (Random Number Generator) that ranks
> | at or near the top in all of the categories:
> | performance on tests of randomness,
> | length of period, simplicity and speed.
> | The most important measure, of course, is
> | performance on extensive tests of randomness, and for
> | those that perform well, selection may well depend
> | on those other measures.
> 
> I have already posted a PL/I version using unsigned arithmetic.
> 
> Here is another version, this time using signed arithmetic :--
> 
> (NOSIZE, NOFOFL):
> RNG: PROCEDURE OPTIONS (MAIN, REORDER);
> 
>    declare (xs initial (521288629), xcng initial (362436069),
>             Q(0:4690) ) static fixed binary (31);
> 
> MWC: procedure () returns (fixed binary (31));
>    declare (t,x,i) fixed binary (31);
>    declare (c initial (0), j initial (4691) ) fixed binary (31) static;
>    declare (t1, t2, t3) fixed binary (31);
> 
>    if j < hbound(Q,1) then j = j + 1; else j = 0;
>    x = Q(j);
>    t = isll(x,13)+c+x;
>    t1 = iand(x, 3) - iand(t, 3);
>    t2 = isrl(x, 2) - isrl(t, 2);
>    if t2 = 0 then t2 = t1;
>    if t2 > 0 then t3 = 1; else t3 = 0;
>    c = t3 + isrl(x, 19);
>    Q(j)=t;
>    return (t);
> end MWC;
> 
> CNG: procedure returns (fixed binary (31));
>   xcng=bin(69069)*xcng+bin(123);
>   return (xcng);
> end CNG;
> 
> XXS: procedure returns (fixed binary (31));
>    xs = ieor (xs, isll(xs, 13) );
>    xs = ieor (xs, isrl(xs, 17) );
>    xs = ieor (xs, isll(xs,  5) );
>    return (xs);
> end XXS;
> 
> KISS: procedure returns (fixed binary (31));
>    return ( MWC()+CNG+XXS );
> end KISS;
> 
>    declare (i,x) fixed binary (31);
>    declare y fixed decimal (11);
> 
>    Q = CNG+XXS; /* Initialize. */
>    do i = 1 to 1000000000; x=MWC(); end;
>    put skip edit (" Expected MWC result = 3740121002", 'computed =', x)
>       (a, skip, x(12), a, f(11));
>    y = iand(x, 2147483647);
>    if x < 0 then y = y + 2147483648;
>    put skip edit (y) (x(11), f(22)); put skip;
>    do i = 1 to 1000000000; x=KISS; end;
>    put skip edit ("Expected KISS result = 2224631993", 'computed =', x)
>       (a, skip, x(12), a, f(11));
>    y = iand(x, 2147483647);
>    if x < 0 then y = y + 2147483648;
>    put skip edit (y) (x(11), f(22));
> 
> end RNG; 
> 
> 

If you were to comment out the PL/I command line that compiled this, 
what would it be?
-- 
Uno



  reply	other threads:[~2010-07-30 10:46 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <a82cebe3-cdb9-48af-8080-bca935eeb9b1@l14g2000yql.googlegroups.com>
2010-07-25  0:49 ` KISS4691, a potentially top-ranked RNG Gene
2010-07-26  2:50   ` robin
2010-07-27  5:46 ` robin
2010-07-30 10:46   ` Uno [this message]
2010-08-03 10:41     ` robin
2010-08-03 17:15       ` James Waldby
2010-08-03 17:35         ` Dann Corbit
2010-08-03 20:34           ` Peter Flass
2010-08-04  4:20             ` Uno
2010-08-04  8:31           ` robin
2010-08-04  7:56         ` robin
2010-08-05 21:07           ` Uno
2010-08-06 10:11             ` robin
2010-08-09 14:52             ` mecej4
     [not found] ` <i2fir2$op4$1@speranza.aioe.org>
2010-07-27 10:19   ` robin
2010-07-30  8:33     ` Uno
     [not found] <4dae2a4b$0$55577$c30e37c6@exi-reader.telstra.net>
2011-04-28  1:14 ` robin
2011-04-28 11:42   ` e p chandler
2011-04-29  1:50     ` David Bernier
2011-04-29  2:09       ` Ian Collins
2011-04-29  3:01         ` Eric Sosman
2011-04-29  3:09           ` Ian Collins
2011-05-08  7:34             ` Uno
2011-05-11  5:38               ` Marni Zollinger
2011-04-29  6:15           ` nmm1
2011-04-29  3:16         ` David Bernier
2011-04-29  2:34       ` glen herrmannsfeldt
2011-04-29  7:04         ` Uno
2011-04-30 10:48           ` robin
2011-05-05  1:12             ` Uno
2011-04-29 15:13         ` Keith Thompson
2011-04-29 17:41           ` glen herrmannsfeldt
2011-04-29 19:53             ` Keith Thompson
2011-05-05 23:38               ` Michael Press
2011-04-29 22:45           ` Seebs
2011-04-30  4:36           ` Randy Brukardt
2011-04-29 22:43       ` Seebs
2011-04-29  9:43     ` robin
2011-05-01 15:31   ` Thad Smith
2011-05-01 19:58     ` Ian Collins
2011-05-02  0:01       ` James Kuyper
2011-05-02  0:42         ` Ian Collins
2011-05-02  2:34           ` James Kuyper
2011-05-02  2:50           ` glen herrmannsfeldt
2011-05-02  4:21       ` Thad Smith
2011-05-02  7:31         ` nmm1
2011-05-23  4:18           ` robin
2011-05-23  7:20             ` robin
2011-05-23  6:52           ` robin
2011-05-23  6:52           ` robin
2011-05-23  6:52           ` robin
2011-05-23  6:53           ` robin
2011-05-23  7:16             ` Georg Bauhaus
2011-06-28  7:19               ` robin
2011-06-28  8:44                 ` Vinzent Hoefler
2011-06-28  9:19                   ` Chris H
2011-06-28  9:14                 ` Georg Bauhaus
2011-06-28 11:59                   ` robin
2011-06-28 12:16                     ` Chris H
2011-06-28 15:44                       ` Peter Flass
2011-06-28 12:33                     ` James Kuyper
2011-06-28 13:53                     ` Georg Bauhaus
2011-06-28 22:39                       ` Brian Salter-Duke
2011-06-28 12:32                 ` James Kuyper
2011-06-28 13:03                   ` Chris H
2011-06-28 14:25                     ` James Kuyper
2011-06-28 15:01                       ` Chris H
2011-06-29  0:20                         ` James Kuyper
2011-06-29  8:38                         ` Michael Press
2011-06-28 16:04                 ` Joe Pfeiffer
2011-06-28 16:36                   ` Chris H
2011-06-28 16:51                     ` Joe Pfeiffer
2011-06-29  0:27                       ` James Kuyper
2011-06-29  1:00                         ` Joe Pfeiffer
2011-06-29 16:48                         ` Phil Carmody
2011-06-28 16:52                     ` Joe Pfeiffer
2011-06-28 17:06                     ` David Bernier
2011-06-28 21:11                     ` Gib Bogle
2011-06-29  4:47                       ` Mart van de Wege
2011-07-02  6:49                         ` Gib Bogle
2011-07-02 15:59                           ` Mart van de Wege
2011-07-02 21:57                             ` Gib Bogle
2011-06-29  7:36                       ` nmm1
2011-06-29  9:58                         ` Georg Bauhaus
replies disabled

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