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