nanoduration-class {nanotime} | R Documentation |
The type nanoduration
is a length of time (implemented as
an S4 class) with nanosecond precision. It is a count of
nanoseconds and may be negative. The expected arithmetic
operations are provided, including sequence generation.
nanoduration(hours, minutes, seconds, nanoseconds) ## S4 method for signature 'character' as.nanoduration(x) ## S4 method for signature 'integer64' as.nanoduration(x) ## S4 method for signature 'numeric' as.nanoduration(x) ## S4 method for signature 'integer' as.nanoduration(x) ## S4 method for signature ''NULL'' as.nanoduration(x) ## S4 method for signature 'missing' as.nanoduration(x) ## S4 method for signature 'nanoduration' show(object) ## S4 method for signature 'nanoduration' print(x, quote = FALSE, ...) ## S3 method for class 'nanoduration' format(x, ...) ## S3 method for class 'nanoduration' as.integer64(x, ...) ## S4 method for signature 'nanoduration' as.character(x) ## S4 method for signature 'nanoduration' is.na(x) ## S4 method for signature 'nanoduration,nanoduration' e1 - e2 ## S4 method for signature 'nanoduration,integer64' e1 - e2 ## S4 method for signature 'nanoduration,integer' e1 - e2 ## S4 method for signature 'nanoduration,numeric' e1 - e2 ## S4 method for signature 'nanoduration,ANY' e1 - e2 ## S4 method for signature 'nanotime,nanoduration' e1 - e2 ## S4 method for signature 'integer64,nanoduration' e1 - e2 ## S4 method for signature 'integer,nanoduration' e1 - e2 ## S4 method for signature 'numeric,nanoduration' e1 - e2 ## S4 method for signature 'ANY,nanoduration' e1 - e2 ## S4 method for signature 'nanoduration,ANY' e1 + e2 ## S4 method for signature 'nanoduration,nanoduration' e1 + e2 ## S4 method for signature 'nanoduration,integer64' e1 + e2 ## S4 method for signature 'nanoduration,numeric' e1 + e2 ## S4 method for signature 'nanotime,nanoduration' e1 + e2 ## S4 method for signature 'nanoival,nanoduration' e1 + e2 ## S4 method for signature 'integer64,nanoduration' e1 + e2 ## S4 method for signature 'numeric,nanoduration' e1 + e2 ## S4 method for signature 'nanoduration,numeric' e1 * e2 ## S4 method for signature 'nanoduration,integer64' e1 * e2 ## S4 method for signature 'numeric,nanoduration' e1 * e2 ## S4 method for signature 'integer64,nanoduration' e1 * e2 ## S4 method for signature 'nanoduration,nanoduration' e1 / e2 ## S4 method for signature 'nanoduration,integer64' e1 / e2 ## S4 method for signature 'nanoduration,numeric' e1 / e2 ## S4 method for signature 'nanoduration,ANY' Arith(e1, e2) ## S4 method for signature 'nanoduration,ANY' Compare(e1, e2) ## S4 method for signature 'nanoduration' abs(x) ## S4 method for signature 'nanoduration' sign(x) ## S4 method for signature 'nanoduration' sum(x, ..., na.rm = FALSE) ## S4 method for signature 'nanoduration' min(x, ..., na.rm = FALSE) ## S4 method for signature 'nanoduration' max(x, ..., na.rm = FALSE) ## S4 method for signature 'nanoduration' range(x, ..., na.rm = FALSE) ## S4 method for signature 'nanoduration' x[[i, j, ..., drop = FALSE]] ## S4 method for signature 'nanoduration,numeric' x[i, j, ..., drop = FALSE] ## S4 method for signature 'nanoduration,logical' x[i, j, ..., drop = FALSE] ## S4 method for signature 'nanoduration,character' x[i, j, ..., drop = FALSE] ## S4 method for signature 'nanoduration,ANY' x[i, j, ..., drop = FALSE] ## S4 replacement method for signature 'nanoduration,ANY,ANY,ANY' x[i, j, ...] <- value ## S3 method for class 'nanoduration' c(...) NA_nanoduration_
hours |
number of hours |
minutes |
number of minutes |
seconds |
number of seconds |
nanoseconds |
number of nanoseconds |
x |
a |
object |
argument for method |
quote |
indicates if the output of |
... |
further arguments passed to or from methods. |
e1 |
Operand of class |
e2 |
Operand of class |
na.rm |
if |
i |
index specifying elements to extract or replace. |
j |
Required for |
drop |
Required for |
value |
argument for |
An object of class nanoduration
of length 1.
A nanoduration
can be constructed with the function
as.nanoduration
which can take the types integer64
,
integer
and numeric
(all indicating the count in
nanosecond units) or the type character
.
It can also be constructed by specifying with individual arguments
the hours, minutes, seconds and nanoseconds with a call to
nanoduration
.
A nanoduration
is displayed as hours, minutes, seconds and
nanoseconds like this: 110:12:34.123_453_001
. The nanosecond
precision displayed is adjusted as necessary, so e.g. 1 second is
displayed as 00:00:01
.
A nanoduration object
Dirk Eddelbuettel
Leonardo Silvestri
## constructors: nanoduration(hours=10, minutes=3, seconds=2, nanoseconds=999999999) as.nanoduration("10:03:02.999_999_999") as.nanoduration(36182999999999) ## arithmetic: as.nanoduration(10e9) - as.nanoduration(9e9) as.nanoduration(10e9) + as.nanoduration(-9e9) as.nanoduration("24:00:00") / 2 as.nanoduration("24:00:00") / as.nanoduration("12:00:00")