[Rd] Calling C from Fortran

From: Gilles GUILLOT <gilles.guillot_at_inapg.inra.fr>
Date: Tue 14 Jun 2005 - 17:05:24 GMT


I would like to call C routines from Fortran under linux as suggested in section 5.6 of
the "Writing R extensions" documentation.

I'm familiar with Fortran but not with C. I understand the example provided in Fortran:

subroutine testit()
double precision normrnd, x
call rndstart()

x = normrnd()
call dblepr("X was", 5, x, 1)
call rndend()

end

but I don't understand the purpose of this C wrapper: #include <R.h>
 void F77_SUB(rndstart)(void) { GetRNGstate(); }  void F77_SUB(rndend)(void) { PutRNGstate(); }  double F77_SUB(normrnd)(void) { return norm_rand(); }

neither how I should compile it.

Could anyone explain how I should compile and link the C and Fortran files above, and call the Fortran subroutine from R.

Thanks,

Gilles



R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Wed Jun 15 03:09:02 2005

This archive was generated by hypermail 2.1.8 : Mon 20 Feb 2006 - 03:21:09 GMT