Handbook Glossary
factorcode.org
block-checksum? ( object -- ? )


Vocabulary
checksums.common

Inputs and outputs
objectan object
?a boolean


Word description
Tests if the object is an instance of the block-checksum class.

Definition
USING: checksums.md5 checksums.multi checksums.openssl
checksums.process checksums.ripemd checksums.sha
classes.tuple.private kernel slots.private ;

IN: checksums.common

: block-checksum? ( object -- ? )
dup dup tuple? [
layout-of
7
slot
dup
\ checksum-process
eq?
[ drop t ]
[
dup \ multi-checksum eq?
[ drop t ] [ \ openssl-checksum eq? ] if
]
if
] [ drop f ] if
[ drop t ] [
dup sha?
[ drop t ] [ dup ripemd-160? [ drop t ] [ md5? ] if ] if
] if ;