Skip to content

feat: add 54 financial and engineering formula functions#22

Merged
Nebu1eto merged 1 commit into
mainfrom
dev/phase-b-formula-fin-eng
Feb 10, 2026
Merged

feat: add 54 financial and engineering formula functions#22
Nebu1eto merged 1 commit into
mainfrom
dev/phase-b-formula-fin-eng

Conversation

@Nebu1eto

Copy link
Copy Markdown
Owner

Summary

  • Add 21 financial functions: FV, PV, NPV, IRR, PMT, IPMT, PPMT, RATE, NPER, DB, DDB, SLN, SYD, EFFECT, NOMINAL, DOLLARDE, DOLLARFR, CUMIPMT, CUMPRINC, XNPV, XIRR
  • Add 33 engineering functions: BIN2DEC, BIN2HEX, BIN2OCT, DEC2BIN, DEC2HEX, DEC2OCT, HEX2BIN, HEX2DEC, HEX2OCT, OCT2BIN, OCT2DEC, OCT2HEX, DELTA, GESTEP, ERF, ERFC, COMPLEX, IMREAL, IMAGINARY, IMABS, IMARGUMENT, IMCONJUGATE, IMSUM, IMSUB, IMPRODUCT, IMDIV, IMPOWER, IMSQRT, CONVERT, BESSELI, BESSELJ, BESSELK, BESSELY
  • 80 new tests (30 financial + 50 engineering), total supported formula functions: 164
  • Updated EN and KO documentation

Test plan

  • cargo build --workspace passes
  • cargo test --workspace passes (1508 tests total, 80 new)
  • cargo clippy --workspace passes (no warnings)
  • cargo fmt --check passes
  • pnpm build && pnpm vitest run passes (254 Node.js tests)
  • EN docs updated (api-reference/advanced.md, guide/advanced.md)
  • KO docs updated (api-reference/advanced.md, guide/advanced.md)

🤖 Generated with Claude Code

@Nebu1eto Nebu1eto left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Completed a formula-function pass focused on integration points and tests. No blocking issue found in this review round.

@Nebu1eto Nebu1eto left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Detailed review notes:

The function expansion is substantial and test coverage is broad. The implementation style aligns with existing formula engine patterns.

What looks good:

  • Clear function grouping and consistent evaluator integration.
  • Strong volume of examples and expectation tests across new functions.

Suggested hardening:

  • Add explicit edge tests for extreme numeric values (very large/small magnitudes) where floating-point instability can surface.
  • Add dedicated behavior tests for error propagation order (for example invalid arg type vs range error precedence).
  • Consider adding compatibility snapshots for a small set of formulas against Excel outputs to reduce semantic drift risk over time.

Add 21 financial functions (FV, PV, NPV, IRR, PMT, IPMT, PPMT, RATE,
NPER, DB, DDB, SLN, SYD, EFFECT, NOMINAL, DOLLARDE, DOLLARFR, CUMIPMT,
CUMPRINC, XNPV, XIRR) and 33 engineering functions (base conversion,
complex number arithmetic, ERF/ERFC, CONVERT, Bessel functions, DELTA,
GESTEP) with 80 new tests. Total supported formula functions: 164.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Nebu1eto
Nebu1eto force-pushed the dev/phase-b-formula-fin-eng branch from f14232f to 5488fc7 Compare February 10, 2026 08:11
@Nebu1eto
Nebu1eto merged commit 160336b into main Feb 10, 2026
3 checks passed
@Nebu1eto
Nebu1eto deleted the dev/phase-b-formula-fin-eng branch February 10, 2026 08:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant