CRAN Package Check Results for Package spatstat.utils

Last updated on 2026-07-23 13:50:06 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 3.2-4 7.97 45.67 53.64 OK
r-devel-linux-x86_64-debian-gcc 3.2-4 5.61 33.51 39.12 ERROR
r-devel-linux-x86_64-fedora-clang 3.2-4 13.00 77.35 90.35 OK
r-devel-linux-x86_64-fedora-gcc 3.2-4 35.42 OK
r-devel-windows-x86_64 3.2-4 17.00 77.00 94.00 OK
r-patched-linux-x86_64 3.2-4 7.85 45.09 52.94 OK
r-release-linux-x86_64 3.2-4 7.07 44.43 51.50 OK
r-release-macos-arm64 3.2-4 3.00 31.00 34.00 OK
r-release-macos-x86_64 3.2-4 8.00 86.00 94.00 OK
r-release-windows-x86_64 3.2-4 14.00 74.00 88.00 OK
r-oldrel-macos-arm64 3.2-4 OK
r-oldrel-macos-x86_64 3.2-4 8.00 88.00 96.00 OK
r-oldrel-windows-x86_64 3.2-4 18.00 79.00 97.00 OK

Check Details

Version: 3.2-4
Check: tests
Result: ERROR Running ‘circleseg.R’ [0s/0s] Running ‘fmla.R’ [0s/0s] Running ‘indices.R’ [0s/0s] Running ‘numerical.R’ [0s/0s] Running ‘segments.R’ [0s/1s] Running ‘tekst.R’ [0s/0s] Running the tests in ‘tests/numerical.R’ failed. Complete output: > #' spatstat.utils/tests/numerical.R > #' Tests of numerical code > #' > #' $Revision: 1.3 $ $Date: 2026/07/16 02:35:14 $ > #' > #' Original is in spatstat/SUB/utils/original-files/tests/numerical.R > > require(spatstat.utils) Loading required package: spatstat.utils > > #' difflong() calculates diff() for long vectors > #' Test agreement on a short vector > n <- sample((-1000):1000, 1000, replace=TRUE) > stopifnot(all(diff(n) == difflong(n))) > x <- as.double(n) > stopifnot(all(diff(x) == difflong(x))) > > #' validity of orderstats, orderwhich > x <- unique(runif(100)) > if(!all(orderstats(x, 2:5) == sort(x)[2:5])) + stop("Incorrect result from orderstats()") > if(!all(orderwhich(x, 2:5) == order(x)[2:5])) + stop("Incorrect result from orderwhich()") > if(!all(orderstats(x, 2:5, decreasing=TRUE) == sort(x, decreasing=TRUE)[2:5])) + stop("Incorrect result from orderstats(decreasing=TRUE)") > if(!all(orderwhich(x, 2:5, decreasing=TRUE) == order(x, decreasing=TRUE)[2:5])) + stop("Incorrect result from orderwhich(decreasing=TRUE)") > y <- fave.order(x) > > #' must handle NA's without exiting > x[c(4, 7, 42)] <- NA > aa <- orderstats(x, 2:5) > aa <- orderstats(x, 2:5, decreasing=TRUE) > bb <- orderwhich(x, 2:5) > bb <- orderwhich(x, 2:5, decreasing=TRUE) > x[] <- NA > uu <- orderstats(x, 2:5) > uu <- orderstats(x, 2:5, decreasing=TRUE) > vv <- orderwhich(x, 2:5) > vv <- orderwhich(x, 2:5, decreasing=TRUE) > > #' validity of 'tapplysum' > aa <- factor(letters[1:3]) > bb <- factor(letters[1:4])[c(1,2,2)] > xx <- round(runif(3), 3) > yy <- tapplysum(xx, list(A=aa, B=bb), do.names=TRUE) > zz <- tapply(xx, list(A=aa, B=bb), sum) > zz[is.na(zz)] <- 0 > if(any(yy != zz)) + stop("tapplysum does not agree with tapply(, sum)") > #' tapplysum with zero-length data > tapplysum(xx[FALSE], list(A=aa[FALSE], B=bb[FALSE]), do.names=TRUE) B A a b c d a 0 0 0 0 b 0 0 0 0 c 0 0 0 0 > #' tapplysum with NA values in x > xx <- runif(12) > aa <- rep(aa, 4) > bb <- rep(bb, 4) > ee <- sample(aa) > ff <- sample(bb) > xx[2] <- NA > uu1 <- tapplysum(xx, list(aa), do.names=TRUE) > uu2 <- tapplysum(xx, list(aa, bb), do.names=TRUE) > uu3 <- tapplysum(xx, list(aa, bb, ee), do.names=TRUE) > uu4 <- tapplysum(xx, list(aa, bb, ee, ff), do.names=TRUE) > > #' validity of matchIntegerDataFrames > #' 3 columns > A <- data.frame(a=sample(1:5), b=sample(1:5, replace=TRUE), c=3) > B <- data.frame(u=sample(1:3), w=3:1, v=1) > A[4,] <- B[2,] > a3code <- paste(A[,1], A[,2], A[,3]) > b3code <- paste(B[,1], B[,2], B[,3]) > stopifnot(identical(matchIntegerDataFrames(A,B,TRUE), match(a3code,b3code))) > stopifnot(identical(matchIntegerDataFrames(A,B,FALSE), match(a3code,b3code))) > #' 2 columns > A <- A[,1:2] > B <- B[,1:2] > a2code <- paste(A[,1], A[,2]) > b2code <- paste(B[,1], B[,2]) > stopifnot(identical(matchIntegerDataFrames(A,B,TRUE), match(a2code,b2code))) > stopifnot(identical(matchIntegerDataFrames(A,B,FALSE), match(a2code,b2code))) > #' 1 column > A <- A[,1, drop=FALSE] > B <- B[,1, drop=FALSE] > a1code <- paste(A[,1]) > b1code <- paste(B[,1]) > stopifnot(identical(matchIntegerDataFrames(A,B,TRUE), match(a1code,b1code))) > stopifnot(identical(matchIntegerDataFrames(A,B,FALSE), match(a1code,b1code))) > > #' code in utilseq.R > > dropifsingle(list(42)) [1] 42 > dropifsingle(1:2) [1] 1 2 > > revcumsum(1:5 * (1 + 2i)) [1] 15+30i 14+28i 12+24i 9+18i 5+10i > > as2vector(3:4) [1] 3 4 > as2vector(list(x=1, y=1)) [1] 1 1 > #' regression test for list-coordinate length validation (utilseq.R) > stopifnot(identical(as2vector(list(x=1, y=1)), c(1, 1))) > stopifnot(inherits(try(as2vector(list(x=1, y=1:2)), silent=TRUE), "try-error")) > ensure2vector(3:4) [1] 3 4 > ensure2vector(3) [1] 3 3 > > prolongseq(2:5, newrange=c(1,9)) [1] 1 2 3 4 5 6 7 8 9 attr(,"nleft") [1] 1 attr(,"nright") [1] 4 > > fillseq(c(1:3, 5:7, 9)) $xnew [1] 1 2 3 4 5 6 7 8 9 $i [1] 1 2 3 5 6 7 9 > > geomseq(0.5, 2, 10) [1] 0.5000000 0.5832645 0.6803950 0.7937005 0.9258747 1.0800597 1.2599210 [8] 1.4697345 1.7144880 2.0000000 > > check.in.range(4, c(1,10)) [1] TRUE > > startinrange(runif(1), 1, c(3, 7)) [1] 4.696709 > > prettyinside(runif(10,max=5)) [1] 1 2 3 4 > > prettydiscrete(letters) [1] "a" "c" "e" "g" "i" "k" "m" "o" "q" "s" > > evenly.spaced(seq(0, 1, length.out=7)) [1] TRUE > > equispaced(seq(0, 1, length.out=7)) [1] TRUE Warning message: In equispaced(seq(0, 1, length.out = 7)) :*** buffer overflow detected ***: terminated Aborted Flavor: r-devel-linux-x86_64-debian-gcc