length.bit {bit} | R Documentation |
Getting and setting length of bit, bitwhich and ri objects
Description
Query the number of bits in a bit
vector or change the number
of bits in a bit vector.
Query the number of bits in a
bitwhich
vector or change the number of bits in a bit vector.
Usage
## S3 method for class 'bit'
length(x)
## S3 replacement method for class 'bit'
length(x) <- value
## S3 method for class 'bitwhich'
length(x)
## S3 replacement method for class 'bitwhich'
length(x) <- value
## S3 method for class 'ri'
length(x)
Arguments
x |
|
value |
the new number of bits |
Details
NOTE that the length does NOT reflect the number of selected (TRUE
)
bits, it reflects the sum of both, TRUE
and FALSE
bits.
Increasing the length of a bit
object will set new bits to
FALSE
. The behaviour of increasing the length of a
bitwhich
object is different and depends on the content of the
object:
TRUE – all included, new bits are set to
TRUE
positive integers – some included, new bits are set to
FALSE
negative integers – some excluded, new bits are set to
TRUE
FALSE – all excluded:, new bits are set to
FALSE
Decreasing the length of bit or bitwhich removes any previous information about the status bits above the new length.
Value
the length A bit vector with the new length
Author(s)
Jens Oehlschlägel
See Also
length
, sum
,
poslength
, maxindex
Examples
stopifnot(length(ri(1, 1, 32))==32)
x <- as.bit(ri(32, 32, 32))
stopifnot(length(x)==32)
stopifnot(sum(x)==1)
length(x) <- 16
stopifnot(length(x)==16)
stopifnot(sum(x)==0)
length(x) <- 32
stopifnot(length(x)==32)
stopifnot(sum(x)==0)
x <- as.bit(ri(1, 1, 32))
stopifnot(length(x)==32)
stopifnot(sum(x)==1)
length(x) <- 16
stopifnot(length(x)==16)
stopifnot(sum(x)==1)
length(x) <- 32
stopifnot(length(x)==32)
stopifnot(sum(x)==1)
x <- as.bitwhich(bit(32))
stopifnot(length(x)==32)
stopifnot(sum(x)==0)
length(x) <- 16
stopifnot(length(x)==16)
stopifnot(sum(x)==0)
length(x) <- 32
stopifnot(length(x)==32)
stopifnot(sum(x)==0)
x <- as.bitwhich(!bit(32))
stopifnot(length(x)==32)
stopifnot(sum(x)==32)
length(x) <- 16
stopifnot(length(x)==16)
stopifnot(sum(x)==16)
length(x) <- 32
stopifnot(length(x)==32)
stopifnot(sum(x)==32)
x <- as.bitwhich(ri(32, 32, 32))
stopifnot(length(x)==32)
stopifnot(sum(x)==1)
length(x) <- 16
stopifnot(length(x)==16)
stopifnot(sum(x)==0)
length(x) <- 32
stopifnot(length(x)==32)
stopifnot(sum(x)==0)
x <- as.bitwhich(ri(2, 32, 32))
stopifnot(length(x)==32)
stopifnot(sum(x)==31)
length(x) <- 16
stopifnot(length(x)==16)
stopifnot(sum(x)==15)
length(x) <- 32
stopifnot(length(x)==32)
stopifnot(sum(x)==31)
x <- as.bitwhich(ri(1, 1, 32))
stopifnot(length(x)==32)
stopifnot(sum(x)==1)
length(x) <- 16
stopifnot(length(x)==16)
stopifnot(sum(x)==1)
length(x) <- 32
stopifnot(length(x)==32)
stopifnot(sum(x)==1)
x <- as.bitwhich(ri(1, 31, 32))
stopifnot(length(x)==32)
stopifnot(sum(x)==31)
message("NOTE the change from 'some excluded' to 'all excluded' here")
length(x) <- 16
stopifnot(length(x)==16)
stopifnot(sum(x)==16)
length(x) <- 32
stopifnot(length(x)==32)
stopifnot(sum(x)==32)