R Under development (unstable) (2024-09-17 r87161 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > #' > #' Header for all (concatenated) test files > #' > #' Require spatstat.random > #' Obtain environment variable controlling tests. > #' > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ > > require(spatstat.random) Loading required package: spatstat.random Loading required package: spatstat.data Loading required package: spatstat.univar spatstat.univar 3.0-1 Loading required package: spatstat.geom spatstat.geom 3.3-3 spatstat.random 3.3-2 > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) > ALWAYS <- TRUE > cat(paste("--------- Executing", + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", + "test code -----------\n")) --------- Executing **RESTRICTED** subset of test code ----------- > #' tests/randoms.R > #' Further tests of random generation code > #' $Revision: 1.18 $ $Date: 2024/02/26 05:43:36 $ > > > local({ + if(FULLTEST) { + #' cases not covered in examples + A <- runifdisc(6, nsim=2) + A <- runifpoispp(5, nsim=2) + A <- runifpoispp(0, nsim=2) + A <- rSSI(0.05, 6, nsim=2) + A <- rSSI(0.05, 10, win=square(c(-0.5, 1.5)), x.init=A[[1]], nsim=2) + A <- rstrat(nx=4, nsim=2) + A <- rcell(square(1), nx=5, nsim=2) + } + if(ALWAYS) { # involves C code etc + A <- rthin(cells, P=0.5, nsim=2) + A <- rthin(cells, runif(42)) + A <- rthin(cells[FALSE], P=0.5, nsim=2) + } + f <- function(x,y) { 10*x } + Z <- as.im(f, square(1)) + if(ALWAYS) { + A <- rpoint(n=6, f=f, fmax=10, nsim=2) + A <- rpoint(n=6, f=Z, fmax=10, nsim=2) + A <- rpoint(n=0, f=f, fmax=10, nsim=2) + A <- rpoint(n=0, f=Z, fmax=10, nsim=2) + + op <- spatstat.options(fastpois=FALSE) + A <- runifpoispp(5, nsim=2) + A <- rpoispp(Z) + spatstat.options(op) + } + if(FULLTEST) { + b3 <- box3(c(0,1)) + b4 <- boxx(c(0,1), c(0,1), c(0,1), c(0,1)) + b5 <- c(0, 2, 0, 2) + X <- rMaternInhibition(2, kappa=20, r=0.1, win=b3) + Y <- rMaternInhibition(2, kappa=20, r=0.1, win=b4) + Y <- rMaternInhibition(2, kappa=20, r=0.1, win=b5, nsim=2) + + X <- rSSI(0.05, 6) + Y <- rSSI(0.05, 6, x.init=X) # no extra points + + Z <- rlabel(finpines) + } + + f1 <- function(x,y){(x^2 + y^3)/10} + f2 <- function(x,y){(x^3 + y^2)/10} + ZZ <- solist(A=as.im(f1, letterR), + B=as.im(f2, letterR)) + g <- function(x,y,m){(10+as.integer(m)) * (x^2 + y^3)} + if(FULLTEST) { + XX <- rmpoispp(ZZ, nsim=3) + YY <- rmpoint(10, f=ZZ, nsim=3) + UU <- rmpoint(10, f=ZZ[[1]], types=letters[1:2]) + VV <- rpoint.multi(10, f=g, + marks=factor(sample(letters[1:3], 10, replace=TRUE)), + nsim=3) + } + if(ALWAYS) { # depends on C code + L <- edges(letterR) + E <- runifpoisppOnLines(5, L) + G <- rpoisppOnLines(ZZ, L) + G2 <- rpoisppOnLines(list(A=f1, B=f2), L, lmax=max(sapply(ZZ, max))) + } + + if(FULLTEST) { + #' cluster models + bells + whistles + X <- rThomas(10, 0.2, 5, saveLambda=TRUE) + if(is.null(attr(X, "Lambda"))) + stop("rThomas did not save Lambda image") + Y <- rThomas(0, 0.2, 5, saveLambda=TRUE) + if(is.null(attr(Y, "Lambda"))) + stop("rThomas did not save Lambda image when kappa=0") + X <- rMatClust(10, 0.05, 4, saveLambda=TRUE) + X <- rCauchy(30, 0.01, 5, saveLambda=TRUE) + X <- rVarGamma(30, 2, 5, nu=0.02, saveLambda=TRUE) + Z <- as.im(function(x,y){ 5 * exp(2 * x - 1) }, owin()) + Y <- rThomas(10, 0.2, Z, saveLambda=TRUE) + Y <- rMatClust(10, 0.05, Z, saveLambda=TRUE) + Y <- rCauchy(30, 0.01, Z, saveLambda=TRUE) + Y <- rVarGamma(30, 2, Z, nu=0.02, saveLambda=TRUE) + #' inhomogeneous + Moo <- as.im(function(x,y) { 10 * x }, unit.square()) + X <- rMatClust(10, 0.2, Moo) + } + + if(FULLTEST) { + #' perfect simulation code infrastructure + expandwinPerfect(letterR, 2, 3) + + #' trivial cases of random generators for ppx + B4 <- boxx(0:1, 0:1, 0:1, 0:1) + Z0 <- runifpointx(0, domain=B4, nsim=2) + Z1 <- runifpointx(1, domain=B4, nsim=2) + } + + }) > > local({ + if(ALWAYS) { + #' Bug in rLGCP spotted by Tilman Davies + X <- rLGCP("matern", function(x,y) { 1 - 0.4* y }, + var=2, scale=0.7, nu=0.5, win = square(10), + dimyx=c(32,64)) + } + if(FULLTEST) { + ## Bug in rGRFcircembed + ## when handling incompatible data for 'mu' and 'win' + win <- owin(c(0, 3), c(0, 3)) + npix <- 300 + spatstat.options(npixel = npix) + beta0 <- 3 + beta1 <- 0 + sigma2x <- 0.2 + range <- 1.2 + nu <- 1 + set.seed(7) + x0 <- seq(0, 3, length=npix) + y0 <- seq(0, 3, length=npix) + gridcov <- outer(x0, y0, function(x,y) cos(x) - sin(y - 2)) + MU <- im(beta0 + beta1 * gridcov, xcol = x0, yrow = y0) + lg.s.c <- rLGCP('matern', mu=MU, + var = sigma2x, scale = range / sqrt(8), + nu = 1, win = win) + } + }) > > reset.spatstat.options() > > > > proc.time() user system elapsed 1.12 0.20 1.31