[Rcpp-devel] R Embedded in a class function
Davor Cubranic
cubranic at stat.ubc.ca
Mon Mar 21 16:03:30 CET 2011
Hi Cesar,
I don't know why your embed does not work, but I would suggest to rework your code a bit and follow the pattern used by Dirk in his Qt example:
1. create an RInside instance "R" in the "main" function
2. pass that RInside instance by reference to the constructor for MyEvaluator and save it to a private member variable
3. MyEvaluator::eval_x can work the same as now, except that it will begin at the line "R.parseEvalQ" since you already have the RInside instance
Hope this helps,
Davor
On 2011-03-18, at 7:49 AM, CESAR PERNALETE wrote:
>
> Hi Davor.
>
> Thanks for your response. Yes, the problem is the creation of an embedded R instance inside a method.
> Attached there is a simplified example of the way i tried.
>
> As a context, i'm using NOMAD (http://www.gerad.ca/nomad/Project/Home.html), an optimization tool where the constraints are functions created in R. These constraints must be created in the method called eval_x.
>
> Please help.
>
>
>
>
>
>
> Davor Cubranic <cubranic at stat.ubc.ca>
> 17/03/2011 05:03 p.m.
>
> Para
> CESAR PERNALETE <pernaletec at pdvsa.com>
> cc
> rcpp-devel at r-forge.wu-wien.ac.at
> Asunto
> Re: [Rcpp-devel] R Embedded in a class function
>
>
>
>
>
> If you have some specific code, that would help. If you by "class function" you mean to ask "is it possible to create an embedded R instance inside a method?", then the answer is "yes". But there are several things you may be doing incorrectly, and seeing your code would mean we can address the one that is the problem.
>
> Davor
>
>
> On 2011-03-17, at 2:11 PM, CESAR PERNALETE wrote:
>
> > I need to embed an R function in a class function. I have seen in all of the examples that the embed of R always is made in the main function. It possible to do it in a class function?
> > How would be?
> >
> > I tried to do it, and first argc, argv variables were expected. Then i assigned values to this variables in this way:
> >
> > const char *agv = "./main"; //No parameters are needed by the main function
> > int agc = 1;
> > RInside R(agc,&agv); // create an embedded R instance
> >
> > In this case no error were found at compiling, but the embed didn't work.
> >
> > If some of you have some idea i would appreciate your help.
>
>
> <embedRinAfunction.cpp>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20110321/74f3b263/attachment.htm>
More information about the Rcpp-devel
mailing list