R Under development (unstable) (2024-07-05 r86875 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-0 Loading required package: spatstat.geom spatstat.geom 3.3-1 spatstat.random 3.3-0 > 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/rmhAux.R > # > # $Revision: 1.2 $ $Date: 2020/05/01 02:42:58 $ > # > # For interactions which maintain 'auxiliary data', > # verify that the auxiliary data are correctly updated. > # > # To do this we run rmh with nsave=1 so that the point pattern state > # is saved after every iteration, then the algorithm is restarted, > # and the auxiliary data are re-initialised. The final state must agree with > # the result of simulation without saving. > # ---------------------------------------------------- > > if(ALWAYS) { # involves C code + local({ + + # Geyer: + mod <- list(cif="geyer", + par=list(beta=1.25,gamma=1.6,r=0.2,sat=4.5), + w=square(10)) + + set.seed(42) + X.nosave <- rmh(model=mod, + start=list(n.start=50), + control=list(nrep=1e3, periodic=FALSE, expand=1)) + set.seed(42) + X.save <- rmh(model=mod, + start=list(n.start=50), + control=list(nrep=1e3, periodic=FALSE, expand=1, + nburn=0, nsave=1, pstage="start")) + #' Need to set pstage='start' so that proposals are generated + #' at the start of the procedure in both cases. + + stopifnot(npoints(X.save) == npoints(X.nosave)) + stopifnot(max(nncross(X.save, X.nosave)$dist) == 0) + stopifnot(max(nncross(X.nosave, X.save)$dist) == 0) + }) + } Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. Extracting proposal points...Running Metropolis-Hastings. > ## > ## tests/rmhBasic.R > ## > ## $Revision: 1.23 $ $Date: 2020/05/01 02:42:58 $ > # > # Test examples for rmh.default > # run to reasonable length > # and with tests for validity added > # ---------------------------------------------------- > > local({ + + if(!exists("nr") || is.null(nr)) nr <- 1000 + nrlong <- 2e3 + spatstat.options(expand=1.05) + + if(ALWAYS) { ## fundamental C code + ## Strauss process. + mod01 <- list(cif="strauss", + par=list(beta=2,gamma=0.2,r=0.7), + w=c(0,10,0,10)) + X1.strauss <- rmh(model=mod01, + start=list(n.start=80), + control=list(nrep=nr)) + X1.strauss2 <- rmh(model=mod01, + start=list(n.start=80), + control=list(nrep=nr, periodic=FALSE)) + + ## Strauss process, conditioning on n = 80: + X2.strauss <- rmh(model=mod01,start=list(n.start=80), + control=list(p=1,nrep=nr)) + stopifnot(npoints(X2.strauss) == 80) + + ## test tracking mechanism + X1.strauss <- rmh(model=mod01,start=list(n.start=80), + control=list(nrep=nr), track=TRUE) + X2.strauss <- rmh(model=mod01,start=list(n.start=80), + control=list(p=1,nrep=nr), track=TRUE) + + ## Hard core process: + mod02 <- list(cif="hardcore",par=list(beta=2,hc=0.7),w=c(0,10,0,10)) + X3.hardcore <- rmh(model=mod02,start=list(n.start=60), + control=list(nrep=nr)) + X3.hardcore2 <- rmh(model=mod02,start=list(n.start=60), + control=list(nrep=nr, periodic=FALSE)) + + ## Strauss process equal to pure hardcore: + mod02 <- list(cif="strauss",par=list(beta=2,gamma=0,r=0.7),w=c(0,10,0,10)) + X3.strauss <- rmh(model=mod02,start=list(n.start=60), + control=list(nrep=nr)) + + ## Strauss process in a polygonal window. + x <- c(0.55,0.68,0.75,0.58,0.39,0.37,0.19,0.26,0.42) + y <- c(0.20,0.27,0.68,0.99,0.80,0.61,0.45,0.28,0.33) + mod03 <- list(cif="strauss",par=list(beta=2000,gamma=0.6,r=0.07), + w=owin(poly=list(x=x,y=y))) + X4.strauss <- rmh(model=mod03,start=list(n.start=90), + control=list(nrep=nr)) + + ## Strauss process in a polygonal window, conditioning on n = 42. + X5.strauss <- rmh(model=mod03,start=list(n.start=42), + control=list(p=1,nrep=nr)) + stopifnot(npoints(X5.strauss) == 42) + + ## Strauss process, starting off from X4.strauss, but with the + ## polygonal window replace by a rectangular one. At the end, + ## the generated pattern is clipped to the original polygonal window. + xxx <- X4.strauss + xxx$window <- as.owin(c(0,1,0,1)) + X6.strauss <- rmh(model=mod03,start=list(x.start=xxx), + control=list(nrep=nr)) + + ## Strauss with hardcore: + mod04 <- list(cif="straush",par=list(beta=2,gamma=0.2,r=0.7,hc=0.3), + w=c(0,10,0,10)) + X1.straush <- rmh(model=mod04,start=list(n.start=70), + control=list(nrep=nr)) + X1.straush2 <- rmh(model=mod04,start=list(n.start=70), + control=list(nrep=nr, periodic=FALSE)) + + ## Another Strauss with hardcore (with a perhaps surprising result): + mod05 <- list(cif="straush",par=list(beta=80,gamma=0.36,r=45,hc=2.5), + w=c(0,250,0,250)) + X2.straush <- rmh(model=mod05,start=list(n.start=250), + control=list(nrep=nr)) + + ## Pure hardcore (identical to X3.strauss). + mod06 <- list(cif="straush",par=list(beta=2,gamma=1,r=1,hc=0.7), + w=c(0,10,0,10)) + X3.straush <- rmh(model=mod06,start=list(n.start=60), + control=list(nrep=nr)) + + ## Fiksel + modFik <- list(cif="fiksel", + par=list(beta=180,r=0.15,hc=0.07,kappa=2,a= -1.0), + w=square(1)) + X.fiksel <- rmh(model=modFik,start=list(n.start=10), + control=list(nrep=nr)) + X.fiksel2 <- rmh(model=modFik,start=list(n.start=10), + control=list(nrep=nr,periodic=FALSE)) + + ## Penttinen process: + modpen <- rmhmodel(cif="penttinen",par=list(beta=2,gamma=0.6,r=1), + w=c(0,10,0,10)) + X.pen <- rmh(model=modpen,start=list(n.start=10), + control=list(nrep=nr)) + X.pen2 <- rmh(model=modpen,start=list(n.start=10), + control=list(nrep=nr, periodic=FALSE)) + ## equivalent to hardcore + modpen$par$gamma <- 0 + X.penHard <- rmh(model=modpen,start=list(n.start=3), + control=list(nrep=nr)) + + ## Area-interaction, inhibitory + mod.area <- list(cif="areaint", + par=list(beta=2,eta=0.5,r=0.5), + w=square(10)) + X.area <- rmh(model=mod.area,start=list(n.start=60), + control=list(nrep=nr)) + X.areaE <- rmh(model=mod.area,start=list(n.start=60), + control=list(nrep=nr, periodic=FALSE)) + + ## Area-interaction, clustered + mod.area2 <- list(cif="areaint", par=list(beta=2,eta=1.5,r=0.5), + w=square(10)) + X.area2 <- rmh(model=mod.area2,start=list(n.start=60), + control=list(nrep=nr)) + + ## Area-interaction close to hard core + set.seed(42) + mod.area0 <- list(cif="areaint",par=list(beta=2,eta=1e-300,r=0.35), + w=square(10)) + X.area0 <- rmh(model=mod.area0,start=list(x.start=X3.hardcore), + control=list(nrep=nrlong)) + stopifnot(nndist(X.area0) > 0.6) + + ## Soft core: + w <- c(0,10,0,10) + mod07 <- list(cif="sftcr",par=list(beta=0.8,sigma=0.1,kappa=0.5), + w=c(0,10,0,10)) + X.sftcr <- rmh(model=mod07,start=list(n.start=70), + control=list(nrep=nr)) + X.sftcr2 <- rmh(model=mod07,start=list(n.start=70), + control=list(nrep=nr, periodic=FALSE)) + + ## Diggle, Gates, and Stibbard: + mod12 <- list(cif="dgs",par=list(beta=3600,rho=0.08),w=c(0,1,0,1)) + X.dgs <- rmh(model=mod12,start=list(n.start=300), + control=list(nrep=nr)) + X.dgs2 <- rmh(model=mod12,start=list(n.start=300), + control=list(nrep=nr, periodic=FALSE)) + + ## Diggle-Gratton: + mod13 <- list(cif="diggra", + par=list(beta=1800,kappa=3,delta=0.02,rho=0.04), + w=square(1)) + X.diggra <- rmh(model=mod13,start=list(n.start=300), + control=list(nrep=nr)) + X.diggra2 <- rmh(model=mod13,start=list(n.start=300), + control=list(nrep=nr, periodic=FALSE)) + + ## Geyer: + mod14 <- list(cif="geyer",par=list(beta=1.25,gamma=1.6,r=0.2,sat=4.5), + w=c(0,10,0,10)) + X1.geyer <- rmh(model=mod14,start=list(n.start=200), + control=list(nrep=nr)) + + ## Geyer; same as a Strauss process with parameters + ## (beta=2.25,gamma=0.16,r=0.7): + mod15 <- list(cif="geyer",par=list(beta=2.25,gamma=0.4,r=0.7,sat=10000), + w=c(0,10,0,10)) + X2.geyer <- rmh(model=mod15,start=list(n.start=200), + control=list(nrep=nr)) + X2.geyer2 <- rmh(model=mod15,start=list(n.start=200), + control=list(nrep=nr, periodic=FALSE)) + + mod16 <- list(cif="geyer",par=list(beta=8.1,gamma=2.2,r=0.08,sat=3)) + X3.geyer <- rmh(model=mod16,start=list(x.start=redwood), + control=list(periodic=TRUE,nrep=nr)) + X3.geyer2 <- rmh(model=mod16,start=list(x.start=redwood), + control=list(periodic=FALSE,nrep=nr)) + + ## Geyer, starting from the redwood data set, simulating + ## on a torus, and conditioning on n: + X4.geyer <- rmh(model=mod16,start=list(x.start=redwood), + control=list(p=1,periodic=TRUE,nrep=nr)) + + ## Lookup (interaction function h_2 from page 76, Diggle (2003)): + r <- seq(from=0,to=0.2,length=101)[-1] # Drop 0. + h <- 20*(r-0.05) + h[r<0.05] <- 0 + h[r>0.10] <- 1 + mod17 <- list(cif="lookup",par=list(beta=4000,h=h,r=r),w=c(0,1,0,1)) + X.lookup <- rmh(model=mod17,start=list(n.start=100), + control=list(nrep=nr, periodic=TRUE)) + X.lookup2 <- rmh(model=mod17,start=list(n.start=100), + control=list(nrep=nr, expand=1, periodic=FALSE)) + ## irregular + mod17x <- mod17 + mod17x$par$r <- 0.05*sqrt(mod17x$par$r/0.05) + X.lookupX <- rmh(model=mod17x,start=list(n.start=100), + control=list(nrep=nr, periodic=TRUE)) + X.lookupX2 <- rmh(model=mod17x,start=list(n.start=100), + control=list(nrep=nr, expand=1, periodic=FALSE)) + + ## Strauss with trend + tr <- function(x,y){x <- x/250; y <- y/250; + exp((6*x + 5*y - 18*x^2 + 12*x*y - 9*y^2)/6) + } + beta <- 0.3 + gmma <- 0.5 + r <- 45 + tr3 <- function(x,y){x <- x/250; y <- y/250; + exp((6*x + 5*y - 18*x^2 + 12*x*y - 9*y^2)/6) + } + ## log quadratic trend + mod17 <- list(cif="strauss", + par=list(beta=beta,gamma=gmma,r=r),w=c(0,250,0,250), + trend=tr3) + X1.strauss.trend <- rmh(model=mod17,start=list(n.start=90), + control=list(nrep=nr)) + + #' trend is an image + mod18 <- mod17 + mod18$trend <- as.im(mod18$trend, square(10)) + X1.strauss.trendim <- rmh(model=mod18,start=list(n.start=90), + control=list(nrep=nr)) + + } + if(FULLTEST) { + #'..... Test other code blocks ................. + + #' argument passing to rmhcontrol + X1S <- rmh(model=mod01, control=NULL, nrep=nr) + X1f <- rmh(model=mod01, fixall=TRUE, nrep=nr) # issues a warning + } + + if(ALWAYS) { + #' nsim > 1 + Xlist <- rmh(model=mod01,start=list(n.start=80), + control=list(nrep=nr), + nsim=2) + #' Condition on contents of window + XX <- Xlist[[1]] + YY <- XX[square(2)] + XXwindow <- rmh(model=mod01, start=list(n.start=80), + control=list(nrep=nr, x.cond=YY)) + XXwindowTrend <- rmh(model=mod17, start=list(n.start=80), + control=list(nrep=nr, x.cond=YY)) + + #' Palm conditioning + XXpalm <- rmh(model=mod01,start=list(n.start=80), + control=list(nrep=nr, x.cond=coords(YY))) + XXpalmTrend <- rmh(model=mod17,start=list(n.start=80), + control=list(nrep=nr, x.cond=coords(YY))) + + #' nsave, nburn + chq <- function(X) { + Xname <- deparse(substitute(X)) + A <- attr(X, "saved") + if(length(A) == 0) + stop(paste(Xname, "did not include a saved list of patterns")) + return("ok") + } + XXburn <- rmh(model=mod01,start=list(n.start=80), verbose=FALSE, + control=list(nrep=nr, nsave=500, nburn=100)) + chq(XXburn) + XXburnTrend <- rmh(model=mod17,start=list(n.start=80), verbose=FALSE, + control=list(nrep=nr, nsave=500, nburn=100)) + chq(XXburnTrend) + XXburn0 <- rmh(model=mod01,start=list(n.start=80), verbose=FALSE, + control=list(nrep=nr, nsave=500, nburn=0)) + chq(XXburn0) + XXsaves <- rmh(model=mod01,start=list(n.start=80), verbose=FALSE, + control=list(nrep=nr, nsave=c(500, 200))) + chq(XXsaves) + XXsaves0 <- rmh(model=mod01,start=list(n.start=80), verbose=FALSE, + control=list(nrep=nr, nsave=c(500, 200), nburn=0)) + chq(XXsaves0) + } + + if(FULLTEST) { + #' code blocks for various interactions, not otherwise tested + rr <- seq(0,0.2,length=8)[-1] + gmma <- c(0.5,0.6,0.7,0.8,0.7,0.6,0.5) + mod18 <- list(cif="badgey",par=list(beta=4000, gamma=gmma,r=rr,sat=5), + w=square(1)) + Xbg <- rmh(model=mod18,start=list(n.start=20), + control=list(nrep=1e4, periodic=TRUE)) + Xbg2 <- rmh(model=mod18,start=list(n.start=20), + control=list(nrep=1e4, periodic=FALSE)) + #' supporting classes + rs <- rmhstart() + print(rs) + rs <- rmhstart(x.start=cells) + print(rs) + rc <- rmhcontrol(x.cond=as.list(as.data.frame(cells))) + print(rc) + rc <- rmhcontrol(x.cond=as.data.frame(cells)[FALSE, , drop=FALSE]) + print(rc) + rc <- rmhcontrol(nsave=100, ptypes=c(0.7, 0.3), x.cond=amacrine) + print(rc) + rc <- rmhcontrol(ptypes=c(0.7, 0.3), x.cond=as.data.frame(amacrine)) + print(rc) + } + + }) Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Evaluating trend integral...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Evaluating trend integral...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Generating 2 point patterns... 1, 2. Done. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Evaluating trend integral...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Evaluating trend integral...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. > reset.spatstat.options() > ## > ## tests/rmhErrors.R > ## > ## $Revision: 1.6 $ $Date: 2020/05/01 02:42:58 $ > ## > # Things which should cause an error > > if(ALWAYS) { + local({ + if(!exists("nv")) nv <- 0 + if(!exists("nr")) nr <- 1e3 + ## Strauss with zero intensity and p = 1 + mod0S <- list(cif="strauss",par=list(beta=0,gamma=0.6,r=0.7), w = square(3)) + out <- try(X0S <- rmh(model=mod0S,start=list(n.start=80), + control=list(p=1,nrep=nr,nverb=nv),verbose=FALSE)) + if(!inherits(out, "try-error")) + stop("Error not trapped (Strauss with zero intensity and p = 1) in tests/rmhErrors.R") + }) + } Error : beta = 0 implies an empty pattern, but we are simulating conditional on a nonzero number of points > > > > # > # tests/rmhExpand.R > # > # test decisions about expansion of simulation window > # > # $Revision: 1.9 $ $Date: 2022/10/23 01:17:33 $ > # > > local({ + if(FULLTEST) { + ## rmhexpand class + a <- summary(rmhexpand(area=2)) + print(a) + b <- summary(rmhexpand(length=4)) + print(b) + print(summary(rmhexpand(distance=2))) + print(summary(rmhexpand(square(2)))) + } + }) > > > > # > # tests/rmhMulti.R > # > # tests of rmh.default, running multitype point processes > # > # $Revision: 1.17 $ $Date: 2022/01/05 02:07:32 $ > > local({ + if(!exists("nr")) nr <- 2e3 + if(!exists("nv")) nv <- 0 + spatstat.options(expand=1.05) + + if(FULLTEST) { + ## Multitype Poisson + modp2 <- list(cif="poisson", + par=list(beta=2), types=letters[1:3], w = square(10)) + Xp2 <- rmh(modp2, start=list(n.start=0), control=list(p=1)) + + ## Multinomial + Xp2fix <- rmh(modp2, start=list(n.start=c(10,20,30)), + control=list(fixall=TRUE, p=1)) + Xp2fixr <- rmh(modp2, start=list(x.start=Xp2fix), + control=list(fixall=TRUE, p=1)) + } + + if(ALWAYS) { ## Gibbs models => C code + + ## Multitype Strauss: + beta <- c(0.027,0.008) + gmma <- matrix(c(0.43,0.98,0.98,0.36),2,2) + r <- matrix(c(45,45,45,45),2,2) + mod08 <- list(cif="straussm",par=list(beta=beta,gamma=gmma,radii=r), + w=c(0,250,0,250)) + X1.straussm <- rmh(model=mod08,start=list(n.start=80), + control=list(ptypes=c(0.75,0.25),nrep=nr,nverb=nv)) + + ## Multitype Strauss equivalent to hard core: + mod08hard <- mod08 + mod08hard$par$gamma[] <- 0 + X1.straussm.Hard <- rmh(model=mod08hard,start=list(n.start=20), + control=list(ptypes=c(0.75,0.25),nrep=nr,nverb=nv), + periodic=FALSE) + X1.straussmP.Hard <- rmh(model=mod08hard,start=list(n.start=20), + control=list(ptypes=c(0.75,0.25),nrep=nr,nverb=nv), + periodic=TRUE) + + ## Multitype Strauss conditioning upon the total number + ## of points being 80: + X2.straussm <- rmh(model=mod08,start=list(n.start=80), + control=list(p=1,ptypes=c(0.75,0.25),nrep=nr, + nverb=nv)) + stopifnot(X2.straussm$n == 80) + + ## Conditioning upon the number of points of type 1 being 60 + ## and the number of points of type 2 being 20: + X3.straussm <- rmh(model=mod08,start=list(n.start=c(60,20)), + control=list(fixall=TRUE,p=1,ptypes=c(0.75,0.25), + nrep=nr,nverb=nv)) + stopifnot(all(table(X3.straussm$marks) == c(60,20))) + + ## Multitype hardcore: + rhc <- matrix(c(9.1,5.0,5.0,2.5),2,2) + mod087 <- list(cif="multihard",par=list(beta=5*beta,hradii=rhc), + w=square(12)) + cheque <- function(X, r) { + Xname <- deparse(substitute(X)) + nn <- minnndist(X, by=marks(X)) + print(nn) + if(!all(nn >= r, na.rm=TRUE)) + stop(paste(Xname, "violates hard core constraint"), call.=FALSE) + return(invisible(NULL)) + } + #' make an initial state that violates hard core + #' (cannot use 'x.start' here because it disables thinning) + #' and check that result satisfies hard core + set.seed(19171025) + X.multihard.close <- rmh(model=mod087,start=list(n.start=100), + control=list(ptypes=c(0.75,0.25),nrep=nr,nverb=nv), + periodic=FALSE) + cheque(X.multihard.close, rhc) + X.multihard.closeP <- rmh(model=mod087,start=list(n.start=100), + control=list(ptypes=c(0.75,0.25),nrep=nr,nverb=nv, + periodic=TRUE)) + cheque(X.multihard.closeP, rhc) + + ## Multitype Strauss hardcore: + mod09 <- list(cif="straushm", + par=list(beta=5*beta,gamma=gmma, + iradii=r,hradii=rhc),w=square(12)) + X.straushm <- rmh(model=mod09,start=list(n.start=100), + control=list(ptypes=c(0.75,0.25),nrep=nr,nverb=nv), + periodic=FALSE) + X.straushmP <- rmh(model=mod09,start=list(n.start=100), + control=list(ptypes=c(0.75,0.25),nrep=nr,nverb=nv, + periodic=TRUE)) + + ## Multitype Strauss hardcore equivalent to multitype hardcore: + mod09hard <- mod09 + mod09hard$par$gamma[] <- 0 + X.straushm.hard <- rmh(model=mod09hard,start=list(n.start=15), + control=list(ptypes=c(0.75,0.25),nrep=nr,nverb=nv, + periodic=FALSE)) + X.straushmP.hard <- rmh(model=mod09hard,start=list(n.start=15), + control=list(ptypes=c(0.75,0.25),nrep=nr,nverb=nv), + periodic=TRUE) + + ## Multitype Strauss hardcore with trends for each type: + beta <- c(0.27,0.08) + tr3 <- function(x,y){x <- x/250; y <- y/250; + exp((6*x + 5*y - 18*x^2 + 12*x*y - 9*y^2)/6) + } # log quadratic trend + tr4 <- function(x,y){x <- x/250; y <- y/250; exp(-0.6*x+0.5*y)} + # log linear trend + mod10 <- list(cif="straushm", + par=list(beta=beta,gamma=gmma, + iradii=r,hradii=rhc),w=c(0,250,0,250), + trend=list(tr3,tr4)) + X1.straushm.trend <- rmh(model=mod10,start=list(n.start=350), + control=list(ptypes=c(0.75,0.25), + nrep=nr,nverb=nv)) + + ## Multitype Strauss hardcore with trends for each type, given as images: + bigwin <- square(250) + i1 <- as.im(tr3, bigwin) + i2 <- as.im(tr4, bigwin) + mod11 <- list(cif="straushm",par=list(beta=beta,gamma=gmma, + iradii=r,hradii=rhc),w=bigwin, + trend=list(i1,i2)) + X2.straushm.trend <- rmh(model=mod11,start=list(n.start=350), + control=list(ptypes=c(0.75,0.25),expand=1, + nrep=nr,nverb=nv)) + + #' nsave, nburn + chq <- function(X) { + Xname <- deparse(substitute(X)) + A <- attr(X, "saved") + if(length(A) == 0) + stop(paste(Xname, "did not include a saved list of patterns")) + return("ok") + } + XburnMS <- rmh(model=mod08,start=list(n.start=80), verbose=FALSE, + control=list(ptypes=c(0.75,0.25), + nrep=nr,nsave=500, nburn=100)) + chq(XburnMS) + XburnMStrend <- rmh(model=mod10,start=list(n.start=350), verbose=FALSE, + control=list(ptypes=c(0.75,0.25), + nrep=nr,nsave=500, nburn=100)) + chq(XburnMStrend) + + + ####################################################################### + ############ checks on distribution of output ####################### + ####################################################################### + + checkp <- function(p, context, testname, failmessage, pcrit=0.01) { + if(missing(failmessage)) + failmessage <- paste("output failed", testname) + if(p < pcrit) + warning(paste(context, ",", failmessage), call.=FALSE) + cat(paste("\n", context, ",", testname, "has p-value", signif(p,4), "\n")) + } + + ## Multitype Strauss code; output is multitype Poisson + + beta <- 100 * c(1,1) + ri <- matrix(0.07, 2, 2) + gmma <- matrix(1, 2, 2) # no interaction + tr1 <- function(x,y){ rep(1, length(x)) } + tr2 <- function(x,y){ rep(2, length(x)) } + mod <- rmhmodel(cif="straussm", + par=list(beta=beta,gamma=gmma,radii=ri), + w=owin(), + trend=list(tr1,tr2)) + + X <- rmh(mod, start=list(n.start=0), control=list(nrep=1e6)) + + ## The model is Poisson with intensity 100 for type 1 and 200 for type 2. + ## Total number of points is Poisson (300) + ## Marks are i.i.d. with P(type 1) = 1/3, P(type 2) = 2/3. + + ## Test whether the total intensity looks right + ## + p <- ppois(X$n, 300) + p.val <- 2 * min(p, 1-p) + checkp(p.val, + "In multitype Poisson simulation", + "test whether total number of points has required mean value") + + ## Test whether the mark distribution looks right + ta <- table(X$marks) + cat("Frequencies of marks:") + print(ta) + checkp(chisq.test(ta, p = c(1,2)/3)$p.value, + "In multitype Poisson simulation", + "chi-squared goodness-of-fit test for mark distribution (1/3, 2/3)") + + ##### + #### multitype Strauss code; fixall=TRUE; + #### output is multinomial process with nonuniform locations + #### + + the.context <- "In nonuniform multinomial simulation" + + beta <- 100 * c(1,1) + ri <- matrix(0.07, 2, 2) + gmma <- matrix(1, 2, 2) # no interaction + tr1 <- function(x,y){ ifelse(x < 0.5, 0, 2) } + tr2 <- function(x,y){ ifelse(y < 0.5, 1, 3) } + ## cdf of these distributions + Fx1 <- function(x) { ifelse(x < 0.5, 0, ifelse(x < 1, 2 * x - 1, 1)) } + Fy2 <- function(y) { ifelse(y < 0, 0, + ifelse(y < 0.5, y/2, + ifelse(y < 1, (1/2 + 3 * (y-1/2))/2, 1))) } + + + mod <- rmhmodel(cif="straussm", + par=list(beta=beta,gamma=gmma,radii=ri), + w=owin(), + trend=list(tr1,tr2)) + + X <- rmh(mod, start=list(n.start=c(50,50)), + control=list(nrep=1e6, expand=1, p=1, fixall=TRUE)) + + ## The model is Poisson + ## Mean number of type 1 points = 100 + ## Mean number of type 2 points = 200 + ## Total intensity = 300 + ## Marks are i.i.d. with P(type 1) = 1/3, P(type 2) = 2/3 + + ## Test whether the coordinates look OK + Y <- split(X) + X1 <- Y[[names(Y)[1]]] + X2 <- Y[[names(Y)[2]]] + checkp(ks.test(X1$y, "punif")$p.value, + the.context, + "Kolmogorov-Smirnov test of uniformity of y coordinates of type 1 points") + if(any(X1$x < 0.5)) { + stop(paste(the.context, ",", + "x-coordinates of type 1 points are IMPOSSIBLE"), call.=FALSE) + } else { + checkp(ks.test(Fx1(X1$x), "punif")$p.value, + the.context, + "Kolmogorov-Smirnov test of uniformity of transformed x coordinates of type 1 points") + } + checkp(ks.test(X2$x, "punif")$p.value, + the.context, + "Kolmogorov-Smirnov test of uniformity of x coordinates of type 2 points") + checkp(ks.test(Fy2(X2$y), "punif")$p.value, + the.context, + "Kolmogorov-Smirnov test of uniformity of transformed y coordinates of type 2 points") + } + + }) Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. 1 2 1 NA NA 2 Inf Inf Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. 1 2 1 NA NA 2 Inf 6.779136 Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Evaluating trend integral...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Evaluating trend integral...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Checking arguments..determining simulation windows...Evaluating trend integral...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. In multitype Poisson simulation , test whether total number of points has required mean value has p-value 0.3403 Frequencies of marks: 1 2 105 211 In multitype Poisson simulation , chi-squared goodness-of-fit test for mark distribution (1/3, 2/3) has p-value 0.9683 Checking arguments..determining simulation windows...Evaluating trend integral...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. In nonuniform multinomial simulation , Kolmogorov-Smirnov test of uniformity of y coordinates of type 1 points has p-value 0.5201 In nonuniform multinomial simulation , Kolmogorov-Smirnov test of uniformity of transformed x coordinates of type 1 points has p-value 0.3822 In nonuniform multinomial simulation , Kolmogorov-Smirnov test of uniformity of x coordinates of type 2 points has p-value 0.9497 In nonuniform multinomial simulation , Kolmogorov-Smirnov test of uniformity of transformed y coordinates of type 2 points has p-value 0.5247 > > reset.spatstat.options() > # > # tests/rmhWeird.R > # > # $Revision: 1.5 $ $Date: 2022/01/05 02:08:29 $ > # > # Test strange boundary cases in rmh.default > > local({ + if(!exists("nv")) nv <- 0 + if(!exists("nr")) nr <- 2e3 + + if(FULLTEST) { + ## Poisson process + cat("Poisson\n") + modP <- list(cif="poisson",par=list(beta=10), w = square(3)) + XP <- rmh(model = modP, + start = list(n.start=25), + control=list(nrep=nr,nverb=nv)) + } + + if(ALWAYS) { + ## Poisson process case of Strauss + cat("\nPoisson case of Strauss\n") + modPS <- list(cif="strauss",par=list(beta=10,gamma=1,r=0.7), w = square(3)) + XPS <- rmh(model=modPS, + start=list(n.start=25), + control=list(nrep=nr,nverb=nv)) + + ## Strauss with zero intensity + cat("\nStrauss with zero intensity\n") + mod0S <- list(cif="strauss", + par=list(beta=0,gamma=0.6,r=0.7), w = square(3)) + X0S <- rmh(model=mod0S,start=list(n.start=80), + control=list(nrep=nr,nverb=nv)) + stopifnot(X0S$n == 0) + } + + if(FULLTEST) { + ## Poisson with zero intensity + cat("\nPoisson with zero intensity\n") + mod0P <- list(cif="poisson",par=list(beta=0), w = square(3)) + X0P <- rmh(model = mod0P, + start = list(n.start=25), + control=list(nrep=nr,nverb=nv)) + + + ## Poisson conditioned on zero points + cat("\nPoisson conditioned on zero points\n") + modp <- list(cif="poisson", + par=list(beta=2), w = square(10)) + Xp <- rmh(modp, start=list(n.start=0), control=list(p=1, nrep=nr)) + stopifnot(Xp$n == 0) + + ## Multitype Poisson conditioned on zero points + cat("\nMultitype Poisson conditioned on zero points\n") + modp2 <- list(cif="poisson", + par=list(beta=2), types=letters[1:3], w = square(10)) + Xp2 <- rmh(modp2, start=list(n.start=0), control=list(p=1, nrep=nr)) + stopifnot(is.marked(Xp2)) + stopifnot(Xp2$n == 0) + + ## Multitype Poisson conditioned on zero points of each type + cat("\nMultitype Poisson conditioned on zero points of each type\n") + Xp2fix <- rmh(modp2, start=list(n.start=c(0,0,0)), + control=list(p=1, fixall=TRUE, nrep=nr)) + stopifnot(is.marked(Xp2fix)) + stopifnot(Xp2fix$n == 0) + + } + }) Poisson case of Strauss Checking arguments..determining simulation windows...Starting simulation. Initial state...Ready to simulate. Generating proposal points...Running Metropolis-Hastings. Strauss with zero intensity Checking arguments..determining simulation windows... Warning message: beta = 0 implies an empty pattern > > # > # tests/rmhmodelHybrids.R > # > # Test that rmhmodel.ppm and rmhmodel.default > # work on Hybrid interaction models > # > # $Revision: 1.6 $ $Date: 2022/10/23 01:17:56 $ > # > > if(ALWAYS) { # involves C code + local({ + + + # ............ rmhmodel.default ............................ + + modH <- list(cif=c("strauss","geyer"), + par=list(list(beta=50,gamma=0.5, r=0.1), + list(beta=1, gamma=0.7, r=0.2, sat=2)), + w = square(1)) + rmodH <- rmhmodel(modH) + rmodH + reach(rmodH) + + # test handling of Poisson components + + modHP <- list(cif=c("poisson","strauss"), + par=list(list(beta=5), + list(beta=10,gamma=0.5, r=0.1)), + w = square(1)) + rmodHP <- rmhmodel(modHP) + rmodHP + reach(rmodHP) + + modPP <- list(cif=c("poisson","poisson"), + par=list(list(beta=5), + list(beta=10)), + w = square(1)) + rmodPP <- rmhmodel(modPP) + rmodPP + reach(rmodPP) + + }) + } [1] 0 > > #' > #' tests/rmhsnoopy.R > #' > #' Test the rmh interactive debugger > #' > #' $Revision: 1.11 $ $Date: 2022/10/23 01:19:00 $ > > if(ALWAYS) { # may depend on platform + local({ + R <- 0.1 + ## define a model and prepare to simulate + W <- Window(amacrine) + t1 <- as.im(function(x,y){exp(8.2+0.22*x)}, W) + t2 <- as.im(function(x,y){exp(8.3+0.22*x)}, W) + model <- rmhmodel(cif="strauss", + trend=solist(off=t1, on=t2), + par=list(gamma=0.47, r=R, beta=c(off=1, on=1))) + siminfo <- rmh(model, preponly=TRUE) + Wsim <- siminfo$control$internal$w.sim + Wclip <- siminfo$control$internal$w.clip + if(is.null(Wclip)) Wclip <- Window(cells) + + ## determine debugger interface panel geometry + Xinit <- runifpoint(ex=amacrine)[1:40] + P <- rmhsnoop(Wsim=Wsim, Wclip=Wclip, R=R, + xcoords=Xinit$x, + ycoords=Xinit$y, + mlevels=levels(marks(Xinit)), + mcodes=as.integer(marks(Xinit)) - 1L, + irep=3L, itype=1L, + proptype=1, proplocn=c(0.5, 0.5), propmark=0, propindx=0, + numerator=42, denominator=24, + panel.only=TRUE) + boxes <- P$boxes + clicknames <- names(P$clicks) + boxcentres <- do.call(concatxy, lapply(boxes, centroid.owin)) + + ## design a sequence of clicks + actionsequence <- c("Up", "Down", "Left", "Right", + "At Proposal", "Zoom Out", "Zoom In", "Reset", + "Accept", "Reject", "Print Info", + "Next Iteration", "Next Shift", "Next Death", + "Skip 10", "Skip 100", "Skip 1000", "Skip 10,000", + "Skip 100,000", "Exit Debugger") + actionsequence <- match(actionsequence, clicknames) + actionsequence <- actionsequence[!is.na(actionsequence)] + xy <- lapply(boxcentres, "[", actionsequence) + + ## queue the click sequence + spatstat.utils::queueSpatstatLocator(xy$x,xy$y) + + ## go + rmh(model, snoop=TRUE) + }) + } Checking arguments..determining simulation windows...Evaluating trend integral...Checking arguments..determining simulation windows...Evaluating trend integral...Starting simulation. Initial state... Creating debugger environment..Done. Ready to simulate. Generating proposal points...Running Metropolis-Hastings. ------------------- Iteration 0 Simulation window: window: binary image mask 128 x 128 pixel array (ny, nx) enclosing rectangle: [0, 1.6012085] x [0, 1] units (one unit = 662 microns) Clipping window: window: binary image mask 128 x 128 pixel array (ny, nx) enclosing rectangle: [0, 1.6012085] x [0, 1] units (one unit = 662 microns) Current state: Marked planar point pattern: 77 points Multitype, with levels = 1, 2 window: binary image mask 128 x 128 pixel array (ny, nx) enclosing rectangle: [0, 1.6012085] x [0, 1] units (one unit = 662 microns) Proposal type: Shift Shift data point 52 from current location (1.32766, 0.809129, "2") to new location (0.226844, 0.527324, "2") Hastings ratio = 15447.5170183325 / 15447.5170183325 = 1 Fate of proposal: Rejected Marked planar point pattern: 344 points Multitype, with levels = 1, 2 window: binary image mask 128 x 128 pixel array (ny, nx) enclosing rectangle: [0, 1.6012085] x [0, 1] units (one unit = 662 microns) Pattern was generated by Metropolis-Hastings simulation. > > proc.time() user system elapsed 15.70 3.53 19.23