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