On this page

mathlib-fp v1.9.3

Release date: 2026-08-04

Version 1.9.3 completes the proposed 2.0 API decision without changing the frozen 1.9 public surface or numerical behavior.

What changed

  • Every exact public declaration is classified as a recommended common path, advanced stable path, compatibility surface, experimental surface, or generic implementation support.
  • A concise all-domain common-path map points to 13 complete output-checked programs while the generated declaration reference remains exhaustive.
  • Complete conventions resolve naming, indexing, shape, units, ownership, mutation, aliasing, exceptions, defaults, tolerances, outcomes, RNG state, cancellation, progress, and thread safety across every domain.
  • Every compatibility declaration has a typed replacement and semantic note or an explicit retain decision. No compatibility entry is deprecated merely because 2.0 is planned.
  • All 21 plain compiler aliases have an exact review covering behavior, defaults, ownership, exception identity, and numerical results. Pressure and velocity facade/error aliases receive prospective canonical paths for 1.9.7 migration and package-boundary testing; 1.9.3 does not deprecate them.
  • The exact proposed diff records no source, behavior, warning, or packaging change. Documentary priorities are listed separately.

Common and advanced paths

The recommended route remains double-real and allocating. Named scalar variants, advanced containers, diagnostics, factors, destinations, views, callbacks, and reusable workspaces remain stable and fully documented one step deeper. Generic base declarations exposed for Free Pascal specialization are still in the exact reference but are not recommended application API.

Compatibility

IMatrix, TMatrixKit, and TMatrixKitSparse remain source-compatible; typed replacements require explicit copying conversions. FinanceLib.Bonds and FinanceLib.NPV are explicitly retained because they provide exact focused aliases without different numerical semantics.

For new pressure and velocity code, the documented common path is TFluidDynamicsKit with EFluidDynamicsError. TPressureKit, EPressureError, TVelocityKit, and EVelocityError remain exact supported aliases. Their possible deprecation is a 1.9.7 decision after tested migration and packaging evidence, not a 1.9.3 change.

There are no declaration removals, new defaults, storage changes, warnings, or package changes in 1.9.3.

Install

Download the tagged source as tar.gz or zip, extract it, and compile the README program with src/ on the unit search path. No configure step or generated source is required.

Separately planned capability

Ergonomic 2-D and 3-D vector rotation is useful but belongs to a focused 1.10.0 design. That review must settle 3-D representation, orientation, angular units, normalization, non-finite behavior, and names before implementation. Version 1.9.3 adds no rotation declaration.

Validation

The release gate reconstructs all declaration classifications from the reviewed manifest, verifies all domain/unit and convention decisions, proves one review for every exact compiler alias, checks all compatibility mappings and exact diff categories, compiles/runs the 13 common programs, and rejects generic implementation declarations in common examples. See the qualification report.

The library remains native Free Pascal source with standard RTL/FCL units only. No DLL, package download, service, account, licence key, or network connection is required to build or run the stable library.

Capability maturity and known numerical limitations are unchanged; see the capability inventory. The zero experimental declaration count is an API classification result, not a claim that every long-term capability is already implemented.