From ripley at stats.ox.ac.uk  Thu May 12 06:48:16 2005
From: ripley at stats.ox.ac.uk (ripley@stats.ox.ac.uk)
Date: Thu May 12 06:48:24 2005
Subject: [Rd] bug in modulus operator %% (PR#7852)
Message-ID: <20050512044816.C3FACE182@slim.kubism.ku.dk>

On Wed, 11 May 2005 Robert.McGehee@geodecapital.com wrote:

> Yes, you are correct. I had only checked one of my platforms. Linux
> works as you suggest. But for me on Windows,
>
>> x <- 1
>> y <- 0.2
>> x %/% y
> [1] 5  ## I get a 4 in Linux

I get 5 on Windows, but

> (x %% y) + y * (x %/% y)
[1] 1

so is there a problem particular to your Windows runtime?


>
> version
>         _             =20
> platform i386-pc-mingw32
> arch     i386          =20
> os       mingw32       =20
> system   i386, mingw32 =20
> status                 =20
> major    2             =20
> minor    1.0           =20
> year     2005          =20
> month    04            =20
> day      18            =20
> language R             =20
>
>
> -----Original Message-----
> From: Peter Dalgaard [mailto:p.dalgaard@biostat.ku.dk]=20
> Sent: Wednesday, May 11, 2005 4:14 PM
> To: McGehee, Robert
> Cc: ted.harding@nessie.mcc.ac.uk; Peter Dalgaard; R-bugs@biostat.ku.dk;
> kjetil@acelerate.com; r-devel@stat.math.ethz.ch
> Subject: Re: [Rd] bug in modulus operator %% (PR#7852)
>
>
> "McGehee, Robert" <Robert.McGehee@geodecapital.com> writes:
>
>> Yes, but from ?"%%":
>> "It is guaranteed that 'x =3D=3D (x %% y) + y * (x %/% y)' (up to =
> rounding
>> error) ..."
>> =20
>> (R 2.1.0)
>>> x <- 1
>>> y <- 0.2
>>> x %% y
>> [1] 0.2
>>> (x %% y) + y * (x %/% y)
>> [1] 1.2
>> =20
>> Certainly 1 does not equal 1.2 as the documentation would suggest, and
>> these seem like large enough numbers to not be effected by rounding
>> errors or lack of precision.
>
> Now that looks a bit odd, but it isn't universal:
>
>> x <- 1
>> y <- 0.2
>> x %% y
> [1] 0.2
>> x %/% y
> [1] 4
>> (x %% y) + y * (x %/% y)
> [1] 1
>
> So what platform was that happening on?
>
> --=20
>   O__  ---- Peter Dalgaard             Blegdamsvej 3 =20
>  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N  =20
> (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
> ~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk)             FAX: (+45) 35327907
>
> ______________________________________________
> R-devel@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>

-- 
Brian D. Ripley,                  ripley@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] bug in modulus operator %% (PR#7852)
ripley@stats.ox.ac.uk