1library(rjags, quietly=TRUE)
2
3check.fun <- function() {
4   checkstats <- summary(x)$statistics
5   if (is.matrix(benchstats)) {
6     rnb <- order(rownames(benchstats))
7     rnc <- order(rownames(checkstats))
8     z <- (benchstats[rnb,1] - checkstats[rnc,1])
9     z <- ifelse(z==0, 0, z/benchstats[rnb,2])
10   } else {
11     z <- (benchstats[1] - checkstats[1])
12     z <- ifelse(z==0, 0, z/benchstats[2])
13   }
14   print(z)
15   if (any(abs(z) > 0.15)) {
16     stop("FAIL")
17     quit(save="no", status=1)
18   } else {
19     cat("OK\n")
20   }
21}
22
23check.data <- function(m, data, skip)
24{
25    mdata <- m$data()
26    if (!missing(skip)) {
27        mdata[skip] <- NULL
28        data[skip] <- NULL
29    }
30    ok <- isTRUE(all.equal(mdata[sort(names(mdata))], data[sort(names(data))]))
31    if (!ok) stop("Data mismatch")
32}
33
34