public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: Emil Block <blime@his.com>
To: Toon Moene <toon@moene.indiv.nluug.nl>
Cc: gcc-help@gcc.gnu.org
Subject: Re: Random Number Generator
Date: Fri, 02 Aug 2002 14:37:00 -0000	[thread overview]
Message-ID: <3D4AFB38.7916FFCD@his.com> (raw)
In-Reply-To: <3D4AE077.4FD313A2@moene.indiv.nluug.nl>

Toon Moene wrote:
> 
> Emil Block wrote:
> 
> > Does anyone know why a call to RAND with G77 returns a different value
> > than a call to RAND with F77 using the same seed?  The computer is a SUN
> > Sparc with OS 2.7. The same code is compiled in one case with G77 and in
> > the other case with F77.
> >
> > G77  rand (iseed)     returns 0.563463211
> > F77  rand (iseed)     returns 0.843506
> >
> > where iseed = 1375.
> 
> It would help if you could figure out how the Sun Fortran run time library
> does this.
> 
> G77's actually does:
> 
> srand(iseed);
> return rand();
> 
> --
> Toon Moene - mailto:toon@moene.indiv.nluug.nl - phoneto: +31 346 214290
> Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
> Maintainer, GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
> Join GNU Fortran 95: http://g95.sourceforge.net/ (under construction)


Toon

Here's what the documentation contains:

Sun WorkShop Compilers FORTRAN 77 5.0

rand, drand, irand: Return Random Values

rand returns real values in the range 0.0 through 1.0.
drand returns double precision values in the range 0.0 through 1.0. 
irand returns positive integers in the range 0 through 2147483647. 

These functions use random(3) to generate sequences of random numbers.
The three functions share the same 256 byte state array. The only advantage
of these functions is that they are widely available on UNIX systems. For
better random number generators, compare lcrans, addrans, and shufrans. See
also random(3), and the Numerical Computation Guide 

  i = irand( k ) 
  r = rand( k ) 
  d = drand( k ) 
 
  k         INTEGER*4                     Input
                   k=0: Get next random number in the sequence 
                   k=1: Restart sequence, return first number 
                   k>0: Use as a seed for new sequence, return first number 

  rand      REAL*4                        Output
  drand     REAL*8                        Output
  irand     INTEGER*4                     Output

No mention of srand but the funtion exists as well as srandom.

Is G77 (rand_.c and srand_.c) doing an additional draw?

Emil Block

  reply	other threads:[~2002-08-02 21:37 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-02  9:48 Emil Block
2002-08-02 13:00 ` Toon Moene
2002-08-02 14:37   ` Emil Block [this message]
2002-08-06  9:02     ` Toon Moene

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3D4AFB38.7916FFCD@his.com \
    --to=blime@his.com \
    --cc=gcc-help@gcc.gnu.org \
    --cc=toon@moene.indiv.nluug.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).