;; -*-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-interface (standard-library bitwise-arithmetic)

  (import (standard-library core))

  (declare bitwise-not (:simple-proc (<integer>) <integer> pure))

  (declare bitwise-and (:simple-proc (<integer> <integer>) <integer> pure))

  (declare bitwise-ior (:simple-proc (<integer> <integer>) <integer> pure))

  (declare bitwise-xor (:simple-proc (<integer> <integer>) <integer> pure))

  (declare bitwise-arithmetic-shift
	   (:simple-proc (<integer> <integer>) <integer> pure))

  (declare bitwise-arithmetic-shift-right
	   (:simple-proc (<integer> <integer>) <integer> pure))

  (declare bitwise-arithmetic-shift-left
	   (:simple-proc (<integer> <integer>) <integer> pure))

  (declare ash
	   (:simple-proc (<integer> <integer>) <integer> pure)))