From d28929c43787d431e534b0ccb64c6482eade9524 Mon Sep 17 00:00:00 2001 From: "Richard C. Gobeille" Date: Fri, 12 Jun 2020 17:07:27 -0700 Subject: [PATCH] engine: add klabs() back into ksqrtasm_old() --- source/build/src/engine_priv.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/source/build/src/engine_priv.h b/source/build/src/engine_priv.h index a736d1029..f864aa83b 100644 --- a/source/build/src/engine_priv.h +++ b/source/build/src/engine_priv.h @@ -67,12 +67,15 @@ extern uint16_t sqrtable[4096], shlookup[4096+256],sqrtable_old[2048]; inline int32_t ksqrtasm_old(int32_t n) { - n = klabs(n); - int shift; - for (shift = 0; n >= 2048; n >>=2, shift++) + uint32_t shift = 0; + n = klabs((int32_t)n); + while (n >= 2048) { + n >>= 2; + ++shift; } - return (sqrtable_old[n]<>10; + uint32_t const s = sqrtable_old[n]; + return (s << shift) >> 10; } inline int32_t clip_nsqrtasm(int32_t n)