comp.lang.ada
 help / color / mirror / Atom feed
* Re: KISS4691, a potentially top-ranked RNG.
       [not found] <a82cebe3-cdb9-48af-8080-bca935eeb9b1@l14g2000yql.googlegroups.com>
@ 2010-07-25  0:49 ` Gene
  2010-07-26  2:50   ` robin
  2010-07-27  5:46 ` robin
       [not found] ` <i2fir2$op4$1@speranza.aioe.org>
  2 siblings, 1 reply; 84+ messages in thread
From: Gene @ 2010-07-25  0:49 UTC (permalink / raw)


On Jul 24, 9:02 am, geo <gmarsag...@gmail.com> wrote:
> 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.
>
> The following KISS version, perhaps call it KISS4691,
> seems to rank at the top in all of those categories.
> It is my latest, and perhaps my last, as, at age 86,
> I    am        slowing                down.
>
> Compiling and running the following commented
> C listing should produce, within about four seconds,
> 10^9 calls to the principal component MWC(), then
> 10^9 calls to the KISS combination in another ~7 seconds.
>
> Try it; you may like it.
>
> George Marsaglia
>
> /*
> The KISS4691 RNG, a Keep-It-Simple-Stupid combination of
> MWC (Multiply-With-Carry), Congruential and Xorshift sequences.
> Expressed as a simple MWC() function and C macros
>  #define CNG ( xcng=69069*xcng+123 )
>  #define XS ( xs^=(xs<<13), xs^=(xs>>17), xs^=(xs<<5) )
>  #define KISS ( MWC()+CNG+XS )
> but easily expressed in other languages, with a slight
> complication for signed integers.
>
> With its immense period, >10^45000, and speed: MWC()s at
> around 238 million/sec or full KISSes at around 138 million,
> there are few RNGs that do as well as this one
> on tests of randomness and are comparable in even one
> of the categories: period, speed, simplicity---not to
> mention comparable in all of them.
>
> The MWC4691 sequence x[n]=8193*x[n-4691]+carry mod b=2^32
> is based on p=8193*b^4691-1, period ~ 2^150124  or 10^45192
> For the MWC (Multiply-With-Carry) process, given a current
> x and c, the new x is    (8193*x+c) mod b,
>          the new c is    the integer part of (8193*x+c)/b.
>
> The routine MWC() produces, in reverse order,  the base-b=2^32
> expansion of some j/p with 0<j<p=8193*2^150112-1 with j
> determined by the 64 bits of seeds xcng and xs, or more
> generally, by 150112 random bits in the Q[] array.
> */
>
> static unsigned long xs=521288629,xcng=362436069,Q[4691];
>
> unsigned long MWC(void)  /*takes about 4.2 nanosecs or 238 million/
> second*/
> {unsigned long t,x,i; static c=0,j=4691;
>   j=(j<4690)? j+1:0;
>   x=Q[j];
>   t=(x<<13)+c+x; c=(t<x)+(x>>19);
>   return (Q[j]=t);
>
> }
>
> #define CNG ( xcng=69069*xcng+123 )
> #define XS ( xs^=(xs<<13), xs^=(xs>>17), xs^=(xs<<5) )
> #define KISS ( MWC()+CNG+XS ) /*138 million/sec*/
>
> #include <stdio.h>
> int main()
> {unsigned long i,x;
>  for(i=0;i<4691;i++) Q[i]=CNG+XS;
>  for(i=0;i<1000000000;i++) x=MWC();
>  printf(" MWC result=3740121002 ?\n%22u\n",x);
>  for(i=0;i<1000000000;i++) x=KISS;
>  printf("KISS result=2224631993 ?\n%22u\n",x);
>
> }
>
> /*
> This RNG uses two seeds to fill the Q[4691] array by
> means of CNG+XS mod 2^32. Users requiring more than two
> seeds will need to randomly seed Q[] in main().
> By itself, the MWC() routine passes all tests in the
> Diehard Battery of Tests, but it is probably a good
> idea to include it in the KISS combination.
>
> Languages requiring signed integers should use equivalents
> of the same operations, except that the C statement:
>        c=(t<x)+(x>>19);
> can be replaced by that language's version of
>   if sign(x<<13+c)=sign(x) then c=sign(x)+(x>>19)
>            else c=1-sign(t)+(x>>19)
> */

Here's an implementation in Ada, verified to produce the same answers
as the C code.

The Ada version of gcc compiles this to nearly the same code as
produced
for the C. Function call overhead adds about 40% to the run time.

What's a good way to take an arbitrary, single 32-bit seed value to
a complete state initialization?  Accept that lots of people will
pick very small numbers.

-- kiss_random_numbers.ads
-- Specification for George Marsaglia's KISS random number generator.
package KISS_Random_Numbers is

   type Result_Type is mod 2 ** 32;

   type State_Type is private;

   function Next_Random_Value(State : access State_Type) return
Result_Type;

private

   type State_Index_Type is mod 4691;
   type State_Vector_Type is array (State_Index_Type) of Result_Type;
   Initial_Q : State_Vector_Type; -- set in package body

   type Substate_Type is
      record
         Xs   : Result_Type := 521288629;
         Xcng : Result_Type := 362436069;
      end record;

   type State_Type is
      record
         Sub : aliased Substate_Type;
         C   : Result_Type := 0;
         Q   : State_Vector_Type := Initial_Q;
         J   : State_Index_Type := State_Index_Type'Last;
      end record;

end KISS_Random_Numbers;

-- kiss_random_numbers.adb
-- Implementation of George Marsaglia's KISS random number generator.
package body KISS_Random_Numbers is

   function Mwc (State : access State_Type) return Result_Type is
      T, X : Result_Type;
   begin
      State.J := State.J + 1;
      X := State.Q(State.J);
      T := X * 2**13 + State.C + X;
      if T < X then
         State.C := X / 2**19 + 1;
      else
         State.C := X / 2**19;
      end if;
      State.Q(State.J) := T;
      return T;
   end Mwc;
   pragma Inline(Mwc);

   function Cng (State : access Substate_Type) return Result_Type is
   begin
      State.Xcng := 69069 * State.Xcng + 123;
      return State.Xcng;
   end Cng;
   pragma Inline(Cng);

   function Xs (State : access Substate_Type) return Result_Type is
      Xs : Result_Type;
   begin
      Xs := State.Xs;
      Xs := Xs xor (Xs * 2**13);
      Xs := Xs xor (Xs / 2**17);
      Xs := Xs xor (Xs * 2**5);
      State.Xs := Xs;
      return Xs;
   end Xs;
   pragma Inline(Xs);

   function Next_Random_Value(State : access State_Type) return
Result_Type is
   begin
      return Mwc(State) + Cng(State.Sub'Access) +
Xs(State.Sub'Access);
   end Next_Random_Value;

begin
   declare
      S : aliased Substate_Type;
   begin
      for I in Initial_Q'Range loop
         Initial_Q(I) := Cng(S'access) + Xs(S'Access);
      end loop;
   end;
end KISS_Random_Numbers;

-- test_kiss.adb
-- Simple test of George Marsaglia's KISS random number generator.
with Ada.Text_IO; use Ada.Text_IO;
with KISS_Random_Numbers;
use  KISS_Random_Numbers;

procedure Test_Kiss is
   X : Result_Type;
   S : aliased State_Type;
begin
   for I in 1 .. 1000000000 loop
      X := Next_Random_Value(S'Access);
   end loop;
   Put(Result_Type'Image(X));
   New_Line;
end;



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2010-07-25  0:49 ` KISS4691, a potentially top-ranked RNG Gene
@ 2010-07-26  2:50   ` robin
  0 siblings, 0 replies; 84+ messages in thread
From: robin @ 2010-07-26  2:50 UTC (permalink / raw)


"Gene" <gene.ressler@gmail.com> wrote in message 
news:9ea9185a-23e7-4265-acde-097c5c14ca14@y11g2000yqm.googlegroups.com...
"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.
|
| The following KISS version, perhaps call it KISS4691,
| seems to rank at the top in all of those categories.
| It is my latest, and perhaps my last, as, at age 86,
| I    am        slowing                down.
|
| Compiling and running the following commented
| C listing should produce, within about four seconds,
| 10^9 calls to the principal component MWC(), then
| 10^9 calls to the KISS combination in another ~7 seconds.
|
| Try it; you may like it.
|
| George Marsaglia

Here's the PL/I version:

(NOSIZE, NOFOFL):
RNG: PROCEDURE OPTIONS (MAIN, REORDER);

   declare (xs initial (521288629), xcng initial (362436069),
            Q(0:4690) ) static fixed binary (32) unsigned;

MWC: procedure () returns (fixed binary (32) unsigned);
 /*takes about 4.2 nanosecs or 238 million/second*/
   declare (t,x,i) fixed binary (32) unsigned;
   declare (c initial (0), j initial (4691) ) fixed binary (32) unsigned static;

   if j < 4690 then j = j + 1; else j = 0;
   x = Q(j);
   t = isll(x,13)+c+x; c = (t<x)+isrl(x,19);
   Q(j)=t;
   return (t);
end MWC;

CNG: procedure returns (fixed binary (32) unsigned);
  xcng=bin(69069)*xcng+bin(123);
  return (xcng);
end CNG;

XXS: procedure returns (fixed binary (32) unsigned);
   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 (32) unsigned);
 return ( MWC()+CNG+XXS ); /*138 million/sec*/
end KISS;

   declare (i,x) fixed binary (32) unsigned;
   /* Initialize: */
   do i = 0 to 4691-1; Q(i) = CNG+XXS; end;
   put skip list (q(0), q(4690));
   put skip list ('initialized'); put skip;
   do i = 0 to 1000000000-1; x=MWC(); end;
   put skip edit (" MWC result=3740121002 ",x) (a, f(23));
   do i = 0 to 1000000000-1; x=KISS; end;
   put skip edit ("KISS result=2224631993 ",x) (a, f(23));

end RNG;





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
       [not found] <a82cebe3-cdb9-48af-8080-bca935eeb9b1@l14g2000yql.googlegroups.com>
  2010-07-25  0:49 ` KISS4691, a potentially top-ranked RNG Gene
@ 2010-07-27  5:46 ` robin
  2010-07-30 10:46   ` Uno
       [not found] ` <i2fir2$op4$1@speranza.aioe.org>
  2 siblings, 1 reply; 84+ messages in thread
From: robin @ 2010-07-27  5:46 UTC (permalink / raw)


"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; 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
       [not found] ` <i2fir2$op4$1@speranza.aioe.org>
@ 2010-07-27 10:19   ` robin
  2010-07-30  8:33     ` Uno
  0 siblings, 1 reply; 84+ messages in thread
From: robin @ 2010-07-27 10:19 UTC (permalink / raw)


"jacob navia" <jacob@spamsink.net> wrote in message news:i2fir2$op4$1@speranza.aioe.org...

| This doesn't work with systems that have unsigned long as a 64 bit quantity.
|
| I obtain:
|
|  MWC result=3740121002 ?
|             4169348530
| KISS result=2224631993 ?
|             1421918629

For a 64-bit machine (using 64-bit integer arithmetic),
you'd need to truncate each result to 32 bits.  That not
only applies to the multiplication, it also applies to addition, etc.
On a 32-bit machine, these extra bits are discarded,
but in 64-bit arithmetic, they are retained,
and unless they are similarly discarded,
you won't get the same results.
I suggest using IAND(k, 2*2147483647+1)
for the truncation.

With such modifications in the program,
it should then produce the same results on both 32-bit and
64-bit machines.

P.S. the product 2*2... is best obtained using ISHFT.

| Compiling with 32 bit machine yields:
|  MWC result=3740121002 ?
|             3740121002
| KISS result=2224631993 ?
|             2224631993






^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2010-07-27 10:19   ` robin
@ 2010-07-30  8:33     ` Uno
  0 siblings, 0 replies; 84+ messages in thread
From: Uno @ 2010-07-30  8:33 UTC (permalink / raw)


robin wrote:
> "jacob navia" <jacob@spamsink.net> wrote in message news:i2fir2$op4$1@speranza.aioe.org...
> 
> | This doesn't work with systems that have unsigned long as a 64 bit quantity.
> |
> | I obtain:
> |
> |  MWC result=3740121002 ?
> |             4169348530
> | KISS result=2224631993 ?
> |             1421918629
> 
> For a 64-bit machine (using 64-bit integer arithmetic),
> you'd need to truncate each result to 32 bits.  That not
> only applies to the multiplication, it also applies to addition, etc.
> On a 32-bit machine, these extra bits are discarded,
> but in 64-bit arithmetic, they are retained,
> and unless they are similarly discarded,
> you won't get the same results.
> I suggest using IAND(k, 2*2147483647+1)
> for the truncation.
> 
> With such modifications in the program,
> it should then produce the same results on both 32-bit and
> 64-bit machines.
> 
> P.S. the product 2*2... is best obtained using ISHFT.
> 
> | Compiling with 32 bit machine yields:
> |  MWC result=3740121002 ?
> |             3740121002
> | KISS result=2224631993 ?
> |             2224631993
> 
> 
> 

First of all, I think we're talking to the actual George Marsaglia here. 
  Thank you so much for posting.  You may have displaced Terence as our 
senior member.

Are you creating bigger numbers just to accomodate your age?:-)

$ gcc -Wall -Wextra geo1.c -o out
geo1.c: In function �MWC�:
geo1.c:5: warning: type defaults to �int� in declaration of �c�
geo1.c:5: warning: type defaults to �int� in declaration of �j�
geo1.c:5: warning: unused variable �i�
geo1.c: In function �main�:
geo1.c:21: warning: format �%22u� expects type �unsigned int�, but 
argument 2 has type �long unsigned int�
geo1.c:23: warning: format �%22u� expects type �unsigned int�, but 
argument 2 has type �long unsigned int�
geo1.c:24: warning: control reaches end of non-void function

$ ./out
  MWC result=3740121002 ?
             3740121002
KISS result=2224631993 ?
             2224631993
$ cat geo1.c
static unsigned long xs=521288629,xcng=362436069,Q[4691];

unsigned long MWC(void)  /*takes about 4.2 nanosecs or 238 million/
second*/
{unsigned long t,x,i; static c=0,j=4691;
   j=(j<4690)? j+1:0;
   x=Q[j];
   t=(x<<13)+c+x; c=(t<x)+(x>>19);
   return (Q[j]=t);
}

#define CNG ( xcng=69069*xcng+123 )
#define XS ( xs^=(xs<<13), xs^=(xs>>17), xs^=(xs<<5) )
#define KISS ( MWC()+CNG+XS ) /*138 million/sec*/

#include <stdio.h>
int main()
{unsigned long i,x;
  for(i=0;i<4691;i++) Q[i]=CNG+XS;
  for(i=0;i<1000000000;i++) x=MWC();
  printf(" MWC result=3740121002 ?\n%22u\n",x);
  for(i=0;i<1000000000;i++) x=KISS;
  printf("KISS result=2224631993 ?\n%22u\n",x);
}

// gcc -Wall -Wextra geo1.c -o out
$

So, what is all this?  In particular, is there something special about 
the value of 3.7 billion?
-- 
Uno



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2010-07-27  5:46 ` robin
@ 2010-07-30 10:46   ` Uno
  2010-08-03 10:41     ` robin
  0 siblings, 1 reply; 84+ messages in thread
From: Uno @ 2010-07-30 10:46 UTC (permalink / raw)


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



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2010-07-30 10:46   ` Uno
@ 2010-08-03 10:41     ` robin
  2010-08-03 17:15       ` James Waldby
  0 siblings, 1 reply; 84+ messages in thread
From: robin @ 2010-08-03 10:41 UTC (permalink / raw)


"Uno" <merrilljensen@q.com> wrote in message news:8bfos5FakcU1@mid.individual.net...
| robin wrote:

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

??? 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2010-08-03 10:41     ` robin
@ 2010-08-03 17:15       ` James Waldby
  2010-08-03 17:35         ` Dann Corbit
  2010-08-04  7:56         ` robin
  0 siblings, 2 replies; 84+ messages in thread
From: James Waldby @ 2010-08-03 17:15 UTC (permalink / raw)


On Tue, 03 Aug 2010 20:41:15 +1000, robin wrote:
> "Uno" <merrilljensen> wrote:
[snip code]
>> If you were to comment out the PL/I command line that compiled this,
>> what would it be?
> 
> ???

Does that mean you don't understand Uno's question,
or don't know the answer?

In case you don't understand the question, it appears
to be:  "What command is used to compile the code?"

-- 
jiw



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2010-08-03 17:15       ` James Waldby
@ 2010-08-03 17:35         ` Dann Corbit
  2010-08-03 20:34           ` Peter Flass
  2010-08-04  8:31           ` robin
  2010-08-04  7:56         ` robin
  1 sibling, 2 replies; 84+ messages in thread
From: Dann Corbit @ 2010-08-03 17:35 UTC (permalink / raw)


In article <i39iqp$sg7$1@news.eternal-september.org>, no@no.no says...
> 
> On Tue, 03 Aug 2010 20:41:15 +1000, robin wrote:
> > "Uno" <merrilljensen> wrote:
> [snip code]
> >> If you were to comment out the PL/I command line that compiled this,
> >> what would it be?
> > 
> > ???
> 
> Does that mean you don't understand Uno's question,
> or don't know the answer?
> 
> In case you don't understand the question, it appears
> to be:  "What command is used to compile the code?"

It will depend on the operating system.
Probably JCL along the lines of:
// EXEC PL1LFCLG,REGION.PL1L=256K



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  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
  1 sibling, 1 reply; 84+ messages in thread
From: Peter Flass @ 2010-08-03 20:34 UTC (permalink / raw)


Dann Corbit wrote:
> In article <i39iqp$sg7$1@news.eternal-september.org>, no@no.no says...
>> On Tue, 03 Aug 2010 20:41:15 +1000, robin wrote:
>>> "Uno" <merrilljensen> wrote:
>> [snip code]
>>>> If you were to comment out the PL/I command line that compiled this,
>>>> what would it be?
>>> ???
>> Does that mean you don't understand Uno's question,
>> or don't know the answer?
>>
>> In case you don't understand the question, it appears
>> to be:  "What command is used to compile the code?"
> 
> It will depend on the operating system.
> Probably JCL along the lines of:
> // EXEC PL1LFCLG,REGION.PL1L=256K

or "plic -C" <filename>



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2010-08-03 20:34           ` Peter Flass
@ 2010-08-04  4:20             ` Uno
  0 siblings, 0 replies; 84+ messages in thread
From: Uno @ 2010-08-04  4:20 UTC (permalink / raw)


Peter Flass wrote:
> Dann Corbit wrote:
>> In article <i39iqp$sg7$1@news.eternal-september.org>, no@no.no says...
>>> On Tue, 03 Aug 2010 20:41:15 +1000, robin wrote:
>>>> "Uno" <merrilljensen> wrote:
>>> [snip code]
>>>>> If you were to comment out the PL/I command line that compiled this,
>>>>> what would it be?
>>>> ???
>>> Does that mean you don't understand Uno's question,
>>> or don't know the answer?
>>>
>>> In case you don't understand the question, it appears
>>> to be:  "What command is used to compile the code?"
>>
>> It will depend on the operating system.
>> Probably JCL along the lines of:
>> // EXEC PL1LFCLG,REGION.PL1L=256K
> 
> or "plic -C" <filename>

I'll restate the question, and I'm sure you'll get my drift.  When I 
compile off a command line, I keep the command lines I used as the final 
comments in that file.  So there might, in fortran, exist

implicit real
pi = 4.0 * atan(1.0)
print *, pi
endprogram

!here it comes, the goocher:

! gfortran pi1.f90 -o out

1) What did you name this pli thing?

2)  What command compiled it?

3)  How does one comment in pli?

4) How does one caquire a pli facilty on ubuntu?

Thanks for your comment,
and holy balls did I get healthy today,
-- 
Uno





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2010-08-03 17:15       ` James Waldby
  2010-08-03 17:35         ` Dann Corbit
@ 2010-08-04  7:56         ` robin
  2010-08-05 21:07           ` Uno
  1 sibling, 1 reply; 84+ messages in thread
From: robin @ 2010-08-04  7:56 UTC (permalink / raw)


"James Waldby" <no@no.no> wrote in message news:i39iqp$sg7$1@news.eternal-september.org...
| On Tue, 03 Aug 2010 20:41:15 +1000, robin wrote:
| > "Uno" <merrilljensen> wrote:
| [snip code]
| >> If you were to comment out the PL/I command line that compiled this,
| >> what would it be?
| >
| > ???
|
| Does that mean you don't understand Uno's question,
| or don't know the answer?

It means that the question makes no sense. 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2010-08-03 17:35         ` Dann Corbit
  2010-08-03 20:34           ` Peter Flass
@ 2010-08-04  8:31           ` robin
  1 sibling, 0 replies; 84+ messages in thread
From: robin @ 2010-08-04  8:31 UTC (permalink / raw)


"Dann Corbit" <dcorbit@connx.com> wrote in message news:MPG.26c1f325a9d5e75f989725@news.eternal-september.org...

| It will depend on the operating system.
| Probably JCL along the lines of:
| // EXEC PL1LFCLG,REGION.PL1L=256K

or
    PLI <filename>

on the PC for various compilers.





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2010-08-04  7:56         ` robin
@ 2010-08-05 21:07           ` Uno
  2010-08-06 10:11             ` robin
  2010-08-09 14:52             ` mecej4
  0 siblings, 2 replies; 84+ messages in thread
From: Uno @ 2010-08-05 21:07 UTC (permalink / raw)


robin wrote:
> "James Waldby" <no@no.no> wrote in message news:i39iqp$sg7$1@news.eternal-september.org...
> | On Tue, 03 Aug 2010 20:41:15 +1000, robin wrote:
> | > "Uno" <merrilljensen> wrote:
> | [snip code]
> | >> If you were to comment out the PL/I command line that compiled this,
> | >> what would it be?
> | >
> | > ???
> |
> | Does that mean you don't understand Uno's question,
> | or don't know the answer?
> 
> It means that the question makes no sense. 
> 
> 
Does this make sense?

I'll restate the question, and I'm sure you'll get my drift.  When I 
compile off a command line, I keep the command lines I used as the final 
comments in that file.  So there might, in fortran, exist

implicit real
pi = 4.0 * atan(1.0)
print *, pi
endprogram

!here it comes, the goocher:

! gfortran pi1.f90 -o out

1) What did you name this pli thing?

2)  What command compiled it?

3)  How does one comment in pli?

4) How does one acquire a pli facilty on ubuntu?
-- 
Uno



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2010-08-05 21:07           ` Uno
@ 2010-08-06 10:11             ` robin
  2010-08-09 14:52             ` mecej4
  1 sibling, 0 replies; 84+ messages in thread
From: robin @ 2010-08-06 10:11 UTC (permalink / raw)


"Uno" <merrilljensen@q.com> wrote in message news:8c0nh6FkkvU1@mid.individual.net...

| I'll restate the question, and I'm sure you'll get my drift.  When I
| compile off a command line, I keep the command lines I used as the final
| comments in that file.  So there might, in fortran, exist
|
| implicit real
| pi = 4.0 * atan(1.0)
| print *, pi
| endprogram
|
| !here it comes, the goocher:
|
| ! gfortran pi1.f90 -o out
|
| 1) What did you name this pli thing?

RNG-2010.PLI

| 2)  What command compiled it?

PL/I RNG-2010

| 3)  How does one comment in pli?

/*  Stuff   */ 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2010-08-05 21:07           ` Uno
  2010-08-06 10:11             ` robin
@ 2010-08-09 14:52             ` mecej4
  1 sibling, 0 replies; 84+ messages in thread
From: mecej4 @ 2010-08-09 14:52 UTC (permalink / raw)


Uno wrote:

> robin wrote:
>> "James Waldby" <no@no.no> wrote in message
>> news:i39iqp$sg7$1@news.eternal-september.org...
>> | On Tue, 03 Aug 2010 20:41:15 +1000, robin wrote:
>> | > "Uno" <merrilljensen> wrote:
>> | [snip code]
>> | >> If you were to comment out the PL/I command line that compiled this,
>> | >> what would it be?
>> | >
>> | > ???
>> |
>> | Does that mean you don't understand Uno's question,
>> | or don't know the answer?
>> 
>> It means that the question makes no sense.
>> 
>> 
> Does this make sense?
> 
> I'll restate the question, and I'm sure you'll get my drift.  When I
> compile off a command line, I keep the command lines I used as the final
> comments in that file.  So there might, in fortran, exist
> 
> implicit real
> pi = 4.0 * atan(1.0)
> print *, pi
> endprogram
> 
> !here it comes, the goocher:
> 
> ! gfortran pi1.f90 -o out
> 
> 1) What did you name this pli thing?
> 
> 2)  What command compiled it?
> 
> 3)  How does one comment in pli?
> 
> 4) How does one acquire a pli facilty on ubuntu?

Those kinds of basic questions are mostly covered by the PL/I FAQ, which is
posted quite regularly in this newsgroup.

As far as I am aware, there is no production quality native PL/I compiler
available for Linux. There is VisualAge PL/I for Windows, which IBM makes
available through its Scholars Program to those who qualify or which may be
purchased (at significant cost) as part of the Rational Developer for
System Z product.

-- mecej4



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
       [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-05-01 15:31   ` Thad Smith
  0 siblings, 2 replies; 84+ messages in thread
From: robin @ 2011-04-28  1:14 UTC (permalink / raw)


"Uno" <merrilljensen@q.com> wrote in message news:8bfh28Fve1U1@mid.individual.net...
| robin wrote:
| > "jacob navia" <jacob@spamsink.net> wrote in message news:i2fir2$op4$1@speranza.aioe.org...
| >
| > | This doesn't work with systems that have unsigned long as a 64 bit quantity.
| > |
| > | I obtain:
| > |
| > |  MWC result=3740121002 ?
| > |             4169348530
| > | KISS result=2224631993 ?
| > |             1421918629
| >
| > For a 64-bit machine (using 64-bit integer arithmetic),
| > you'd need to truncate each result to 32 bits.  That not
| > only applies to the multiplication, it also applies to addition, etc.
| > On a 32-bit machine, these extra bits are discarded,
| > but in 64-bit arithmetic, they are retained,
| > and unless they are similarly discarded,
| > you won't get the same results.
| > I suggest using IAND(k, 2*2147483647+1)
| > for the truncation.
| >
| > With such modifications in the program,
| > it should then produce the same results on both 32-bit and
| > 64-bit machines.
| >
| > P.S. the product 2*2... is best obtained using ISHFT.
| >
| > | Compiling with 32 bit machine yields:
| > |  MWC result=3740121002 ?
| > |             3740121002
| > | KISS result=2224631993 ?
| > |             2224631993
|
| First of all, I think we're talking to the actual George Marsaglia here.
|
| $ gcc -Wall -Wextra geo1.c -o out
| geo1.c: In function 'MWC':
| geo1.c:5: warning: type defaults to 'int' in declaration of 'c'
| geo1.c:5: warning: type defaults to 'int' in declaration of 'j'
| geo1.c:5: warning: unused variable 'i'
| geo1.c: In function 'main':
| geo1.c:21: warning: format '%22u' expects type 'unsigned int', but
| argument 2 has type 'long unsigned int'
| geo1.c:23: warning: format '%22u' expects type 'unsigned int', but
| argument 2 has type 'long unsigned int'
| geo1.c:24: warning: control reaches end of non-void function
|
| $ ./out
|  MWC result=3740121002 ?
|             3740121002
| KISS result=2224631993 ?
|             2224631993
| $ cat geo1.c
| static unsigned long xs=521288629,xcng=362436069,Q[4691];
|
| unsigned long MWC(void)  /*takes about 4.2 nanosecs or 238 million/
| second*/
| {unsigned long t,x,i; static c=0,j=4691;
|   j=(j<4690)? j+1:0;
|   x=Q[j];
|   t=(x<<13)+c+x; c=(t<x)+(x>>19);
|   return (Q[j]=t);
| }
|
| #define CNG ( xcng=69069*xcng+123 )
| #define XS ( xs^=(xs<<13), xs^=(xs>>17), xs^=(xs<<5) )
| #define KISS ( MWC()+CNG+XS ) /*138 million/sec*/
|
| #include <stdio.h>
| int main()
| {unsigned long i,x;
|  for(i=0;i<4691;i++) Q[i]=CNG+XS;
|  for(i=0;i<1000000000;i++) x=MWC();
|  printf(" MWC result=3740121002 ?\n%22u\n",x);
|  for(i=0;i<1000000000;i++) x=KISS;
|  printf("KISS result=2224631993 ?\n%22u\n",x);
| }

| So, what is all this?  In particular, is there something special about
| the value of 3.7 billion?

No, nothing special at all.
The purpose of the exercise is just to confirm that after generating
1000000000 random numbers, you get the same answer as George does. 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-28  1:14 ` robin
@ 2011-04-28 11:42   ` e p chandler
  2011-04-29  1:50     ` David Bernier
  2011-04-29  9:43     ` robin
  2011-05-01 15:31   ` Thad Smith
  1 sibling, 2 replies; 84+ messages in thread
From: e p chandler @ 2011-04-28 11:42 UTC (permalink / raw)




"robin"  wrote in message

| So, what is all this?  In particular, is there something special about
| the value of 3.7 billion?

>No, nothing special at all.
>The purpose of the exercise is just to confirm that after generating
>1000000000 random numbers, you get the same answer as George does.

Alas, I think you are making some strong assumptions about the state of 
computing in the hereafter.




^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-28 11:42   ` e p chandler
@ 2011-04-29  1:50     ` David Bernier
  2011-04-29  2:09       ` Ian Collins
                         ` (2 more replies)
  2011-04-29  9:43     ` robin
  1 sibling, 3 replies; 84+ messages in thread
From: David Bernier @ 2011-04-29  1:50 UTC (permalink / raw)


e p chandler wrote:
>
>
> "robin" wrote in message
>
> | So, what is all this? In particular, is there something special about
> | the value of 3.7 billion?
>
>> No, nothing special at all.
>> The purpose of the exercise is just to confirm that after generating
>> 1000000000 random numbers, you get the same answer as George does.
>
> Alas, I think you are making some strong assumptions about the state of
> computing in the hereafter.
>

All we have now are George Marsaglia's posts and writings.
I know there's now a move on the way to 64-bit processors,
which I take to mean the x86_64 or AMD64 design/instruction set.

In any case, with an executable compiled with a C compiler,
there's the function sizeof, which might be useful
in some cases at run time.

For example, one could add to main() in C :

printf("the size of an unsigned long in bytes is %d\n", sizeof(unsigned long));

There's also the Itanium architecture and others, and even with a known
processor, some compiler flags affect the number of bytes for
some data types, such as "long double" with the -m64 flag
on Fujitsu SPARC IV with Sun Solaris (--> 16 byte long
doubles with the -m64 flag).

AFAIK, sizeof(unsigned long) can be relied upon to give the size
in 8-bit bytes of a C "unsigned long".

Perhaps some documentation of language, machine, compiler, compiler
options examples where KISS4691 works as per the Marsaglia
specs could be helpful as a reference ...

David Bernier

-- 
The MegaPenny Project | One Trillion Pennies:
<http://www.kokogiak.com/megapenny/thirteen.asp>



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  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:16         ` David Bernier
  2011-04-29  2:34       ` glen herrmannsfeldt
  2011-04-29 22:43       ` Seebs
  2 siblings, 2 replies; 84+ messages in thread
From: Ian Collins @ 2011-04-29  2:09 UTC (permalink / raw)


On 04/29/11 01:50 PM, David Bernier wrote:
> e p chandler wrote:
>>
>>
>> "robin" wrote in message
>>
>> | So, what is all this? In particular, is there something special about
>> | the value of 3.7 billion?
>>
>>> No, nothing special at all.
>>> The purpose of the exercise is just to confirm that after generating
>>> 1000000000 random numbers, you get the same answer as George does.
>>
>> Alas, I think you are making some strong assumptions about the state of
>> computing in the hereafter.
>>
>
> All we have now are George Marsaglia's posts and writings.
> I know there's now a move on the way to 64-bit processors,
> which I take to mean the x86_64 or AMD64 design/instruction set.

The move happened several years ago (at least on the desktop and server).

> In any case, with an executable compiled with a C compiler,
> there's the function sizeof, which might be useful
> in some cases at run time.

Being pedantic, sizeof is a compile time operator when used with 
integral types.

> For example, one could add to main() in C :
>
> printf("the size of an unsigned long in bytes is %d\n", sizeof(unsigned long));

Given the code as written, assert(sizeof(unsigned long) == 4) would be 
more use.

> There's also the Itanium architecture and others, and even with a known
> processor, some compiler flags affect the number of bytes for
> some data types, such as "long double" with the -m64 flag
> on Fujitsu SPARC IV with Sun Solaris (-->  16 byte long
> doubles with the -m64 flag).
>
> AFAIK, sizeof(unsigned long) can be relied upon to give the size
> in 8-bit bytes of a C "unsigned long".

sizeof(unsigned long) is by definition the size in (not necessarily 8 
bit) bytes of an unsigned long.

> Perhaps some documentation of language, machine, compiler, compiler
> options examples where KISS4691 works as per the Marsaglia
> specs could be helpful as a reference ...

I suggested long ago the code be updated to use fixed width types, thus 
removing any ambiguities.

-- 
Ian Collins



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29  1:50     ` David Bernier
  2011-04-29  2:09       ` Ian Collins
@ 2011-04-29  2:34       ` glen herrmannsfeldt
  2011-04-29  7:04         ` Uno
  2011-04-29 15:13         ` Keith Thompson
  2011-04-29 22:43       ` Seebs
  2 siblings, 2 replies; 84+ messages in thread
From: glen herrmannsfeldt @ 2011-04-29  2:34 UTC (permalink / raw)


In comp.lang.fortran David Bernier <david250@videotron.ca> wrote:

(snip)
> All we have now are George Marsaglia's posts and writings.
> I know there's now a move on the way to 64-bit processors,
> which I take to mean the x86_64 or AMD64 design/instruction set.

I have an actual Itanium system, but not so many people do.

> In any case, with an executable compiled with a C compiler,
> there's the function sizeof, which might be useful
> in some cases at run time.

Well, sizeof is a compile time constant, but, yes, you can
use the value at run time.
 
(snip)
> AFAIK, sizeof(unsigned long) can be relied upon to give the size
> in 8-bit bytes of a C "unsigned long".

No.  You need CHAR_BIT to tell how many bits are in a char.
It has been known to get to 64 on word addressed 64 bit machines.
It must be at least 8, but can be more.

-- glen



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29  2:09       ` Ian Collins
@ 2011-04-29  3:01         ` Eric Sosman
  2011-04-29  3:09           ` Ian Collins
  2011-04-29  6:15           ` nmm1
  2011-04-29  3:16         ` David Bernier
  1 sibling, 2 replies; 84+ messages in thread
From: Eric Sosman @ 2011-04-29  3:01 UTC (permalink / raw)


On 4/28/2011 10:09 PM, Ian Collins wrote:
> On 04/29/11 01:50 PM, David Bernier wrote:
>> [...]
>> All we have now are George Marsaglia's posts and writings.
>> I know there's now a move on the way to 64-bit processors,
>> which I take to mean the x86_64 or AMD64 design/instruction set.
>
> The move happened several years ago (at least on the desktop and server).

     ... for suitable values of "several."  DEC's first Alpha CPU's
shipped in 1992, and are now old enough to vote.

>> In any case, with an executable compiled with a C compiler,
>> there's the function sizeof, which might be useful
>> in some cases at run time.
>
> Being pedantic, sizeof is a compile time operator when used with
> integral types.

     It's an operator, always.  It's evaluable at compile time for
any operand, integral or not, except a variable-length array (whose
element count is not determined until run time).

-- 
Eric Sosman
esosman@ieee-dot-org.invalid



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29  3:01         ` Eric Sosman
@ 2011-04-29  3:09           ` Ian Collins
  2011-05-08  7:34             ` Uno
  2011-04-29  6:15           ` nmm1
  1 sibling, 1 reply; 84+ messages in thread
From: Ian Collins @ 2011-04-29  3:09 UTC (permalink / raw)


On 04/29/11 03:01 PM, Eric Sosman wrote:
> On 4/28/2011 10:09 PM, Ian Collins wrote:
>> On 04/29/11 01:50 PM, David Bernier wrote:
>
>>> In any case, with an executable compiled with a C compiler,
>>> there's the function sizeof, which might be useful
>>> in some cases at run time.
>>
>> Being pedantic, sizeof is a compile time operator when used with
>> integral types.
>
>       It's an operator, always.  It's evaluable at compile time for
> any operand, integral or not, except a variable-length array (whose
> element count is not determined until run time).

The context was integral types, I didn't want to venture anywhere near 
VLAs on a cross-post!

-- 
Ian Collins



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29  2:09       ` Ian Collins
  2011-04-29  3:01         ` Eric Sosman
@ 2011-04-29  3:16         ` David Bernier
  1 sibling, 0 replies; 84+ messages in thread
From: David Bernier @ 2011-04-29  3:16 UTC (permalink / raw)


Ian Collins wrote:
> On 04/29/11 01:50 PM, David Bernier wrote:
[...]

>> All we have now are George Marsaglia's posts and writings.
>> I know there's now a move on the way to 64-bit processors,
>> which I take to mean the x86_64 or AMD64 design/instruction set.
>
> The move happened several years ago (at least on the desktop and server).
>
>> In any case, with an executable compiled with a C compiler,
>> there's the function sizeof, which might be useful
>> in some cases at run time.
>
> Being pedantic, sizeof is a compile time operator when used with
> integral types.
>
>> For example, one could add to main() in C :
>>
>> printf("the size of an unsigned long in bytes is %d\n",
>> sizeof(unsigned long));
>
> Given the code as written, assert(sizeof(unsigned long) == 4) would be
> more use.
>
>> There's also the Itanium architecture and others, and even with a known
>> processor, some compiler flags affect the number of bytes for
>> some data types, such as "long double" with the -m64 flag
>> on Fujitsu SPARC IV with Sun Solaris (--> 16 byte long
>> doubles with the -m64 flag).
>>
>> AFAIK, sizeof(unsigned long) can be relied upon to give the size
>> in 8-bit bytes of a C "unsigned long".
>
> sizeof(unsigned long) is by definition the size in (not necessarily 8
> bit) bytes of an unsigned long.
>
>> Perhaps some documentation of language, machine, compiler, compiler
>> options examples where KISS4691 works as per the Marsaglia
>> specs could be helpful as a reference ...
>
> I suggested long ago the code be updated to use fixed width types, thus
> removing any ambiguities.

I'm sorry about the inaccuracies and falsehoods in my post.
I support your suggestion, perhaps also adding comments.
I'm the wrong person to update the code, but I would be
willing to test updated C code.

David Bernier



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29  3:01         ` Eric Sosman
  2011-04-29  3:09           ` Ian Collins
@ 2011-04-29  6:15           ` nmm1
  1 sibling, 0 replies; 84+ messages in thread
From: nmm1 @ 2011-04-29  6:15 UTC (permalink / raw)


In article <ipd9oo$kug$1@dont-email.me>,
Eric Sosman  <esosman@ieee-dot-org.invalid> wrote:
>On 4/28/2011 10:09 PM, Ian Collins wrote:
>
>>> In any case, with an executable compiled with a C compiler,
>>> there's the function sizeof, which might be useful
>>> in some cases at run time.
>>
>> Being pedantic, sizeof is a compile time operator when used with
>> integral types.
>
>     It's an operator, always.  It's evaluable at compile time for
>any operand, integral or not, except a variable-length array (whose
>element count is not determined until run time).

It's not just evaluable at compile time, it is evaluated using
only the type and not the value of the expression.  C99 6.5.3.4
paragraph 2.


Regards,
Nick Maclaren.



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29  2:34       ` glen herrmannsfeldt
@ 2011-04-29  7:04         ` Uno
  2011-04-30 10:48           ` robin
  2011-04-29 15:13         ` Keith Thompson
  1 sibling, 1 reply; 84+ messages in thread
From: Uno @ 2011-04-29  7:04 UTC (permalink / raw)


On 04/28/2011 08:34 PM, glen herrmannsfeldt wrote:
> In comp.lang.fortran David Bernier<david250@videotron.ca>  wrote:
>
> (snip)
>> All we have now are George Marsaglia's posts and writings.
>> I know there's now a move on the way to 64-bit processors,
>> which I take to mean the x86_64 or AMD64 design/instruction set.
>
> I have an actual Itanium system, but not so many people do.
>
>> In any case, with an executable compiled with a C compiler,
>> there's the function sizeof, which might be useful
>> in some cases at run time.
>
> Well, sizeof is a compile time constant, but, yes, you can
> use the value at run time.
>
> (snip)
>> AFAIK, sizeof(unsigned long) can be relied upon to give the size
>> in 8-bit bytes of a C "unsigned long".
>
> No.  You need CHAR_BIT to tell how many bits are in a char.
> It has been known to get to 64 on word addressed 64 bit machines.
> It must be at least 8, but can be more.
>
> -- glen

I'm dealing with this same issue in my real life, as my algebraist uncle 
seems to have early-onset alzheimer's.   So he has his demonstrable 
achievements in science and the last few years where he embarrassed himself.

George's C was atrocious at the end.  I'd like to let that die.

A kiss is a kiss; it's simple, effective, and not improved by 
redefinition when you've lost your marbles.
-- 
Uno



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-28 11:42   ` e p chandler
  2011-04-29  1:50     ` David Bernier
@ 2011-04-29  9:43     ` robin
  1 sibling, 0 replies; 84+ messages in thread
From: robin @ 2011-04-29  9:43 UTC (permalink / raw)


"e p chandler" <epc8@juno.com> wrote in message news:ipbjqf$q4k$1@dont-email.me...

| Alas, I think you are making some strong assumptions about the state of
| computing in the hereafter.

The sun is not scheduled for burnout for a few million years yet. 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29  2:34       ` glen herrmannsfeldt
  2011-04-29  7:04         ` Uno
@ 2011-04-29 15:13         ` Keith Thompson
  2011-04-29 17:41           ` glen herrmannsfeldt
                             ` (2 more replies)
  1 sibling, 3 replies; 84+ messages in thread
From: Keith Thompson @ 2011-04-29 15:13 UTC (permalink / raw)


glen herrmannsfeldt <gah@ugcs.caltech.edu> writes:
> In comp.lang.fortran David Bernier <david250@videotron.ca> wrote:
[...]
>> AFAIK, sizeof(unsigned long) can be relied upon to give the size
>> in 8-bit bytes of a C "unsigned long".
>
> No.  You need CHAR_BIT to tell how many bits are in a char.
> It has been known to get to 64 on word addressed 64 bit machines.
> It must be at least 8, but can be more.

Certainly CHAR_BIT *could* be 64 (or even more), but I've never heard
of a 64-bit system with CHAR_BIT==64.  Such an implementation would
have trouble dealing with octet-oriented data from other systems.
Some DSPs (digital signal processors) do have CHAR_BIT > 8.
There have been systems with, for example, 9-bit bytes, but they
had pretty much become obsolete by the time C was standardized.

C defines two kinds of implementations, hosted and freestanding.
Hosted implementations must support the full standard library
(stdio and so forth); freestanding implementations are typically for
systems where the program doesn't run under an operating system,
such as embedded systems and OS kernels.  I've never heard of a
hosted implementation with CHAR_BIT > 8.

Do you know of such a system?

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Nokia
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29 15:13         ` Keith Thompson
@ 2011-04-29 17:41           ` glen herrmannsfeldt
  2011-04-29 19:53             ` Keith Thompson
  2011-04-29 22:45           ` Seebs
  2011-04-30  4:36           ` Randy Brukardt
  2 siblings, 1 reply; 84+ messages in thread
From: glen herrmannsfeldt @ 2011-04-29 17:41 UTC (permalink / raw)


In comp.lang.fortran Keith Thompson <kst-u@mib.org> wrote:

(snip, I wrote)
>> No.  You need CHAR_BIT to tell how many bits are in a char.
>> It has been known to get to 64 on word addressed 64 bit machines.
>> It must be at least 8, but can be more.
 
> Certainly CHAR_BIT *could* be 64 (or even more), but I've never heard
> of a 64-bit system with CHAR_BIT==64.  Such an implementation would
> have trouble dealing with octet-oriented data from other systems.
> Some DSPs (digital signal processors) do have CHAR_BIT > 8.
> There have been systems with, for example, 9-bit bytes, but they
> had pretty much become obsolete by the time C was standardized.

The story I remember was for a Cray machine, but I never used
one to check on it.  I do know that there are some 64 bit
word addressed machines, especially some from Cray.

-- glen



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29 17:41           ` glen herrmannsfeldt
@ 2011-04-29 19:53             ` Keith Thompson
  2011-05-05 23:38               ` Michael Press
  0 siblings, 1 reply; 84+ messages in thread
From: Keith Thompson @ 2011-04-29 19:53 UTC (permalink / raw)


glen herrmannsfeldt <gah@ugcs.caltech.edu> writes:
> In comp.lang.fortran Keith Thompson <kst-u@mib.org> wrote:
> (snip, I wrote)
>>> No.  You need CHAR_BIT to tell how many bits are in a char.
>>> It has been known to get to 64 on word addressed 64 bit machines.
>>> It must be at least 8, but can be more.
>  
>> Certainly CHAR_BIT *could* be 64 (or even more), but I've never heard
>> of a 64-bit system with CHAR_BIT==64.  Such an implementation would
>> have trouble dealing with octet-oriented data from other systems.
>> Some DSPs (digital signal processors) do have CHAR_BIT > 8.
>> There have been systems with, for example, 9-bit bytes, but they
>> had pretty much become obsolete by the time C was standardized.
>
> The story I remember was for a Cray machine, but I never used
> one to check on it.  I do know that there are some 64 bit
> word addressed machines, especially some from Cray.

I used to work on a Cray T90.  It had 64-bit words, and no direct
hardware access to smaller chunks of memory; to read an 8-bit byte,
you had to read the word containing it and then extract the bits
you wanted.  But the C compiler (C90, it never implemented C99)
had CHAR_BIT==8.  char was 8 bits; short, int, and long were all
64 bits.  A pointer to anything smaller than a 64-bit word stored
the byte offset in the high-order 3 bits (the address space was
much smaller than 64 bits, so the high-order bits weren't being
used for anything else).  This was all handled in software; the
compiler had to generate extra instructions to deal with byte data.

Making CHAR_BIT==64 would have made much more sense for the machine
itself in isolation, but it would have made interoperability with
other systems quite difficult.  It ran Unicos, Cray's BSDish Unix;
I'm not sure you can even implement Unix with bytes bigger than
8 bits.

It made it very slow for things like string processing, but since
it was primarily used for floating-point computations that wasn't
much of an issue.

Some older Cray vector systems ran other, non-Unix, operating systems
(COS, CTSS), but I never used any of those, and I don't know what
value their compilers used for CHAR_BIT -- if C was even supported.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Nokia
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29  1:50     ` David Bernier
  2011-04-29  2:09       ` Ian Collins
  2011-04-29  2:34       ` glen herrmannsfeldt
@ 2011-04-29 22:43       ` Seebs
  2 siblings, 0 replies; 84+ messages in thread
From: Seebs @ 2011-04-29 22:43 UTC (permalink / raw)


On 2011-04-29, David Bernier <david250@videotron.ca> wrote:
> AFAIK, sizeof(unsigned long) can be relied upon to give the size
> in 8-bit bytes of a C "unsigned long".

No, it can be relied to give the size in "bytes" in C of "unsigned long",
but "byte" is just a synonym for "the type char", and there have been
systems where that's not 8-bit bytes.

-s
-- 
Copyright 2011, all wrongs reversed.  Peter Seebach / usenet-nospam@seebs.net
http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
I am not speaking for my employer, although they do rent some of my opinions.



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29 15:13         ` Keith Thompson
  2011-04-29 17:41           ` glen herrmannsfeldt
@ 2011-04-29 22:45           ` Seebs
  2011-04-30  4:36           ` Randy Brukardt
  2 siblings, 0 replies; 84+ messages in thread
From: Seebs @ 2011-04-29 22:45 UTC (permalink / raw)


On 2011-04-29, Keith Thompson <kst-u@mib.org> wrote:
> Certainly CHAR_BIT *could* be 64 (or even more), but I've never heard
> of a 64-bit system with CHAR_BIT==64.  Such an implementation would
> have trouble dealing with octet-oriented data from other systems.

I've heard of at least one system where sizeof(int64_t) was 1, but I'm not
sure what range of values was allowed in chars.  Presumably unsigned char
was 0..2^64-1.

It was also a LONG time ago, and may not have been standard C.

-s
-- 
Copyright 2011, all wrongs reversed.  Peter Seebach / usenet-nospam@seebs.net
http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
I am not speaking for my employer, although they do rent some of my opinions.



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29 15:13         ` Keith Thompson
  2011-04-29 17:41           ` glen herrmannsfeldt
  2011-04-29 22:45           ` Seebs
@ 2011-04-30  4:36           ` Randy Brukardt
  2 siblings, 0 replies; 84+ messages in thread
From: Randy Brukardt @ 2011-04-30  4:36 UTC (permalink / raw)


"Keith Thompson" <kst-u@mib.org> wrote in message 
news:lnsjt1w0oc.fsf@nuthaus.mib.org...
> glen herrmannsfeldt <gah@ugcs.caltech.edu> writes:
>> In comp.lang.fortran David Bernier <david250@videotron.ca> wrote:
> [...]
>>> AFAIK, sizeof(unsigned long) can be relied upon to give the size
>>> in 8-bit bytes of a C "unsigned long".
>>
>> No.  You need CHAR_BIT to tell how many bits are in a char.
>> It has been known to get to 64 on word addressed 64 bit machines.
>> It must be at least 8, but can be more.
>
> Certainly CHAR_BIT *could* be 64 (or even more), but I've never heard
> of a 64-bit system with CHAR_BIT==64.  Such an implementation would
> have trouble dealing with octet-oriented data from other systems.
> Some DSPs (digital signal processors) do have CHAR_BIT > 8.
> There have been systems with, for example, 9-bit bytes, but they
> had pretty much become obsolete by the time C was standardized.

The Unisys U2200 implementation that we used in the mid-1990's had 9-bit 
characters, and had a full C implementation. I didn't use it much personally 
(I was working on the Ada compiler), but we had extensive facilities to 
interface to the C compiler which definitely used pointers at 9-bit bytes. 
(The machine was most efficient when used with 36-bit word addressing, which 
we used extensively in the Ada compiler, but the C-compiler used double-word 
pointers including a byte offset -- so we had to have conversion facilities 
to get back and forth).

Not sure of exactly what version of C that was, but surely well after "C was 
standardized".

                                  Randy.





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29  7:04         ` Uno
@ 2011-04-30 10:48           ` robin
  2011-05-05  1:12             ` Uno
  0 siblings, 1 reply; 84+ messages in thread
From: robin @ 2011-04-30 10:48 UTC (permalink / raw)


"Uno" <Uno@example.invalid> wrote in message news:91v675F30vU1@mid.individual.net...

| I'm dealing with this same issue in my real life, as my algebraist uncle
| seems to have early-onset alzheimer's.   So he has his demonstrable
| achievements in science and the last few years where he embarrassed himself.
|
| George's C was atrocious at the end.  I'd like to let that die.

You might not have liked George's programming style,
but there is no suggestion that he was losing it.

| A kiss is a kiss; it's simple, effective, and not improved by
| redefinition when you've lost your marbles. 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-28  1:14 ` robin
  2011-04-28 11:42   ` e p chandler
@ 2011-05-01 15:31   ` Thad Smith
  2011-05-01 19:58     ` Ian Collins
  1 sibling, 1 reply; 84+ messages in thread
From: Thad Smith @ 2011-05-01 15:31 UTC (permalink / raw)


On 4/27/2011 6:14 PM, robin wrote:
> "Uno"<merrilljensen@q.com>  wrote in message news:8bfh28Fve1U1@mid.individual.net...
> | robin wrote:
> |>  "jacob navia"<jacob@spamsink.net>  wrote in message news:i2fir2$op4$1@speranza.aioe.org...
> |>
> |>  | This doesn't work with systems that have unsigned long as a 64 bit quantity.
> |>  |
> |>  | I obtain:
> |>  |
> |>  |  MWC result=3740121002 ?
> |>  |             4169348530
> |>  | KISS result=2224631993 ?
> |>  |             1421918629
> |>
> |>  For a 64-bit machine (using 64-bit integer arithmetic),
> |>  you'd need to truncate each result to 32 bits.  That not
> |>  only applies to the multiplication, it also applies to addition, etc.
> |>  On a 32-bit machine, these extra bits are discarded,
> |>  but in 64-bit arithmetic, they are retained,
> |>  and unless they are similarly discarded,
> |>  you won't get the same results.
> |>  I suggest using IAND(k, 2*2147483647+1)
> |>  for the truncation.
> |>
> |>  With such modifications in the program,
> |>  it should then produce the same results on both 32-bit and
> |>  64-bit machines.

Here is a modification of the program with masking to produce correct results 
with any conforming C implementation.  It truncates where when required.  A good 
optimizer should eliminate the unneeded masking for 32-bit unsigned long.

static unsigned long xs = 521288629;
static unsigned long xcng = 362436069;
static unsigned long Q[4691];

#define M32 0xffffffff

unsigned long   MWC(void)
{
     static unsigned long c = 0;
     static unsigned long j = 4691;
     unsigned long   t;
     unsigned long   x;
     j = (j < 4690) ? j + 1 : 0;
     x = Q[j];
     t = ((x << 13) + c) & M32;
     if (t < c) {
         c = (x >> 19) + 1;
         t = (t + x) & M32;
     } else {
         t = (t + x) & M32;
         c = (x >> 19) + (t < x);
     }
     return (Q[j] = t);

}

void            initMWC(void)
{
     unsigned long   i;
     for (i = 0; i < sizeof Q / sizeof Q[0]; i++)
         Q[i] = ((xcng = 69069 * xcng + 123) + (xs = (xs ^ (xs << 13)) & M32,
                 xs ^= (xs >> 17), xs ^= (xs << 5))) & M32;

}

#ifdef UNIT_TEST

#include <stdio.h>

int             main()
{
     unsigned long   i;
     unsigned long   x;

     initMWC();

     printf("Does  MWC result=3740121002 ?\n");
     for (i = 0; i < 1000000000; i++)
         x = MWC();
     printf("%27u\n", x);

     printf("Does KISS result=2224631993 ?\n");
     for (i = 0; i < 1000000000; i++)
         x = (MWC() + (xcng = 69069 * xcng + 123) + (xs = (xs ^ (xs << 13)) & M32,
              xs ^= (xs >> 17), xs ^= (xs << 5)));
     printf("%27u\n", x);
     return 0;
}

#endif



-- 
Thad



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-01 15:31   ` Thad Smith
@ 2011-05-01 19:58     ` Ian Collins
  2011-05-02  0:01       ` James Kuyper
  2011-05-02  4:21       ` Thad Smith
  0 siblings, 2 replies; 84+ messages in thread
From: Ian Collins @ 2011-05-01 19:58 UTC (permalink / raw)


On 05/ 2/11 03:31 AM, Thad Smith wrote:
>
> Here is a modification of the program with masking to produce correct results
> with any conforming C implementation.  It truncates where when required.  A good
> optimizer should eliminate the unneeded masking for 32-bit unsigned long.

Why oh why can't people just use fixed width types?  What's the 
obsession with unsigned long and masking?

Add

#include <stdint.h>

change all references to "unsigned long" to uint32_t, remove all 
references to M32.

> static unsigned long xs = 521288629;
> static unsigned long xcng = 362436069;
> static unsigned long Q[4691];

> #define M32 0xffffffff
>
> unsigned long   MWC(void)
> {
>       static unsigned long c = 0;
>       static unsigned long j = 4691;
>       unsigned long   t;
>       unsigned long   x;
>       j = (j<  4690) ? j + 1 : 0;
>       x = Q[j];
>       t = ((x<<  13) + c)&  M32;
>       if (t<  c) {
>           c = (x>>  19) + 1;
>           t = (t + x)&  M32;
>       } else {
>           t = (t + x)&  M32;
>           c = (x>>  19) + (t<  x);
>       }
>       return (Q[j] = t);
>
> }
>
> void            initMWC(void)
> {
>       unsigned long   i;
>       for (i = 0; i<  sizeof Q / sizeof Q[0]; i++)
>           Q[i] = ((xcng = 69069 * xcng + 123) + (xs = (xs ^ (xs<<  13))&  M32,
>                   xs ^= (xs>>  17), xs ^= (xs<<  5)))&  M32;
>
> }
>
> #ifdef UNIT_TEST
>
> #include<stdio.h>
>
> int             main()
> {
>       unsigned long   i;
>       unsigned long   x;
>
>       initMWC();
>
>       printf("Does  MWC result=3740121002 ?\n");
>       for (i = 0; i<  1000000000; i++)
>           x = MWC();
>       printf("%27u\n", x);
>
>       printf("Does KISS result=2224631993 ?\n");
>       for (i = 0; i<  1000000000; i++)
>           x = (MWC() + (xcng = 69069 * xcng + 123) + (xs = (xs ^ (xs<<  13))&  M32,
>                xs ^= (xs>>  17), xs ^= (xs<<  5)));
>       printf("%27u\n", x);
>       return 0;
> }
>
> #endif
>
>
>


-- 
Ian Collins



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-01 19:58     ` Ian Collins
@ 2011-05-02  0:01       ` James Kuyper
  2011-05-02  0:42         ` Ian Collins
  2011-05-02  4:21       ` Thad Smith
  1 sibling, 1 reply; 84+ messages in thread
From: James Kuyper @ 2011-05-02  0:01 UTC (permalink / raw)


On 05/01/2011 03:58 PM, Ian Collins wrote:
> On 05/ 2/11 03:31 AM, Thad Smith wrote:
>>
>> Here is a modification of the program with masking to produce correct results
>> with any conforming C implementation.  It truncates where when required.  A good
>> optimizer should eliminate the unneeded masking for 32-bit unsigned long.
> 
> Why oh why can't people just use fixed width types?

Because, in C at least, it's not mandatory for a conforming
implementation to support any of the fixed-width types.

-- 
James Kuyper



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  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
  0 siblings, 2 replies; 84+ messages in thread
From: Ian Collins @ 2011-05-02  0:42 UTC (permalink / raw)


On 05/ 2/11 12:01 PM, James Kuyper wrote:
> On 05/01/2011 03:58 PM, Ian Collins wrote:
>> On 05/ 2/11 03:31 AM, Thad Smith wrote:
>>>
>>> Here is a modification of the program with masking to produce correct results
>>> with any conforming C implementation.  It truncates where when required.  A good
>>> optimizer should eliminate the unneeded masking for 32-bit unsigned long.
>>
>> Why oh why can't people just use fixed width types?
>
> Because, in C at least, it's not mandatory for a conforming
> implementation to support any of the fixed-width types.

But it's hardly rocket science to declare them for implementations that 
lack them.

-- 
Ian Collins



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-02  0:42         ` Ian Collins
@ 2011-05-02  2:34           ` James Kuyper
  2011-05-02  2:50           ` glen herrmannsfeldt
  1 sibling, 0 replies; 84+ messages in thread
From: James Kuyper @ 2011-05-02  2:34 UTC (permalink / raw)


On 05/01/2011 08:42 PM, Ian Collins wrote:
> On 05/ 2/11 12:01 PM, James Kuyper wrote:
>> On 05/01/2011 03:58 PM, Ian Collins wrote:
>>> On 05/ 2/11 03:31 AM, Thad Smith wrote:
>>>>
>>>> Here is a modification of the program with masking to produce correct results
>>>> with any conforming C implementation.  It truncates where when required.  A good
>>>> optimizer should eliminate the unneeded masking for 32-bit unsigned long.
>>>
>>> Why oh why can't people just use fixed width types?
>>
>> Because, in C at least, it's not mandatory for a conforming
>> implementation to support any of the fixed-width types.
> 
> But it's hardly rocket science to declare them for implementations that 
> lack them.

More accurately, it's generally impossible to declare them for
implementations that lack them. If the implementation choses not to
provide a particular fixed-width type, it's generally because it's not
possible to do so on that platform; less frequently, it's because it
would be inconvenient to support them.

-- 
James Kuyper



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-02  0:42         ` Ian Collins
  2011-05-02  2:34           ` James Kuyper
@ 2011-05-02  2:50           ` glen herrmannsfeldt
  1 sibling, 0 replies; 84+ messages in thread
From: glen herrmannsfeldt @ 2011-05-02  2:50 UTC (permalink / raw)


In comp.lang.fortran Ian Collins <ian-news@hotmail.com> wrote:

(snip, someone wrote)
>> Because, in C at least, it's not mandatory for a conforming
>> implementation to support any of the fixed-width types.
 
> But it's hardly rocket science to declare them for implementations that 
> lack them.

With the assumption that the fixed-width is one implemented on
the host machine.  Neither Fortran nor C require a machine to
support a 32 bit type.  (Java does.)

-- glen



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-01 19:58     ` Ian Collins
  2011-05-02  0:01       ` James Kuyper
@ 2011-05-02  4:21       ` Thad Smith
  2011-05-02  7:31         ` nmm1
  1 sibling, 1 reply; 84+ messages in thread
From: Thad Smith @ 2011-05-02  4:21 UTC (permalink / raw)


On 5/1/2011 12:58 PM, Ian Collins wrote:
> On 05/ 2/11 03:31 AM, Thad Smith wrote:
>>
>> Here is a modification of the program with masking to produce correct results
>> with any conforming C implementation. It truncates where when required. A good
>> optimizer should eliminate the unneeded masking for 32-bit unsigned long.
>
> Why oh why can't people just use fixed width types? What's the obsession with
> unsigned long and masking?

In my case, I work with a lot of compilers not supporting C99.  The code is thus 
more portable to existing applications.  Standard C doesn't guarantee the 
existence of a 32-bit integer type.

-- 
Thad



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-02  4:21       ` Thad Smith
@ 2011-05-02  7:31         ` nmm1
  2011-05-23  4:18           ` robin
                             ` (4 more replies)
  0 siblings, 5 replies; 84+ messages in thread
From: nmm1 @ 2011-05-02  7:31 UTC (permalink / raw)


In article <4dbe2304$0$12961$892e0abb@auth.newsreader.octanews.com>,
Thad Smith  <ThadSmith@acm.org> wrote:
>On 5/1/2011 12:58 PM, Ian Collins wrote:
>> On 05/ 2/11 03:31 AM, Thad Smith wrote:
>>>
>>> Here is a modification of the program with masking to produce correct results
>>> with any conforming C implementation. It truncates where when required. A good
>>> optimizer should eliminate the unneeded masking for 32-bit unsigned long.
>>
>> Why oh why can't people just use fixed width types? What's the obsession with
>> unsigned long and masking?
>
>In my case, I work with a lot of compilers not supporting C99.  The code is thus 
>more portable to existing applications.  Standard C doesn't guarantee the 
>existence of a 32-bit integer type.

As those of us with significant experience of portability will
remember, building fixed sizes into a program is a cardinal
error.  Sooner or later, you will want to run that code on a
system with different sizes, and it won't work.  The vast
majority of clean programs, even in C90, needed NO source
changes to go from 32 to 64 bits; I have written code that was
moved to systems with 16, 24, 32, 36, 48, 60, 64 and perhaps
other sizes, and so have many other people.

I accept that Marsaglia's generator is a valid case for using
fixed-width types, but that is likely to make it very inefficient
indeed on a system where they are not natural.  Masking is a
far more portably efficient approach.


Regards,
Nick Maclaren.



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-30 10:48           ` robin
@ 2011-05-05  1:12             ` Uno
  0 siblings, 0 replies; 84+ messages in thread
From: Uno @ 2011-05-05  1:12 UTC (permalink / raw)


On 04/30/2011 04:48 AM, robin wrote:

> You might not have liked George's programming style,
> but there is no suggestion that he was losing it.

If no one has suggested it, then I do so herewith.  What proof do you 
need?  (That the guy died?)

I'm not a stranger to numbers or C.  It's not "potentially top-ranked" 
so much as "rank."

I apologize to those I might offend with such rhetoric.  His 
acknowledged contributions to computer science live on.
- -
Uno




^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29 19:53             ` Keith Thompson
@ 2011-05-05 23:38               ` Michael Press
  0 siblings, 0 replies; 84+ messages in thread
From: Michael Press @ 2011-05-05 23:38 UTC (permalink / raw)


In article <lnoc3ox2a0.fsf@nuthaus.mib.org>,
 Keith Thompson <kst-u@mib.org> wrote:

> Making CHAR_BIT==64 would have made much more sense for the machine
> itself in isolation, but it would have made interoperability with
> other systems quite difficult.  It ran Unicos, Cray's BSDish Unix;
> I'm not sure you can even implement Unix with bytes bigger than
> 8 bits.

Could tack on a satellite machine for interoperability
the way ARPANET was first configured. Each big machine
at Illinois, etc. had a Burroughs (6600?) that actually
did the networking.

-- 
Michael Press



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-04-29  3:09           ` Ian Collins
@ 2011-05-08  7:34             ` Uno
  2011-05-11  5:38               ` Marni Zollinger
  0 siblings, 1 reply; 84+ messages in thread
From: Uno @ 2011-05-08  7:34 UTC (permalink / raw)


On 4/28/2011 8:09 PM, Ian Collins wrote:
> On 04/29/11 03:01 PM, Eric Sosman wrote:
>> On 4/28/2011 10:09 PM, Ian Collins wrote:
>>> On 04/29/11 01:50 PM, David Bernier wrote:
>>
>>>> In any case, with an executable compiled with a C compiler,
>>>> there's the function sizeof, which might be useful
>>>> in some cases at run time.
>>>
>>> Being pedantic, sizeof is a compile time operator when used with
>>> integral types.
>>
>> It's an operator, always. It's evaluable at compile time for
>> any operand, integral or not, except a variable-length array (whose
>> element count is not determined until run time).
>
> The context was integral types, I didn't want to venture anywhere near
> VLAs on a cross-post!
>

So Ian,

I wouldn't mind hearing your thoughts about corruption and empires.  Are 
they the same thing?

But to be topical, I thought I might re-write george in fortran, using 
the ISO_C_BINDING.

Attended the first funeral after my dad's today.
-- 
Uno



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-08  7:34             ` Uno
@ 2011-05-11  5:38               ` Marni Zollinger
  0 siblings, 0 replies; 84+ messages in thread
From: Marni Zollinger @ 2011-05-11  5:38 UTC (permalink / raw)


On 05/08/2011 01:34 AM, Uno wrote:
> On 4/28/2011 8:09 PM, Ian Collins wrote:

>> The context was integral types, I didn't want to venture anywhere near
>> VLAs on a cross-post!
>>
>
> So Ian,
>
> I wouldn't mind hearing your thoughts about corruption and empires. Are
> they the same thing?
>
> But to be topical, I thought I might re-write george in fortran, using
> the ISO_C_BINDING.
>
> Attended the first funeral after my dad's today.

Oh my goodness, you can't re-write george in these here united states.
-- 
mz



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-02  7:31         ` nmm1
@ 2011-05-23  4:18           ` robin
  2011-05-23  7:20             ` robin
  2011-05-23  6:52           ` robin
                             ` (3 subsequent siblings)
  4 siblings, 1 reply; 84+ messages in thread
From: robin @ 2011-05-23  4:18 UTC (permalink / raw)


<nmm1@cam.ac.uk> wrote in message news:iplmk8$2s6$1@gosset.csi.cam.ac.uk...

| As those of us with significant experience of portability will
| remember, building fixed sizes into a program is a cardinal
| error.  Sooner or later, you will want to run that code on a
| system with different sizes, and it won't work.

That's because FORTRAN was designed around a word machine,
where float precisions offered were either single and double precision.
That could cause different actions when moving from a 32-bit word machine
to 60/64-bit word machine,

Later languages, including PL/I, were designed around
byte machines.  The way in which float precisions are specified
lends itself to portability.  Thus, asking for say, 12 decimal digits
got you about that number of digits, whether the machine offered
32-bit or 60-bit words.  Some machines actually offered decimal
(BCD) floats in hardware,* and asking for 12 decimals got you about
that number of digits.

|  The vast
| majority of clean programs, even in C90, needed NO source
| changes to go from 32 to 64 bits; I have written code that was
| moved to systems with 16, 24, 32, 36, 48, 60, 64 and perhaps
| other sizes, and so have many other people.

Indeed.  (Including doing portable character handling before F77.)

| I accept that Marsaglia's generator is a valid case for using
| fixed-width types, but that is likely to make it very inefficient
| indeed on a system where they are not natural.

I very much doubt that any new machine is going to offer less than 32 bit
integer words ; for some years now the trend has been to machines of
64-bit integers.  Marsaglia's (integer) algorithms will run on such machines,
some possibly with minor alterations, but will not, even if modified,
will not run "inefficiently".

|  Masking is a
| far more portably efficient approach.

_______________
* some still do, in an updated verion of decimal. 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-02  7:31         ` nmm1
  2011-05-23  4:18           ` robin
@ 2011-05-23  6:52           ` robin
  2011-05-23  6:52           ` robin
                             ` (2 subsequent siblings)
  4 siblings, 0 replies; 84+ messages in thread
From: robin @ 2011-05-23  6:52 UTC (permalink / raw)


<nmm1@cam.ac.uk> wrote in message news:iplmk8$2s6$1@gosset.csi.cam.ac.uk...

| As those of us with significant experience of portability will
| remember, building fixed sizes into a program is a cardinal
| error.  Sooner or later, you will want to run that code on a
| system with different sizes, and it won't work.

That's because FORTRAN was designed around a word machine,
where float precisions offered were single and/or single and double precision.
That could cause different actions when moving from a 32-bit word machine
to 60/64-bit word machine,

Later languages, including PL/I, were designed bearing in mind
byte machines.  The way in which float precisions are specified
lends itself to portability.  Thus, asking for say, 12 decimal digits
got you about that number of digits, whether the machine offered
32-bit or 60-bit words.  Some machines actually offered decimal
(BCD) floats in hardware,* and asking for 12 decimals got you about
that number of digits.

|  The vast
| majority of clean programs, even in C90, needed NO source
| changes to go from 32 to 64 bits; I have written code that was
| moved to systems with 16, 24, 32, 36, 48, 60, 64 and perhaps
| other sizes, and so have many other people.

Indeed.  (Including doing portable character handling before F77.)

| I accept that Marsaglia's generator is a valid case for using
| fixed-width types, but that is likely to make it very inefficient
| indeed on a system where they are not natural.

I very much doubt that any new machine is going to offer less than 32 bit
integer words ; for some years now the trend has been to machines of
64-bit integers.  Marsaglia's (integer) algorithms will run on such machines,
some possibly with minor alterations, but will not, even if modified,
will not run "inefficiently".

|  Masking is a
| far more portably efficient approach.

_______________
* some still do, in an updated verion of decimal. 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-02  7:31         ` nmm1
  2011-05-23  4:18           ` 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
  4 siblings, 0 replies; 84+ messages in thread
From: robin @ 2011-05-23  6:52 UTC (permalink / raw)


<nmm1@cam.ac.uk> wrote in message news:iplmk8$2s6$1@gosset.csi.cam.ac.uk...

| As those of us with significant experience of portability will
| remember, building fixed sizes into a program is a cardinal
| error.  Sooner or later, you will want to run that code on a
| system with different sizes, and it won't work.

That's because FORTRAN was designed around a word machine,
where float precisions offered were single and/or single and double precision.
That could cause different actions when moving from a 32-bit word machine
to 60/64-bit word machine,

Later languages, including PL/I, were designed bearing in mind
byte machines.  The way in which float precisions are specified
lends itself to portability.  Thus, asking for say, 12 decimal digits
got you about that number of digits, whether the machine offered
32-bit or 60-bit words.  Some machines actually offered decimal
(BCD) floats in hardware,* and asking for 12 decimals got you about
that number of digits.

|  The vast
| majority of clean programs, even in C90, needed NO source
| changes to go from 32 to 64 bits; I have written code that was
| moved to systems with 16, 24, 32, 36, 48, 60, 64 and perhaps
| other sizes, and so have many other people.

Indeed.  (Including doing portable character handling before F77.)

| I accept that Marsaglia's generator is a valid case for using
| fixed-width types, but that is likely to make it very inefficient
| indeed on a system where they are not natural.

I very much doubt that any new machine is going to offer less than 32 bit
integer words ; for some years now the trend has been to machines of
64-bit integers.  Marsaglia's (integer) algorithms will run on such machines,
some possibly with minor alterations, but will not, even if modified,
will not run "inefficiently".

|  Masking is a
| far more portably efficient approach.

_______________
* some still do, in an updated verion of decimal. 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-02  7:31         ` nmm1
                             ` (2 preceding siblings ...)
  2011-05-23  6:52           ` robin
@ 2011-05-23  6:52           ` robin
  2011-05-23  6:53           ` robin
  4 siblings, 0 replies; 84+ messages in thread
From: robin @ 2011-05-23  6:52 UTC (permalink / raw)


<nmm1@cam.ac.uk> wrote in message news:iplmk8$2s6$1@gosset.csi.cam.ac.uk...

| As those of us with significant experience of portability will
| remember, building fixed sizes into a program is a cardinal
| error.  Sooner or later, you will want to run that code on a
| system with different sizes, and it won't work.

That's because FORTRAN was designed around a word machine,
where float precisions offered were single and/or single and double precision.
That could cause different actions when moving from a 32-bit word machine
to 60/64-bit word machine,

Later languages, including PL/I, were designed bearing in mind
byte machines.  The way in which float precisions are specified
lends itself to portability.  Thus, asking for say, 12 decimal digits
got you about that number of digits, whether the machine offered
32-bit or 60-bit words.  Some machines actually offered decimal
(BCD) floats in hardware,* and asking for 12 decimals got you about
that number of digits.

|  The vast
| majority of clean programs, even in C90, needed NO source
| changes to go from 32 to 64 bits; I have written code that was
| moved to systems with 16, 24, 32, 36, 48, 60, 64 and perhaps
| other sizes, and so have many other people.

Indeed.  (Including doing portable character handling before F77.)

| I accept that Marsaglia's generator is a valid case for using
| fixed-width types, but that is likely to make it very inefficient
| indeed on a system where they are not natural.

I very much doubt that any new machine is going to offer less than 32 bit
integer words ; for some years now the trend has been to machines of
64-bit integers.  Marsaglia's (integer) algorithms will run on such machines,
some possibly with minor alterations, but will not, even if modified,
will not run "inefficiently".

|  Masking is a
| far more portably efficient approach.

_______________
* some still do, in an updated verion of decimal. 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-02  7:31         ` nmm1
                             ` (3 preceding siblings ...)
  2011-05-23  6:52           ` robin
@ 2011-05-23  6:53           ` robin
  2011-05-23  7:16             ` Georg Bauhaus
  4 siblings, 1 reply; 84+ messages in thread
From: robin @ 2011-05-23  6:53 UTC (permalink / raw)


<nmm1@cam.ac.uk> wrote in message news:iplmk8$2s6$1@gosset.csi.cam.ac.uk...

| As those of us with significant experience of portability will
| remember, building fixed sizes into a program is a cardinal
| error.  Sooner or later, you will want to run that code on a
| system with different sizes, and it won't work.

That's because FORTRAN was designed around a word machine,
where float precisions offered were single and/or single and double precision.
That could cause different actions when moving from a 32-bit word machine
to 60/64-bit word machine,

Later languages, including PL/I, were designed bearing in mind
byte machines.  The way in which float precisions are specified
lends itself to portability.  Thus, asking for say, 12 decimal digits
got you about that number of digits, whether the machine offered
32-bit or 60-bit words.  Some machines actually offered decimal
(BCD) floats in hardware,* and asking for 12 decimals got you about
that number of digits.

|  The vast
| majority of clean programs, even in C90, needed NO source
| changes to go from 32 to 64 bits; I have written code that was
| moved to systems with 16, 24, 32, 36, 48, 60, 64 and perhaps
| other sizes, and so have many other people.

Indeed.  (Including doing portable character handling before F77.)

| I accept that Marsaglia's generator is a valid case for using
| fixed-width types, but that is likely to make it very inefficient
| indeed on a system where they are not natural.

I very much doubt that any new machine is going to offer less than 32 bit
integer words ; for some years now the trend has been to machines of
64-bit integers.  Marsaglia's (integer) algorithms will run on such machines,
some possibly with minor alterations, but will not, even if modified,
will not run "inefficiently".

|  Masking is a
| far more portably efficient approach.

_______________
* some still do, in an updated verion of decimal. 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-23  6:53           ` robin
@ 2011-05-23  7:16             ` Georg Bauhaus
  2011-06-28  7:19               ` robin
  0 siblings, 1 reply; 84+ messages in thread
From: Georg Bauhaus @ 2011-05-23  7:16 UTC (permalink / raw)


On 5/23/11 8:53 AM, robin wrote:
> <nmm1@cam.ac.uk>  wrote in message news:iplmk8$2s6$1@gosset.csi.cam.ac.uk...

> | I accept that Marsaglia's generator is a valid case for using
> | fixed-width types, but that is likely to make it very inefficient
> | indeed on a system where they are not natural.
>
> I very much doubt that any new machine is going to offer less than 32 bit
> integer words ; for some years now the trend has been to machines of
> 64-bit integers.

Not sure about the kind and specifics of technical systems in which
number generation plays a part.

But in case it does matter in computers embedded in  other
systems: the number of <32bit microcontrollers exceeds
the number of >=32bit processors built into PCs and
mobile computers (including "cellphones").

According to Wikipedia, counting all CPUs sold, even the share
of 8bit µcontrollers is more than a half. (They give sources for
the numbers.)

TTBOMK, it is very common that C compilers for 8bit
µcontrollers will offer int as a 16bit type.




^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-23  4:18           ` robin
@ 2011-05-23  7:20             ` robin
  0 siblings, 0 replies; 84+ messages in thread
From: robin @ 2011-05-23  7:20 UTC (permalink / raw)


"robin" <robin51@dodo.mapson.com.au> wrote in message news:4dda042b$1$67779$c30e37c6@exi-reader.telstra.net...

Looks like ISP server's malfunctioned again. 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-05-23  7:16             ` Georg Bauhaus
@ 2011-06-28  7:19               ` robin
  2011-06-28  8:44                 ` Vinzent Hoefler
                                   ` (3 more replies)
  0 siblings, 4 replies; 84+ messages in thread
From: robin @ 2011-06-28  7:19 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 321 bytes --]

"Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message 
news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
|
| According to Wikipedia, counting all CPUs sold, even the share
| of 8bit �controllers is more than a half. (They give sources for
| the numbers.)

Wikipedia is not a reliable source. 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  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
                                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 84+ messages in thread
From: Vinzent Hoefler @ 2011-06-28  8:44 UTC (permalink / raw)


robin wrote:

> "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message
> news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
> |
> | According to Wikipedia, counting all CPUs sold, even the share
> | of 8bit µcontrollers is more than a half. (They give sources for
> | the numbers.)
>
> Wikipedia is not a reliable source.

It's still right. A coffee-machine or toaster doesn't necessarily need
a 32-bit processor, so there are hell a lot of 8-bit micros still being
sold these days.


Vinzent.

-- 
f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng.



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28  7:19               ` robin
  2011-06-28  8:44                 ` Vinzent Hoefler
@ 2011-06-28  9:14                 ` Georg Bauhaus
  2011-06-28 11:59                   ` robin
  2011-06-28 12:32                 ` James Kuyper
  2011-06-28 16:04                 ` Joe Pfeiffer
  3 siblings, 1 reply; 84+ messages in thread
From: Georg Bauhaus @ 2011-06-28  9:14 UTC (permalink / raw)


On 28.06.11 09:19, robin wrote:
> "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message 
> news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
> |
> | According to Wikipedia, counting all CPUs sold, even the share
> | of 8bit µcontrollers is more than a half. (They give sources for
> | the numbers.)
> 
> Wikipedia is not a reliable source. 

They list their references, you didn't.

Or as Vincent explains, it takes just a moment of reflection to
learn about the number of devices and parts controlled
by µcontrollers whose words are sized < 32bit.



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28  8:44                 ` Vinzent Hoefler
@ 2011-06-28  9:19                   ` Chris H
  0 siblings, 0 replies; 84+ messages in thread
From: Chris H @ 2011-06-28  9:19 UTC (permalink / raw)


In message <op.vxr2jpt9lzeukk@jellix.jlfencey.com>, Vinzent Hoefler
<0439279208b62c95f1880bf0f8776eeb@t-domaingrabbing.de> writes
>robin wrote:
>
>> "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message
>> news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
>> |
>> | According to Wikipedia, counting all CPUs sold, even the share
>> | of 8bit 0 >> | the numbers.)
>>
>> Wikipedia is not a reliable source.
>
>It's still right. A coffee-machine or toaster doesn't necessarily need
>a 32-bit processor, so there are hell a lot of 8-bit micros still being
>sold these days.

Whilst wikipeadia is not accurate all the other figures I have seen*
showed that up until about 5 years ago 1 in 3 MCU's on the planet were
the 8 bit 8051 types.  Remember at one time every PC had at least two
8051's in it.

* Various sets of non public figures on industry surveys, also talking
to various silicon companies.

When the ARM parts arrived they hardly touched the 8 bit market but did
squeeze the 16 bit market.  The 16 bit market was small compared to  the
8 and 4 bit markets.

Yes there were (and still are) a lot of 4 bit micros used. AFAIK  the 4
bit market is not small as all sorts of things like toys use them.
However it is not growing.

The 8 bit market is declining but that is only very recently with the
advent of cheap cortex parts.  It is still large and the installed base
of parts is enormous.


-- 
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/






^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28  9:14                 ` Georg Bauhaus
@ 2011-06-28 11:59                   ` robin
  2011-06-28 12:16                     ` Chris H
                                       ` (2 more replies)
  0 siblings, 3 replies; 84+ messages in thread
From: robin @ 2011-06-28 11:59 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 647 bytes --]

"Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message 
news:4e099b90$0$6556$9b4e6d93@newsspool4.arcor-online.net...
| On 28.06.11 09:19, robin wrote:
| > "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message
| > news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
| > |
| > | According to Wikipedia, counting all CPUs sold, even the share
| > | of 8bit �controllers is more than a half. (They give sources for
| > | the numbers.)
| >
| > Wikipedia is not a reliable source.
|
| They list their references, you didn't.

I've lost count of the number of times I've corrected incorrect
information in Wikipedia. 





^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  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
  2 siblings, 1 reply; 84+ messages in thread
From: Chris H @ 2011-06-28 12:16 UTC (permalink / raw)


In message <4e09c223$0$79555$c30e37c6@exi-reader.telstra.net>, robin
<robin51@dodo.mapson.com.au> writes
>"Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message
>news:4e099b90$0$6556$9b4e6d93@newsspool4.arcor-online.net...
>| On 28.06.11 09:19, robin wrote:
>| > "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message
>| > news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
>| > |
>| > | According to Wikipedia, counting all CPUs sold, even the share
>| > | of 8bit μcontrollers is more than a half. (They give sources for
>| > | the numbers.)
>| >
>| > Wikipedia is not a reliable source.
>|
>| They list their references, you didn't.
>
>I've lost count of the number of times I've corrected incorrect
>information in Wikipedia.

"But you would say that" :-)

And then some one else "corrects" your stuff.....  I personally have
seen the case where someone was "correcting" a page they had written
after the originator of the work on finding the wiki page had changed a
lot of the page to be accurate.

So even when some one who really knows corrects the Wiki there is no
guarantee that some idiot will not change it again.

Some companies, religions, pressure groups, political groups spend time
"correcting" wiki pages to reflect their views and "repairing" damaged
caused by vandals.... ie other companies, religions, pressure groups,
political groups spending time "correcting" wiki pages to reflect their
views



-- 
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/






^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28  7:19               ` robin
  2011-06-28  8:44                 ` Vinzent Hoefler
  2011-06-28  9:14                 ` Georg Bauhaus
@ 2011-06-28 12:32                 ` James Kuyper
  2011-06-28 13:03                   ` Chris H
  2011-06-28 16:04                 ` Joe Pfeiffer
  3 siblings, 1 reply; 84+ messages in thread
From: James Kuyper @ 2011-06-28 12:32 UTC (permalink / raw)


On 06/28/2011 03:19 AM, robin wrote:
> "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message 
> news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
> |
> | According to Wikipedia, counting all CPUs sold, even the share
> | of 8bit �controllers is more than a half. (They give sources for
> | the numbers.)
> 
> Wikipedia is not a reliable source. 

Wikipedia is certainly not the most reliable source in the world, but
personally, I've found Wikipedia to be substantially more reliable than
any other information source that is comparably easy to access.

However, since that Wikipedia article (like most such articles) cites
sources for it's numbers, the reliability of Wikipedia is irrelevant;
what matters is the reliability of those sources. Have you anything
useful to say about that?

It's only worthwhile pointing out the unreliability of wikipedia if you
can identify a more reliable source.
-- 
James Kuyper



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 11:59                   ` robin
  2011-06-28 12:16                     ` Chris H
@ 2011-06-28 12:33                     ` James Kuyper
  2011-06-28 13:53                     ` Georg Bauhaus
  2 siblings, 0 replies; 84+ messages in thread
From: James Kuyper @ 2011-06-28 12:33 UTC (permalink / raw)


On 06/28/2011 07:59 AM, robin wrote:
> "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message 
> news:4e099b90$0$6556$9b4e6d93@newsspool4.arcor-online.net...
> | On 28.06.11 09:19, robin wrote:
> | > "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message
> | > news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
> | > |
> | > | According to Wikipedia, counting all CPUs sold, even the share
> | > | of 8bit �controllers is more than a half. (They give sources for
> | > | the numbers.)
> | >
> | > Wikipedia is not a reliable source.
> |
> | They list their references, you didn't.
> 
> I've lost count of the number of times I've corrected incorrect
> information in Wikipedia. 

Then go ahead and correct it: what do you claim to be the correct
numbers, and what are your sources for those numbers?
-- 
James Kuyper



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 12:32                 ` James Kuyper
@ 2011-06-28 13:03                   ` Chris H
  2011-06-28 14:25                     ` James Kuyper
  0 siblings, 1 reply; 84+ messages in thread
From: Chris H @ 2011-06-28 13:03 UTC (permalink / raw)


In message <iuchk8$gha$1@dont-email.me>, James Kuyper
<jameskuyper@verizon.net> writes
>On 06/28/2011 03:19 AM, robin wrote:
>> "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message
>> news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
>> |
>> | According to Wikipedia, counting all CPUs sold, even the share
>> | of 8bit 0 >> | the numbers.)
>>
>> Wikipedia is not a reliable source.
>
>Wikipedia is certainly not the most reliable source in the world, but
>personally, I've found Wikipedia to be substantially more reliable than
>any other information source that is comparably easy to access.


That is probably true... which is why people are manipulating it.

>It's only worthwhile pointing out the unreliability of wikipedia if you
>can identify a more reliable source.

That is not true.   Unreliable information should be removed if it is
wrong. Even if you don't have anything better. A blank screen is better
than an incorrect or misleading one.

We are drowning in a sea of unreliable information and complete
fabrications that people believe are true because no one challenges them
and people want easy access.



-- 
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/






^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 11:59                   ` robin
  2011-06-28 12:16                     ` Chris H
  2011-06-28 12:33                     ` James Kuyper
@ 2011-06-28 13:53                     ` Georg Bauhaus
  2011-06-28 22:39                       ` Brian Salter-Duke
  2 siblings, 1 reply; 84+ messages in thread
From: Georg Bauhaus @ 2011-06-28 13:53 UTC (permalink / raw)


On 28.06.11 13:59, robin wrote:
> "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message 
> news:4e099b90$0$6556$9b4e6d93@newsspool4.arcor-online.net...
> | On 28.06.11 09:19, robin wrote:
> | > "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message
> | > news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
> | > |
> | > | According to Wikipedia, counting all CPUs sold, even the share
> | > | of 8bit µcontrollers is more than a half. (They give sources for
> | > | the numbers.)
> | >
> | > Wikipedia is not a reliable source.
> |
> | They list their references, you didn't.
> 
> I've lost count of the number of times I've corrected incorrect
> information in Wikipedia. 

Are you saying that sources (about analysis of number of
processors sold) referenced on the current page are incorrect
and should not be referred to?



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 13:03                   ` Chris H
@ 2011-06-28 14:25                     ` James Kuyper
  2011-06-28 15:01                       ` Chris H
  0 siblings, 1 reply; 84+ messages in thread
From: James Kuyper @ 2011-06-28 14:25 UTC (permalink / raw)


On 06/28/2011 09:03 AM, Chris H wrote:
> In message <iuchk8$gha$1@dont-email.me>, James Kuyper
> <jameskuyper@verizon.net> writes
...
>> It's only worthwhile pointing out the unreliability of wikipedia if you
>> can identify a more reliable source.
> 
> That is not true.   Unreliable information should be removed if it is
> wrong.

If you are justified in your belief that something is wrong, you will
have an alternative source that you consider more reliable. If so, you
should cite it; without such a citation, other people cannot judge the
accuracy of your belief that it is, in fact, a more reliable source.
-- 
James Kuyper



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  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
  0 siblings, 2 replies; 84+ messages in thread
From: Chris H @ 2011-06-28 15:01 UTC (permalink / raw)


In message <iuco82$u6s$1@dont-email.me>, James Kuyper
<jameskuyper@verizon.net> writes
>On 06/28/2011 09:03 AM, Chris H wrote:
>> In message <iuchk8$gha$1@dont-email.me>, James Kuyper
>> <jameskuyper@verizon.net> writes
>...
>>> It's only worthwhile pointing out the unreliability of wikipedia if you
>>> can identify a more reliable source.
>>
>> That is not true.   Unreliable information should be removed if it is
>> wrong.
>
>If you are justified in your belief that something is wrong, you will
>have an alternative source that you consider more reliable.

Not always.  Also in many cases not information that can be put on a
public web page. It might surprise you that in the information age
information is power and a lot of it is NOT in the public domain.

There is a very stupid belief these days that if it is not on the
Internet it is not real.  So if you can't provide a link it is not
real....  I was discussing something similar with a friend who was at
the start or the Internet and was discussing this in a forum. When
challenged for links to prove what he said (as him saying "I was there
did not count")  he replied with "two filing cabinets beside my desk".

> If so, you
>should cite it; without such a citation, other people cannot judge the
>accuracy of your belief that it is, in fact, a more reliable source.

SO if I write some complete crap on a wiki page (with no citations) it
should stand unless some one has citations to prove otherwise?

What you are saying is that any old rubbish can go on wiki unless some
one has the time and resources (ie money) maintain the page to put
something else up?

Besides often you have to be prepared to battle nutters and zealots who
won't accept reality. Why should I spend time and effort on that?

No wonder wiki is a mess.  Yes a lot of it is good ad accurate but a
hell of a lot is a mess.


If Wiki is not correct then it is wrong

-- 
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/






^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 12:16                     ` Chris H
@ 2011-06-28 15:44                       ` Peter Flass
  0 siblings, 0 replies; 84+ messages in thread
From: Peter Flass @ 2011-06-28 15:44 UTC (permalink / raw)


On 6/28/2011 8:16 AM, Chris H wrote:
> In message<4e09c223$0$79555$c30e37c6@exi-reader.telstra.net>, robin
> <robin51@dodo.mapson.com.au>  writes
>> "Georg Bauhaus"<rm.dash-bauhaus@futureapps.de>  wrote in message
>> news:4e099b90$0$6556$9b4e6d93@newsspool4.arcor-online.net...
>> | On 28.06.11 09:19, robin wrote:
>> |>  "Georg Bauhaus"<rm.dash-bauhaus@futureapps.de>  wrote in message
>> |>  news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
>> |>  |
>> |>  | According to Wikipedia, counting all CPUs sold, even the share
>> |>  | of 8bit μcontrollers is more than a half. (They give sources for
>> |>  | the numbers.)
>> |>
>> |>  Wikipedia is not a reliable source.
>> |
>> | They list their references, you didn't.
>>
>> I've lost count of the number of times I've corrected incorrect
>> information in Wikipedia.
>
> "But you would say that" :-)
>
> And then some one else "corrects" your stuff.....  I personally have
> seen the case where someone was "correcting" a page they had written
> after the originator of the work on finding the wiki page had changed a
> lot of the page to be accurate.
>
> So even when some one who really knows corrects the Wiki there is no
> guarantee that some idiot will not change it again.
>
> Some companies, religions, pressure groups, political groups spend time
> "correcting" wiki pages to reflect their views and "repairing" damaged
> caused by vandals.... ie other companies, religions, pressure groups,
> political groups spending time "correcting" wiki pages to reflect their
> views
>
>
>

Eventually some of these groups get black-listed.  Last I heard the 
Scientologists were locked out from updating anything having to do with 
Scientology.



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28  7:19               ` robin
                                   ` (2 preceding siblings ...)
  2011-06-28 12:32                 ` James Kuyper
@ 2011-06-28 16:04                 ` Joe Pfeiffer
  2011-06-28 16:36                   ` Chris H
  3 siblings, 1 reply; 84+ messages in thread
From: Joe Pfeiffer @ 2011-06-28 16:04 UTC (permalink / raw)


"robin" <robin51@dodo.mapson.com.au> writes:

> "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message 
> news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
> |
> | According to Wikipedia, counting all CPUs sold, even the share
> | of 8bit µcontrollers is more than a half. (They give sources for
> | the numbers.)
>
> Wikipedia is not a reliable source. 

It's as reliable as any encyclopedia.  What it isn't, is original
research -- and it doesn't pretend to be.

Do you have a more reliable source that says otherwise?



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 16:04                 ` Joe Pfeiffer
@ 2011-06-28 16:36                   ` Chris H
  2011-06-28 16:51                     ` Joe Pfeiffer
                                       ` (3 more replies)
  0 siblings, 4 replies; 84+ messages in thread
From: Chris H @ 2011-06-28 16:36 UTC (permalink / raw)


In message <1bei2e54d4.fsf@snowball.wb.pfeifferfamily.net>, Joe Pfeiffer
<pfeiffer@cs.nmsu.edu> writes
>"robin" <robin51@dodo.mapson.com.au> writes:
>
>> "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message
>> news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
>> |
>> | According to Wikipedia, counting all CPUs sold, even the share
>> | of 8bit 0 >> | the numbers.)
>>
>> Wikipedia is not a reliable source.
>
>It's as reliable as any encyclopedia.

That is the problem we face... stupidity like that.

Wiki is very far from being as reliable as any other encyclopaedia.

I know some one who has a written a page entry for the Encyclopaedia
Britanica.   He is a world expert in the subject which is why he was
asked to do it.  When he finished the item it was peer reviewed by other
world class experts.  It is like that for al their entries. The same
with most other encyclopaedias. They take a lot of care.

That sort of level of care does not go into wiki pages. Anyone can write
anything on any page. There was an experiment done 3-4 years ago to see
if was possible to get ridiculous changes past the page editors.  IT was
so successful that after owning up some of the changes were not reversed
until the experimenters re-edited the pages themselves.

SO apart from the usual mistakes, and the authors being anything but
experts, there are those with differing views counter editing and of
course malicious editing.  You don't get these problems in  other
encyclopaedias.

In short due the openness of the wiki it is far less reliable than any
other encyclopaedia. Because no one is responsible in any meaningful way
for what is on wikipeadia.


-- 
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/






^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 16:36                   ` Chris H
@ 2011-06-28 16:51                     ` Joe Pfeiffer
  2011-06-29  0:27                       ` James Kuyper
  2011-06-28 16:52                     ` Joe Pfeiffer
                                       ` (2 subsequent siblings)
  3 siblings, 1 reply; 84+ messages in thread
From: Joe Pfeiffer @ 2011-06-28 16:51 UTC (permalink / raw)


Chris H <chris@phaedsys.org> writes:

> In message <1bei2e54d4.fsf@snowball.wb.pfeifferfamily.net>, Joe Pfeiffer
> <pfeiffer@cs.nmsu.edu> writes
>>"robin" <robin51@dodo.mapson.com.au> writes:
>>
>>> "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message
>>> news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
>>> |
>>> | According to Wikipedia, counting all CPUs sold, even the share
>>> | of 8bit 0 >> | the numbers.)
>>>
>>> Wikipedia is not a reliable source.
>>
>>It's as reliable as any encyclopedia.
>
> That is the problem we face... stupidity like that.
>
> Wiki is very far from being as reliable as any other encyclopaedia.
>
> I know some one who has a written a page entry for the Encyclopaedia
> Britanica.   He is a world expert in the subject which is why he was
> asked to do it.  When he finished the item it was peer reviewed by other
> world class experts.  It is like that for al their entries. The same
> with most other encyclopaedias. They take a lot of care.
>
> That sort of level of care does not go into wiki pages. Anyone can write
> anything on any page. There was an experiment done 3-4 years ago to see
> if was possible to get ridiculous changes past the page editors.  IT was
> so successful that after owning up some of the changes were not reversed
> until the experimenters re-edited the pages themselves.
>
> SO apart from the usual mistakes, and the authors being anything but
> experts, there are those with differing views counter editing and of
> course malicious editing.  You don't get these problems in  other
> encyclopaedias.
>
> In short due the openness of the wiki it is far less reliable than any
> other encyclopaedia. Because no one is responsible in any meaningful way
> for what is on wikipeadia.

The only study I've seen showed an error rate for wikipedia roughly 30%
higher (per article) than britannica, while a follow-on pointed out that
the articles themselves were 2.6 times longer.

Yes, it's possible to deliberately "game" wikipedia in order to prove a
point, and politicians and others who have an interest in the content of
articles vandalize them.  The number of 8-bit processors doesn't come
into these categories, and besides (as has been pointed out by others)
the wikipedia article cites sources.

So, rather than blanket statements regarding the unreliability of wikis,
or anecdotes regarding your friend the expert, are you claiming the
wikipedia author mis-quoted the statistics?  Or do you have a "more
reliable" source that says says something different?



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 16:36                   ` Chris H
  2011-06-28 16:51                     ` Joe Pfeiffer
@ 2011-06-28 16:52                     ` Joe Pfeiffer
  2011-06-28 17:06                     ` David Bernier
  2011-06-28 21:11                     ` Gib Bogle
  3 siblings, 0 replies; 84+ messages in thread
From: Joe Pfeiffer @ 2011-06-28 16:52 UTC (permalink / raw)


Chris H <chris@phaedsys.org> writes:

> In message <1bei2e54d4.fsf@snowball.wb.pfeifferfamily.net>, Joe Pfeiffer
> <pfeiffer@cs.nmsu.edu> writes
>>"robin" <robin51@dodo.mapson.com.au> writes:
>>
>>> "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message
>>> news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
>>> |
>>> | According to Wikipedia, counting all CPUs sold, even the share
>>> | of 8bit 0 >> | the numbers.)
>>>
>>> Wikipedia is not a reliable source.
>>
>>It's as reliable as any encyclopedia.
>
> That is the problem we face... stupidity like that.
>
> Wiki is very far from being as reliable as any other encyclopaedia.
>
> I know some one who has a written a page entry for the Encyclopaedia
> Britanica.   He is a world expert in the subject which is why he was
> asked to do it.  When he finished the item it was peer reviewed by other
> world class experts.  It is like that for al their entries. The same
> with most other encyclopaedias. They take a lot of care.
>
> That sort of level of care does not go into wiki pages. Anyone can write
> anything on any page. There was an experiment done 3-4 years ago to see
> if was possible to get ridiculous changes past the page editors.  IT was
> so successful that after owning up some of the changes were not reversed
> until the experimenters re-edited the pages themselves.
>
> SO apart from the usual mistakes, and the authors being anything but
> experts, there are those with differing views counter editing and of
> course malicious editing.  You don't get these problems in  other
> encyclopaedias.
>
> In short due the openness of the wiki it is far less reliable than any
> other encyclopaedia. Because no one is responsible in any meaningful way
> for what is on wikipeadia.

The only study I've seen showed an error rate for wikipedia roughly 30%
higher (per article) than britannica, while a follow-on pointed out that
the articles themselves were 2.6 times longer.

Yes, it's possible to deliberately "game" wikipedia in order to prove a
point, and politicians and others who have an interest in the content of
articles vandalize them.  The number of 8-bit processors doesn't come
into these categories, and besides (as has been pointed out by others)
the wikipedia article cites sources.

So, rather than blanket statements regarding the unreliability of wikis,
or anecdotes regarding your friend the expert, are you claiming the
wikipedia author mis-quoted the statistics?  Or do you have a "more
reliable" source that says says something different?



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 16:36                   ` Chris H
  2011-06-28 16:51                     ` Joe Pfeiffer
  2011-06-28 16:52                     ` Joe Pfeiffer
@ 2011-06-28 17:06                     ` David Bernier
  2011-06-28 21:11                     ` Gib Bogle
  3 siblings, 0 replies; 84+ messages in thread
From: David Bernier @ 2011-06-28 17:06 UTC (permalink / raw)


Chris H wrote:
> In message<1bei2e54d4.fsf@snowball.wb.pfeifferfamily.net>, Joe Pfeiffer
> <pfeiffer@cs.nmsu.edu>  writes
>> "robin"<robin51@dodo.mapson.com.au>  writes:
>>
>>> "Georg Bauhaus"<rm.dash-bauhaus@futureapps.de>  wrote in message
>>> news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
>>> |
>>> | According to Wikipedia, counting all CPUs sold, even the share
>>> | of 8bit 0>>  | the numbers.)
>>>
>>> Wikipedia is not a reliable source.
>>
>> It's as reliable as any encyclopedia.
>
> That is the problem we face... stupidity like that.
>
> Wiki is very far from being as reliable as any other encyclopaedia.
>
> I know some one who has a written a page entry for the Encyclopaedia
> Britanica.   He is a world expert in the subject which is why he was
> asked to do it.  When he finished the item it was peer reviewed by other
> world class experts.  It is like that for al their entries. The same
> with most other encyclopaedias. They take a lot of care.
>
> That sort of level of care does not go into wiki pages. Anyone can write
> anything on any page. There was an experiment done 3-4 years ago to see
> if was possible to get ridiculous changes past the page editors.  IT was
> so successful that after owning up some of the changes were not reversed
> until the experimenters re-edited the pages themselves.
>
> SO apart from the usual mistakes, and the authors being anything but
> experts, there are those with differing views counter editing and of
> course malicious editing.  You don't get these problems in  other
> encyclopaedias.
>
> In short due the openness of the wiki it is far less reliable than any
> other encyclopaedia. Because no one is responsible in any meaningful way
> for what is on wikipeadia.
>
>

A few years back I had written that the Wikipedia page
on Brownian motion was about as good as what I'd expect from
Encyclopaedia Britannica.  Unfortunately, I hadn't looked at
what Encyclopaedia Britannica had on Brownian motion.

That was at a time when Encyclopaedia Britannica was a more accurate reference
than Wikipedia.  It would be interesting to find those old web pages,
if they still exist.

David Bernier


-- 
The MegaPenny Project | One Trillion Pennies:
<http://www.kokogiak.com/megapenny/thirteen.asp>



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 16:36                   ` Chris H
                                       ` (2 preceding siblings ...)
  2011-06-28 17:06                     ` David Bernier
@ 2011-06-28 21:11                     ` Gib Bogle
  2011-06-29  4:47                       ` Mart van de Wege
  2011-06-29  7:36                       ` nmm1
  3 siblings, 2 replies; 84+ messages in thread
From: Gib Bogle @ 2011-06-28 21:11 UTC (permalink / raw)


On 6/29/2011 4:36 AM, Chris H wrote:
> In message<1bei2e54d4.fsf@snowball.wb.pfeifferfamily.net>, Joe Pfeiffer
> <pfeiffer@cs.nmsu.edu>  writes
>> "robin"<robin51@dodo.mapson.com.au>  writes:
>>
>>> "Georg Bauhaus"<rm.dash-bauhaus@futureapps.de>  wrote in message
>>> news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
>>> |
>>> | According to Wikipedia, counting all CPUs sold, even the share
>>> | of 8bit 0>>  | the numbers.)
>>>
>>> Wikipedia is not a reliable source.
>>
>> It's as reliable as any encyclopedia.
>
> That is the problem we face... stupidity like that.
>
> Wiki is very far from being as reliable as any other encyclopaedia.
...

The problem with Wikipedia is that it required a lot of discretion and 
discrimination on the part of the user.  It is very good in some areas, 
and very unreliable in others (just as some people are reliable sources 
of information, and others are not).  For example, anything about 
political disputes that are still active is subject to capture by 
interested parties.  More generally, anything controversial is at risk 
of being distorted.  On the other hand, the more scientific the issue 
is, the more reliable the information on Wikipedia.  There is still a 
considerable element of randomness though, because while some articles 
are written by real experts, others are from people without a deep 
understanding on the subject.



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 13:53                     ` Georg Bauhaus
@ 2011-06-28 22:39                       ` Brian Salter-Duke
  0 siblings, 0 replies; 84+ messages in thread
From: Brian Salter-Duke @ 2011-06-28 22:39 UTC (permalink / raw)


On Tue, 28 Jun 2011 15:53:53 +0200, Georg Bauhaus <rm.dash-bauhaus@futureapps.de> wrote:
> On 28.06.11 13:59, robin wrote:
>> "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message 
>> news:4e099b90$0$6556$9b4e6d93@newsspool4.arcor-online.net...
>> | On 28.06.11 09:19, robin wrote:
>> | > "Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message
>> | > news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
>> | > |
>> | > | According to Wikipedia, counting all CPUs sold, even the share
>> | > | of 8bit µcontrollers is more than a half. (They give sources for
>> | > | the numbers.)
>> | >
>> | > Wikipedia is not a reliable source.
>> |
>> | They list their references, you didn't.
>> 
>> I've lost count of the number of times I've corrected incorrect
>> information in Wikipedia. 
>
> Are you saying that sources (about analysis of number of
> processors sold) referenced on the current page are incorrect
> and should not be referred to?

That is the key point that nobody else has mentioned. Material on
wikipedia must be sourced. You should not edit just because you "know"
it is wrong. You must have a source. If you can show from another source
that the original source is incorrect, that is fine. Not using sources is
called "original research" on wikipedia and it is not allowed under the
guidelines. It is why wikipedia is actually so much better than you
might expect it to be.


-- 
      Brian Salter-Duke          Melbourne, Australia
    My real address is b_duke(AT)bigpond(DOT)net(DOT)au
               Use this for reply or followup
   "A good programmer can write Fortran in any language"



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 15:01                       ` Chris H
@ 2011-06-29  0:20                         ` James Kuyper
  2011-06-29  8:38                         ` Michael Press
  1 sibling, 0 replies; 84+ messages in thread
From: James Kuyper @ 2011-06-29  0:20 UTC (permalink / raw)


On 06/28/2011 11:01 AM, Chris H wrote:
> In message <iuco82$u6s$1@dont-email.me>, James Kuyper
> <jameskuyper@verizon.net> writes
>> On 06/28/2011 09:03 AM, Chris H wrote:
>>> In message <iuchk8$gha$1@dont-email.me>, James Kuyper
>>> <jameskuyper@verizon.net> writes
>> ...
>>>> It's only worthwhile pointing out the unreliability of wikipedia if you
>>>> can identify a more reliable source.
>>>
>>> That is not true.   Unreliable information should be removed if it is
>>> wrong.
>>
>> If you are justified in your belief that something is wrong, you will
>> have an alternative source that you consider more reliable.
> 
> Not always.

If so, please provide a counter-example. If it happens often enough to
justify bothering to mention that possibility, it shouldn't be hard to
come up with one.

> ...  Also in many cases not information that can be put on a
> public web page. It might surprise you that in the information age
> information is power and a lot of it is NOT in the public domain.

One of the costs of secrecy is that people reach incorrect conclusions
and make bad decisions based upon the absence of the information that's
been kept secret. That's not their fault, it's the fault of the secret
keepers, and in an ideal world the secret keepers would be held liable
for the costs of those badly made decisions.

The existence of secrets is not adequate justification for criticizing
Wikipedia; it makes no claim to being able to penetrate people's secrets
- that's Wikileaks you're thinking of.

> There is a very stupid belief these days that if it is not on the
> Internet it is not real.  So if you can't provide a link it is not

Who said anything about a link? I just asked for a citation. You
remember those - they predate the Internet; they predate the invention
of electronics; they predate the invention of the the printing press.

> real....  I was discussing something similar with a friend who was at
> the start or the Internet and was discussing this in a forum. When
> challenged for links to prove what he said (as him saying "I was there
> did not count")  he replied with "two filing cabinets beside my desk".

A citation that cannot be checked by the person you're communicating
with is useless; if such a citation is the only reason you can give for
believing something, the other person is well justified in being
skeptical about it. You might be right, but you've not given him
adequate justification to believe you.

>> If so, you
>> should cite it; without such a citation, other people cannot judge the
>> accuracy of your belief that it is, in fact, a more reliable source.
> 
> SO if I write some complete crap on a wiki page (with no citations) it
> should stand unless some one has citations to prove otherwise?

How did you reach such a stupid conclusion? There's not even the
remotest connection between what I said and your response. Wikipedia's
standards require citations; the editors do clean up wiki pages that
lack them; and the particular page currently under discussion had citations.

> What you are saying is that any old rubbish can go on wiki unless some
> one has the time and resources (ie money) maintain the page to put
> something else up?

Again, that comment has no logical connection to anything which I said,
which was about wiki page which did have citations, just as most of them do.

> Besides often you have to be prepared to battle nutters and zealots who
> won't accept reality. Why should I spend time and effort on that?

That's a different matter; I've never bothered fixing a wiki page, so I
could hardly criticize someone else for failing to do so. On the other
hand, I've recognized very few errors on those pages. This is partly
because I use Wikipedia mainly to look up things I don't know about.
However, I've also frequently looked at Wikipedia pages covering topics
I'm an expert in; I've seldom seen any defect in any of those pages that
was serious enough that I'd want to bother correcting it, even if I had
endless free time. The worst cases I've seen are pages that were clearly
written by non-native speakers of English, and even those were far
cleaner than the typical message I receive from co-workers and in-laws
who aren't native speakers of English.

> If Wiki is not correct then it is wrong.

Of course it's not correct. No significant repository of knowledge is
free from errors. It's just a question of how many, and what type. If
you expect perfection, you're dreaming. If you consider a source of
information unusable solely because it has errors, without
quantification of those errors, there aren't any usable sources.
-- 
James Kuyper



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  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
  0 siblings, 2 replies; 84+ messages in thread
From: James Kuyper @ 2011-06-29  0:27 UTC (permalink / raw)


On 06/28/2011 12:51 PM, Joe Pfeiffer wrote:
> Chris H <chris@phaedsys.org> writes:
...
> So, rather than blanket statements regarding the unreliability of wikis,
> or anecdotes regarding your friend the expert, are you claiming the
> wikipedia author mis-quoted the statistics?  Or do you have a "more
> reliable" source that says says something different?

He's been asked several times now whether he has a more reliable source,
and he hasn't bothered responding to those questions. That's pretty
strong evidence that he doesn't have any, though it's not conclusive.
-- 
James Kuyper



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-29  0:27                       ` James Kuyper
@ 2011-06-29  1:00                         ` Joe Pfeiffer
  2011-06-29 16:48                         ` Phil Carmody
  1 sibling, 0 replies; 84+ messages in thread
From: Joe Pfeiffer @ 2011-06-29  1:00 UTC (permalink / raw)


James Kuyper <jameskuyper@verizon.net> writes:

> On 06/28/2011 12:51 PM, Joe Pfeiffer wrote:
>> Chris H <chris@phaedsys.org> writes:
> ...
>> So, rather than blanket statements regarding the unreliability of wikis,
>> or anecdotes regarding your friend the expert, are you claiming the
>> wikipedia author mis-quoted the statistics?  Or do you have a "more
>> reliable" source that says says something different?
>
> He's been asked several times now whether he has a more reliable source,
> and he hasn't bothered responding to those questions. That's pretty
> strong evidence that he doesn't have any, though it's not conclusive.

That seems like a pretty safe bet.  I just get really annoyed by people
who respond to wikipedia quotes by dismissing it as "unreliable" or "not
authoritative" or any of a dozen other near-synonyms, as though
reliability were a boolean function, and as though any encyclopedia has
ever been useable as a source for... well, just about anything beyond
general information or an initial overview before turning to real
sources, really.



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 21:11                     ` Gib Bogle
@ 2011-06-29  4:47                       ` Mart van de Wege
  2011-07-02  6:49                         ` Gib Bogle
  2011-06-29  7:36                       ` nmm1
  1 sibling, 1 reply; 84+ messages in thread
From: Mart van de Wege @ 2011-06-29  4:47 UTC (permalink / raw)


Gib Bogle <g.bogle@auckland.ac.nz> writes:

> On 6/29/2011 4:36 AM, Chris H wrote:
>> In message<1bei2e54d4.fsf@snowball.wb.pfeifferfamily.net>, Joe Pfeiffer
>> <pfeiffer@cs.nmsu.edu>  writes
>>> "robin"<robin51@dodo.mapson.com.au>  writes:
>>>
>>>> "Georg Bauhaus"<rm.dash-bauhaus@futureapps.de>  wrote in message
>>>> news:4dda09ca$0$6629$9b4e6d93@newsspool2.arcor-online.net...
>>>> |
>>>> | According to Wikipedia, counting all CPUs sold, even the share
>>>> | of 8bit 0>>  | the numbers.)
>>>>
>>>> Wikipedia is not a reliable source.
>>>
>>> It's as reliable as any encyclopedia.
>>
>> That is the problem we face... stupidity like that.
>>
>> Wiki is very far from being as reliable as any other encyclopaedia.
> ...
>
> The problem with Wikipedia is that it required a lot of discretion and
> discrimination on the part of the user.  It is very good in some
> areas, and very unreliable in others (just as some people are reliable
> sources of information, and others are not).  

Well yeah, but this is a particularly useless observation.

I mean, this goes for *every* source of information; they always require
discretion and discrimination. And yet discussions on the Internet are
full of people citing e.g. The Daily Mail as a reliable source.

The fact that some people evidently don't know how to handle a source
and do further research is not per se a problem with the source. Even
The Daily Mail can be a useful source, if only because it leads you to
more trustworthy sources to debunk them.

Mart

-- 
"We will need a longer wall when the revolution comes."
    --- AJS, quoting an uncertain source.



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 21:11                     ` Gib Bogle
  2011-06-29  4:47                       ` Mart van de Wege
@ 2011-06-29  7:36                       ` nmm1
  2011-06-29  9:58                         ` Georg Bauhaus
  1 sibling, 1 reply; 84+ messages in thread
From: nmm1 @ 2011-06-29  7:36 UTC (permalink / raw)


In article <iudg27$1ik$3@speranza.aioe.org>,
Gib Bogle  <g.bogle@auckland.ac.nz> wrote:
>
>The problem with Wikipedia is that it required a lot of discretion and 
>discrimination on the part of the user.  It is very good in some areas, 
>and very unreliable in others (just as some people are reliable sources 
>of information, and others are not).  For example, anything about 
>political disputes that are still active is subject to capture by 
>interested parties.  More generally, anything controversial is at risk 
>of being distorted.

Yes, precisely.  And the same applies to topics that are not often
regarded as controversial, because a particular dogma is claimed to
have been proven.  In those cases, Wikipedia's references just refer
to more prestigious papers that spout the same dogma.

The better encyclopaedias are a bit better in this respect, and
usually refer to the original sources when they exist.


Regards,
Nick Maclaren.



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-28 15:01                       ` Chris H
  2011-06-29  0:20                         ` James Kuyper
@ 2011-06-29  8:38                         ` Michael Press
  1 sibling, 0 replies; 84+ messages in thread
From: Michael Press @ 2011-06-29  8:38 UTC (permalink / raw)


In article <09bDn$GxyeCOFAH3@phaedsys.demon.co.uk>,
 Chris H <chris@phaedsys.org> wrote:

> In message <iuco82$u6s$1@dont-email.me>, James Kuyper
> <jameskuyper@verizon.net> writes
> >On 06/28/2011 09:03 AM, Chris H wrote:
> >> In message <iuchk8$gha$1@dont-email.me>, James Kuyper
> >> <jameskuyper@verizon.net> writes
> >...
> >>> It's only worthwhile pointing out the unreliability of wikipedia if you
> >>> can identify a more reliable source.
> >>
> >> That is not true.   Unreliable information should be removed if it is
> >> wrong.
> >
> >If you are justified in your belief that something is wrong, you will
> >have an alternative source that you consider more reliable.
> 
> Not always.  Also in many cases not information that can be put on a
> public web page. It might surprise you that in the information age
> information is power and a lot of it is NOT in the public domain.

'Twas ever thus. Look at the trouble it took to get 
Christian scripture published in English. Likely
it would never have happened without movable type.

> There is a very stupid belief these days that if it is not on the
> Internet it is not real.  So if you can't provide a link it is not
> real....  I was discussing something similar with a friend who was at
> the start or the Internet and was discussing this in a forum. When
> challenged for links to prove what he said (as him saying "I was there
> did not count")  he replied with "two filing cabinets beside my desk".
> 
> > If so, you
> >should cite it; without such a citation, other people cannot judge the
> >accuracy of your belief that it is, in fact, a more reliable source.
> 
> SO if I write some complete crap on a wiki page (with no citations) it
> should stand unless some one has citations to prove otherwise?

Else how are we to know it is complete crap?

> What you are saying is that any old rubbish can go on wiki unless some
> one has the time and resources (ie money) maintain the page to put
> something else up?

As I understand it, Wikipedia demands references 
to peer reviewed literature

> Besides often you have to be prepared to battle nutters and zealots who
> won't accept reality. Why should I spend time and effort on that?

Agree. Battling nutters and zealots is usually a poor use of our time.

> No wonder wiki is a mess.  

Disagree. It is as orderly or more so than many public forums.

> Yes a lot of it is good ad accurate but a
> hell of a lot is a mess.
> 
> 
> If Wiki is not correct then it is wrong

-- 
Michael Press



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-29  7:36                       ` nmm1
@ 2011-06-29  9:58                         ` Georg Bauhaus
  0 siblings, 0 replies; 84+ messages in thread
From: Georg Bauhaus @ 2011-06-29  9:58 UTC (permalink / raw)


On 29.06.11 09:36, nmm1@cam.ac.uk wrote:

> Yes, precisely.  And the same applies to topics that are not often
> regarded as controversial, because a particular dogma is claimed to
> have been proven.  In those cases, Wikipedia's references just refer
> to more prestigious papers that spout the same dogma.

Well, yes. It's always been like that. Just browse a prestigious
ecyclopaedia from the 1930s and look up "race".  What do you find?

> The better encyclopaedias are a bit better in this respect, and
> usually refer to the original sources when they exist.

Which is what Wikipedia does try to do in the case of 8bit
µcontrollers.



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-06-29  0:27                       ` James Kuyper
  2011-06-29  1:00                         ` Joe Pfeiffer
@ 2011-06-29 16:48                         ` Phil Carmody
  1 sibling, 0 replies; 84+ messages in thread
From: Phil Carmody @ 2011-06-29 16:48 UTC (permalink / raw)


James Kuyper <jameskuyper@verizon.net> writes:
> On 06/28/2011 12:51 PM, Joe Pfeiffer wrote:
> > Chris H <chris@phaedsys.org> writes:
> ...
> > So, rather than blanket statements regarding the unreliability of wikis,
> > or anecdotes regarding your friend the expert, are you claiming the
> > wikipedia author mis-quoted the statistics?  Or do you have a "more
> > reliable" source that says says something different?
> 
> He's been asked several times now whether he has a more reliable source,
> and he hasn't bothered responding to those questions.

Au contraire - he responded. In the same way that a dead frog's
leg responds to a galvanic impulse.

Phil
-- 
"At least you know where you are with Microsoft."
"True. I just wish I'd brought a paddle." -- Matthew Vernon



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  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
  0 siblings, 1 reply; 84+ messages in thread
From: Gib Bogle @ 2011-07-02  6:49 UTC (permalink / raw)


On 6/29/2011 4:47 PM, Mart van de Wege wrote:
> Gib Bogle<g.bogle@auckland.ac.nz>  writes:
>>
>> The problem with Wikipedia is that it required a lot of discretion and
>> discrimination on the part of the user.  It is very good in some
>> areas, and very unreliable in others (just as some people are reliable
>> sources of information, and others are not).
>
> Well yeah, but this is a particularly useless observation.

You want usefulness in a usenet post?  My advice is: look elsewhere.



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-07-02  6:49                         ` Gib Bogle
@ 2011-07-02 15:59                           ` Mart van de Wege
  2011-07-02 21:57                             ` Gib Bogle
  0 siblings, 1 reply; 84+ messages in thread
From: Mart van de Wege @ 2011-07-02 15:59 UTC (permalink / raw)


Gib Bogle <g.bogle@auckland.ac.nz> writes:

> On 6/29/2011 4:47 PM, Mart van de Wege wrote:
>> Gib Bogle<g.bogle@auckland.ac.nz>  writes:
>>>
>>> The problem with Wikipedia is that it required a lot of discretion and
>>> discrimination on the part of the user.  It is very good in some
>>> areas, and very unreliable in others (just as some people are reliable
>>> sources of information, and others are not).
>>
>> Well yeah, but this is a particularly useless observation.
>
> You want usefulness in a usenet post?  My advice is: look elsewhere.

I am reading this from comp.lang.ada, which is a very useful group,
thank you very much.

Mart

-- 
"We will need a longer wall when the revolution comes."
    --- AJS, quoting an uncertain source.



^ permalink raw reply	[flat|nested] 84+ messages in thread

* Re: KISS4691, a potentially top-ranked RNG.
  2011-07-02 15:59                           ` Mart van de Wege
@ 2011-07-02 21:57                             ` Gib Bogle
  0 siblings, 0 replies; 84+ messages in thread
From: Gib Bogle @ 2011-07-02 21:57 UTC (permalink / raw)


On 7/3/2011 3:59 AM, Mart van de Wege wrote:
> Gib Bogle<g.bogle@auckland.ac.nz>  writes:
>
>> On 6/29/2011 4:47 PM, Mart van de Wege wrote:
>>> Gib Bogle<g.bogle@auckland.ac.nz>   writes:
>>>>
>>>> The problem with Wikipedia is that it required a lot of discretion and
>>>> discrimination on the part of the user.  It is very good in some
>>>> areas, and very unreliable in others (just as some people are reliable
>>>> sources of information, and others are not).
>>>
>>> Well yeah, but this is a particularly useless observation.
>>
>> You want usefulness in a usenet post?  My advice is: look elsewhere.
>
> I am reading this from comp.lang.ada, which is a very useful group,
> thank you very much.
>
> Mart
>

comp.lang.fortran is also a very useful group, for Fortran-related 
matters.  It isn't necessarily useful on any other random topic.



^ permalink raw reply	[flat|nested] 84+ messages in thread

end of thread, other threads:[~2011-07-02 21:57 UTC | newest]

Thread overview: 84+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [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
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

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