inst/testme/test-future.apply-future_Filter.R

#' @tags future_Filter
#' @tags sequential multisession multicore

if (requireNamespace("future.apply", quietly = TRUE)) {

library(futurize)

message("*** future_Filter() ...")

is_even <- function(x) { x %% 2 == 0 }
x <- sample.int(100, size = 1000, replace = TRUE)

y_truth <- x[vapply(x, FUN.VALUE = NA, FUN = is_even)]
str(y_truth)

for (strategy in supportedStrategies()) {
  message(sprintf("*** strategy = %s ...", sQuote(strategy)))
  plan(strategy)

  y <- Filter(is_even, x)
  str(y)

  stopifnot(identical(y, y_truth))
  
  message(sprintf("*** strategy = %s ... done", sQuote(strategy)))
}

plan(sequential)

message("*** future_Filter() ... DONE")

} ## if (requireNamespace("future.apply", quietly = TRUE))

Try the futurize package in your browser

Any scripts or data that you put into this service are public.

futurize documentation built on March 19, 2026, 1:07 a.m.