From kjell.konis at epfl.ch  Fri Feb 13 17:49:03 2009
From: kjell.konis at epfl.ch (Kjell Konis)
Date: Fri, 13 Feb 2009 17:49:03 +0100
Subject: [Rd] Generate random numbers in Fortran
In-Reply-To: <81334.15708.qm@web59716.mail.ac4.yahoo.com>
References: <81334.15708.qm@web59716.mail.ac4.yahoo.com>
Message-ID: <4A433411-CB1A-45FC-B8A5-EAE4FE8A6AB1@epfl.ch>

Take a look at section 6.6 in Writing R Extensions. It describes how  
to call C functions from FORTRAN. Basically it just boils down to  
this, in a C file define the functions

void F77_SUB(fseedi)(void)
{
   int x = 100;
   seed_in(&x);
}


void F77_SUB(fseedo)(void)
{
   int x = 100;
   seed_out(&x);
}


void F77_SUB(myrunif)(double* px)
{
	*px = unif_rand();
}


Then you could write a FORTRAN subroutine like

       subroutine blah()
       implicit double precision (a-h,o-z)
       call fseedi()
       call myrunif(RND)
       call fseedo()
       end

The fseed* subroutines only need to be called once, fseedi at the  
beginning of your FORTRAN code and fseedo at the end.

HTH,
Kjell


On 13 f?vr. 09, at 17:32, Fabio Mathias wrote:

> Hi!!!
> It would like to know if it exists a form to use the functions to
> generate variates in FORTRAN with the same easiness I use that them in
> C? Or not?
> If yes. They would have some example? I would like to use the  
> functions rbeta, rlnorm and others!
>
>
> Sorry my english..rsrsrs
>
> Thanks!!!
>
>
>              F?bio Mathias Corr?a    University Federal of the  
> Lavras - Brazil
>
>
>
>      Veja quais s?o os assuntos do momento no Yahoo! +Buscados
>
> 	[[alternative HTML version deleted]]
>
> <ATT00001.txt>



[Rd] Generate random numbers in Fortran
Kjell Konis