assert_all_are_imaginary {assertive.numbers}R Documentation

Is the input real/imaginary?

Description

Checks to see if the input is real or imaginary.

Usage

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))

Arguments

x

Input to check.

tol

Imaginary/real components smaller than tol are not considered.

na_ignore

A logical value. If FALSE, NA values cause an error; otherwise they do not. Like na.rm in many stats package functions, except that the position of the failing values does not change.

severity

How severe should the consequences of the assertion be? Either "stop", "warning", "message", or "none".

.xname

Not intended to be used directly.

Value

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.

See Also

complex

Examples

(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))

[Package assertive.numbers version 0.0-2 Index]