Package: RobustArithmetic
Type: Package
Title: Verified Interval Arithmetic and Rigorous Enclosures in Pure R
Version: 0.1.0
Authors@R: person(given = "Jose Mauricio",
                  family = "Gomez Julian",
                  role = c("aut", "cre"),
                  email = "isadore.nabi@pm.me",
                  comment = c(ORCID = "0009-0000-2412-3150"))
Description: 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.
License: GPL (>= 3)
Encoding: UTF-8
Depends: R (>= 4.1)
Imports: compiler, stats
Suggests: Rmpfr, testthat (>= 3.0.0), knitr, rmarkdown
VignetteBuilder: knitr
Config/testthat/edition: 3
URL: https://github.com/IsadoreNabi/RobustArithmetic
BugReports: https://github.com/IsadoreNabi/RobustArithmetic/issues
Config/roxygen2/version: 8.0.0
RoxygenNote: 8.0.0
NeedsCompilation: no
Packaged: 2026-09-01 14:43:46 UTC; josemgomezj
Author: Jose Mauricio Gomez Julian [aut, cre] (ORCID:
    <https://orcid.org/0009-0000-2412-3150>)
Maintainer: Jose Mauricio Gomez Julian <isadore.nabi@pm.me>
Repository: CRAN
Date/Publication: 2026-09-12 09:00:07 UTC
