Displaying 20 results from an estimated 10000 matches similar to: "Evaluating expressions from within C code"
2008 Jan 16
1
Pb with defineVar() example in the "Writing R Extensions" manual
Hi,
I'm wondering if this code from the "Writing R Extensions" manual
is really safe:
SEXP mkans(double x)
{
SEXP ans;
PROTECT(ans = allocVector(REALSXP, 1));
REAL(ans)[0] = x;
UNPROTECT(1);
return ans;
}
double feval(double x, SEXP f, SEXP rho)
{
defineVar(install("x"), mkans(x), rho);
2007 Mar 27
3
Use of 'defineVar' and 'install' in .Call
Dear all,
[system and version information below]
I am trying to modify a C function for finding the root of an
expression. The function is to be called from R as .Call with input
parameters:
f: expression for which we will find the root
guesses: interval for the solution
stol: tolerance
rho: environment
The original functions I use are:
SEXP mkans(double x) {
SEXP ans;
PROTECT(ans =
2007 Mar 27
3
Use of 'defineVar' and 'install' in .Call
Dear all,
[system and version information below]
I am trying to modify a C function for finding the root of an
expression. The function is to be called from R as .Call with input
parameters:
f: expression for which we will find the root
guesses: interval for the solution
stol: tolerance
rho: environment
The original functions I use are:
SEXP mkans(double x) {
SEXP ans;
PROTECT(ans =
1998 Sep 22
1
"Segmentation Fault - core dumped" in R 0.62.3
I am occasional getting "Segmentation Fault - core dumped" in R 0.62.3 (I think
more often then I did in 0.62.2). I have not been able to do this in any
reliably reproducible way yet, but thought I would mention the problem in case
some else can isolate it.
Paul Gilbert
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read
2008 Jan 04
1
Evaluating R expressions from C
I am currently puzzled by a passage in the R Extensions manual, section 5.10:
SEXP lapply(SEXP list, SEXP expr, SEXP rho)
{
R_len_t i, n = length(list);
SEXP ans;
if(!isNewList(list)) error("`list' must be a list");
if(!isEnvironment(rho)) error("`rho' should be an environment");
PROTECT(ans = allocVector(VECSXP, n));
2003 Nov 03
2
lang2(...) with two and more arguments
Dear R-help,
how could I create an R call in C code using lang2 with 2 and more
arguments? I tried this code:
SEXP f(SEXP fn, SEXP rho)
{
SEXP R_fcall, x, y;
PROTECT(R_fcall = lang2(fn, R_NilValue));
PROTECT(x = allocVector(REALSXP, 1));
PROTECT(y = allocVector(REALSXP, 1));
REAL(x)[0] = 10;
REAL(y)[0] = 20;
SETCADR(R_fcall, x);
SETCADR(R_fcall, y);
2008 Apr 24
1
Calling R functions with multiple arguments from C
Hi,
I'm writing a C function that has to call a R function with multiple
arguments. I've read the relevant section in Writing R Extensions, and
searched the R site, mailing lists as well as rseek. I managed to call
the function, but I'm now having trouble creating the argument list.
I tried to create a pairlist of the arguments and send it to the R
function. The R function however
2005 Nov 07
3
R thread safe
Dear R-dev,
I would like to accelerate my R computation by using parallel OpenMP compilers
(e.g from Pathscale) on a 2-processor AMD server and I would like to know
whether R is a tread safe library. The main kernel of the OpenMP
parallelization is a C SEXP function that performs the computational routine in
parallel with:
*******************
SEXP example(SEXP list, SEXP expr, SEXP rho)
{
2004 Jan 21
2
derivative of atan(x) and similar functions
Dear R experts.
'D()' function recognizes some of the analitical functions, such as
sin, cos, etc. But I'd like to take analytical derivatives from asin,
atan etc. functions. Are there any R packages providing that features?
Thanks.
--
Timur.
2005 Nov 07
4
Time-measurement in milliseconds
Hi there
I'm loking for a time-measurement to measure time-differences in
milliseconds.
On my search, I only found the following:
- package "base": Sys.time()
-> only second-accuracy
- package "R.utils": System$currentTimeMillis()
-> returns integer of milliseconds, but accuracy is only whole
seconds too.
At the moment I run every bit of code to measure
2003 Jan 17
1
Arguments of R- and C-side of internal functions
Dear R experts,
I looked at the body of, say, `optim' function and found
the call to the `.Internal', C optim function. It looks
like this:
.Internal(optim(par, fn1, gr1, method, con, lower, upper))
On the other hand, the C prototype of optim is:
SEXP do_optim(SEXP call, SEXP op, SEXP args, SEXP rho);
So, I guess that all the list of parameters passing in R are assigned
to
2009 Aug 20
2
Problem using findVar( ) in combination with R's lazy evaluation
Hi All,
I have a few small questions about the usage of the C findVar( ) function
when used in C code called with '.Call'. In my case I create an R function
with an argument. This function calls some C code in which I use findVar( )
to retrieve the values from the argument. Ofcourse normally I would just
give the values as argument to .Call, but in my project I need to use
findVar for
2014 Mar 05
1
[PATCH] Code coverage support proof of concept
Hello,
I submit a patch for review that implements code coverage tracing in
the R interpreter.
It records the lines that are actually executed and their associated
frequency for which srcref information is available.
I perfectly understands that this patch will not make its way inside R
as it is, that they are many concerns of stability, compatibility,
maintenance and so on.
I would like to have
2008 Apr 05
2
Adding a Matrix Exponentiation Operator
Hi all
I recently started to write a matrix exponentiation operator for R (by
adding a new operator definition to names.c, and adding the following code
to arrays.c). It is not finished yet, but I would like to solicit some
comments, as there are a few areas of R's internals that I am still feeling
my way around.
Firstly:
1) Would there be interest in adding a new operator %^% that performs
2019 Jul 13
2
Mitigating Stalls Caused by Call Deparse on Error
When large calls cause errors R may stall for extended periods.? This
is particularly likely to happen with `do.call`, as in this example
with a 24 second stall:
??? x <- runif(1e7)
??? system.time(do.call(paste0, list(abs, x)))? # intentional error
??? ## Error in (function (..., collapse = NULL)? :
??? ##?? cannot coerce type 'builtin' to vector of type 'character'
??? ##
2010 Feb 20
1
how to create a SEXP which could be accessed in embedded R
Hi all,
I am not familiar with writing R extensions. In a C program, I want to create a SEXP and access it in embedded R. How to let the embedded engine know there's a new vector? For example, after creating a SEXP, parsing 'ls()' in embedded R and then evaluating, STRSXP returned will contain the name of the SEXP. Any help would be appreciated.
Regards,
Spiral
[[alternative HTML
2019 Jul 14
2
[External] Mitigating Stalls Caused by Call Deparse on Error
Luke, thanks for considering the issue.? I would like to
try to separate the problem into two parts, as I _think_
your comments address primarily part 2 below:
1. How can we avoid significant and possibly crippling
?? stalls on error with these non-standard calls.
2. What is the best way to view these non-standard calls.
I agree that issue 2. requires further thought and
discussion under a
2013 Aug 27
1
Error in simulation. NAN
Hi all,
im triyng to implement a bayesian model with R and c++.
I have a strange problem. I can't reproduce the error with a small
script and then i post the original one.
The problem is after the line
for(MCMC_iter2=0;MCMC_iter2<thin;MCMC_iter2++)
For the first 34 iterations all work fine, after, all the simulations
of mu_acc_P return an "nan". If i delete the line
2004 Jun 16
1
off topic: C/C++ codes for pseudo inverse
Hi,
I am looking for C/C++ codes for computing generalized
inverse of a matrix. Can anyone help me in this
regard?
Thanks,
Mahbub.
2007 Jan 19
5
Problem with C extension
Hello,
I try to write an extension in C, to get a faster functions.
Therefore I have to add an element (vector) to a vector. The command in
R is very simple: x = c(x,a)
But in C I have the problem to reallocate my vector for getting more
space. Everything I tried, I get a "Segmentation fault".
So, how can I combine two vectors in C and give the result back to R
(return(x))?
Thanks