Re: [Rd] Generate random numbers in Fortran

From: Kjell Konis <kjell.konis_at_epfl.ch>
Date: Fri, 13 Feb 2009 17:49:03 +0100

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>



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Fri 13 Feb 2009 - 15:58:04 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sat 14 Feb 2009 - 11:30:24 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive