update common bitwise shorthands
This commit is contained in:
parent
b3cda65a61
commit
1a2b3cfb9a
|
@ -1,10 +1,10 @@
|
||||||
#lang racket
|
#lang curly-fn racket
|
||||||
|
|
||||||
;; utilities for every challenge script
|
;; utilities for every challenge script
|
||||||
|
|
||||||
(require "aoc-lib.rkt" threading syntax/parse/define (for-syntax racket/syntax) graph)
|
(require "aoc-lib.rkt" threading syntax/parse/define (for-syntax racket/syntax) graph)
|
||||||
(provide answer dbg memoize define/memoized
|
(provide answer dbg memoize define/memoized
|
||||||
band bor bxor bshl bshr
|
band bor bxor bnot bshl bshr bset? bfield
|
||||||
(all-from-out threading syntax/parse/define graph)
|
(all-from-out threading syntax/parse/define graph)
|
||||||
(for-syntax (all-from-out racket/syntax)))
|
(for-syntax (all-from-out racket/syntax)))
|
||||||
|
|
||||||
|
@ -16,8 +16,11 @@
|
||||||
(define band bitwise-and)
|
(define band bitwise-and)
|
||||||
(define bor bitwise-ior)
|
(define bor bitwise-ior)
|
||||||
(define bxor bitwise-xor)
|
(define bxor bitwise-xor)
|
||||||
|
(define bnot bitwise-not)
|
||||||
(define bshl arithmetic-shift)
|
(define bshl arithmetic-shift)
|
||||||
(define bshr #{arithmetic-shift %1 (- %2)})
|
(define bshr #{arithmetic-shift %1 (- %2)})
|
||||||
|
(define bset? bitwise-bit-set?)
|
||||||
|
(define bfield bitwise-bit-field)
|
||||||
|
|
||||||
;; makes a memoization wrapper around a function
|
;; makes a memoization wrapper around a function
|
||||||
(define (memoize func)
|
(define (memoize func)
|
||||||
|
|
Loading…
Reference in New Issue