Repository navigation
hecfda 0.1.0
[0.1.0] - 2026-07-13
First tagged release. Everything below is new.
Added
- Shared C++17 core: a faithful port of the numerical core of USACE-HEC HEC-FDA
(HEC.FDA.Statisticsand the pure-numeric parts ofHEC.FDA.Model): 13 distribution
families, special functions, paired-data curve algebra with the .NETArray.BinarySearch
semantics, structure inventories and occupancy-type uncertainty, the stage-damage compute,
the seeded Monte Carlo EAD simulation with performance metrics (AEP, assurance, levee
fragility), scenarios, EqAD annualization, and with/without-project benefits. - R package
hecfdarand Python packagehecfdapy, thin bindings over the same
compiled core. A bit-exact port of .NET's seededSystem.Randommeans seeded results are
identical across R, Python, and the upstream C# (the 100-iteration EAD benchmark
121194.5159789352 reproduces bit-for-bit). - Public workflow API (same surface in both packages):
stage_damage(),
ead_simulation(),scenario_results(),alternative_ead()/eqad(),
alternative_comparison(), plus distribution evaluators (dist_pdf/dist_cdf/
dist_quantile/dist_sample) andrng_sequence(). - Validation: a language-neutral oracle fixture suite consumed by C++, R, and Python
test runners, plus a dev-only gate replaying all 820 fixture assertions against the real
HEC-FDA C# source (820 reproduced, 0 failed). - Documentation site with five worked examples in both languages, a porting status page,
and full API references (quartodoc for Python, pkgdown for R). - Pixi development environment with tasks mapping to the Makefile targets.