.def files (operations.def, signatures.def,
backends.def) are now treated as text and receive prefix substitution when
use_simd_dispatch() deploys the scaffold — previously they were
binary-copied, causing the generated configure to fail to compile.\b) for all four
C-prefix patterns so that env-var names like RSD_LOG_PREFIX and shell
variables like SRC_DIR_PATH are no longer mangled in generated packages.simd_backend() test: allow "partial:<name>" return value when an
explicitly-selected backend implements only a subset of operations (e.g.
SSE2/SSE41 implement count_nonzero but not convolve1d).sd_register_kernel_table() sentinel: detect the canonical sentinel
{SD_OP_COUNT, SD_SIG_NONE, NULL} explicitly; a NULL invoke on any
other row is now an error rather than silently truncating the table.sd_init_dispatch() to catch mis-ordered .def files at startup.CallType argument in signatures.def to generate a
SdSignatureCatalogEntry catalog with name and call_size
(sizeof(call_type)); expose sd_signature_name() in the public API.simd_info() documentation to list "partial:<name>" as a
possible selected_backend value.src/rsd-lib/, not compiled by the ordinary
src/Makevars path.kernel_common.h helper from src/ into
tools/simdDispatch/kernels/ and the copied template kernel directory, and update
downstream-template docs for that layout.src/ with explicit
operation-table declarations, dispatch wrappers, and native registration
entries."auto" resolves the best
backend per operation, and simd_info() reports both operation-level backend
availability and the selected backend for each operation.Dockerfile.musl-check for Alpine Linux / musl R CMD check smoke
testing in repository-specific CI.tools/simdDispatch/kernels/kernel_api.h
so backend kernels no longer include private dispatch headers from src/.
Backend files now expose SdKernelDef tables consumed by the generic
dispatch core, keeping operation names and operation-specific wrappers out of
tools/simdDispatch/simd_dispatch.c.wasm_simd128) staged-kernel support for
Emscripten/webR builds using SIMDe's <simde/wasm/simd128.h> backend and
SIMDE_WASM_SIMD128_NATIVE configure probing.simd_info() diagnostics with cpu_wasm_simd128 and include
wasm_simd128 in compiled, available, and SIMDe-native backend sets when
built by a SIMD128-capable WebAssembly toolchain.rwasm::build() + Node webr
workflow used by related packages.src/Makevars and quote configure
include paths so copied templates are more robust in downstream libraries.SdKernelDef
operation table. Backend diagnostics now reuse the C backend metadata table,
and the R setter no longer hardcodes backend names.convolve1d() full one-dimensional convolution demo, using
SIMDe inner-loop multiply-add kernels for numeric vectors, and include it in
tests, documentation, webR checks, and evaluated benchmarks.configure, then link
them through generated src/Makevars with the baseline R API, CPU feature
detection, and dispatcher code.src/ to tools/simdDispatch/kernels/ so copied templates keep
build-time kernel sources separate from ordinary R package src/ files.DESCRIPTION to avoid incoming spell-check notes for backend acronym
names while keeping detailed backend names in user-facing documentation.Initial release.
count_nonzero(), simd_set_backend(), simd_backend(), and
simd_info() to demonstrate safe same-process backend selection and
diagnostics.use_simd_dispatch() and simd_dispatch_template_path() for package
authors who want to copy and adapt the C dispatch scaffold.LinkingTo: RsimdDispatch.simde_info() and SIMDe fields in simd_info() to report the vendored
SIMDe version and pinned upstream commit.