[Rd] Have you ever experienced this problem with REAL in a C code

Mathieu Ribatet mathieu.ribatet at epfl.ch
Fri May 9 11:45:53 CEST 2008


    Dear all,

I'm currently experiencing big troubles with my C code called by .Call 
in a R function.

I know this may not be the right place for such things but these errors 
are driving me crazy. And I hope other people may have already 
experienced these problems so that they could give me good suggestions.
Sorry if I'm completely out of topic.

Well let's go...

I'm writing a MCMC algo for Bayesian analysis. The MCMC part is written 
in C but call R objects (e.g. output and arguments are SEXP). The C is 
called by a wrapper R function through .Call. The posterior density is 
computed using a R code that calls 2 different codes: one for the prior 
distribution and one for the likelihood. The prior distribution is fully 
written in R while the likelihood is computed using a C code. Both of 
these codes are (seem to be) ok and *always* return numeric - and no 
special values as Inf, NA,...

When I'm running my codes (enclosed you'll find the C code), I get one 
of the following error - *when error occurs*:

Error in gibbs(1000, init, prior.p, "whitmat", data = ms1, coord = 
locations,  :
  REAL() can only be applied to a 'numeric', not a 'raw'

or

Error in gibbs(1000, init, prior.p, "whitmat", data = ms1, coord = 
locations,  :
  REAL() can only be applied to a 'numeric', not a 'list'

or

Error in gibbs(1000, init, prior.p, "whitmat", data = ms1, coord = 
locations,  :
  REAL() can only be applied to a 'numeric', not an 'integer'

The problem is that REAL seems not to be applied to a list (I've got no 
list objects), and not to an integer too.
I checked for wrong allocation memory, infinite values but found nothing...

Any suggestions for possible reasons would be definitively appreciated.
Again, if this mail has no reason to be in this list; sorry and forget it.
Best,
Mathieu

-- 
Institute of Mathematics
Ecole Polytechnique Fédérale de Lausanne
STAT-IMA-FSB-EPFL, Station 8
CH-1015 Lausanne   Switzerland
http://stat.epfl.ch/
Tel: + 41 (0)21 693 7907



More information about the R-devel mailing list