| Type: | Package |
| Title: | Fast Strength-t Coverage Verification for Covering Arrays |
| Version: | 0.1.2 |
| Description: | Verifies that an array covers every t-way interaction, the certificate check for covering arrays, using compiled C code with optional 'OpenMP' threading. Missing values are treated as wildcard ("flexible") entries that count as every symbol. Designed to be easy to embed in other packages: a single C file with a registered .Call entry point and one R wrapper. |
| License: | MIT + file LICENSE |
| URL: | https://github.com/chrispbsmolen/ca-tools |
| BugReports: | https://github.com/chrispbsmolen/ca-tools/issues |
| Encoding: | UTF-8 |
| Language: | en-US |
| Imports: | parallel |
| NeedsCompilation: | yes |
| Packaged: | 2026-08-19 16:02:20 UTC; root |
| Author: | Christopher Smolen [aut, cre] |
| Maintainer: | Christopher Smolen <chrispbsmolen@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-08-20 15:02:05 UTC |
Verify strength-t coverage of a covering array
Description
Checks that an N \times k array over v symbols covers
every t-way interaction: for every choice of t columns
and every one of the v^t value combinations, at least one row
exhibits that combination. This is the certificate check for a
covering array, run in compiled C at speeds suitable for large
arrays and strengths.
Usage
ca_verify(x, t, v = NULL, threads = NULL, report = 10L)
Arguments
x |
an integer matrix or data frame of integers; rows are runs,
columns are factors. |
t |
interaction strength to verify (positive integer). |
v |
number of symbols per column; if |
threads |
number of threads. |
report |
maximum number of missing-tuple examples to collect. |
Value
An object of class ca_verify: a list with covered
(logical), colsets, gaps, missing_tuples,
examples (matrix; first t entries per row are 1-based
column indices, the rest the missing value combination in the input
coding), and t, v, N, k.
Examples
ca <- rbind(c(0,0,0), c(0,1,1), c(1,0,1), c(1,1,0))
ca_verify(ca, t = 2) # a covering array of strength 2
ca_verify(ca[-1, ], t = 2) # removing a run breaks coverage