[Rd] loop compilation problem
Lukas Stadler
lukas.stadler at oracle.com
Thu Aug 24 17:15:16 CEST 2017
Hi!
We’ve seen a problem with the compiler in specific cases of matrix updates:
> { m <- matrix(1:4, 2) ; z <- 0; for(i in 1) { m[z <- z + 1,z <- z + 1] <- 99; } ; m }
[,1] [,2]
[1,] 1 3
[2,] 2 99
Here, it modifies element [2,2], which is unexpected.
It behaves correct without the loop:
> { m <- matrix(1:4, 2) ; z <- 0; m[z <- z + 1,z <- z + 1] <- 99 ; m }
[,1] [,2]
[1,] 1 99
[2,] 2 4
… and without the jit:
> enableJIT(0)
[1] 3
> { m <- matrix(1:4, 2) ; z <- 0; for(i in 1) { m[z <- z + 1,z <- z + 1] <- 99; } ; m }
[,1] [,2]
[1,] 1 99
[2,] 2 4
I checked with "R Under development (unstable) (2017-08-23 r73116)”, and the problem is still there.
- Lukas
More information about the R-devel
mailing list