;;;; sha512-primitive.scm -*- Scheme -*- ;;;; Kon Lovett, Jul '18 (module sha512-primitive (;export sha512-primitive) (import scheme (chicken base) (chicken type) message-digest-primitive sha512-api) (include-relative "message-digest-primitive.types") (: sha512-primitive (--> message-digest-primitive)) (define sha512-primitive (let ((the-sha512-primitive (the (or false message-digest-primitive) #f))) (lambda () (unless the-sha512-primitive (set! the-sha512-primitive (make-message-digest-primitive context-size digest-length init update final #:block-length block-length #:raw-update raw-update #:name name)) ) the-sha512-primitive ) ) ) ) ;module sha512-primitive