Hi,

I am trying to create an R interface for Dynare++ [1], a k-order
solver for rational expectation models.  I would like some advice on
how to glue the C++ code to R.

In C++, it works the following way:

- a DynareModelEq object is initialized with the formulas, parses them
  and performs k-order symbolic expansions

- the user calls a member of this object multiple times with parameter
  values (eg for MCMC), the object returns tensors

An R interface could work this way:

modeleq <- dynare_expand(... model description ...)
result1 <- dynare_substitute(modeleq, par1)
result2 <- dynare_substitute(modeleq, par2)
etc.

So the user needs to see something in R that corresponds to a C++
object that remains in the memory between calls.  What is the proper
way to do that?  Pass a pointer?  How do I handle that in the .C()
calls, convert it to long int?  My C++ programming knowledge is pretty
limited, suggestions and examples would be appreciated.

The rest (using extern "C" constructs as described in "Writing R
Extensions") is pretty clear, except how to make R call the destructor
of the object when the garbage collector removes it.

Thanks,

Tamas

[1] 
http://www.cepremap.cnrs.fr/juillard/mambo/index.php?option=com_content&task=view&id=53&Itemid=86

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to