1) You are linking an executable against -lR. You can't do that as here, for R is never initialized (and I very much doubt you will be able to give a reference that recommended you to do that). You need to link against standalone libRmath, or start up R properly if you really need R.
2) The arguments to rnorm() are doubles, not integers: did you not get a warning? I would expect automatic conversion to occur, but it is better to get this right. On Fri, 11 May 2007, Tong Wang wrote: > Hi, > I couldn't get the rnorm() work right in C, for example, the following > code produce strange results. > > #include <stdio.h> > #include <Rmath.h> > > int main(void){ > double x[3]; > for(int i=0;i<3;i++) x[i]=rnorm(0,1); > printf("%lf,%lf,%lf",x[0],x[1],x[2]); > return 0; > } > > output : -8.773321,-8.773321,-8.773321 > compiling script: gcc -std=gnu99 -Wall -IC:/PROGRA~1/R/R-24~1.1/include > test.c -LC:/PROGRA~1/R/R-24~1.1/bin -lR -o test > > Could someone tell me what's wrong with my code ? Thanks a lot. > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel