sample data — wired to CI at launch

  Validation · evidence

Every release, diffed against the oracles.

For each release, RSpice and the reference engine run the same decks on an identical, locked time grid — no resampling, no interpolation — and every point of every saved probe is compared. Core analyses are diffed against ngspice-46; RF steady-state results are checked against closed-form analytic decks. A cluster passes only when its worst point agrees.

Release · oracles

ngspice-46 analytic decks

oracle versions pinned per release

Decks passed · sample

111 / 113

grid-locked or contract-gated

Points compared · sample

2.4 M

every probe, every timestep

Max waveform deviation · sample

< 1e-9 V

worst point across grid-locked decks

Per-cluster results · v1.0.0

The suite, cluster by cluster.

Decks are grouped by the ngspice example corpus they came from. A cluster is listed as under review until its grid-lock policy is settled — close is not a pass. Decks that free-run pointwise comparison cannot judge gate on per-deck validation contracts: locked-grid replay, engineering-measure sidecars, or certified refusal where the oracle itself cannot solve the deck.

click a passing cluster to plot its overlay · click an under-review cluster to see why

cluster decks status max |Δ| runtime
dc-sweep 14 pass 6.4e-13 V 0.9 s
ac-noise 12 pass 2.2e-12 V 1.2 s
vbic 16 pass 3.4e-12 V 6.1 s
transmission-lines 12 pass ≤ 1e-6 V 3.7 s
monte-carlo 11 pass 4.7e-12 V 12.6 s
digital-xspice 13 pass 1.5e-12 V 2.1 s
rf-pss 8 pass 8.9e-10 V 9.4 s
sp-analysis 9 pass 7.5e-11 V 3.3 s
transient-sources · sffm_am_mix.cir
bjt_curve_trace.cir · rspice (yellow) over ngspice-46 oracle (dashed) — grid-locked · max |Δ| 6.4e-13 V · sample data

Methodology

How a pass is earned.

  1. 01
    Lock the grid. RSpice replays the oracle's exact timestep sequence, so both engines produce values at identical time points — any difference is numerics, never interpolation.
  2. 02
    Diff every point. Every saved probe of every deck is compared point-for-point; the table reports the worst absolute deviation in each cluster, not an average.
  3. 03
    Cross-check RF. Harmonic balance and PSS have no ngspice reference — they are pinned to closed-form analytic decks, and the Verilog-A BSIM4 is pinned to ngspice's native BSIM4 bias-for-bias.

Rerun this yourself

The evidence is a test target, not a webpage.

# from a clean checkout — decks and ngspice-46 goldens are in the repo
$ cargo test -p rspice-core --test ngspice_regression

# or pin against a live local ngspice build instead of the goldens
$ RSPICE_NGSPICE_LIVE_REFERENCES=1 cargo test -p rspice-core \
    --test ngspice_regression

decks + golden waveforms live in the public repo — every pass in the table above is reproducible from a clean checkout, not a private CI bucket.