From: nmm1@cam.ac.uk
Subject: Re: KISS4691, a potentially top-ranked RNG.
Date: Mon, 2 May 2011 08:31:20 +0100 (BST)
Date: 2011-05-02T08:31:20+01:00 [thread overview]
Message-ID: <iplmk8$2s6$1@gosset.csi.cam.ac.uk> (raw)
In-Reply-To: 4dbe2304$0$12961$892e0abb@auth.newsreader.octanews.com
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.
next prev parent reply other threads:[~2011-05-02 7:31 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4dae2a4b$0$55577$c30e37c6@exi-reader.telstra.net>
2011-04-28 1:14 ` KISS4691, a potentially top-ranked RNG 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 [this message]
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
[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
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
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox