## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")

## -----------------------------------------------------------------------------
library(RsimdDispatch)

x <- as.raw(c(0, 1, 2, 0, 255))
count_nonzero(x)
simd_backend()

## -----------------------------------------------------------------------------
simd_info()[c("compiled_backends", "cpu_supported_backends", "available_backends")]

## -----------------------------------------------------------------------------
simd_set_backend("scalar")
count_nonzero(x)

candidate <- setdiff(simd_info()$available_backends, "scalar")[1]
if (!is.na(candidate)) {
  simd_set_backend(candidate)
  count_nonzero(x)
}

simd_set_backend("auto")
simd_backend()

