Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,9 @@
|
|||
(defun bitwise (a b)
|
||||
(print (logand a b)) ; AND
|
||||
(print (logior a b)) ; OR ("ior" = inclusive or)
|
||||
(print (logxor a b)) ; XOR
|
||||
(print (lognot a)) ; NOT
|
||||
(print (ash a b)) ; arithmetic left shift (positive 2nd arg)
|
||||
(print (ash a (- b))) ; arithmetic right shift (negative 2nd arg)
|
||||
; no logical shift
|
||||
)
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
(defun shl (x width bits)
|
||||
"Compute bitwise left shift of x by 'bits' bits, represented on 'width' bits"
|
||||
(logand (ash x bits)
|
||||
(1- (ash 1 width))))
|
||||
|
||||
(defun shr (x width bits)
|
||||
"Compute bitwise right shift of x by 'bits' bits, represented on 'width' bits"
|
||||
(logand (ash x (- bits))
|
||||
(1- (ash 1 width))))
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
(defun rotl (x width bits)
|
||||
"Compute bitwise left rotation of x by 'bits' bits, represented on 'width' bits"
|
||||
(logior (logand (ash x (mod bits width))
|
||||
(1- (ash 1 width)))
|
||||
(logand (ash x (- (- width (mod bits width))))
|
||||
(1- (ash 1 width)))))
|
||||
|
||||
(defun rotr (x width bits)
|
||||
"Compute bitwise right rotation of x by 'bits' bits, represented on 'width' bits"
|
||||
(logior (logand (ash x (- (mod bits width)))
|
||||
(1- (ash 1 width)))
|
||||
(logand (ash x (- width (mod bits width)))
|
||||
(1- (ash 1 width)))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue