assert_all_are_imaginary {assertive.numbers} | R Documentation |
Checks to see if the input is real or imaginary.
assert_all_are_imaginary(x, tol = 100 * .Machine$double.eps, na_ignore = FALSE, severity = getOption("assertive.severity", "stop")) assert_any_are_imaginary(x, tol = 100 * .Machine$double.eps, na_ignore = FALSE, severity = getOption("assertive.severity", "stop")) assert_all_are_real(x, tol = 100 * .Machine$double.eps, na_ignore = FALSE, severity = getOption("assertive.severity", "stop")) assert_any_are_real(x, tol = 100 * .Machine$double.eps, na_ignore = FALSE, severity = getOption("assertive.severity", "stop")) is_imaginary(x, tol = 100 * .Machine$double.eps, .xname = get_name_in_parent(x)) is_real(x, tol = 100 * .Machine$double.eps, .xname = get_name_in_parent(x))
x |
Input to check. |
tol |
Imaginary/real components smaller than |
na_ignore |
A logical value. If |
severity |
How severe should the consequences of the assertion be?
Either |
.xname |
Not intended to be used directly. |
TRUE
if the input has imaginary component equal to zero.
The assert_*
functions return nothing but
throw an error if the corresponding is_*
function returns
FALSE
.
(x <- with(expand.grid(re = -1:1, im = -1:1), re + im * 1i)) is_real(x) is_imaginary(x) # By default, very small imaginary/real components are ignored. x <- .Machine$double.eps * (1 + 1i) is_real(x) is_real(x, 0) is_imaginary(x) is_imaginary(x, 0) # numbers with both a real and imaginary component return FALSE # (since they are neither purely real nor purely imaginary) cmplx <- 1 + 1i is_real(cmplx) is_imaginary(cmplx) assert_all_are_real(1:10) assert_all_are_real(1:10 + 0i) assert_any_are_real(c(1i, 0)) assert_all_are_imaginary(1:10 * 1i) assert_any_are_imaginary(c(1i, 0)) assertive.base::dont_stop(assert_all_are_real(x)) assertive.base::dont_stop(assert_all_are_imaginary(x))