(module (siphash) () (import (scheme) (srfi 4)) (import (except (chicken base) assert)) (import (chicken bitwise) (chicken module) (chicken type)) (export make-siphash siphash-2-4 siphash-4-8) (define bytevector-length u8vector-length) (define bytevector-u8-ref u8vector-ref) (define bytevector-copy subu8vector) (define bytevector? u8vector?) (define-type bytevector u8vector) (define-type input bytevector) (define-type siphash (input #!optional input -> (or (input -> fixnum) fixnum))) (: make-siphash (fixnum fixnum -> siphash)) (: siphash-2-4 siphash) (: siphash-4-8 siphash) (include "src/foldling/siphash.scm"))