;; -*-theme-d-*-

;; Copyright (C) 2018 Tommi Höynälänmaa
;; Distributed under GNU Lesser General Public License version 3,
;; see file doc/LGPL-3.

(define-body (standard-library bitwise-arithmetic)

  (define bitwise-not
    (unchecked-prim-proc bitwise-not (<integer>) <integer> pure))

  (define bitwise-and
    (unchecked-prim-proc bitwise-and (<integer> <integer>) <integer> pure))

  (define bitwise-ior
    (unchecked-prim-proc bitwise-ior (<integer> <integer>) <integer> pure))

  (define bitwise-xor
    (unchecked-prim-proc bitwise-xor (<integer> <integer>) <integer> pure))

  (define bitwise-arithmetic-shift
    (unchecked-prim-proc bitwise-arithmetic-shift
			 (<integer> <integer>) <integer> pure))

  (define bitwise-arithmetic-shift-right
    (unchecked-prim-proc bitwise-arithmetic-shift-right
			 (<integer> <integer>) <integer> pure))

  (define bitwise-arithmetic-shift-left
    (unchecked-prim-proc bitwise-arithmetic-shift-left
			 (<integer> <integer>) <integer> pure))

  (define ash bitwise-arithmetic-shift))
