From 59677102b638e3a346c0fbed0176005c7aa6b964 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Mon, 17 Feb 2014 18:25:51 -0800 Subject: [PATCH] checksums: simplify add-checksum-bytes. --- core/checksums/checksums.factor | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/core/checksums/checksums.factor b/core/checksums/checksums.factor index 96df574b6f..f08f8abe13 100644 --- a/core/checksums/checksums.factor +++ b/core/checksums/checksums.factor @@ -7,7 +7,9 @@ IN: checksums MIXIN: checksum TUPLE: checksum-state - { bytes-read integer } { block-size integer } { bytes byte-vector } ; +{ bytes-read integer } +{ block-size integer } +{ bytes byte-vector } ; : new-checksum-state ( class -- checksum-state ) new @@ -17,7 +19,7 @@ M: checksum-state clone call-next-method [ clone ] change-bytes ; -GENERIC: initialize-checksum-state ( class -- checksum-state ) +GENERIC: initialize-checksum-state ( checksum -- checksum-state ) GENERIC: checksum-block ( bytes checksum -- ) @@ -27,9 +29,9 @@ GENERIC: get-checksum ( checksum -- value ) over bytes>> [ push-all ] keep [ dup length pick block-size>> >= ] [ - over block-size>> cut-slice [ >byte-array ] dip [ - over [ checksum-block ] - [ [ ] [ block-size>> ] bi [ + ] curry change-bytes-read drop ] bi + over block-size>> cut-slice [ + >byte-array over checksum-block + [ block-size>> ] keep [ + ] change-bytes-read ] dip ] while >byte-vector