Hi all, There is a mistake for wich I need your ligths :
/////////////////////////////////////// I have a small C code : SEXP testData() { SEXP result; void * rans; float * my_data; int my_data_length; my_data_length = 2; my_data = new float[my_data_length]; my_data[0] = 29.958334; my_data[1] = 29.875; PROTECT(result = allocVector(REALSXP, my_data_length)); rans = (void *)REAL(result); for(int i=0; i < my_data_length; i++) ((double *)rans)[i] = (double)(my_data[i]); Rprintf("C value #1 : %f\n", ((double *)rans)[0]); Rprintf("C value #2 : %f\n", ((double *)rans)[1]); delete(my_data); UNPROTECT(1); return(result); } /////////////////////////////////////// And the R corresponding function : testData <- function() { result <- .Call("testData", PACKAGE="my_package") print(paste("R value #1 :", result[1])) print(paste("R value #2 :", result[2])) return(result) } /////////////////////////////////////// And in R console, after compilation : > my_result <- testData() C value #1 : 29.958334 C value #2 : 29.875000 [1] "R value #1 : 29.9583339691162" [1] "R value #2 : 29.875" > my_result[1] == 29.958334 [1] FALSE ??? How can I do to conserve my values ? Regards, _______________________________________________________________ e http://mail.yahoo.fr ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.