On Sat, 2 Apr 2005, Peter Dalgaard wrote:

[EMAIL PROTECTED] writes:

Full_Name: Teru KAMOGASHRIA
Version: 2.0.1
OS: SunOS sun 5.10 Generic i86pc i386 i86pc
Submission from: (NULL) (219.5.176.24)


rbinom.c cannot be compiled because of the casting problem.

/opt/SUNWspro/bin/cc -I. -I../../src/include -I../../src/include
-I/usr/local/include -DHAVE_CONFIG_H -D__NO_MATH_INLINES  -g -c rbinom.c -o
rbinom.o
"rbinom.c", line 60: operand must have real floating type: op "isfinite"
cc: acomp failed for rbinom.c

Following patch may solve this problem.

*** R-2.0.1.orig/src/nmath/rbinom.c     Mon Nov 15 21:33:01 2004
--- R-2.0.1/src/nmath/rbinom.c  Sun Apr  3 00:19:52 2005
***************
*** 57,63 ****
      n = floor(nin + 0.5);
      if (n != nin) ML_ERR_return_NAN;

!     if (!R_FINITE(n) || !R_FINITE(pp) ||
        /* n=0, p=0, p=1 are not errors <TSL>*/
        n < 0 || pp < 0. || pp > 1.)    ML_ERR_return_NAN;

--- 57,63 ----
      n = floor(nin + 0.5);
      if (n != nin) ML_ERR_return_NAN;

!     if (!R_FINITE((double)n) || !R_FINITE(pp) ||
        /* n=0, p=0, p=1 are not errors <TSL>*/
        n < 0 || pp < 0. || pp > 1.)    ML_ERR_return_NAN;

Hmm... But does it at all make sense to pass an integer to R_FINITE?

Dunno. It was in the original (r574 code), with finite rather than R_FINITE. It would make sense to test nin (rather than n).


and why isn't there a prototype causing automatic casting anyway?

Because isfinite is a macro. (Solaris 10 is rather new, which is probably why we have not seen this before. We received our CDs last week.)


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

Reply via email to