[R] problem when I Call C subfunction in void function
eguichard
elie.guichard at inserm.fr
Wed Aug 27 17:36:56 CEST 2014
Thank you.
I can improve my program with your response but I have an other problem.
/double essai (double *Px, int *tailleP)
{
int i;
for (i = 0; i < *tailleP; i++)
{
Px[i]=Px[i]*2;
Rprintf ("I print Px %f\t", Px[i]);
}
Rprintf("\n");
return *Px;
}
void test_essai (double *Px, int *tailleP, double *res)
{
int i;
*res = essai(Px, tailleP);
for (i = 0; i < *tailleP; i++)
{
Rprintf ("I print res %f\t", res[i]);
}
}/
When I compile it in R
/trajPx <- c(2,5,5,4)
.C("test_essai",Px = as.numeric(trajPx),tailleP =
as.integer(length(trajPx)),res = numeric(4))/
I have the following result:
I print Px 4.000000 I print Px 10.000000 I print Px 10.000000 I
print Px 8.000000
I print res 4.000000 I print res 0.000000 I print res 0.000000 I
print res 0.000000
$Px
[1] 4 10 10 8
$tailleP
[1] 4
$res
[1] 4 0 0 0
I haven't problem in "essai" function but I can't correctly return "Px"
vector.
I d'ont understand why I get only the first number (number 4 in my exemple)
?
--
View this message in context: http://r.789695.n4.nabble.com/problem-when-I-Call-C-subfunction-in-void-function-tp4696073p4696103.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list