bit-vector-p
bit-vector-p Function
Syntax:
bit-vector-p object → generalized-boolean
Arguments and Values:
object—an object.
generalized-boolean—a generalized boolean.
Description:
Returns true if object is of type bit-vector; otherwise, returns false.
Examples:
(bit-vector-p (make-array 6
:element-type ’bit
:fill-pointer t)) → true
(bit-vector-p #\*) → true
(bit-vector-p (make-array 6)) → false
See Also:
typepNotes:
(bit-vector-p object) ≡ (typep object ’bit-vector)
Expanded Reference: bit-vector-p
Basic Usage
bit-vector-p returns true if its argument is a bit vector (a one-dimensional array with element-type bit), false otherwise.
(bit-vector-p #*10110)
=> T
(bit-vector-p #*)
=> T
(bit-vector-p 42)
=> NIL
Bit Vectors with Fill Pointers
Unlike simple-bit-vector-p, bit-vector-p returns true even for non-simple bit vectors.
(bit-vector-p
(make-array 8 :element-type 'bit :fill-pointer 3 :initial-element 0))
=> T
(bit-vector-p
(make-array 6 :element-type 'bit :initial-element 0))
=> T
Non-Bit-Vector Types
General vectors, strings, multi-dimensional arrays, and non-arrays return false.
(bit-vector-p (vector 0 1 0 1))
=> NIL
(bit-vector-p "hello")
=> NIL
(bit-vector-p (make-array '(2 3) :element-type 'bit :initial-element 0))
=> NIL
Equivalence to typep
(bit-vector-p x) is equivalent to (typep x 'bit-vector).
(let ((bv (make-array 4 :element-type 'bit :initial-element 1)))
(eq (bit-vector-p bv) (typep bv 'bit-vector)))
=> T