8bfe24ac1d
**Task 5 — golden-fixture parity for the C-ABI bindings.** Lifts the C#/Go/Java/R tests from *one indicator per archetype* toward reference-value parity, catching FFI wiring bugs (swapped params, wrong multi-output field) the math-only core tests cannot see. ## What's here - **`examples/rust/src/bin/gen_golden.rs`** + **`testdata/golden/*.csv`** — a Rust generator computing a deterministic OHLCV series plus the core's reference outputs for a curated archetype-spanning set: scalar (`Sma`/`Ema`/`Rsi`), candle (`Atr`), scalar multi-output (`MACD`), candle multi-output (`ADX`), pairwise (`Beta`). `nan` marks warmup. Regenerate with `cargo run -p wickra-examples --bin gen_golden`. - **Parity runners** replaying the identical fixtures through each FFI (rel-tol 1e-6), each a standard test in the binding's existing suite (no `ci.yml` change — rides `dotnet test` / `go test` / `mvn install` / `R CMD`+testthat). A walk-up search locates `testdata/golden` regardless of run dir. - **C#** (`bindings/csharp/.../GoldenTests.cs`) — ✅ validated locally, 7/7 pass. - **Go** (`bindings/go/golden_test.go`) — ✅ validated locally, pass. - **Java** (`bindings/java/.../GoldenTests.java`) — modeled on the archetype API; validated by CI (no local mvn). - **R** (`bindings/r/tests/testthat/test-golden.R`) — modeled on the archetype API; validated by CI (no local Rscript). ## Notes - The curated set spans every marshalling archetype; extending the indicator list is mechanical (add to the generator + regenerate). Bars/profile archetypes can be added next. - No new CI jobs.
3.2 KiB
3.2 KiB
| 1 | plus_di | minus_di | adx |
|---|---|---|---|
| 2 | nan | nan | nan |
| 3 | nan | nan | nan |
| 4 | nan | nan | nan |
| 5 | nan | nan | nan |
| 6 | nan | nan | nan |
| 7 | nan | nan | nan |
| 8 | nan | nan | nan |
| 9 | nan | nan | nan |
| 10 | nan | nan | nan |
| 11 | nan | nan | nan |
| 12 | nan | nan | nan |
| 13 | nan | nan | nan |
| 14 | nan | nan | nan |
| 15 | nan | nan | nan |
| 16 | nan | nan | nan |
| 17 | nan | nan | nan |
| 18 | nan | nan | nan |
| 19 | nan | nan | nan |
| 20 | nan | nan | nan |
| 21 | nan | nan | nan |
| 22 | nan | nan | nan |
| 23 | nan | nan | nan |
| 24 | nan | nan | nan |
| 25 | nan | nan | nan |
| 26 | nan | nan | nan |
| 27 | nan | nan | nan |
| 28 | nan | nan | nan |
| 29 | 39.5757019682593 | 10.51553170206367 | 30.912276792040817 |
| 30 | 37.536261624936586 | 10.906948307963743 | 32.63069750889788 |
| 31 | 35.215165462446194 | 12.883060473369223 | 33.61637662813429 |
| 32 | 32.86410166086221 | 15.606658308025656 | 33.758337048896145 |
| 33 | 30.70333902684003 | 18.50628500756431 | 33.11744953242373 |
| 34 | 28.583754140794692 | 21.990805693589266 | 31.683067176177246 |
| 35 | 26.55934622279741 | 25.269437743189002 | 29.597761510222966 |
| 36 | 24.849750313093512 | 27.34663879718962 | 27.82532441495794 |
| 37 | 23.505186308008465 | 28.419972295720065 | 26.513882262566277 |
| 38 | 22.24831894567969 | 28.255382095825222 | 25.469626589930424 |
| 39 | 21.991214452481188 | 26.24217101526044 | 24.279889509686143 |
| 40 | 23.0167314852192 | 24.206077112686202 | 22.725510472977113 |
| 41 | 25.270075861089534 | 22.49633154108633 | 21.51703781909767 |
| 42 | 28.167925277844184 | 20.797978949255484 | 21.055190823958306 |
| 43 | 32.199512135355 | 19.002819811263755 | 21.39222118044018 |
| 44 | 36.67556284467224 | 17.08189161927664 | 22.467654445091764 |
| 45 | 39.66767810504092 | 15.312333278446436 | 24.027003737037383 |
| 46 | 41.25710485757308 | 13.864063299710923 | 25.86050681733179 |
| 47 | 41.90255145462447 | 12.778588478409224 | 27.8177163877859 |
| 48 | 42.395628716412624 | 11.937994453509367 | 29.834786399099126 |
| 49 | 41.39315313749411 | 11.291691494482587 | 31.784798356703554 |
| 50 | 38.98369312390027 | 10.942263455121635 | 33.52631517717672 |
| 51 | 36.80520205991526 | 11.790866997951634 | 34.808291852450445 |
| 52 | 34.33471861125097 | 14.165199105275695 | 35.29246448522293 |
| 53 | 31.575896425438806 | 17.056390539549085 | 34.90412360474046 |
| 54 | 29.011655429985023 | 19.499990165743316 | 33.81146999165209 |
| 55 | 26.941362744011517 | 21.41861333571675 | 32.21208520671275 |
| 56 | 25.293388618220902 | 23.528371409730532 | 30.16945244226847 |
| 57 | 23.70108159294569 | 26.085794270270323 | 28.356623123061247 |
| 58 | 21.9818825371455 | 26.753559469925122 | 27.030505691607747 |
| 59 | 20.4556018343849 | 25.575479039846915 | 25.894230469505597 |
| 60 | 19.315305653157523 | 24.149775639951073 | 24.839117763267886 |
| 61 | 20.15346427198841 | 22.836532180755725 | 23.510691119817217 |
| 62 | 22.621623373749483 | 21.279561359099215 | 22.049713637827605 |
| 63 | 26.102172398824052 | 19.564946484191104 | 21.497230627213543 |
| 64 | 29.5794011460886 | 17.914862734831026 | 21.71599192763469 |
| 65 | 33.103914522491884 | 16.421886804841026 | 22.570814571368153 |
| 66 | 36.988461875248944 | 14.998303176938437 | 23.980008725527608 |
| 67 | 39.75301194225335 | 13.75986552582622 | 25.73669586768207 |
| 68 | 41.37315229671887 | 12.777991517838071 | 27.67023180773477 |
| 69 | 42.48135161688847 | 11.981093863498268 | 29.693955639647385 |
| 70 | 42.62294720176041 | 11.257736731480932 | 31.730983563876975 |
| 71 | 40.47684671425082 | 10.451870979556956 | 33.67554918447296 |
| 72 | 37.62379013468778 | 11.104415435913893 | 35.1575133843429 |
| 73 | 35.445073236866044 | 12.840589537363048 | 35.99012453099969 |
| 74 | 33.361147221464314 | 15.58241905716853 | 36.014040954862004 |
| 75 | 30.784559395666363 | 20.10967847345435 | 34.9397977135121 |
| 76 | 28.101022653590128 | 23.891333482064333 | 33.02243689823779 |
| 77 | 25.724805235133402 | 26.22784634752717 | 30.732853434649453 |
| 78 | 23.898483996930594 | 27.16675703876092 | 28.994806129209827 |
| 79 | 22.507592062957475 | 27.59047661188655 | 27.648453495608493 |
| 80 | 21.169522519356338 | 26.35196828602853 | 26.452526680749255 |
| 81 | 21.224977830554703 | 24.775436644747092 | 25.11436900225873 |