From eeaa9b3b2f9c571fc4e8349508f67644d8668df9 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Wed, 6 Apr 2022 14:27:57 +0800 Subject: [PATCH] Horner's method --- src/__comm__/_str_hash.scad | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/__comm__/_str_hash.scad b/src/__comm__/_str_hash.scad index a02c8cdc..c6c93fd0 100644 --- a/src/__comm__/_str_hash.scad +++ b/src/__comm__/_str_hash.scad @@ -8,6 +8,6 @@ function _str_hash(value) = cum_total = [ for(i = 0, s = ord(chars[0]), is_continue = i < end; is_continue; - i = i + 1, is_continue = i < end, s = is_continue ? s + (ord(chars[i]) * 31 ^ i) : undef) s] + i = i + 1, is_continue = i < end, s = is_continue ? 31 * s + ord(chars[i]) : undef) s] ) - cum_total[end - 1] + (ord(chars[end]) * 31 ^ end); + 31 * cum_total[end - 1] + ord(chars[end]); \ No newline at end of file