Skip to content

Commit 69135f4

Browse files
committed
fix case with matrix=FALSE and 1 parameter
1 parent ce557ad commit 69135f4

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

R/args.R

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,9 @@ SampleArgs <- R6::R6Class(
254254
fileext = ".json"
255255
)
256256
for (i in seq_along(inv_metric_paths)) {
257+
if (length(inv_metric[[i]] == 1) && metric == "diag_e") {
258+
inv_metric[[i]] <- array(inv_metric[[i]], dim = c(1))
259+
}
257260
write_stan_json(list(inv_metric = inv_metric[[i]]), inv_metric_paths[i])
258261
}
259262

R/fit.R

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1743,6 +1743,9 @@ inv_metric <- function(matrix = TRUE) {
17431743
if (matrix && !is.matrix(out[[1]])) {
17441744
# convert each vector to a diagonal matrix
17451745
out <- lapply(out, diag)
1746+
} else if (length(out[[1]]) == 1) {
1747+
# convert each scalar to a 1x1 matrix
1748+
out <- lapply(out, array, dim = c(1))
17461749
}
17471750
out
17481751
}

0 commit comments

Comments
 (0)