RobustArithmetic: Verified Interval Arithmetic and Rigorous Enclosures in Pure R

Verified interval arithmetic for R, in the inf-sup (endpoint) representation of the set-based flavor of the interval standard. Every operation returns an enclosure that provably contains the exact result: outward rounding is obtained from the predecessor and successor formulas of Rump, Zimmermann, Boldo and Melquiond (2009) <doi:10.1007/s10543-009-0218-z>, which are valid under round-to-nearest and therefore need no change to the floating-point rounding mode. That mode is not reachable from R, and changing it would not be a local act: it is per-thread state of the processor, so it would govern every floating-point operation executed afterwards on that thread, in this package or anywhere else. Elementary functions are provided at two levels: a fast level over the system math library, widened by a declared slack derived from published accuracy measurements, and a rigorous level over 'Rmpfr' with a directed-rounding bridge, reached by an escalation ladder of precisions when a verdict would otherwise fall inside the slack. On top of the kernel the package builds natural and centered interval extensions of expressions, a monotonicity test, the Hansen-Sengupta interval Newton operator with extended division and epsilon-inflated candidate verification, and a subdivision (paving) engine whose only failure mode is a named abstention with its budget printed. Conformance with IEEE Std 1788.1-2017 <doi:10.1109/IEEESTD.2018.8277144> is not claimed, and the reason is the standard's own: its subclause 1.5 makes conformance a list of requirements that an implementation shall satisfy, with no partial grade to claim. What this package follows, measured one requirement at a time and stated in the package documentation, is the interval type and the decoration system of clause 5, 22 of the 39 arithmetic operations of Table 4.1, and the seven numeric functions of Table 4.3. What it does not provide is the cancellative operations, the interval comparison relations, the text input and output of subclause 6.8, the interchange representation of subclause 7.3, and the tightest accuracy that subclause 6.5.2 requires of the basic operations, which here are one unit in the last place wider at each end.

Version: 0.1.0
Depends: R (≥ 4.1)
Imports: compiler, stats
Suggests: Rmpfr, testthat (≥ 3.0.0), knitr, rmarkdown
Published: 2026-09-12
DOI: 10.32614/CRAN.package.RobustArithmetic (may not be active yet)
Author: Jose Mauricio Gomez Julian ORCID iD [aut, cre]
Maintainer: Jose Mauricio Gomez Julian <isadore.nabi at pm.me>
BugReports: https://github.com/IsadoreNabi/RobustArithmetic/issues
License: GPL (≥ 3)
URL: https://github.com/IsadoreNabi/RobustArithmetic
NeedsCompilation: no
CRAN checks: RobustArithmetic results [issues need fixing before 2026-10-03]

Documentation:

Reference manual: RobustArithmetic.html , RobustArithmetic.pdf
Vignettes: Verified interval arithmetic in pure R (source, R code)

Downloads:

Package source: RobustArithmetic_0.1.0.tar.gz
Windows binaries: r-devel: not available, r-release: not available, r-oldrel: not available
macOS binaries: r-release (arm64): not available, r-oldrel (arm64): not available, r-release (x86_64): RobustArithmetic_0.1.0.tgz, r-oldrel (x86_64): not available

Linking:

Please use the canonical form https://CRAN.R-project.org/package=RobustArithmetic to link to this page.