From 0959899217b4dc58620136adba418c8255265165 Mon Sep 17 00:00:00 2001 From: philchalmers Date: Tue, 30 Jul 2024 10:04:55 -0400 Subject: [PATCH] sanity check --- R/SimSolve.R | 1 + R/runArraySimulation.R | 1 + R/runSimulation.R | 1 + R/util.R | 6 ++++++ 4 files changed, 9 insertions(+) diff --git a/R/SimSolve.R b/R/SimSolve.R index ffc45ef4..6e5ceb4e 100644 --- a/R/SimSolve.R +++ b/R/SimSolve.R @@ -472,6 +472,7 @@ SimSolve <- function(design, interval, b, generate, analyse, summarise, # robust <- FALSE org.opts <- options() + ncores <- check_ncores(ncores) options(warn = 1) on.exit(options(org.opts), add = TRUE) if(is.null(control$print_RAM)) control$print_RAM <- FALSE diff --git a/R/runArraySimulation.R b/R/runArraySimulation.R index 4abf9446..dcfa59e4 100644 --- a/R/runArraySimulation.R +++ b/R/runArraySimulation.R @@ -300,6 +300,7 @@ runArraySimulation <- function(design, ..., replications, save_details = list(), control = list()){ dots <- list(...) + ncores <- check_ncores(ncores) if(!is.null(dots$save_results) && isTRUE(dots$save_results)) stop('save_results not supported for array jobs. Please use store_results only') if(!is.null(control$save_seeds) && isTRUE(control$save_seeds)) diff --git a/R/runSimulation.R b/R/runSimulation.R index 4c002d11..7f18e92a 100644 --- a/R/runSimulation.R +++ b/R/runSimulation.R @@ -985,6 +985,7 @@ runSimulation <- function(design, replications, generate, analyse, summarise, control = list(), progress = TRUE, verbose = TRUE) { stopifnot(!missing(analyse)) + ncores <- check_ncores(ncores) if(length(control)){ stopifnot("Argument(s) to control list invalid"= all(names(control) %in% valid_control.list())) diff --git a/R/util.R b/R/util.R index 3ba698c7..114cdfed 100644 --- a/R/util.R +++ b/R/util.R @@ -25,6 +25,12 @@ get_packages <- function(packages){ sapply(packages, function(x) as.character(packageVersion(x))) } +check_ncores <- function(ncores){ + ncores <- ifelse(is.na(ncores), 1L, ncores) + ncores <- ifelse(ncores < 1L, 1L, ncores) + ncores +} + # base-code borrowed and modified from pbapply timeFormater_internal <- function(time, decimals = TRUE){ dec <- time - floor(time)