NEWS


kofn 0.4.0

Breaking changes

The kofn() constructor now takes a component argument (a dfr_dist prototype from flexhaz) instead of a stringy family argument:

# Before (0.3.x):
kofn(k = 2, m = 3, family = "exponential")
kofn(k = 2, m = 3, family = "weibull")

# After (0.4.0):
kofn(k = 2, m = 3, component = dfr_exponential())
kofn(k = 2, m = 3, component = dfr_weibull())

Rationale: object-based component specification composes with the rest of the ecosystem (flexhaz, serieshaz, maskedhaz) and makes the supported-family table a property of class dispatch rather than a parallel lookup in match.arg. Adding future supported component families is now a one-line change.

The same rename applies to compare_fisher_info():

# Before:
compare_fisher_info(rates = c(1, 2), family = "exponential", ...)

# After:
compare_fisher_info(rates = c(1, 2), component = dfr_exponential(), ...)

Internal helpers parse_params(), kofn_dgp(), and kofn_components() take component rather than family. These were @keywords internal and not part of the public API, but downstream code that touched them via ::: will need the same rename.

New internal helpers

Dependencies

kofn 0.3.1

Documentation

kofn 0.3.0

Major refactor: dist.structure adoption

kofn now delegates the data-generating process (DGP), topology, and system-level distribution generics to dist.structure. The package focuses exclusively on inference for k-out-of-n systems: log-likelihood, score, Hessian, fit, observation schemes (right/left/interval/periodic), masked cause-of-failure, periodic-inspection (Scheme 1), and Fisher information comparison.

Removed

Changed

Internal

Added

kofn 0.2.0

kofn 0.1.0