Another minor update 0.3.11 for our nanotime
package is now on CRAN. nanotime
relies on the RcppCCTZ
package (as well as the RcppDate
package for additional C++ operations) and offers efficient high(er)
resolution time parsing and formatting up to nanosecond resolution,
using the bit64
package for the actual integer64
arithmetic. Initially
implemented using the S3 system, it has benefitted greatly from a
rigorous refactoring by Leonardo who not only rejigged
nanotime
internals in S4 but also added new S4 types for
periods, intervals and durations.
This release covers two corner case. Michael sent in a PR
avoiding a clang
warning on complex types. We fixed an
issue that surfaced in a downstream package under sanitizier checks: R
extends coverage of NA to types such as integer or character which need
special treatment in non-R library code as ‘they do not know’. We
flagged (character) formatted values after we had called the
corresponding CCTZ function but that leaves potentiall ‘undefined’
values (from R’s NA values for int
, say, cast to
double
) so now we flag them, set a transient safe value for
the call and inject the (character) representation "NA"
after the call in those spots. End result is the same, but without a
possibly slap on the wrist from sanitizer checks.
The NEWS snippet below has the full details.
Changes in version 0.3.11 (2025-01-10)
Thanks to my CRANberries, there is a diffstat report for this release. More details and examples are at the nanotime page; code, issue tickets etc at the GitHub repository – and all documentation is provided at the nanotime documentation site.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. If you like this or other open-source work I do, you can now sponsor me at GitHub.