Learn R Programming

bit (version 4.6.0)

CoercionToStandard: Coercion from bit, bitwhich, which and ri to logical, integer, double

Description

Coercion from bit is quite fast because we use a double loop that fixes each word in a processor register.

Usage

# S3 method for bit
as.logical(x, ...)

# S3 method for bit as.integer(x, ...)

# S3 method for bit as.double(x, ...)

# S3 method for bitwhich as.integer(x, ...)

# S3 method for bitwhich as.double(x, ...)

# S3 method for bitwhich as.logical(x, ...)

# S3 method for ri as.logical(x, ...)

# S3 method for ri as.integer(x, ...)

# S3 method for ri as.double(x, ...)

# S3 method for which as.logical(x, length = attr(x, "maxindex"), ...)

Value

as.logical() returns a vector of FALSE, TRUE, as.integer() and as.double() return a vector of 0,1.

Arguments

x

an object of class bit(), bitwhich() or ri()

...

ignored

length

length of the boolean vector (required for as.logical.which)

Author

Jens Oehlschlägel

See Also

CoercionToStandard, as.booltype(), as.bit(), as.bitwhich() , as.which(), as.ri(), ff::as.hi(), ff::as.ff()

Examples

Run this code

  x <- ri(2, 5, 10)
  y <- as.logical(x)
  y
  stopifnot(identical(y, as.logical(as.bit(x))))
  stopifnot(identical(y, as.logical(as.bitwhich(x))))

  y <- as.integer(x)
  y
  stopifnot(identical(y, as.integer(as.logical(x))))
  stopifnot(identical(y, as.integer(as.bit(x))))
  stopifnot(identical(y, as.integer(as.bitwhich(x))))

  y <- as.double(x)
  y
  stopifnot(identical(y, as.double(as.logical(x))))
  stopifnot(identical(y, as.double(as.bit(x))))
  stopifnot(identical(y, as.double(as.bitwhich(x))))

Run the code above in your browser using DataLab