From ripley at stats.ox.ac.uk  Sat May 12 13:27:33 2007
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Sat, 12 May 2007 12:27:33 +0100 (BST)
Subject: [Rd] Problem with rnorm ?
In-Reply-To: <dc69f8e3bca.4644a5a3@usc.edu>
References: <dc69f8e3bca.4644a5a3@usc.edu>
Message-ID: <Pine.LNX.4.64.0705121222570.27426@gannet.stats.ox.ac.uk>

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 at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
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



[Rd] Problem with rnorm ?
Prof Brian Ripley