From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7988 invoked by alias); 2 Aug 2002 21:37:26 -0000 Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org Received: (qmail 7978 invoked from network); 2 Aug 2002 21:37:24 -0000 Received: from unknown (HELO smtp-3.his.com) (216.194.225.86) by sources.redhat.com with SMTP; 2 Aug 2002 21:37:24 -0000 Received: from mail.his.com (root@mail.his.com [216.194.225.77]) by smtp-3.his.com (8.12.3/8.12.3) with ESMTP id g72LbNMV031506; Fri, 2 Aug 2002 17:37:23 -0400 (EDT) (envelope-from blime@his.com) Received: from his.com (max1k-68.his.com [216.194.203.68]) by mail.his.com (8.11.6/8.10.1) with ESMTP id g72LbLv26091; Fri, 2 Aug 2002 17:37:21 -0400 (EDT) Message-ID: <3D4AFB38.7916FFCD@his.com> Date: Fri, 02 Aug 2002 14:37:00 -0000 From: Emil Block Organization: Blime Incorporated X-Accept-Language: en MIME-Version: 1.0 To: Toon Moene CC: gcc-help@gcc.gnu.org Subject: Re: Random Number Generator References: <3D4AB78B.B9163FC4@his.com> <3D4AE077.4FD313A2@moene.indiv.nluug.nl> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2002-08/txt/msg00016.txt.bz2 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