phinterval: Set Operations on Time Intervals

Implements the phinterval vector class for representing time spans that may contain gaps (disjoint intervals) or be empty. This class generalizes the 'lubridate' package's interval class to support vectorized set operations (intersection, union, difference, complement) that always return a valid time span, even when disjoint or empty intervals are created.

Version: 1.0.0
Depends: R (≥ 4.0.0)
Imports: lubridate, methods, pillar, Rcpp, rlang, tibble, tzdb, vctrs (≥ 0.7.0)
LinkingTo: Rcpp, tzdb
Suggests: dplyr, knitr, rmarkdown, testthat (≥ 3.0.0), tidyr, withr
Published: 2026-02-03
DOI: 10.32614/CRAN.package.phinterval (may not be active yet)
Author: Ethan Sansom ORCID iD [aut, cre, cph]
Maintainer: Ethan Sansom <ethan.sansom29 at gmail.com>
BugReports: https://github.com/EthanSansom/phinterval/issues
License: MIT + file LICENSE
URL: https://github.com/EthanSansom/phinterval, https://ethansansom.github.io/phinterval/
NeedsCompilation: yes
SystemRequirements: C++17
Materials: README, NEWS
CRAN checks: phinterval results

Documentation:

Reference manual: phinterval.html , phinterval.pdf
Vignettes: phinterval (source, R code)

Downloads:

Package source: phinterval_1.0.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): not available, r-oldrel (x86_64): not available

Linking:

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