Runtime and Compatibility Completion

Read side by side

This block closes the final 38 lowercase functions missing from the supplied 349-symbol inventory.

Added

Rounding control and certification

ppf_can_round constructs the exact error enclosure implied by the source rounding mode and checks whether the target rounding is settled. Its ordinary and faithful decisions are differentially tested against MPFR across all six source and target rounding modes.

ppf_round_nearest_away evaluates a supplied operation at one extra bit, then resolves ties away from zero while preserving range and flag behavior.

Random distributions

The two uniform generators are bitstream-compatible with MPFR for the same GMP random state in the tested configurations. Normal and exponential deviates use independent exact-real sampling with adaptive binary-prefix enclosures and certified final rounding; they are distribution-compatible rather than MPFR-bitstream-compatible.

Version and build metadata

Memory and cache controls

The controls release thread-local scratch arenas, product-planner scratch, certified constant caches, and transcendental reduction caches according to the requested local/global mask.

MPF compatibility

External/custom storage

Externally backed objects do not allocate, reallocate, or free the application-owned significand. Operations may overwrite the supplied storage but resizing beyond its declared precision is rejected.

Conditional formats

The baseline supports IEEE binary128 and BID decimal formats when the compiler exposes _Float128/__float128, _Decimal64, and _Decimal128. The conversion is exact before the final requested rounding.

Completion result

Honest boundary

This completes the public lowercase API inventory on the supported baseline. It does not by itself establish the same maturity as MPFR across decades of platform tuning. The remaining work is release hardening: licensing, ABI freeze, broader compilers and architectures, continuous fuzzing, external replication, documentation consolidation, and returning to the known performance backlogs.