ToC | DocOverview | CGDoc | RelNotes | Index | PermutedIndex
| Allegro CL

| ANSI Common Lisp 12 Numbers 12.2 Dictionary of Numbers
12.2.71 mask-field | Accessor
  Syntax: mask-field bytespec integer masked-integer (setf (mask-field bytespec place) new-masked-integer) Arguments and Values: bytespec - a byte specifier. integer - an integer. masked-integer, new-masked-integer - a non-negative integer. Description: mask-field performs a "mask" operation on integer. It returns an integer that has the same bits as integer in the byte specified by bytespec, but that has zero-bits everywhere else. setf may be used with mask-field to modify a byte within the integer that is stored in a given place. The effect is to perform a deposit-field operation and then store the result back into the place. Examples:
       (mask-field (byte 1 5) -1)  32
       (setq a 15)  15
       (mask-field (byte 2 0) a)  3
       a  15
       (setf (mask-field (byte 2 0) a) 1)  1
       a  13
  See Also: byte, ldb Notes:
       (ldb bs (mask-field bs n)) ==(ldb bs n)
       (logbitp j (mask-field (byte s p) n))
         ==(and (>= j p) (< j s) (logbitp j n))
       (mask-field bs n) ==(logand n (dpb -1 bs 0))
Allegro CL Implementation Details: None.

© Franz Inc. 1998-2019 - File last updated 02-07-2019