From 6858abac044746f4195515b3c1ed65ba8c2f0307 Mon Sep 17 00:00:00 2001 From: Aaron Gyes Date: Sun, 31 Oct 2021 03:53:37 -0700 Subject: [PATCH] Add a function for getting a quick hash/checksum 16 bits ought to be enough for anything --- share/functions/fish_fletcher16.fish | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 share/functions/fish_fletcher16.fish diff --git a/share/functions/fish_fletcher16.fish b/share/functions/fish_fletcher16.fish new file mode 100644 index 000000000..beaf8cb20 --- /dev/null +++ b/share/functions/fish_fletcher16.fish @@ -0,0 +1,10 @@ +function fish_fletcher16 --argument input -d "compute a fletcher 16 checksum" + set -l sum1 0 + set -l sum2 0 + for char in (string split '' $input) + set -l ordinal (printf %2u "'$char") + math "($sum1 + $ordinal)" % 255 | read sum1 + math "($sum2 + $sum1)" % 255 | read sum2 + end + math "bitor $sum1,$(math $sum2 '*' pow 2,8)" +end