• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wegamekinglc / Derivatives-Algorithms-Lib / 27506602444
80%
master: 79%

Build:
Build:
LAST BUILD BRANCH: copilot/override-function-gradient-calibration
DEFAULT BRANCH: master
Ran 14 Jun 2026 05:35PM UTC
Jobs 1
Files 201
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

14 Jun 2026 05:29PM UTC coverage: 80.033% (+0.9%) from 79.144%
27506602444

Pull #106

github

wegamekinglc
Add DF-bump fallback tests to analytic Jacobian suite

The analytic DRateDDiscount overrides never return empty in the existing
analytic-vs-FD and solve-equivalence tests, so the per-instrument DF-bump
fallback (FillRowByDFBump) inside YieldCurveCalibrationFunc_::Gradient
was uncovered -- a dark path that the production code reaches whenever an
instrument's TradeDateIsAnchor() check fails or a future Rate_ subclass
opts out of the analytic derivative.

Close the coverage gap with two tests that force every row to fall back
(swap tradeDate_ = T+2 spot != anchor, so SwapRate_::DRateDDiscount
returns empty):

- TestDFBumpFallbackMatchesCentralDifference: the fallback row must
  still be a correct column-by-column finite-difference sensitivity of
  F(x) w.r.t. each free node's logDF, checked against an independent
  two-sided central difference at step 1e-6. Tolerance 1e-6 (relative),
  justified because FillRowByDFBump itself uses a one-sided 1e-7 step.
- TestDFBumpFallbackSolveMatchesBumped: the fallback must produce a
  solvable calibration -- BUMPED and ANALYTIC_LOG_DISCOUNT (with every
  row falling back) must converge to the same node log-DFs at 1e-8.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Pull Request #106: feat: analytic LOG_DISCOUNT curve Jacobian (CP1)

349 of 359 new or added lines in 5 files covered. (97.21%)

20 existing lines in 4 files now uncovered.

5800 of 7247 relevant lines covered (80.03%)

3446313.07 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
92.51
0.65% dal-cpp/dal/curve/calibration.cpp
4
94.5
5.44% dal-cpp/dal/curve/yclogdf.cpp
1
50.0
-10.0% dal-cpp/dal/curve/ycinstrument.hpp

Coverage Regressions

Lines Coverage ∆ File
9
92.51
0.65% dal-cpp/dal/curve/calibration.cpp
5
94.5
5.44% dal-cpp/dal/curve/yclogdf.cpp
4
98.81
0.77% dal-cpp/dal/curve/ycinstrument.cpp
2
50.0
-10.0% dal-cpp/dal/curve/ycinstrument.hpp
Jobs
ID Job ID Ran Files Coverage
1 27506602444.1 14 Jun 2026 05:35PM UTC 201
80.03
GitHub Action Run
Source Files on build 27506602444
  • Tree
  • List 201
  • Changed 6
  • Source Changed 6
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27506602444
  • Pull Request #106
  • PR Base - master (#27500697938)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc