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

wegamekinglc / Derivatives-Algorithms-Lib / 36239197636
93%

Build:
DEFAULT BRANCH: master
Ran 26 Sep 2026 11:48AM UTC
Jobs 1
Files 302
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

26 Sep 2026 11:33AM UTC coverage: 92.057% (+0.08%) from 91.978%
36239197636

push

github

web-flow
fix: correct day counts, date range, and string edge cases (#441)

* fix(time): correct ACT/365L, 30/360 US, and reversed ACT/ACT

Annual ACT/365L looped forever for any non-leap period past 1 March
because the year cursor never advanced; it now returns 366 exactly when
a 29 February falls in (start, nominal end]. The BOND/30_360 basis
applied a malformed end-of-month rule (31 Mar -> 30 Jun counted 89 days);
it now follows the 30/360 US rules. ACT/ACT and non-annual ACT/365L no
longer construct the following 1 January unless the period crosses it,
so periods ending in 2149 stay representable, and reversed ACT/ACT
periods are antisymmetric.

On every date pair from 2019-2029 with offsets of -400..400 days plus
multi-year spans (3.27M pairs), 30/360 matches QuantLib 1.43
Thirty360(USA), ACT/ACT matches ActualActual(ISDA) in both directions,
and ACT/365L matches OpenGamma Strata's Act/365L. The previous 30/360
rule disagreed with QuantLib on 63,214 of those pairs.

The zero-rate geometry test relied on the old zero accrual from the
31st to the 1st; it now uses a genuine 30/360 zero-day period.

Refs #440

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(time): reject Date_ values outside the serial range

The uint16_t serial covers 1970-01-01..2149-06-05, but construction
claimed [1900, 2199] and silently returned invalid dates, while AddDays,
++ and -- wrapped around (Minimum().AddDays(-2) became 2149-06-05).
Construction and day arithmetic now throw outside the supported range,
Date::Maximum() returns the real upper bound, and Date::ToString uses a
bounded snprintf. The overflow check is one predictable branch with an
out-of-line throw so the inline arithmetic stays small.

DaysInMonth and EndOfMonth now use calendar arithmetic instead of
constructing neighbouring months, which also keeps June 2149 usable.

Refs #440

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(string): make string helpers safe... (continued)

106 of 106 new or added lines in 13 files covered. (100.0%)

16410 of 17826 relevant lines covered (92.06%)

3229494.7 hits per line

Jobs
ID Job ID Ran Files Coverage
1 36239197636.1 26 Sep 2026 11:48AM UTC 302
92.06
GitHub Action Run
Source Files on build 36239197636
  • Tree
  • List 302
  • Changed 18
  • Source Changed 16
  • Coverage Changed 17
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36239197636
  • 70dec620 on github
  • Prev Build on master (#36223707407)
  • Next Build on master (#36253690034)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc