From f6f2a74e1dc2e01982a27beaa26e4453ff65fa23 Mon Sep 17 00:00:00 2001 From: HP <2726519488@qq.com> Date: Fri, 17 Jul 2026 14:10:29 +0800 Subject: [PATCH] over --- CMakeLists.txt | 9 +- src/Apps/Game/CMakeLists.txt | 46 +- src/Apps/Game/Main.cpp | 10 +- src/Apps/Game/README.md | 16 +- src/Apps/Game/assets/audio/CloseLight.wav | Bin 0 -> 299086 bytes src/Apps/Game/assets/audio/OpenLight.wav | Bin 0 -> 340046 bytes src/Apps/Game/src/app/TomGameApp.cpp | 26 + src/Apps/Game/src/app/TomGameApp.h | 3 + src/Apps/Game/src/audio/WavAudioData.cpp | 95 + src/Apps/Game/src/audio/WavAudioData.h | 22 + .../src/gameplay/KeywordCommandRouter.cpp | 7 + .../Game/src/gameplay/KeywordCommandRouter.h | 4 +- .../gameplay/VoiceInteractionController.cpp | 102 +- .../src/gameplay/VoiceInteractionController.h | 14 +- .../src/recognition/KeywordRecognizer.cpp | 6 + .../Game/src/recognition/KeywordRecognizer.h | 5 +- src/Apps/Game/src/recognition/MODLE.md | 392 ++++ .../src/recognition/ResBnKwsCnModelData.cpp | 1812 +++++++++++++++++ .../src/recognition/ResBnKwsCnModelData.h | 106 + .../src/recognition/ResBnKwsCnRecognizer.cpp | 1131 ++++++++++ .../src/recognition/ResBnKwsCnRecognizer.h | 50 + src/Apps/Game/tests/TomAudioDataTests.cpp | 53 + src/Apps/Game/tools/EmbedTomAudio.cmake | 55 + src/Core/Platform/DefaultHardware.h | 4 + src/Core/Platform/IBoardLed.h | 14 + src/Core/Platform/Imx6ullAlphaLed.cpp | 172 ++ src/Core/Platform/Imx6ullAlphaLed.h | 32 + src/Core/Platform/SimulatedBoardLed.h | 27 + 28 files changed, 4174 insertions(+), 39 deletions(-) create mode 100644 src/Apps/Game/assets/audio/CloseLight.wav create mode 100644 src/Apps/Game/assets/audio/OpenLight.wav create mode 100644 src/Apps/Game/src/audio/WavAudioData.cpp create mode 100644 src/Apps/Game/src/audio/WavAudioData.h create mode 100644 src/Apps/Game/src/recognition/MODLE.md create mode 100644 src/Apps/Game/src/recognition/ResBnKwsCnModelData.cpp create mode 100644 src/Apps/Game/src/recognition/ResBnKwsCnModelData.h create mode 100644 src/Apps/Game/src/recognition/ResBnKwsCnRecognizer.cpp create mode 100644 src/Apps/Game/src/recognition/ResBnKwsCnRecognizer.h create mode 100644 src/Apps/Game/tests/TomAudioDataTests.cpp create mode 100644 src/Apps/Game/tools/EmbedTomAudio.cmake create mode 100644 src/Core/Platform/IBoardLed.h create mode 100644 src/Core/Platform/Imx6ullAlphaLed.cpp create mode 100644 src/Core/Platform/Imx6ullAlphaLed.h create mode 100644 src/Core/Platform/SimulatedBoardLed.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 82284d6..e71f86b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,10 +35,11 @@ set(CORE_SOURCES ) if(TARGET_IMX) - list(APPEND CORE_SOURCES - src/Core/Platform/FBDisplay.cpp - src/Core/Platform/Ap3216cPhotoSensor.cpp - ) + list(APPEND CORE_SOURCES + src/Core/Platform/FBDisplay.cpp + src/Core/Platform/Ap3216cPhotoSensor.cpp + src/Core/Platform/Imx6ullAlphaLed.cpp + ) else() list(APPEND CORE_SOURCES src/Core/Platform/SDLDisplay.cpp diff --git a/src/Apps/Game/CMakeLists.txt b/src/Apps/Game/CMakeLists.txt index 5101059..f3be308 100644 --- a/src/Apps/Game/CMakeLists.txt +++ b/src/Apps/Game/CMakeLists.txt @@ -2,22 +2,45 @@ set(TOM_GAME_TARGET IMX6U-Game) set(TOM_ATLAS_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/generated/tom_atlas.h") set_source_files_properties(${TOM_ATLAS_HEADER} PROPERTIES GENERATED TRUE) +set(TOM_AUDIO_GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") +set(TOM_AUDIO_HEADER "${TOM_AUDIO_GENERATED_DIR}/TomAudioData.h") +set(TOM_AUDIO_SOURCE "${TOM_AUDIO_GENERATED_DIR}/TomAudioData.cpp") +add_custom_command( + OUTPUT ${TOM_AUDIO_HEADER} ${TOM_AUDIO_SOURCE} + COMMAND ${CMAKE_COMMAND} + "-DOPEN_LIGHT_WAV=${CMAKE_CURRENT_SOURCE_DIR}/assets/audio/OpenLight.wav" + "-DCLOSE_LIGHT_WAV=${CMAKE_CURRENT_SOURCE_DIR}/assets/audio/CloseLight.wav" + "-DOUTPUT_HEADER=${TOM_AUDIO_HEADER}" + "-DOUTPUT_SOURCE=${TOM_AUDIO_SOURCE}" + -P "${CMAKE_CURRENT_SOURCE_DIR}/tools/EmbedTomAudio.cmake" + DEPENDS + "${CMAKE_CURRENT_SOURCE_DIR}/assets/audio/OpenLight.wav" + "${CMAKE_CURRENT_SOURCE_DIR}/assets/audio/CloseLight.wav" + "${CMAKE_CURRENT_SOURCE_DIR}/tools/EmbedTomAudio.cmake" + COMMENT "Embedding Tom voice response WAV files" + VERBATIM +) +set_source_files_properties(${TOM_AUDIO_HEADER} ${TOM_AUDIO_SOURCE} PROPERTIES GENERATED TRUE) + add_executable(${TOM_GAME_TARGET} Main.cpp src/app/TomGameApp.cpp src/audio/VoiceEffect.cpp src/audio/VoicePlayer.cpp src/audio/VoiceRecorder.cpp + src/audio/WavAudioData.cpp src/gameplay/KeywordCommandRouter.cpp src/gameplay/SpriteButton.cpp src/gameplay/TomAnimator.cpp src/gameplay/TomHud.cpp src/gameplay/VoiceInteractionController.cpp src/recognition/KeywordRecognizer.cpp - src/recognition/ResBnKwsRecognizer.cpp - src/recognition/ResBnKwsModelData.cpp + src/recognition/ResBnKwsCnRecognizer.cpp + src/recognition/ResBnKwsCnModelData.cpp src/ui/TomSettingsPanel.cpp ${TOM_ATLAS_HEADER} + ${TOM_AUDIO_HEADER} + ${TOM_AUDIO_SOURCE} ) target_include_directories(${TOM_GAME_TARGET} PRIVATE @@ -28,10 +51,29 @@ target_include_directories(${TOM_GAME_TARGET} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/recognition ${CMAKE_CURRENT_SOURCE_DIR}/src/ui ${CMAKE_CURRENT_SOURCE_DIR}/generated + ${TOM_AUDIO_GENERATED_DIR} ) imx6u_configure_app_target(${TOM_GAME_TARGET}) +if(BUILD_TESTING AND NOT TARGET_IMX) + add_executable(TomAudioDataTests EXCLUDE_FROM_ALL + tests/TomAudioDataTests.cpp + src/audio/WavAudioData.cpp + src/gameplay/KeywordCommandRouter.cpp + src/recognition/KeywordRecognizer.cpp + ${TOM_AUDIO_HEADER} + ${TOM_AUDIO_SOURCE} + ) + target_include_directories(TomAudioDataTests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/src/audio + ${CMAKE_CURRENT_SOURCE_DIR}/src/gameplay + ${CMAKE_CURRENT_SOURCE_DIR}/src/recognition + ${TOM_AUDIO_GENERATED_DIR} + ) + add_test(NAME tom_audio_data COMMAND TomAudioDataTests) +endif() + if(CMAKE_CROSSCOMPILING AND NOT EXISTS "${TOM_ATLAS_HEADER}") message(FATAL_ERROR "Tom atlas header is missing. Run GenerateTomAtlasHeader in a host build before cross compiling." diff --git a/src/Apps/Game/Main.cpp b/src/Apps/Game/Main.cpp index 52a43c9..e419049 100644 --- a/src/Apps/Game/Main.cpp +++ b/src/Apps/Game/Main.cpp @@ -13,7 +13,7 @@ #include "Timer.h" #include "app/TomGameApp.h" #include "recognition/KeywordRecognizer.h" -#include "recognition/ResBnKwsRecognizer.h" +#include "recognition/ResBnKwsCnRecognizer.h" #ifdef TARGET_IMX #include "FBDisplay.h" @@ -348,8 +348,9 @@ int main(int argc, char *argv[]) Platform::DefaultAudioOutput audioOutput; Platform::DefaultButtonInput buttonInput; Platform::DefaultPointerInput pointerInput; + Platform::DefaultBoardLed boardLed; - Game::ResBnKwsRecognizer keywordRecognizer; + Game::ResBnKwsCnRecognizer keywordRecognizer; keywordRecognizer.set_confidence_threshold(options.kws_threshold); keywordRecognizer.set_input_gain(options.kws_input_gain); @@ -361,6 +362,10 @@ int main(int argc, char *argv[]) { std::cerr << "[WARN] Pointer input init failed; on-screen button trigger is disabled." << std::endl; } + if (!boardLed.init()) + { + std::cerr << "[WARN] Board LED init failed; voice responses remain enabled." << std::endl; + } Core::DrawContext ctx(ScreenWidth, ScreenHeight); Core::Timer timer(options.target_fps); @@ -372,6 +377,7 @@ int main(int argc, char *argv[]) &audioOutput, &buttonInput, &pointerInput, + &boardLed, &keywordRecognizer, options.settings_path); app.configure_audio(options.audio_sample_rate, options.audio_channels); diff --git a/src/Apps/Game/README.md b/src/Apps/Game/README.md index 64706ae..603eedd 100644 --- a/src/Apps/Game/README.md +++ b/src/Apps/Game/README.md @@ -3,13 +3,14 @@ 本文说明 TomGame 当前的关键词识别方式,以及 Windows 验证、WSL 交叉编译、Windows SCP 部署和 IMX6ULL 板端运行流程。 -TomGame 使用内嵌的 `ResBnKwsRecognizer` INT8 模型,不需要 Python、 +TomGame 使用内嵌的 `ResBnKwsCnRecognizer` INT8 模型,不需要 Python、 TensorFlow、TensorFlow Lite 运行库或外部模型文件。 -模型支持以下 12 个类别: +模型支持以下 14 个类别: ```text -Down, Go, Left, No, Off, On, Right, Stop, Up, Yes, Silence, Unknown +Down, Go, Left, No, Off, On, Right, Stop, Up, Yes, +OpenLight, CloseLight, Silence, Unknown ``` 当前游戏动作映射: @@ -17,8 +18,15 @@ Down, Go, Left, No, Off, On, Right, Stop, Up, Yes, Silence, Unknown ```text Up / On -> Jump Stop -> Idle +OpenLight -> 打开 ALPHA 板载 LED,播放 Tom 音效语音 +CloseLight -> 关闭 ALPHA 板载 LED,播放 Tom 音效语音 ``` +`OpenLight.wav` 和 `CloseLight.wav` 会在构建阶段转换成只读 C++ 数据并 +编译进可执行文件,板端部署时不需要额外复制 WAV 文件。板载 LED 使用 +正点原子 I.MX6U-ALPHA 的 `GPIO1_IO03`,低电平点亮;程序优先使用 +`/dev/gpioled` 等正点原子教学驱动设备,并兼容 GPIO sysfs。 + ## Windows 验证 Windows 版本和板端版本使用同一套 C++ 特征提取、INT8 模型推理和 @@ -49,7 +57,7 @@ cmake --build build --config Release --target IMX6U-Game 识别成功或未达到阈值时,控制台会打印类似日志: ```text -[INFO] ResBN INT8 KWS result: command=Up, confidence=0.92, windows=... +[INFO] ResBN-CN INT8 KWS result: class=Up, confidence=0.92, windows=... ``` Windows Desktop 和全部游戏可以一起构建: diff --git a/src/Apps/Game/assets/audio/CloseLight.wav b/src/Apps/Game/assets/audio/CloseLight.wav new file mode 100644 index 0000000000000000000000000000000000000000..f20577e05bfb72fe5e614ad1f8d250677e6528be GIT binary patch literal 299086 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
CBe#G`#2-|1{d87jB*Y?C$c1+VPT{#C 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�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 HF^~Ko{dt*G literal 0 HcmV?d00001 diff --git a/src/Apps/Game/assets/audio/OpenLight.wav b/src/Apps/Game/assets/audio/OpenLight.wav new file mode 100644 index 0000000000000000000000000000000000000000..b6ea8d97712c55c5e0f5599d112efbce08d5c6a9 GIT binary patch literal 340046 zcmXV&1+*2%vWBaBA6$ZlAi*KQ-62?T3l70u0|a;X;O_43?(XjHLBhrLOn1Ex*5j;U zyUlc0{nk^ZOv#cZvqq4bMQfC3{#WPZu|&j(mHs=q@;@tK5=+XLsah=&H_KEkS*c9b zlGS2xy?mpt&2wkVoF{X(tXV~xHtO6+c$aVglz*N-_x&$i1O2Mu`kDVf@&8Bu|H$75 z{@(NVR^RCx{(qyd*}sHZ?|7@`?Ws(zP;r+pSbpwcMI1q zd{)4xhO>R<{}0^%k$b;=x|Powku5S?B(^AQ(dCoIVv8qVG=YTcPki?T{Nnf$S>j0) zwrFh8C9cGjIQ$=55^tgV{IJ{4M9!bDAkI%Dy;5m_b--x_d zL|z+(dt*s%ep3}mC5tgp_RPS z#_~*S%M-0E544Qj(PDB#3&>^7A*VIH9MPn5kZ-Y{PdmhsILUFk$g#VnkM*J6=Lp`= zmwKAxzl&qEl4CZ9Q8R_h2^__5+rsj^bdRH<)Aj4@Y$x+Y+`-jG?_8>0>;0 zf!E$u!#9hqq0T&etC&8aX}-}0QR(~Po(-?c?kv;8DndCo3I?m>Rb5xuI%^_rg5dwQKQ`7ht*S3ZcmWo+MnOjmEYA}uILcC ztCKipvlt=M86E#{Y`ZhUTQWu(@tqnm<{L6HYRhXaDG&7*_Dx7meE)q%^^k7WeY#3_ z=mK4%lXR92(UIDPzb0B=E9oDaPfKZ9Eu;xGhsM*4`lJ4;Ni+@jCDQB~U4K)nW%aB7 zQ{Vb_`pOUHa<+c*Th-_}ji8S-60<)h+(AF7&%~x?iqS{9K*n=jjB$lFJ?3KC09FMV;;M>LUMKSABo}d)?ly!1pZFIVkx`jmH}L%@X)o=k%d~@@(UyFJCRB%(noBxq4H>8%Wr~iLP3+m5x{cXz zg86%$S^PxW$vYV-Ugk?Qvsr#JXC%4#pQJMJO)68+q%?I*Qq#`-Y&w}Vri004+M5!l zhpBGHnWkn9_Z&8Vn{%eIIcqAIL*{q0!4xwKOkp$26fkp4Av4>QG^0&L)6!HmIZZv| zrGvRBgUmLWXjaNXvqUzS`LfeYkR7JGtTr`efypiNOk$Z~qRMDvc@%0$U+-PcxYtn#7#fDCV$!WK=(q6?#J!=s8)aN4dURHtPo2%kMs>BN?g9*-A0W zvdVg9##Buvz4cdVM188jek!J&q%ixb1kbOcJJ^5cq`y98--R=RBbyZ(-^|p+rjPz; zYH1{sNB<`Y^{hnHbrSdq^2PU{g|v{!yjL_WAz{4l2cJit`W$k@r;*b>x*YHybccVe zoBb7C?@urSj_YB6U2l6jfsY_@nVo4g6C6dzGW`G-1!5j50q)Pa714)7CnB%^ko@1whXKfUHh zGK%MExZg|5d#K(=l5k%8!58BD)|5-WqiplTWtN{IBmG(#niOox&#w6CPrm$u-HS{ObSi?*ceJAzxuKdaIsK@MXreme8{w1yG z4fUx~mG!ok(T!SyDp^MBF&p#hKuxS`nOC>&r4fKxX=xGSsh;zx+X| z<8MhNzC|e?&lK~iOc|fT)br6zSN~MT`u(!TFOZ9VBEM*o#L~I!(N*#rqoJ0rk?uO5 zqd$Vt(ONFjsoqd4f1tW#qB51^c(<0WjF)=4LMrJIDXVwn5B-nBF=zY*bK9RVpZ#9*qpmjDbdo8lea)ZR(R9&PW`JELir{O7mHRlkv=zM1`T zP!{?-vf4*6+x%~4pYLRj`>E!FUu16i#pa1$W?uXCM*S`mUk{qBdc>5`y{5jdG~INh znX0YL7OiS7>F?$i^LH058x0utq%xu?bW|IyvYqc|<*U${pTBd{6 zGu8PW*|;wvd-=L=W>)#KW+-E!y?-Mu{BCK_%m{p&UboEFFi_?m`gS3E)%tmG}Q`{Ny|%!S^d&Cm7BgZGjNFP^y7KIiOja) z(%W~Ey1t$i@}MGSP(+_op1Z7ao^21?DwkfSy2LWvMVGG5YXkRMtGG*A!7bIiu7f6X zc{Q<%uIb!6|C?j}xqH5YJLX5b8Ge%b6;FN_t77})eDsBEx3|d?J687Dy1Xu_l(E+}hMlKZOn;rv(f)SiN1D5gq-e6y{KAOLCLc@& zNnle*R-2a3{7rthZKaM~DsAjT>12O49c&fT&<-$_>{3&}9x;jSBNJw=^<4XGGTEml zr@ds-+dU?RU11)W5oWEaX8P0js+*6J#hjumu90UlSI*01*(&2@tc;*Z;K9h>QNUph=_%^!eLd(^$NA*a+W#gEeJ$xsJ)Q0c$qqk?**jI{d*+v4CK^?ZxmrGkC&SLh}GN=$t#u~kfTMyO@PzV^w?9iP-(^s&r&AJ8A} zGCFrkN}VRTLAbwxGD?Gfnu09HgG!HUPtaz25J69n_X0Z1bRHu(r)(=#wS5(y} z%$%ESS9BhiQ{}041F=QzhxMVGt_NLvUF-_!VE4xV>4y0% zF65)T9`1b*=I#gEf*Zl=;7;%)xEGY=_6qkpxa%Uj2QHP{?Fv&DYEdtGx%zIio9hA> z%a`(_{doW0U-Q|(wZCZ%kZ~K0tKC7KBQ;Ftf*VfiGaplq`C{z9R*dZ-a^DY@INDQ6 zXqU+U?qcG3u@WuMvQ&n2XDCr?D<)E|zJ3chMO+Guu z)Us<#IlImjw=+$3yUX;l&&*02m?JimJ!V_lRd%2qY^T^Rc7`2hhuAH)uf1lw+OxJU z*K6A4_D_4*7PbG`pRL-j=BxeBT(R%WLVL@!wyXJ!u_l@AXnwGzOceVg+hvJq=SX5I zR5F{F>Jlaq?Pm?lHTCoeYnN)6J*3g?3;o6ZER}2#X<@5NE&I3pYWvA&Ge~Zmv5dz> za>1Nt{6;jbOePcA?`?WzNbIym-{>Z zhJWQP81pBM1Di^tsrhD6`9?4K#_bH;2hy3SaWg0bt(Ds#zf zGwaPdGuh0e#|$?eO--27kEV*bB*o1nDPXE`8Aqy^E85nq))8j9&Hyt_HtVz<7$~cG zuP-GHb*+*Nl8(%nG4S3oTy{g>sKNE*Xdbty?JGI%BXl~Wpb2}r1Y@8ad%X?ZcC4mk z)<&TYef3@R10&{tJ{`v*l?LqJM2wQ$pzz{UpK_Xjv3G-Kt>cKV_M_ko6F}y(8Aa>p zCVRC!Rowg4I^Q!weGkp!>u6D5Lfi9Bi+n-qV|9*f7x>0lo$QzC->}-&e!mW*HXicl zG!}|OWpt0ujJQtdMD-YnMRk;<1Ev40m*7@kBq=B{vz7u!H#Uv5D~NB1>7k=cU(nqRgUhbPia^0Mi zv*x_)H4kO6anjqQFy&1-m~R&t>THnAX44z|*;KZhGCU)*OgD*OrLkeC5xD&doO@Hp z!alp0<66!f&=_Vfo#cqNoaYoSa2{ zH8)N_ayu`xak9^>uYGjQ#F+S9?@~#g_&ijUyr7$M)c@vmfS%e|doZ?Ipre$fTV-ZW zB-K=G`CwRO*{VuBu+bZz9j+S_j`&>r`$JTWsoq1=>(A7p@Rflv5j~)G{5u?f#1$lHfKcP>glToGsNTr;VfE~p){pG5x zkyU)gcuCLr=>%`ugR&vEi=?wXC7T^CKiiq$n0@lZyaC0=H%CkkD#IUU5h}@eGlQGdyf0)^Q%x$S*KFQA} z2G@Qx3)nhKL{n8h&}AKSGB(UN6`UdyOf|FF2&1{IDGjQ+L2qSGJw>0s4Q4%tezb;f zF$K)qNsfZ%-h%m4GeT;}Y*5WGU4Tk-P=@O>ZpVTTXE6ITi`mM%FG87`#Qj4UIei(2 z!*n3eX$9u1jy73ZuA)_5;eF1c(Cwr0EoHRLMEhI?dODAm>8XmT8KDJG*vm*Ax>tL) zZc?7=UrL%XX3L`2r{@39AjmUd?B$^Re^7Qi(*at5uUn%j_lKuUMXg;xf1H6P)mL*$ z9dzA1=pD(>VUlV?x_)=54p#4uf;)oy`s&XpCGY63=TJU3QxWFTEvBGwPNDnG26=3z zH{RE7^vN!$CtYwNy3vDsuy49EuDa4YyP|4$(-mwz_&%lRKS{J9W1u>Hzmjh7RdfhA zqK+S+S#~^0Uy89#W1he{x%itC0#6m^h0Z&q_bgar@_`YWdp})CzW_FzxWvH=ta2DJuvzU zw#Vq{=lI22^#E$>Q1)JFP*!|R#qUl;hfGb^%%*w3RE_y9eYKX3;yKf}wj4cqC#>eA z-eIrDkbimSuY7VGj#O3@p2{*2?_maLV=fqPp7aOxwdb;tEMQ));jtq!O&-Z%2{X?n zC5SPvNob0gUrbSx9z8Xg0TpmPvZ>5tT}@Oo)5J2{%}?f}NzRtk95nIFE)&IUp%QGS zG8|&$pJm*iGh4YFhmz7kHksE2oK#ew z1ZE6dKk7^`KDVE#3mWfYI`iDNW{7EFdV*V8q2|`*wN<&V6wk|R2AHgTyJXz|Rq~m0 zsL6|&alItEX&~85MR0vdnQyAd5%aekHDhFnSt@PK9?5D>@SNik$?TP+W;vB~l(aPM z;c^vZ2%N4zy|$~_49W*NAxv*|wuAFDgKA{_b0{N=0@Sn5* z>ib2vU5C0M+S2{5U7Ytb+!nvbb@azv5x>SI@$H@X1ZXNdgNv?xaNHFQj=DU-30E?> z<{AV~T!-M9>l*y)ItCA2^WcW772I-FxLrGVIhV)RcZvN#7sqdKKl!IFoloM6__Ds5@8O&JrM{KF;Olv#<>{zJ{a?(D)mqB` zPaFAUsI@s^WLZ#l6N2pnu>Vtf_hUxv7w}t3YFH)e(BE>3*?)$ae;%jjCcpj>sQNk2 z`U?Muh9eUPOq~R#mLByZ8>2NJsJb{DyR4iBcTShTsZA5W(;H#C=Vi6t1LHiT=6uuR zZ}KTS(E;YrUx$K+I8sLqNilLCVW<1NWos-r{)y4pK5| ze0K9tbAaHonCx`uCXyDmmKJVC)t21MiQmj!$;13f$()L2GMaac9})YcRU zRWY8|9kbERa{I5$w0q?rJ53tcjuHzVxzdz?17v}*#DS%Rs1*_LHlx8;eq#S-5{Iww z1Xc1DDCaKS=b?_{`fR$#0+|5%sj1^ZPh;ecABk$-Lq_`s=uD-gs!uQZd^AbrpK21n zPt*AMjFf*+`Z`iw>*{I$2Ryz!Go%#NxgefIMsQk6T>wU#?-Nk1qv}OQnfefZSOjXh z!Nc_arhfL}`oask=nIsPBj4+FqwnLefTrM8ar|}g>LMS}xAgBAz30&~=evWhyPM@& zy56p>tLyr@+-`=8dtw&)=b6T>xwEr;}}CB=4r@9%b*H z!-;r+bMuWQ=EVW)CBK@(QW3n+1~01{Rj)gUtPizython!Q*+!Tw|8K5k4;N1M}o-a zbEH>sx!%4tYi$}k*VeJaZEyRx?PZ(WTDFr-WXISGJT}{0N6j#ybtX>eBctVad&%~< zBkdfU)6TLFO@BMx)UYj023ylaMT>Yx^}lOE<^)xI2X5JV_{bVFl=0CGcdVTZGmWH< zDTPy)jLz|1m+^Z#f>w*jSUON=l&5CQ-8$5>D)6+@;Jku3nprt^DNqk$XkC=b*7%z3 z;NuPO4-4Ul#?(D}$A5vZrN%wUAsc-G)N=fLp9{pD32v4dM3uZ)ku4(ZcT$LidaI za+$Q2;}^P!`iHxNhQ8I$cXRwbH`6Eeo6sfh_%1#c8b(=N^byw|T_iIi0P3LuyM zAmep7{14Dfw@>?rX+n1L|5;kV858dvQrj{i_7_>dWk0MkhZ)Ejo>kvyYm! z4lQR1b#fWc+CWa>2y^*4i1G(;YD)NHLNv>8D&SqP_<0^b1`j!a0=AdhwVg`19_?Zl zj?fS^h29c_UY(R~nZ{7j@JZvD!MwU5@0d#NfF3V_Di7jaE|4GC->-ZLdEw)t8$SW7 z9ESg|#!s89qd{TA;q$#vGrDUrbbtaJ?d(+elpNK>9GPSs%@kCQ#Nh4Z;H4}mz9s0P zZS-$5Mkm6sXW{ouHeSb=AHmrfqzhVW1CvKeG6pjkrxDFry-&qI4c^fuQ8lLNJoVrPJ*@KSoAbaC$cJQsGhaZUN zIE^v6lJU4j-uYwHxEGQi4Yz?-H0X;k@3rPXz04kdWlGCq(?brTz|A*DKoM7@IgGvq zv#607jzA0RZoTQ_E}H%BwJG5b;0*RO z@w9}Aq7lpiza1yF3+`wksS4kFPXA~JV_n0Tnnkayj$R&FR**Pp%c%X0?wgA~+=6ku z5trZ^lb>jTu9a;6}hy)?6^0r`a5p}XczyOpjVPF5_cR#$YI~ktU9SYCnZiH8L34+nCMzG7(4X(I~=;4h)X8nRletb~euMWog%fTrh z5mhCp8|RC=OlazRTw;8*`1GuZE}#1vG;nd;P*>57bN{$5_;CeXY%i{%e-v!@?}Egd z&9&B1Zk0ZAkLbHbild8^^S{8Q|BxEKoz(Z;;Mkp{k8gw0Ul&(5m#o8i+k;ki1qNi9 zzokeO&1Eh}gs*%3!1L+y`fWL2rm=2HMnS zrfqGy+8ZW~Erbs?&UP^mZ5a?sHIpR7s0zI{Pi=9#7)8CFt&YB)2+i^`TEilE$TXAP zY$DU~0*;W-)5O=w4%_ z7dR`sSx2{e%xFr%46S5pNi$QP*;!Kl#LcTrU965L+=N=u!^}oon*g>S!p!cWJ8{qt z;9DOugV?6%VH}*JXl{pL@w;$zR^dlaF=5gbcd!&y;79W-RkDb@hbw=f9*3DC@C$eu z=Z@BWli5l2oVR$B(J$xOMnoi(qBv(d3=11S9sB3Uu1qjPQD9v6L|{B{jb} zDxBvF+~gsjcY}NHP}?6eD_+PM`Ha$R&1XI>F>EX+T&N(*Odc3qF7{(FQyc!&#mq2$ z&1w9`mvFiNu^ljzNYqR)kI^BUQ&o+WM^#K?@O8j@3&_INm!J9GkURS5D{V`UN&!ZH zNx#0vSh)}4cm5^b%zyd=y!;a^`XN5lJ>ME!mk$mb8N_zghv`QD30?i1pW-L@A-<|_ z>(lr@aeyoPSoFtVeGPQSCVrCd?l1cpXzvHtcj#rG^&&~V+a%1Mz)D_%C*Gi-e3ZZFNVU|_m7bgiDik zcuqfS=0pv@>L;V8 zpJ@2vlzqj&LrwUQsADRD|(xK=tJO}7-D&u?`iw@Ea zePbzT<|%&(Od{O$DkeJW!2e_x<9ne|nQQWq5*q}n-bMX5L3P=Jb282BHve#aE(*jk z6o^+Ka7ADE#CzNU2OnYvZo@&_XL3;6zUnq}6kIY#Yn$$x)Re|8_z9L5P73LTZ$lDi z3)?gE#lJSm^o+^Db2FeH#?|D8uVCJi54q*v!jD5{qmOS+_yp#S4 z?=I_gH&;))Zn)Hc;STh~0T|5)n2PQ;j?UCgOTz+N`h<+W3n;jK{2WptWBf(e70si% z9{_tB?!x>c@+1e`BX``r#VL;KC%F>7w;S&Jx$}OBOP~*2Q#j^ERET%@Ldp3C1@P0s z%sAL-eMzasD`%{j|5~NXn=UNVo+EwuN4i zzfr2k<4&BzWk^F8=}8uKFA0eMQ^^9=HxANLIv$UHwbF-A+1TqVEYZt`Dov zDoy+=t;-y(i(k_OzqC6!o-w{R$F3e*C9ap{D3(Dfs^ACunke(F{Z6X>eVo~^@bZY{ zU1Q@b|3rp4G3w>7be00RI#qC1d&7vfl4^ZJZ^gjHYhRgYB$k_cQX2C_EzQI~cz-8N` zOe{d5y~OzcgnJoAX9>t!JVL2B&F!Of#+$I)FcLU9U=p>N_nlBl29dD*#(AblYPxJJ z-9pCh94zB0wb{c&;(Slrq|jeXQ(OY_8s;f^xu2z~DFvHo3-%o)?HP4{Q3qP0c{Tyf z*P~X|kz5M28K zc!TXo_*TO0$Rz1eHq(NZGNAev;+NG!A^L}H4=T~Oe0~8L$1Lov8>vxu$$`dToaZ8C zSiwB<<;Y&;H23^ZbdwKK8+T_Kvvm(O;UIe47EImE*Yv?7rFTz!%(yM|easSuzWDr!=!0q>)`GO2@3Aov_B(7a0DeN9eWA{sZyAe)0k7GGrMw&ig>!wl!Un~wt<|0+Kul$LI*bc3* z6Tj;(JfH^bky7BVOzfSX*sC7>oLtM8zdNpJKZi!vKMal5aHrr40g#<#S5H!4hbydUs8b2}I70~Vnk zS;klavyJ(52(OIw71Ynwbb=oA+boo_*t1D|3s!?Ba<2lAgZX9oY~@WsGE*?du-(dXw{7GIxhL%FuoHzt`f(YMe8{xtYHrM&lz zNRv*cVr-X1WcK>{RdBhnpWfd8~kyP(?{%?}0Eu|aVZ1jyw zaKLytpq0Omx1s2`L+KKIxonGuR*eyl;>~dxKqhE0xtB|1q{AdSy3I%OreDaN#@D7O zX-%XLp5a#1xqvkWzoTvRrJt@KXM91X!h)`VF(Q(!N(cvu2LJe17ST5kpkkae1LTxp zFQYL{FdOlMnPi~h@4=}Fu2(z=KMNs!}w{*F>Oz#u0OXYF{0<8ge^d^n1dENgUjji z00;jX_53*A@lLwdHd5S2b?tZcJT{r1iZBB*H+*(<{E9FBl6>}?fjQQFX8MtxGG9T~!i@ z9pr-RE4SEQxXxmHLy%MvvVcEI9#rn!aIK7Rv~=G4g8qPS!+2he-X8Avp``u?I{1;X zlb*_%Q2(I2{Uuv`FA~xCz36O($n5224CdzkJlvlLlu^{LmOnXWz0uhga(NgB?S`K& zkI^aKpv$ouMha3hdgC`Agvkh;Iu#==Gk+P;GBfd4h;?R-xc48{=d1wH?f|EP(>SuV z@N?SW&h&si^<-YRpf(joe~$;-_S(o;ayCiH&Xtx3cp};DjBmP z58|6_k%@K_THIE2v~ASEeIV{rpuTT?_cTtwD z0cekv@l$>Qvqa*XhEZ+e@|}~w*3vNYa)P~cfnd_{EfbOxx%;{opX>zA z%PFw;x4ifs#@Dx$z$AR;_H3nKt*PQc~AHGb+7*$uVpT(?l$V^HagWx@X}29*f{v~ z7-qycdd)bn^eD#mP^!QHwn5a7Nx0oxs1A>LP9hjuQP@mb*k~qJ(7j+i-URq^K9suu zU<#XjDwzx3TjMh^{!_uN<1vpF=imul@)AzM3B3OkV8-io>2UPq^n6Yo=F%{-2P^rE zGaUQ(u;ch9f=Nf7DhI2Ca+7t-&RU{mtR8Zxuh;2K+o>uuSxYd0oMor){?|0yOU~Jm z5(>?iJfWS^I&>BN^_9#Dg_-f8q^3=%kjW9MLxz*1Y|vj=S+djM@~ zy)9rz7|)$Z`Ta%eua0=;+)7d}jZj=t!`VN(w|Edy<)-^Zp18vD!IfujmM4>2 zT)fLG4_pD+?JCJq*Ho4;Z#TL2a@zgDb6ElDo@)enb$n7489`2E{czH8131o|;cbod zoG(sq0?Fc4#3C_~0qk2uFEO7t&|?QtQ;Lwsd*S}kv96C6cJ(!mE27aH`AXc7>h7kW z;CB0yZi#>ICiy5Z`XBK<(xB@U@_+b-^taJuHh20=F#epRc77+PQ-jn_Gc=*rzCBxA z--+i9^B5XTfc6m;+)@;^y_pFokCPO2 zD>t0}Tdtr38K(*63E9VxJ!lfxW9BDR$VlXQpPOahx&Ctewux;2(3i%MCRhOX-^S58 zWLk67+L-+)ZrjKlY&OkN2^yMHratMYx;S&y&?(Dvd~@@PsH6}sib0LM1vfrP2RTGv z*ajM#Lq{cnk9M_?Wc)_3FO2MrlAU_=H{4_eZ2pWC1HE@Lx8U$6r2}K5s2K(y zCxZ<#DN0%?Dm~&3dA3bxCWG~+tD-wyYF+Q%`}OXm-{^Mu?e3sI>@NDt?lyk?BOkcu zr1hTqQEkHwH!+l2S z?$Lq#Qawa>W4Xn93=I5Bxex2FncYtgTo4)?4Y2w3KiGdS{D;l7&)-s)QsoJapUc3LUWb zL+k9L&^)^@G}I0cHLxW^IeBGlDz2JERN5sr3zfH--DIcRmG&rE{1EEB^+!^ieQZ-v%|+xJXpQ?RYgEd{tbe zz9>~&(5l|MZrsY@TH(zs^do|cK27l19}bVNUBgpr;qVlind`;FL)tO?sb3R*#y<`R z{RL}%&R~VF!DY{2tDh2V@pFUaeq1opHwbF^ctHxkKm4uh6Mn{33E$z0hHrDl!}q(2 z-2OA186F~0DtF#DJlKP_$S}&0Kqt1Vw4a=>faZWDbooeL~&Ll29A7F4Wje57jkI zLVub>p<3p!t;!53PxiGE-bfR&Z-Yp~twc?}42OA5PkD=e{D8iG)I22$R_ z!DTduGw_rh@Y4n0#0hYcF{G%*p%sq%&TJy#fk&i!8q%F_=u7vhJJ(@Mta`;g$b=Tt zoV8CwP<{rGm#d9?mfS2v|J;q<{){YCGE;$ji^)_RG*)2C8}Q3J@XJ%&j5B=Gxh7y` zq(K|aB#C(JEqc=tbjrDC)C2fyjyqNkU-0X)^CLVrPN))NIWERtr+{(rOMR6tz(_PckBO{_E+yfgPBrUoa*K!bB z2h^1o@TBS>nj)k;3ZvSUXH`ON5JgoU%f+K%cvM?`2Va`Z`#IMWm$f3PpjvKE(AP~0 zrnw=(C^tB$>m~*X+-CgWd%?aSp1TlKaV}Wk(&8ZJBnO|=P4ypwP5uP)YjrTquMe8| zYe6O-l`4?MZDrl$NSxaaZcEVKRmc7P8ot+U4*%*#hgbAN!w)e>%j>rA>v}G{x!erD zDNn;wn@~{1WC^mFPC-O-CO9U!Ky%Za>T`1R$vySm-|&U;%Zh`u{-EEsr@PJuHC^%n zDr+TF$rYqW-@pvXfv~-SPhO#e9>?Fg<{OZxDvOR;4*XvOy|Nj(jLzg&d&05?;Al+& z!7pP~%L*9wQgo7Ku;%$B?M9(-Gz8_RpxZt0w{(%es`YRJIH`vAC%7Y1r2}(NnW?bdvI&40^*u^4_QXNjTpgG>r*l4C=v+bCM2; z38#MmgWatsVJocI!!d0_vZpZfAO%WSM0B>-B+g#?-gq!0ShYBVKDvl?whK{7rm=2$ z94pEvkSJe>5^xF~+mkR#Yp(j-teF0lS|g@1+3%sK0DI75-@)Ni!PovkE$%>4qpyVU zwzR?5J5Cc<;>m{DZKHjwDrZThhGbf)b}Ml3IB zK`%G#Ie89q4X5Hn4^5Uhp^jY710r~IkTP&N*bz@CiX(-YOM1+%vXT1a{Jc{w;}Y5dN7?2ojtvQ(@i&xoU%T|c9hhD-ta zYCiaCmTwLv8dB2ly8k3J^~xv{@lY{t;0Mn0xp9Irk`YXz+5C^BOOul9%ZT5cA7vg- zg3Q=G)DMF)^$l%(L&m-FD^8KQPDx&+5Dv@0t!+E^1pLoRWH%Le=##)=<8WC zaYKf4492lfr=WZ;CK0fOG|>(!%XVtoA*$Uu_URSUc$ZBLa|Rdi7zxaSRK;y(9S&|= zU4S1ml!Se4e6$R#2@Y|*u7Twj!{54~8`Z>9Dv#n*hE+M`WEZpO;P+&GXR2&zyyk>d z@DDKQy|8c2iGao&k@{T%WwbB)@mkaa^D5 zZUx(2ROeg{SA$hVtNd89bGzMD*dxk=&xdM%2X3?8W!6(}zWzemel03gC1%@yWP95( zOAnxqyrrW>!$(hIM&g35m5$7fy(HCB+p=b|{hQR|RP$%(EL=XWT^nj@w}$rGWuaK1 zVWBdiTA_BKl%Wx!|JkXbLv~tdp&bR*>=No^yM;Q~S)smmZ)m2y9NKSRhW@o*LeBmh zdTkGdHrwT)%65K;^_HPlW+@$gVW^Z@5L#-Mg|hRyy|zy%ZK!dmMyP10LMR5v_8NF} zlYM0;*=V6|wos_O?GWm2CxrUhiF{&*(0H3Qw8)+Zt=0x1Uor7Q%}oAKTGKw1+Ds)c zGdncTObOjKqe4$ii_j9XGpR}P4!}!%st-x1Oa{6Bfg2subk?g>>Xj&v{ZJkofzO&U zL%J}sy5Z`z2dA~fiKs=DEXbPKv{b~H=y3P+zFVUk+z52`dT8vwkbVp}0@wTzR@6N8 z!~Fxe+zz_TNMDjpQBP|e354#`f zScx?zS<1}*A+KFe_M@L~K$^U|Pm4?V+Es$XmSY`RRv+Ib^5=u}epyh>F9~}1v%z@( zvm;dur#MksCw6B(G`rK zZZ4)4;~WQx7+-O?ObYAG=2~hww^3WTTiVxM*3mc%LtP7P&TC4!pEW0+^drytFPNv7 zg9~~)cne~7n!tV54DNrL-`ywqdse6N=@;EhvZ6!KQ+jajf?n{}@%Vxp@e9x6K-{Ee z?k5+?d0m*x0UlNuGv&Sh;|`INn4k$=SN+vB)UxpUX0DcYbnUgBqbs|GoT*_Pk5$(k zbkOSVnjh?z`7LgMzv()`^E-3d&F^&mnLYpb=57pUahSxuTJ2A}>%N4KLCWKIYDG_c zuH~$hImHT_`($T9!wc}^hjysZ> zHBPTVpzBa6XR)H>B$zH2y5~OfMg_=vb+P443)|adgk!zt>^nDDZ5qS&rxX2cUfO~t zRp^TZc8ByrZ#!#>qmTYfk~BW~rIh%Hsig<#aWkoejr7enW+gs$eNrv4sGvtt1qb@1 zD95Dzd_?Ku-;xix435|WbDsr+ABx)Cmi=8E9M3*qB+ zH3Rh@kiifVsY7v|MwmUEJ!Cs5{|-)XcFsVs6qJ#|dIkqzdBtmXP}I{&vdzNP5$ z#W)@%*{|i{CMC=i)(P}SPptFZ@$Js4yriJ@qxj_gKx!3Gh;!&-R#Xqi=c$KllUy$N zhwQbvH~{7J4&OODY5Uo9*f6kBIa2$L9?>BE>A zN7rBR-JLzjO0k$GFDr+8k#*QBC&{0EW<6^vo5vJlD`~TuDmJ^RZws@EzLqIwdzn0T zg2`>ivjV;=EUBW2VAIiKW5A-KveG9tx@{#^6!kKR$>WqmbNd^nHG;K>)6Fk-xoOYZ z`J*J-Gr`oRhH{$sp>!r+SW;6rETL%td>e@yf7WrefGNQ!6aoR0~UPvxa4& zf~U5V=>a)IUsxw`-fZN(mfHDd1u6LztfiO%V(M)7oBU{npI~$c%t+45Q5XF$JDIrz z<`zBWI{M;1)V_(FW2zxp`Sh%Se1Si{g6tk@H|%8xXCT|nIS3Y!`Wgt{ZU{on3FD1I z*7z|V^H~`35zb(-owHg@AywNMkEk8Gepm2kM;xq9tTP>o13!h_&@{bB8ssMDu313d zs36$p5IRyLSW{~FTNFtRXDUd#D<6JB61fYe*ac!(ilV<546qB7@Dc?*qvT~}Wd*)b zQ~b$M!JWxw&JozlRYkBzvr5ROC%y`qs>>x4qjme(jmmb5#SWGshyNLrUyv!=6 zo!W=3r#Zv9vEHyEG8JpNYNMVEXAG>8n5=K!PZkmOMxA*hjX5JzT1I@}jlJM|+4cUq zo#{W@Vg8iu;+xyn{;BEY`ZQyUjE`md7){zCN*P}h~U%0Egp`eFe*xE{=m?bK<O=Ib^!{g7PvvDjbOqhyo8e`5<+2TzRah}lk5$Uw(vXW_PTO(v{zqrY z_I+Lpi2ExHCxGEZ1a&8c!Q>#Vo0mP62lW}>5RZ2th`A?w<}cO})F8#1hkQ&lc=;X9 zG2m1=7fb&Rr6% z;cwQ=PGel}#T&nmFaAO|m?x}^f2{57Z5?Z`=wSOmtJpUh*?!gCWD$CSxC?RCHAAN5 zIG)&eDb4@cQ701OCVxv~oWuLsMfF(-WADoU^md7gF7UvU{l(cmjy`wBmnIYXoVAy% z(bV;Pb%&^4h#ImpdTI+!=}N?uv0AC_1od&nfxq&6*Rn_p1jEIBGdMe9-dqq(eI17;b?DDwIR8NCG`8Z zpr|CA2`MI{>I4X+EzgSw7P}o})8j#I)*GeJJM^Ld&;!2)b4ZBK^s(JMpWN+4gJ2bv zO9`TBs=vGS_%n}T->g(~U(xnI>shX6@gG=M^&XxOFq*%e;qoU|w+Z>6JKxt)lw}M| zFy}b?(L4Ro7Qo}=%tQE}%ULt9#D11;_7=I14fLhq)Quh_i^fv*PEqwznX7cI08c9x z2}&WUeG&b58eFyx`L|!>go(}>w&IdFDJ;8Cl_r`GB$n!%v}7^wi^tjj(N@8GErkc$ zoFv^4nCAp}$|#)=_w2wq4eGM$rzQEC5mE*(v^bo-5N8F-O}#9`nClL|{H9OrB}cgp zZE-FcoFQZ`T5`siQvBY6tRt(z3ZK3@$IpQE%+apQr(C$37ae*6xGRRs%D#=Q4}%}j zMB`~ER`VR?j5ZPcUA&EBzMNmdoE_?WF{>xyWG(a?QC^O5>oO}NpZUmS+a9?PDn~-n zjTQ7iH&L&mg6!bzTPs`++2?;|uTgdNhVm^L5^W;jhyQ@h$Eu}KgBSEl$ zqcIBya0uM-FH(Gevd*b0qqz!M>@p}2#qc{zlIAOg&RR%La?XP(J`d**`sNhoNAdWX z@&1M1{EAYRyDEQ!EWII2g zM}avA+f;L7^QoEELnU3sqnpV^{y$`wzug}`=i>Q=-rXQ z2k~$rvf3)9j7?=q+5bsOdra<`g!WT zMb3X%k#i2T;9LX)$R!N$+oiTYD=|3d)i!rW1~JnIxj=Tgv?i;sVfNt06x7dVsur`y zwJn^in+=nOHWhwKY0kLNNam4*Ys#l)GYPG->0=eyB9PtwJ%;jTX=uM`D6 zr7&l-=m%muN{x$cmix+voU3WDx?hh(gKi`~8$5IrG^%e?$fQHm2foZ-*Msx;jAu$A8Y|3?l#Np2@@9j*VGCnu!}+k?CnrR z`zF+x%UO0#XdM1fQ)@$|aFWv5ulVYDLi5d#P&;!xRM$KVl{2S8iOjgrYbg_YCrQx! z6NUbhe4&TZoH6xJD7hIM%3$h*GNHGZH-l|w6UX+$&usf*|z&W31{fL zpvQ36Z~39r1`+z*n$;T5`&40bW( zpi3_5;^IEBCLD&-60Noso@hf@c4f{9P{=1E_m+z_;$^i3tC-f1a|;K>XCbke3#1f@ z+P=d_hkK-zVsMaBJ{g&>k9hcJse#KmE5;zQa&1ZO_EOdw@xE_Zol%%tG6Z*KFSX(^ zYUXW5;8J>FGigSBsRT9}==ZbYb|xy)WR%#|D9dL^j$EY1Y)4z4Ox~_JD>kxyPY-+~ zJ@PN#^&A<3O=wmNz%y%caj%dx3e(nn&)>mOte)haTc~~!@Hyjgw$HDe;cOpg5bX`7 zDy!W&)7elQ;gSA0TW%5}(@8}=kbUH1x0B@B?MreF%8F(Qm(x8OsQ0twq3}&S5B7~mXDo!qTE`w>?q8Lf zRGv!qz2u^6hU`K#)tcyxKgeivRqL7^priv@m{ml%IQK_vRt`NRc@AeInVSQaU6{0T z6T0gJzQrEC!)fOJw}ZM0D3IoD-;wnW)XoU!d~_oTs1~dE5#( zG1b_bX>-;wRW$?15)Wm>j$#C(m6D{YKnk-3GjuB}VN#g6u+r_UZ+eV=9gCdkFI4kf zV6;D2-_;3~a}fJtD6?Y>iKa2QI^FoToK1u-@rr(HS$`Li^MAg8N3J1#-{AZCFsoy>zmxp_|Z+PPr$je%t;3++gor5xVbN z7n6K{THnZ(fp_=uF1X}x1*LRba8PFkX=Gf`My3Yqsd$fMckooM2j}Dky#957V-@t3 z=fR&6$(4{|^x*j}p(FzXt@L|Ai~~r=mEi2!VQ_>!{xzxM3nW}Nur6?#z9iuiplAI^ z9wsFSAQQ><+#vjH{x_ct6dx5l5JJIk-fdkeb86V7-PkG0Mv z!0oMY^tv%>yPymY!5dkH>v0A@_7$FM0yOFTp!mur87c5K^6jhvrOA^NVGT?^)_|2o zIT!@5-b*&-Uwq5BqyUQB+oq0vPYxh9-e@-ayRE|c?YdcTo83XqX%r6r-zIvffyo=H zYU+jRoBp9*W@2cx8O-Xv`l0nED{7<-#lY8(OMQ-JJ+6GbPz1bvB`@X82^)su8Hd$< zX>DfSJDN?%=e;G9a}4Kn5i@5Xd7A3xF-pc~__Wx3<_kW@6O@iqWNtQ@8R!6;_~siq zYuR?rJ8}wr>KwVy4Y1cys79U5OGZ8Gqs>gtr85N9*oVyYU~1SD9H0ew)ALE+j>kjl z&MKm2RGr3fxHfRWUMT6DC!HMB1>b?{Tu>WuT+(r@g8yUbETF48x;8vB=iY<_3GVKc z;_j}+-QAtw?oM&{V#T$%eYh2OC?4F2-+N}}f5Q4#*J(oZ=E%(6uWc&zCwja2S6>Ek z^n*zkBiX8_U8twp>7a3=*>78;O3sLn<+;1fo^o&5f86(WpZf~U$qD<=onXJYWo#lH zZt|ndsjFw3P~FO`)tOPu>=r3=hu{?>^a=khrrl?(FDD2fJwOGt1Cvk&nEKaD>;+e`Jd@4XFhsg)(k-efW z*oA7hZK@XAENTcDip}jiS=>G)tLp(O`pdYIH^{xFJ9|b(GJF3OLs6LaLRHicu>b@!;Szo8{drmoXP$fFPN^&wCWn3moAJPgkah$_7 z*&lUO5wab!u>KXMK5tCT(T5a);XKL1;J4$RUT#`4c9QA(ZUS<5f^{)BgU;qQ)bZRo`n~^zzU+Ud zcl*QjD!(#w{EivR`=S1~9MO7|Kbx85Z(%l|$GPf1VWj)kly?)@32tV4*3D#tbVe9+ zQgwB1bbfIj$!=iE^QfVA;vTqS8`33gL_-)ix8Vm!{!Q?WKWzb!vU*^SBj_y;z3BlW;pPKbtca?n28iz;@+H{rV(#a1)KL-euoqZQj)N846d~%9NTZ}oL{iO5zHXC!c2(?->QCoEoYgH%lQ?(M=od#qgG!hZ`jJB&; zXlhQ1-&BxHtU7b-l9|*aax!0$!F&QeSU-^H5R#gAvab9g4uefas_QnZbHx^PUf5)g zu{Ts&lAQ~YFkK0CW^s`Yp5huw%!^U3^rjQ91{;}~f5*)c;X8Sjb5dPq01-=0pAZB( zW^8WUVGd~Q6Wo!<(O~SMZ`udjdYYc#0rkjBFqyklzXyz@mv`tll^DgxC$Sg-w^L+Qzm!O=+yiuQpv^``T0ts^maxIo&}$#D572

?B$of6MRIW?6%{>Ew>LqN-$ESV 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 RL(?sKMQr--%QWA!(Z-Y-7P4F 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

LU<)8GK;BUb`t3X|YIVjR*) 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,C@}}y!w2BW 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�~K& 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%0AcDIp{ZaebY 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

{}f~ZGcUV=ZJ+ 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 QzMiiw=A1Wy{w+=a4*`e)SpWb4 literal 0 HcmV?d00001 diff --git a/src/Apps/Game/src/app/TomGameApp.cpp b/src/Apps/Game/src/app/TomGameApp.cpp index bd7fda3..9453e7e 100644 --- a/src/Apps/Game/src/app/TomGameApp.cpp +++ b/src/Apps/Game/src/app/TomGameApp.cpp @@ -1,4 +1,6 @@ #include "TomGameApp.h" +#include "IBoardLed.h" +#include "TomAudioData.h" #include "IButtonInput.h" #include "Color.h" #include "DrawContext.h" @@ -56,10 +58,12 @@ namespace Game Platform::IAudioOutput *audioOutput, Platform::IButtonInput *buttonInput, Platform::IPointerInput *pointerInput, + Platform::IBoardLed *boardLed, IKeywordRecognizer *keywordRecognizer, const std::string& settingsPath) : buttonInput(buttonInput), pointerInput(pointerInput), + boardLed(boardLed), state(TomGameState::Idle), voiceMode(VoiceMode::PitchRepeat), recordingVoiceMode(VoiceMode::PitchRepeat), @@ -384,6 +388,28 @@ namespace Game back_to_idle(); break; + case KeywordGameAction::OpenLight: + if (boardLed != nullptr) + { + boardLed->set_on(true); + } + handle_voice_result(voiceController.play_effected_wav( + EmbeddedAudio::OpenLightWav, + EmbeddedAudio::OpenLightWavSize, + "OpenLight.wav")); + break; + + case KeywordGameAction::CloseLight: + if (boardLed != nullptr) + { + boardLed->set_on(false); + } + handle_voice_result(voiceController.play_effected_wav( + EmbeddedAudio::CloseLightWav, + EmbeddedAudio::CloseLightWavSize, + "CloseLight.wav")); + break; + case KeywordGameAction::None: default: back_to_idle(); diff --git a/src/Apps/Game/src/app/TomGameApp.h b/src/Apps/Game/src/app/TomGameApp.h index 3f07120..295cd32 100644 --- a/src/Apps/Game/src/app/TomGameApp.h +++ b/src/Apps/Game/src/app/TomGameApp.h @@ -19,6 +19,7 @@ namespace Platform { class IAudioInput; class IAudioOutput; + class IBoardLed; class IButtonInput; class IPointerInput; } @@ -32,6 +33,7 @@ namespace Game private: Platform::IButtonInput* buttonInput; Platform::IPointerInput* pointerInput; + Platform::IBoardLed* boardLed; TomGameState state; VoiceMode voiceMode; @@ -75,6 +77,7 @@ namespace Game Platform::IAudioOutput* audioOutput, Platform::IButtonInput* buttonInput, Platform::IPointerInput* pointerInput, + Platform::IBoardLed* boardLed, IKeywordRecognizer* keywordRecognizer, const std::string& settingsPath); diff --git a/src/Apps/Game/src/audio/WavAudioData.cpp b/src/Apps/Game/src/audio/WavAudioData.cpp new file mode 100644 index 0000000..38be7a9 --- /dev/null +++ b/src/Apps/Game/src/audio/WavAudioData.cpp @@ -0,0 +1,95 @@ +#include "WavAudioData.h" +#include + +namespace +{ + static uint16_t ReadU16(const uint8_t* bytes) + { + return static_cast(bytes[0]) | + (static_cast(bytes[1]) << 8u); + } + + static uint32_t ReadU32(const uint8_t* bytes) + { + return static_cast(bytes[0]) | + (static_cast(bytes[1]) << 8u) | + (static_cast(bytes[2]) << 16u) | + (static_cast(bytes[3]) << 24u); + } + + static bool HasTag(const uint8_t* bytes, const char* tag) + { + return std::memcmp(bytes, tag, 4u) == 0; + } +} + +namespace Game +{ + bool DecodePcm16Wav( + const uint8_t* bytes, + size_t byteCount, + WavAudioData& audio) + { + audio = WavAudioData(); + if (bytes == nullptr || byteCount < 12u || + !HasTag(bytes, "RIFF") || !HasTag(bytes + 8u, "WAVE")) + { + return false; + } + + uint16_t audioFormat = 0u; + uint16_t bitsPerSample = 0u; + uint16_t blockAlign = 0u; + const uint8_t* sampleBytes = nullptr; + size_t sampleByteCount = 0u; + + size_t offset = 12u; + while (offset + 8u <= byteCount) + { + const uint8_t* chunk = bytes + offset; + const uint32_t chunkSize = ReadU32(chunk + 4u); + offset += 8u; + if (static_cast(chunkSize) > byteCount - offset) + { + return false; + } + + if (HasTag(chunk, "fmt ")) + { + if (chunkSize < 16u) + { + return false; + } + audioFormat = ReadU16(bytes + offset); + audio.channels = ReadU16(bytes + offset + 2u); + audio.sampleRate = ReadU32(bytes + offset + 4u); + blockAlign = ReadU16(bytes + offset + 12u); + bitsPerSample = ReadU16(bytes + offset + 14u); + } + else if (HasTag(chunk, "data")) + { + sampleBytes = bytes + offset; + sampleByteCount = chunkSize; + } + + offset += static_cast(chunkSize); + if ((chunkSize & 1u) != 0u && offset < byteCount) + { + ++offset; + } + } + + if (audioFormat != 1u || bitsPerSample != 16u || + audio.channels == 0u || audio.sampleRate == 0u || + blockAlign != audio.channels * sizeof(int16_t) || + sampleBytes == nullptr || sampleByteCount == 0u || + (sampleByteCount % blockAlign) != 0u) + { + return false; + } + + audio.samples.resize(sampleByteCount / sizeof(int16_t)); + std::memcpy(audio.samples.data(), sampleBytes, sampleByteCount); + return true; + } +} diff --git a/src/Apps/Game/src/audio/WavAudioData.h b/src/Apps/Game/src/audio/WavAudioData.h new file mode 100644 index 0000000..f91c92f --- /dev/null +++ b/src/Apps/Game/src/audio/WavAudioData.h @@ -0,0 +1,22 @@ +#pragma once + +#include +#include +#include + +namespace Game +{ + struct WavAudioData + { + std::vector samples; + uint32_t sampleRate; + uint32_t channels; + + WavAudioData() : sampleRate(0u), channels(0u) {} + }; + + bool DecodePcm16Wav( + const uint8_t* bytes, + size_t byteCount, + WavAudioData& audio); +} diff --git a/src/Apps/Game/src/gameplay/KeywordCommandRouter.cpp b/src/Apps/Game/src/gameplay/KeywordCommandRouter.cpp index 53da863..8855571 100644 --- a/src/Apps/Game/src/gameplay/KeywordCommandRouter.cpp +++ b/src/Apps/Game/src/gameplay/KeywordCommandRouter.cpp @@ -13,12 +13,19 @@ namespace Game case KeywordCommand::Stop: return KeywordGameAction::BackToIdle; + case KeywordCommand::OpenLight: + return KeywordGameAction::OpenLight; + + case KeywordCommand::CloseLight: + return KeywordGameAction::CloseLight; + case KeywordCommand::Down: case KeywordCommand::Left: case KeywordCommand::Right: case KeywordCommand::Go: case KeywordCommand::Yes: case KeywordCommand::No: + case KeywordCommand::Off: case KeywordCommand::None: default: return KeywordGameAction::None; diff --git a/src/Apps/Game/src/gameplay/KeywordCommandRouter.h b/src/Apps/Game/src/gameplay/KeywordCommandRouter.h index d1bf33b..c00cab3 100644 --- a/src/Apps/Game/src/gameplay/KeywordCommandRouter.h +++ b/src/Apps/Game/src/gameplay/KeywordCommandRouter.h @@ -8,7 +8,9 @@ namespace Game { None, Jump, - BackToIdle + BackToIdle, + OpenLight, + CloseLight }; class KeywordCommandRouter diff --git a/src/Apps/Game/src/gameplay/VoiceInteractionController.cpp b/src/Apps/Game/src/gameplay/VoiceInteractionController.cpp index 5ec76ee..7c7c0bb 100644 --- a/src/Apps/Game/src/gameplay/VoiceInteractionController.cpp +++ b/src/Apps/Game/src/gameplay/VoiceInteractionController.cpp @@ -1,5 +1,6 @@ #include "VoiceInteractionController.h" #include "../audio/VoiceEffect.h" +#include "../audio/WavAudioData.h" #include "IAudioInput.h" #include "IAudioOutput.h" #include @@ -233,9 +234,13 @@ namespace Game return VoiceInteractionResult(VoiceInteractionEvent::KeywordRecognized, result); } - VoiceInteractionResult VoiceInteractionController::start_speaking(const std::vector& samples) + VoiceInteractionResult VoiceInteractionController::start_speaking( + const std::vector& samples, + uint32_t sourceSampleRate, + uint32_t sourceChannels) { - if (samples.empty() || audioOutput == nullptr) + if (samples.empty() || sourceSampleRate == 0u || + sourceChannels == 0u || audioOutput == nullptr) { return VoiceInteractionResult(VoiceInteractionEvent::IdleRequested); } @@ -256,13 +261,20 @@ namespace Game const uint32_t playbackSampleRate = audioOutput->get_sample_rate(); const uint32_t playbackChannels = audioOutput->get_channels(); std::vector playbackSamples = samples; - if (playbackChannels != audioChannels) + if (playbackChannels != sourceChannels) { - playbackSamples = VoiceEffect::convert_channels(playbackSamples, audioChannels, playbackChannels); + playbackSamples = VoiceEffect::convert_channels( + playbackSamples, + sourceChannels, + playbackChannels); } - if (playbackSampleRate != audioSampleRate) + if (playbackSampleRate != sourceSampleRate) { - playbackSamples = VoiceEffect::resample(playbackSamples, audioSampleRate, playbackSampleRate, playbackChannels); + playbackSamples = VoiceEffect::resample( + playbackSamples, + sourceSampleRate, + playbackSampleRate, + playbackChannels); } player.set_voice(playbackSamples, playbackSampleRate, playbackChannels); @@ -311,21 +323,10 @@ namespace Game << recorder.get_last_volume() << std::endl; - std::vector samples = VoiceEffect::amplify(recordedSamples, inputGain); - const std::vector trimmedSamples = VoiceEffect::trim_silence(samples, 0.02f, audioChannels); - const size_t minPlaybackSamples = static_cast(audioSampleRate * audioChannels / 4u); - if (!samples.empty() && trimmedSamples.size() < minPlaybackSamples) - { - std::cerr - << "[WARN] Trimmed recording is too short (" - << trimmedSamples.size() - << " samples); playing untrimmed samples for diagnostics." - << std::endl; - } - else - { - samples = trimmedSamples; - } + std::vector samples = apply_voice_effect( + recordedSamples, + audioSampleRate, + audioChannels); std::cout << "[INFO] Playback prepared: samples=" @@ -336,9 +337,62 @@ namespace Game << audioChannels << std::endl; - samples = VoiceEffect::pitch_up(samples, pitchFactor, audioChannels); - samples = VoiceEffect::amplify(samples, outputGain); - return start_speaking(samples); + return start_speaking(samples, audioSampleRate, audioChannels); + } + + VoiceInteractionResult VoiceInteractionController::play_effected_wav( + const uint8_t* wavBytes, + size_t wavByteCount, + const char* name) + { + WavAudioData audio; + if (!DecodePcm16Wav(wavBytes, wavByteCount, audio)) + { + std::cerr + << "[WARN] Failed to decode embedded WAV: " + << (name != nullptr ? name : "(unnamed)") + << std::endl; + return VoiceInteractionResult(VoiceInteractionEvent::IdleRequested); + } + + std::cout + << "[INFO] Embedded WAV loaded: " + << (name != nullptr ? name : "(unnamed)") + << ", samples=" << audio.samples.size() + << ", rate=" << audio.sampleRate + << ", channels=" << audio.channels + << std::endl; + + const std::vector effectedSamples = apply_voice_effect( + audio.samples, + audio.sampleRate, + audio.channels); + return start_speaking(effectedSamples, audio.sampleRate, audio.channels); + } + + std::vector VoiceInteractionController::apply_voice_effect( + const std::vector& sourceSamples, + uint32_t sampleRate, + uint32_t channels) const + { + std::vector samples = VoiceEffect::amplify(sourceSamples, inputGain); + const std::vector trimmedSamples = VoiceEffect::trim_silence(samples, 0.02f, channels); + const size_t minPlaybackSamples = static_cast(sampleRate * channels / 4u); + if (!samples.empty() && trimmedSamples.size() < minPlaybackSamples) + { + std::cerr + << "[WARN] Trimmed voice is too short (" + << trimmedSamples.size() + << " samples); using untrimmed audio." + << std::endl; + } + else + { + samples = trimmedSamples; + } + + samples = VoiceEffect::pitch_up(samples, pitchFactor, channels); + return VoiceEffect::amplify(samples, outputGain); } void VoiceInteractionController::stop_all() diff --git a/src/Apps/Game/src/gameplay/VoiceInteractionController.h b/src/Apps/Game/src/gameplay/VoiceInteractionController.h index 46225d6..4386afa 100644 --- a/src/Apps/Game/src/gameplay/VoiceInteractionController.h +++ b/src/Apps/Game/src/gameplay/VoiceInteractionController.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -61,7 +62,14 @@ namespace Game VoiceInteractionResult finish_pitch_repeat_recording(); VoiceInteractionResult finish_keyword_recording(); VoiceInteractionResult try_recognize_keyword(const std::vector& samples); - VoiceInteractionResult start_speaking(const std::vector& samples); + VoiceInteractionResult start_speaking( + const std::vector& samples, + uint32_t sourceSampleRate, + uint32_t sourceChannels); + std::vector apply_voice_effect( + const std::vector& samples, + uint32_t sampleRate, + uint32_t channels) const; public: VoiceInteractionController( @@ -76,6 +84,10 @@ namespace Game VoiceInteractionResult update_keyword_recording(uint32_t deltaMs); VoiceInteractionResult update_speaking(uint32_t deltaMs); VoiceInteractionResult repeat_last_recording(); + VoiceInteractionResult play_effected_wav( + const uint8_t* wavBytes, + size_t wavByteCount, + const char* name); void stop_all(); void set_input_gain(float gain); void set_output_gain(float gain); diff --git a/src/Apps/Game/src/recognition/KeywordRecognizer.cpp b/src/Apps/Game/src/recognition/KeywordRecognizer.cpp index c0ca8c3..cc7fcac 100644 --- a/src/Apps/Game/src/recognition/KeywordRecognizer.cpp +++ b/src/Apps/Game/src/recognition/KeywordRecognizer.cpp @@ -36,6 +36,12 @@ namespace Game return "No"; case KeywordCommand::On: return "On"; + case KeywordCommand::Off: + return "Off"; + case KeywordCommand::OpenLight: + return "OpenLight"; + case KeywordCommand::CloseLight: + return "CloseLight"; case KeywordCommand::None: default: return "None"; diff --git a/src/Apps/Game/src/recognition/KeywordRecognizer.h b/src/Apps/Game/src/recognition/KeywordRecognizer.h index 8a54369..a97c00f 100644 --- a/src/Apps/Game/src/recognition/KeywordRecognizer.h +++ b/src/Apps/Game/src/recognition/KeywordRecognizer.h @@ -16,7 +16,10 @@ namespace Game Stop, Yes, No, - On + On, + Off, + OpenLight, + CloseLight }; struct KeywordRecognitionResult diff --git a/src/Apps/Game/src/recognition/MODLE.md b/src/Apps/Game/src/recognition/MODLE.md new file mode 100644 index 0000000..c758064 --- /dev/null +++ b/src/Apps/Game/src/recognition/MODLE.md @@ -0,0 +1,392 @@ +# ResBN INT8 关键词识别模型研究总结 + +## 1. 研究目标 + +本项目面向 IMX6ULL-ALPHA 的离线关键词识别部署,核心约束包括: + +- 使用 Google Speech Commands v2 数据集; +- 保持 1 秒、16 kHz、单声道输入; +- 输入特征固定为 `49 x 10 x 1` MFCC,兼容现有识别流程; +- 支持 10 个命令词,以及 `_silence_` 和 `_unknown_`,共 12 类; +- 模型必须能够转换为 INT8,并在不依赖 TensorFlow Lite/LiteRT 运行时的情况下部署; +- 长音频识别不能为每个滑动窗口重复计算完整 MFCC; +- 在精度、模型体积、内存占用和 Cortex-A7 推理开销之间取得平衡。 + +最终选择的方案是: + +> **1 秒 ResBN DS-CNN + 全 INT8 量化 + 整段 mel 特征缓存 + 多窗口 logits 融合。** + +--- + +## 2. Baseline 模型 + +初始模型采用标准轻量 DS-CNN: + +```text +49 x 10 x 1 MFCC + ↓ +Conv2D 10x4, stride 2x2, 64 channels + ↓ +Depthwise 3x3 + Pointwise 1x1,共 4 个 DS-CNN 块 + ↓ +Global Average Pooling + ↓ +Dense 12 + Softmax +``` + +特征参数为: + +- 采样率:16 kHz; +- 窗长/FFT:512 点,即 32 ms; +- 帧移:320 点,即 20 ms; +- mel 滤波器:40 维; +- MFCC:保留前 10 维; +- 1 秒音频生成 49 帧 MFCC。 + +Baseline 在 4,890 条独立测试样本上的准确率为 **88.92%**,模型大小为 **44,856 bytes**。 + +Baseline 的主要问题不是模型过大,而是: + +- 4 个 DS-CNN 块串联后缺少跨层信息通道; +- 深层特征只能依赖连续卷积传播,训练稳定性和特征复用能力有限; +- 输出直接经过 Softmax,不利于后续对多个窗口的 logits 做统一融合; +- 长音频处理会重复执行归一化、FFT、mel 滤波和 DCT。 + +--- + +## 3. 模型迭代研究过程 + +### 3.1 引入残差连接和 Batch Normalization + +我们首先设计了 ResBN 模型,保持输入尺寸、通道数和 DS-CNN 主体不变,只修改每个深度可分离卷积块: + +```text +输入 identity + ├──────────────────────────────┐ + ↓ │ +DepthwiseConv 3x3 │ + ↓ │ +BatchNorm │ + ↓ │ +ReLU │ + ↓ │ +PointwiseConv 1x1 │ + ↓ │ +BatchNorm │ + ↓ │ +Add(identity) ←───────────────────┘ + ↓ +ReLU +``` + +该设计的价值: + +- 残差连接不增加卷积参数,仅增加低成本逐元素加法; +- 保留浅层信息,改善 4 层 DS-CNN 堆叠后的梯度传播; +- BN 提高训练稳定性,并在导出时折叠进卷积权重和 bias,部署时不需要单独执行 BN; +- 输出改为原始 logits,Softmax 移到多窗口融合阶段执行; +- 不改变 `49 x 10` 输入合同,不需要重新设计前端采集和窗口协议。 + +ResBN Dynamic TFLite 的测试准确率达到 **91.10%**,相比 Baseline 提升 **2.19 个百分点**。 + +### 3.2 评估 SE 通道注意力 + +在 ResBN 基础上,我们继续设计了 SE 模型: + +- 每个残差 DS-CNN 块增加通道注意力; +- SE ratio 为 8; +- 使用 `hard_sigmoid`,降低量化和 Cortex-A7 上的激活开销; +- 通过全局平均池化、降维、升维和逐通道乘法调整 64 个通道的重要性。 + +SE 模型的测试准确率为 **91.19%**,只比 ResBN Dynamic 高 **0.08 个百分点**,但模型大小从 **46,392 bytes** 增加到 **71,040 bytes**,增长约 **53.13%**。 + +SE 的最佳验证准确率较高,但在独立测试集上的提升很小,而且类别收益不均衡: + +- `go`、`right`、`no` 有改善; +- `down`、`up`、`unknown` 出现回退; +- 增加了额外的全局池化、两层通道映射、激活和逐通道乘法。 + +因此,SE 在本次数据和模型规模下没有形成足够高的精度/开销收益比,最终没有作为部署模型。 + +### 3.3 保留 1 秒模型,而不是扩展为 2 秒输入 + +研究中对比了两种长音频方案: + +1. 将模型输入扩大为 2 秒,减少推理窗口数量; +2. 保留已验证的 1 秒模型,对整段音频只计算一次频谱特征,再切分特征窗口。 + +最终选择第二种方案,原因是: + +- 1 秒模型已经完成训练、量化和精度验证; +- 不改变输入尺寸和卷积结构,部署风险更低; +- 2 秒模型会增加单次推理 MAC、激活内存和重新训练成本; +- 长音频的主要重复开销来自 FFT 和 mel,而不只是模型推理; +- 特征缓存可以直接消除相邻窗口之间的频谱重复计算。 + +--- + +## 4. 核心创新 + +### 4.1 残差 DS-CNN 与 BN 折叠 + +我们不是简单增加通道数或卷积层,而是在不明显增加推理复杂度的情况下改善网络信息流: + +- 4 个 DS-CNN 块全部增加 identity 残差; +- 每个 Depthwise 和 Pointwise 卷积后加入 BN; +- BN 在 TFLite 转换时折叠进卷积参数; +- 保持 64 通道和原始空间尺寸,残差无需投影层。 + +这种设计将提升重点放在训练稳定性和特征复用,而不是通过扩大模型换取精度。 + +### 4.2 从“重复 MFCC”改为“整段 mel cache” + +传统滑窗实现会对每个 1 秒窗口重复执行: + +```text +窗口归一化 → Hann window → FFT → magnitude → mel → log → DCT → inference +``` + +我们的实现改为: + +```text +整段音频 + ↓ +一次性计算所有 STFT 帧和 mel energy + ↓ +缓存每一帧的 40 维 mel energy + ↓ +按 frameStart 切出 49 帧窗口 + ↓ +按该 1 秒窗口的 maxAbs 恢复训练时的窗口归一化语义 + ↓ +log + DCT + ↓ +INT8 inference +``` + +这里没有直接缓存最终 MFCC,而是缓存**归一化之前的 mel energy**。原因是训练时每个 1 秒窗口都独立按最大绝对值归一化。如果直接缓存整段归一化后的 MFCC,不同窗口的幅度语义会与训练不一致。 + +通过“原始 mel energy cache + 每窗口线性缩放”,既复用了 FFT/mel,又保留了训练时的逐窗口归一化。 + +### 4.3 预计算 DCT 基矩阵 + +MFCC 的 DCT 原本每个窗口需要执行: + +```text +49 frames x 10 coefficients x 40 mel bins = 19,600 次 cos() +``` + +我们将 `10 x 40` DCT 基矩阵首次初始化后缓存: + +- 只需计算 400 次 `cos()`; +- 后续窗口仅执行矩阵乘加; +- 5 秒、21 个窗口时,三角函数计算量从 411,600 次降到 400 次; +- `cos()` 调用减少约 **99.90%**。 + +### 4.4 多窗口 logits 融合 + +模型输出改为 logits,并在识别器中增加四层判定: + +1. **EMA logits 平滑**:默认 `alpha = 0.60`; +2. **Top-1 confidence**:默认阈值 `0.75`; +3. **Top-1/Top-2 margin**:默认阈值 `0.15`; +4. **连续命中**:多窗口时默认至少连续命中 2 次。 + +与单次 argmax 相比,该策略能够: + +- 抑制瞬时噪声造成的高置信误判; +- 避免 Top-1 和 Top-2 非常接近时过早输出; +- 利用相邻窗口的一致性; +- 保留窗口步长、阈值和平滑系数的板端可调能力。 + +### 4.5 从 `.tflite` 自动导出无运行时 C++ 模型 + +为了避免在 IMX6ULL 上集成完整 TensorFlow Lite/LiteRT,我们实现了 `export_cpp.py`: + +- 解析 INT8 TFLite 图; +- 提取 Stem、4 个 Depthwise、4 个 Pointwise、4 个 Add、Global Mean 和 Dense; +- 导出 INT8 weights、INT32 bias; +- 导出 per-channel multiplier 和 shift; +- 将 BN 融合后的参数直接写入 `ResBnKwsModelData.cpp`; +- 生成手写 INT8 Conv、Depthwise、Add、GAP 和 Dense 推理路径。 + +最终板端只需要: + +- `ResBnKwsRecognizer.h/.cpp` +- `ResBnKwsModelData.h/.cpp` + +不需要在运行时加载 `.tflite`,也不依赖 TFLite Interpreter。 + +### 4.6 逐层复刻 TFLite INT8 舍入语义 + +量化部署中最容易被忽略的问题不是权重,而是整数乘法、舍入、饱和和零点处理。 + +我们针对以下细节进行了逐层校正: + +- Saturating Rounding Doubling High Mul; +- Rounding Divide by Power-of-Two; +- per-channel Conv multiplier/shift; +- Add 算子的输入缩放与 left shift; +- Global Mean 的 TFLite reference multiplier 调整方式; +- INT8 activation clamp; +- 输出零点和 scale 的还原。 + +Global Mean 最初只有少量 1 LSB 偏差,但仍继续对照 TensorFlow Lite 2.21 内核源码,最终做到全部中间张量完全一致。 + +### 4.7 训练与 C++ 特征前端严格一致 + +部署验证中还发现并修正了两个容易造成精度损失的前端差异: + +1. TensorFlow mel 滤波器是在 **mel 域**做三角插值,而不是在 Hz 域; +2. `tf.signal.mfccs_from_log_mel_spectrograms()` 使用 HTK 缩放,`C0` 同样采用 `sqrt(2/N)`,不是正交 DCT 的 `sqrt(1/N)`。 + +修正后,C++ 特征经过 INT8 量化,与 TensorFlow 训练侧输入完全一致。 + +--- + +## 5. 模型结果 + +测试集包含 4,890 条样本。 + +| 模型 | 测试准确率 | TFLite 大小 | 结论 | +|---|---:|---:|---| +| Baseline DS-CNN Dynamic | 88.92% | 44,856 B | 初始基线 | +| ResBN Dynamic | 91.10% | 46,392 B | 残差和 BN 带来明显提升 | +| ResBN + SE Dynamic | 91.19% | 71,040 B | 仅提升 0.08pp,体积增加 53.13% | +| **ResBN INT8** | **91.68%** | **48,368 B** | **最终部署模型** | + +最终 ResBN INT8 相比 Baseline: + +- 准确率提升 **2.76 个百分点**; +- 错误率从 11.08% 降至 8.32%; +- 相对错误率下降约 **24.91%**; +- 相比 ResBN Dynamic 还提升 **0.57 个百分点**; +- 模型保持约 48 KB,适合嵌入式固化。 + +INT8 文件不一定比 Dynamic TFLite 更小,因为文件中还包含量化参数和算子元数据。选择 INT8 的主要价值是: + +- 权重和激活均为 INT8; +- 卷积累加使用 INT32; +- 适合 Cortex-A7 的整数执行; +- 更容易实现无 TFLite 运行时的静态 C++ 推理。 + +### 关键类别提升 + +| 类别 | Baseline | ResBN INT8 | 提升 | +|---|---:|---:|---:| +| right | 78.54% | 87.88% | +9.34pp | +| no | 84.69% | 93.58% | +8.89pp | +| go | 76.37% | 84.08% | +7.71pp | +| down | 84.98% | 88.67% | +3.69pp | +| left | 91.02% | 93.69% | +2.67pp | +| yes | 92.36% | 94.75% | +2.39pp | + +`on` 和 `_unknown_` 相比 Baseline 有小幅回退,说明后续仍需使用真实麦克风噪声和板端场景数据校准类别阈值。 + +--- + +## 6. 长音频优化效果 + +以 5 秒音频、1 秒窗口、200 ms 步长为例: + +- 推理窗口数:21; +- 每个窗口包含 49 个 STFT/MFCC 帧; +- 传统逐窗口方式需要计算 `21 x 49 = 1,029` 个 FFT/mel 帧; +- 整段 5 秒缓存只需要计算 249 个连续 STFT/mel 帧; +- FFT/mel 帧计算减少约 **75.80%**; +- 相当于频谱前端计算次数降低约 **4.13 倍**。 + +该优化不减少 21 次模型推理,但消除了相邻窗口 80% 重叠区域的 FFT 和 mel 重复计算。 + +如果后续板端实测表明模型推理仍是主要瓶颈,可以通过接口将窗口步长从 10 帧调整为 25 帧或 50 帧,在响应速度和计算量之间继续权衡,而不需要重新训练模型。 + +--- + +## 7. 部署一致性验证 + +为了保证桌面测试结果能够迁移到 IMX6ULL,我们没有只验证最终分类结果,而是验证了完整链路。 + +### 7.1 INT8 算子逐层验证 + +在 `down`、`go`、`right`、`stop`、`yes` 五类样本上,对以下 15 个算子输出逐层比较: + +- Stem Conv; +- 4 个 Depthwise Conv; +- 4 个 Pointwise Conv; +- 4 个 Residual Add; +- Global Mean; +- Dense。 + +结果: + +> 所有层的 INT8 输出与 TensorFlow Lite reference kernel 完全一致,mismatch 为 0。 + +### 7.2 C++ MFCC 验证 + +使用真实 C++ FFT、mel cache、窗口归一化和 DCT,与 TensorFlow 训练前端比较: + +- 单窗口 490 个 INT8 MFCC 输入:`0/490` mismatch; +- 5 秒音频选取 7 个不同 frameStart:每个窗口均为 `0/490` mismatch; +- 浮点 MFCC 最大误差不超过约 `2.83e-4`; +- C++ logits 与 TFLite reference 输出最大误差约 `9.09e-7`。 + +这说明缓存切窗没有改变模型实际接收到的 INT8 特征。 + +### 7.3 编译验证 + +最终 C++ 模型数据和识别器通过 MSVC `/W4` 语法编译检查。 + +--- + +## 8. 最终交付 + +### 训练与测试 + +- `ResBNKWS/model.py` +- `ResBNKWS/train.py` +- `ResBNKWS/test.py` +- `ResBNKWS/artifacts/resbn_kws_1s_int8.tflite` + +### C++ 导出与验证 + +- `ResBNKWS/export_cpp.py` +- `ResBNKWS/validate_cpp_export.py` +- `ResBNKWS/DEPLOYMENT.md` + +### IMX6ULL 项目需要迁移 + +- `ResBnKwsRecognizer.h` +- `ResBnKwsRecognizer.cpp` +- `ResBnKwsModelData.h` +- `ResBnKwsModelData.cpp` + +运行时不需要迁移 `.tflite`,因为模型参数已经转换为 C++ 常量数组。 + +--- + +## 9. 当前限制与后续工作 + +目前已经完成模型、量化、特征缓存、融合和 C++ 数值一致性验证,但仍有以下板端工作: + +1. 在 IMX6ULL 上测量单窗口推理时间、5 秒总处理时间和峰值内存; +2. 使用实际麦克风录音重新标定 confidence、margin 和连续命中阈值; +3. 根据实时性要求评估 200 ms、500 ms 和 1 s 三种窗口步长; +4. 如 FFT 成为瓶颈,可替换为 NEON 优化 FFT 或固定点 FFT; +5. 当前 `off` 类需要目标项目的 `KeywordCommand` 增加 `Off`,并定义 `RESBN_KWS_HAS_OFF_COMMAND`; +6. 如果需要连续输出多个命令,而不是从整段音频返回一个最佳命令,需要在上层增加事件时间戳、冷却时间和去重状态机。 + +--- + +## 10. 结论 + +本项目的主要创新不是单纯扩大网络,而是联合优化了模型结构、量化实现、特征前端和长音频决策逻辑: + +- 使用残差和 BN 提升 DS-CNN 精度,同时保持轻量结构; +- 通过实验否决收益不足的 SE 部署方案; +- 保留 1 秒模型,利用 mel cache 消除长音频重复 FFT; +- 使用 logits EMA、margin 和连续命中提高输出稳定性; +- 将 INT8 TFLite 自动转换为无运行时依赖的 C++ 推理代码; +- 对齐 TFLite 整数舍入和 TensorFlow MFCC 细节; +- 最终达到 **91.68%** 测试准确率、约 **48 KB** 模型大小,并完成逐层零误差验证。 + +最终方案在精度、体积、可解释性、长音频计算量和 IMX6ULL 部署可控性之间取得了更好的综合平衡。 diff --git a/src/Apps/Game/src/recognition/ResBnKwsCnModelData.cpp b/src/Apps/Game/src/recognition/ResBnKwsCnModelData.cpp new file mode 100644 index 0000000..43f1e2e --- /dev/null +++ b/src/Apps/Game/src/recognition/ResBnKwsCnModelData.cpp @@ -0,0 +1,1812 @@ +#include "ResBnKwsCnModelData.h" + +namespace Game +{ +namespace ResBnKwsCnModelData +{ +const int8_t StemWeights[2560] = +{ + 23, 6, 3, -22, 13, -23, -9, 21, 24, -22, -10, -25, 6, -24, -6, 6, + -15, -6, -2, -18, -28, -18, 4, -17, -5, -127, 25, -18, -12, -85, 25, 43, + -10, -18, -19, 3, 21, 98, 17, 15, 53, 127, 64, 48, 31, 122, 67, -45, + 71, 60, 53, -58, 67, 42, 16, -66, 43, -31, -57, -42, -40, 6, -87, -34, + -37, -40, -70, -67, 19, -50, -29, -63, -12, -43, -65, 47, 16, 0, -81, 36, + 12, 6, 86, 44, 19, -63, 34, 70, -3, -24, -7, -57, 64, 42, -58, -127, + 77, 32, -24, -11, 25, 14, -36, 16, -50, 27, -6, -13, -17, 22, 18, 6, + -12, -6, -10, -6, -25, 9, -31, 19, -22, -28, -87, 22, -10, -5, -83, -6, + 1, -3, -19, -6, 40, 70, -26, -12, 107, 102, -27, 0, 84, 46, 12, 2, + 66, 76, 127, 69, 36, 6, 48, 22, -67, -35, 70, 19, -64, 0, 58, -40, + -52, 74, -8, -88, -18, 21, 76, -67, 42, 84, 99, -22, 61, 6, 88, -26, + 79, 42, 64, 18, 7, -3, 10, 18, -26, -75, 43, 82, -36, -41, -37, 58, + -12, -25, -109, 26, 11, -12, -127, 0, 59, 11, -85, 63, 25, -21, -88, 27, + -44, -24, -51, 67, -48, -17, -60, -8, -57, 14, 44, -6, -49, 40, 80, 16, + -28, 78, 100, -44, 8, 40, 127, -4, 44, 62, 104, -6, 41, -4, 63, -10, + 62, 5, -53, 46, 41, -23, -12, -37, 36, -48, -10, -91, -12, -49, -76, -69, + -83, 99, -39, -17, -39, 76, 71, -86, 80, 60, 29, -67, 127, -1, -3, -32, + 41, -3, 87, 23, -59, -9, 10, 48, 17, 78, -34, 4, -3, 127, -10, -42, + -34, 49, -10, -19, -61, 35, 10, 29, -38, 57, 50, -19, -25, -12, 44, -20, + -27, -65, 13, -22, -8, -24, 44, 12, 10, -28, -18, -51, 43, -39, 22, -63, + -1, 82, -42, -127, -21, 32, -56, -82, -59, -11, -43, 9, -90, -5, 4, 50, + -44, 15, 27, 91, 1, 5, 64, 69, 14, 16, 49, 9, 32, -25, 86, 19, + 52, 18, 32, -52, 118, -20, 0, -95, -11, -16, -8, -61, 4, 1, -32, -118, + -62, -41, -38, -126, -28, -65, -46, -21, -26, -44, 17, 55, -10, 5, 63, 127, + 8, 2, 30, 88, 13, 7, 31, 74, 33, 40, 14, 43, 1, 49, 23, 42, + -20, 49, 66, 85, 39, 114, 29, -23, -40, 48, -21, 42, -93, -6, -123, 57, + 15, 19, -77, -126, 69, -4, -36, -58, 77, 45, 8, -127, 126, -8, -39, -100, + 79, -6, 8, -56, -17, 0, -15, -19, 0, -7, 44, -15, 23, -20, -1, 35, + 23, -16, -3, 75, -13, 33, 15, 127, -21, 42, 12, 88, 17, 32, -31, -13, + 5, -1, -50, -73, 0, -12, -26, -56, -2, -13, 12, -30, -8, 12, 3, -16, + 64, 93, 1, -113, 114, 57, -41, 24, 42, 115, -125, 35, 20, 67, -68, 125, + -10, 12, -44, 86, -20, -76, 36, 127, -117, -86, 57, 34, -1, -52, 70, 40, + 29, 19, 93, -55, -11, 6, 107, -11, 93, -54, -127, -68, 95, -57, -107, -87, + 9, -33, -39, -24, 14, -17, -32, 11, 13, -49, -23, 58, 36, -16, 47, 99, + -38, -10, -39, 18, -31, 19, -18, 12, -12, -2, 3, -29, 1, -12, -20, -74, + -26, 3, 109, -43, -78, -9, 127, -62, -61, 15, 39, -16, -60, 10, 15, 2, + 3, 10, -1, 34, 7, 10, 20, -22, -15, 6, 15, -28, 21, -2, 28, -9, + 14, -15, 23, -29, -6, -18, 13, -28, 21, -38, 13, 31, 28, -13, -40, 29, + -4, -56, -31, 63, 15, -29, -61, 46, -12, 17, -127, 35, 41, -8, -101, -15, + 6, 14, -40, 4, 69, -3, -48, -11, 46, 41, 49, 42, -21, 3, 34, 36, + -79, 8, -43, 52, -13, 28, -114, 22, -9, 20, -99, 74, -28, 40, -55, 23, + -23, -13, -29, -51, -9, -1, 40, -23, -61, -61, 50, -52, -15, -36, 50, -127, + -3, -54, 50, -99, -32, -23, 61, -94, -55, 47, 13, 8, -2, -23, -4, 12, + -27, 45, -13, 10, -15, -34, -52, -2, -19, 6, -49, -22, -21, -12, 9, 119, + 42, -127, 75, 95, -3, -81, 15, 1, -7, 53, -16, -69, 14, 75, 5, -67, + 60, -51, -8, -6, 7, 13, -54, 58, 57, 51, -55, 100, -30, 74, -24, -5, + 11, 36, -38, 70, -94, -33, 47, 75, -4, -127, 18, 30, -33, -63, 11, 44, + -52, -26, 43, 66, 6, -10, 21, 57, -77, -8, 127, -114, -35, 70, 87, -67, + -41, 75, -11, -35, -14, 29, -4, -9, 32, -10, 36, 18, 47, -10, 9, 13, + 30, 13, 10, 1, 24, 32, 52, 2, 16, 56, 54, 35, 26, -10, 4, 29, + -5, -110, 94, 17, -23, -84, 86, -53, -23, -21, 14, -78, -47, 70, -3, -88, + -4, 127, -38, -51, -33, 49, -99, -1, -15, 32, -87, 72, 43, -4, 5, 53, + 7, -36, 76, 63, -59, 5, 5, 79, 4, -29, -89, -22, -17, -61, -2, -15, + 18, -31, 61, 4, 38, -21, 33, 30, 30, -33, 90, 47, 1, 4, 38, 74, + 14, 34, -11, 43, -17, 52, 81, 12, -4, 127, 89, 7, -49, 72, 34, -15, + -6, 25, 48, -72, -1, 33, -31, -44, 80, 12, -60, -117, 49, -16, -90, -16, + -28, -46, -37, 56, -43, -77, -68, 127, 35, -50, -10, 106, 39, -4, 66, 121, + 118, -13, 30, 7, 84, 3, 93, -10, -40, 66, 86, -21, -47, 26, 9, 27, + -26, 66, -41, -68, -124, 86, 55, 97, -69, 57, 110, 41, 127, 46, 49, 42, + 7, -104, -16, -47, -19, -76, -15, -67, -20, -26, -116, -116, 37, -24, -90, -72, + -1, -20, -45, -23, -24, -42, 59, 51, -84, 20, 91, 95, -111, 38, 111, 25, + -87, 65, 30, 2, -6, -27, 51, -38, 21, 33, -66, -94, 47, 16, 23, -93, + 46, 70, -62, -105, 97, 110, -72, -127, -15, 63, -22, 7, -16, 71, -50, -41, + 0, 72, -75, -82, 5, 52, -59, -127, 32, 7, -63, -98, 47, -62, -36, -28, + 31, -53, -44, -15, -19, -74, 66, -10, -54, 16, 95, 43, 0, 26, 79, 64, + -54, 21, 40, -19, -20, 12, 59, -97, 15, 26, 70, -53, 20, 6, 55, -12, + -16, -42, -25, 54, -7, -77, -127, 73, 15, -37, -82, 100, 8, -17, -42, 40, + 29, 23, 3, 3, 44, 48, 38, 9, 70, 73, -67, 53, 31, 78, 49, 23, + -22, 39, -24, 56, -5, -68, 90, 53, -50, -51, 8, 72, 30, 1, 31, -12, + -6, -127, 36, -11, -26, -79, -1, 28, 24, -6, -64, -32, -28, 29, -100, -19, + 44, -32, 58, -17, 33, -23, -17, -63, -23, -24, -113, 14, -109, 39, 12, 122, + -105, 65, 127, 101, -50, 107, 102, 22, 3, 56, 59, -42, 42, -27, -45, -73, + -3, 13, -101, 12, 21, 3, -40, -29, -13, -80, 13, -4, 43, -22, -73, -42, + 19, 31, -43, 49, -20, 45, -103, 58, -44, -34, -27, 52, -34, -54, 44, -9, + -48, -13, 107, -17, -55, 0, 91, -5, 24, 127, 29, -71, 29, 116, -29, -46, + -26, -6, -49, 49, 15, 53, 21, 86, -30, 69, 50, 78, -127, 25, 73, 37, + -78, -15, 93, 20, -54, -5, -6, -52, 20, 18, -24, -86, 28, 68, -42, -107, + 97, 8, -21, -105, 88, -30, -8, -20, 31, -37, 30, -35, -20, -21, 33, 12, + -84, -7, 26, 36, -29, 77, -2, 12, 1, 100, -44, 21, 9, 38, -10, 18, + 48, -36, -20, -61, -14, -14, 8, -127, 7, 49, 5, -64, 8, 78, -1, -58, + -38, 111, 47, 11, -1, 84, -39, -6, 30, 46, -104, -60, 127, 7, 1, -20, + 61, -34, 52, -47, -26, -60, 90, 12, -97, -56, 62, -53, -97, 13, -4, -15, + -47, 7, -15, 14, -9, -30, 22, 9, 1, -21, 65, 73, -16, 24, -98, 69, + -9, -19, -105, 13, -8, -21, -98, -58, 14, -107, -127, -35, -8, -47, -94, -59, + 42, -32, -50, -3, 56, -22, 106, 61, -12, -63, 16, 29, 10, -21, -18, 85, + 15, 25, 45, -47, -4, 30, 53, -19, -29, -32, 105, 8, -65, -59, 121, 25, + -62, -127, 30, 49, -22, -39, -35, 55, 15, -35, -89, -17, 39, -12, -77, 20, + 47, 62, -73, 7, 53, 66, -57, -28, -54, 7, -57, 60, -47, -31, -112, 75, + 18, -27, -28, 70, -6, -18, 4, 39, 36, -7, -20, 20, 51, -27, -23, 16, + 33, 0, 8, 66, 83, -4, 48, 0, 127, -16, 54, 18, 69, 15, 106, -29, + 62, 11, 78, 19, 84, -10, 28, 34, 43, -6, -28, 95, -46, 20, -84, 127, + -71, 46, -78, 39, -70, 15, -27, -43, -38, -49, 68, -104, -23, -27, 43, -49, + 43, -7, 10, -60, 45, -6, 3, -58, -30, 15, 10, -127, -54, 61, 25, -91, + -55, 96, 79, -99, -30, 59, 13, -21, 9, 58, -21, -2, 63, -53, -56, 30, + 55, -45, -80, 64, 12, -35, -21, 39, 19, -1, -43, 64, 24, 21, -16, 55, + 0, -1, 91, -77, -36, 4, 37, -96, -90, 50, -4, -95, -127, 58, 58, -7, + -40, -12, -12, 65, 92, -55, -15, 106, 103, 5, -94, 28, 70, -6, -41, 28, + 43, -3, -44, 10, -9, -4, 42, -23, -38, -74, -70, 68, -52, -127, -7, 82, + -38, -85, -14, 80, 10, -45, -22, 51, 15, 67, -31, 62, 23, 0, 10, 23, + 30, 26, 63, 2, 74, 29, 61, 17, 39, 25, 104, -93, 32, 58, 92, -82, + -57, -79, -72, -35, 94, -3, -76, -58, 50, 102, -1, -127, 20, 119, 99, -119, + -32, 104, 85, -42, -38, 88, -29, -59, 12, -28, 25, -34, 72, -69, 50, 15, + 46, -26, 8, 35, -10, -2, -79, 29, -57, 63, -80, -62, -17, 50, -9, 55, + -33, 23, -24, 52, 18, -52, -20, 127, -10, -34, -68, 49, -28, -41, -28, 49, + -48, -3, -2, -34, 30, -58, 52, 18, -45, -36, 14, -11, -54, -14, 22, -37, + -32, -86, 64, 127, -46, -62, 82, 71, -14, -1, 5, 40, -9, -11, -46, -1, + 31, 21, -52, 1, 21, 33, -31, -56, 16, 41, -45, -53, -8, 29, -5, -121, + -1, 38, -25, -77, 35, 36, 13, -88, -68, -68, 40, -5, 11, -64, -70, -32, + 28, -48, -94, 21, 80, -40, -64, 34, 69, -13, -112, -59, 85, 25, -108, -10, + 84, 60, -53, -71, 47, 42, -26, -48, 32, 49, -19, -68, 52, 42, 12, -127, + 24, 36, -44, -17, 26, -16, -83, 7, 43, 48, -94, -30, 38, -20, -127, 44, + -26, -54, -125, 60, -16, -38, -87, 84, -3, 15, 43, 53, -14, 46, 69, -41, + -14, 19, 96, -18, -22, -12, 97, -29, -78, 27, 62, -33, 102, 76, -7, 17, + 61, 2, 19, -50, -7, -1, 43, -57, -63, -10, 54, -88, -31, 6, 27, -50, + -78, 64, -127, 0, 30, 51, -117, 51, 105, -26, -108, 74, 110, -40, 21, 81, + -44, -37, 20, 41, -16, -20, -1, 32, -29, -4, 61, 55, -17, -20, 17, 104, + 38, -10, -14, 127, -17, -26, -14, 124, -28, -23, -35, 100, -81, 13, -11, 33, + -69, -23, -35, 8, -36, -80, 17, 59, -72, 26, 127, 6, -28, 22, 86, 60, + -33, -31, 21, 107, 3, -4, -73, 49, -1, -27, -93, 27, 50, -28, -94, -52, + 44, -45, -79, -46, 26, 5, -56, -74, 3, -19, -31, -26, 37, -24, 24, 7, + -48, 13, -49, -27, -28, 16, 22, 37, -24, -27, 50, 109, -34, -60, -73, -2, + -14, 12, -127, 32, 4, 84, -34, 33, -8, 113, 81, 29, 28, 22, 91, -38, + 33, -24, 62, -69, 34, -9, 13, -53, -5, 65, 7, 23, -54, -10, 40, 43, + -36, -11, 8, 52, -62, -33, 7, 74, -42, -23, -3, 67, -4, -51, -28, 20, + 30, -28, -8, -64, 63, 14, 42, -90, 21, -1, 68, -127, 60, 59, 13, -26, + 15, -29, 0, -20, 74, -34, 2, -21, -18, 28, -34, 110, -13, -22, -40, 127, + -46, 1, -21, 75, -74, 26, -32, 70, -34, 65, -6, 19, 23, 21, -5, 8, + -39, 3, 18, 14, -42, -6, 23, -12, 21, 11, -68, 97, 102, 18, -103, 53, + 87, -79, -127, 78, -15, -62, -44, -113, -31, -26, 34, -127, -101, 8, -25, -83, + -45, -9, 21, -26, -17, 6, 95, 71, -35, 70, 77, -4, -15, 63, 68, 14, + -93, 71, -119, -127, 33, 80, -20, -118, 30, 28, 47, 24, -31, -41, 103, 31, + -45, -3, 55, 118, -9, 2, -12, 122, 52, 59, -10, 45, -3, 10, 46, -53, + -11, -89, -64, 34, -2, -37, -15, 24, -77, -51, -15, 104, -6, -8, -80, 13, + 30, 10, -91, -81, 45, 23, -7, -110, 18, 100, 25, -75, -25, 53, 38, -127, + -21, 17, 118, -107, -16, 24, 99, -52, -56, 38, 116, 30, -1, -4, 40, 116, + -12, -46, -114, 51, 10, 14, -58, 68, 26, -61, 11, 127, 18, -41, 27, 85, + 57, -5, 2, 76, 4, -47, 60, 44, 39, -49, -11, 46, -32, -60, -2, 11, + 0, -44, 14, 50, -33, -42, 20, 58, 95, 70, -25, 10, 127, 30, -2, 15, + 23, -58, 25, 1, 2, -116, 1, 52, -4, -98, -31, 68, -35, -68, -6, 45, + -57, -65, 33, 39, -38, -22, -14, 3, -68, -17, -6, -12, -35, -5, 50, 8, + 11, -10, 28, -8, 33, 58, -1, 37, -23, 99, 26, 100, -4, 115, 68, 100, + 15, 79, 61, 103, -17, 19, 24, -15, -12, -33, 13, -107, -4, -63, -57, -36, + -4, -60, -75, -127, -5, -38, -56, -104, 6, -3, -34, 42, 28, 9, -15, 26, + -43, 38, -31, 64, -81, -25, 6, 33, 10, 13, 16, -70, 124, 51, 17, -97, + 127, 70, -7, -98, 45, 1, -13, -61, -17, -7, -30, -14, -4, -33, -31, 24, + -29, -64, -48, 1, -95, -65, -47, -90, -127, -71, -82, 34, -121, 20, 28, 37, + -110, 4, 59, 109, -64, 50, 14, 57, 5, 36, -35, 16, 46, 29, -59, -12, + 91, 66, -22, -4, 88, 29, -38, 14, -41, 79, -100, -98, 14, 68, -70, -127, + 73, 16, -62, -17, 23, 60, -116, 2, 18, 65, -33, 38, -35, -50, 3, 7, + -16, -42, 42, 9, 6, -53, 50, 9, -18, -59, 22, 57, -55, -26, -6, 85, + 88, 82, 36, -3, 127, -23, 2, 25, 12, -18, -29, 60, 24, -93, 5, 28, + -48, -72, -55, -89, -16, -7, -39, -50, -30, 31, -72, -27, 11, 7, 14, 87, + 44, -4, 66, 32, -33, -10, 46, 30, 113, 58, 13, -60, 17, 83, -79, 41, + -77, 10, -33, -6, -21, -62, 30, 2, 60, -56, 90, 29, 29, -58, 94, 111, + 28, 43, 27, 127, -107, 98, -24, 4, -124, 82, -77, -125, -87, 94, -34, -35, + 24, -19, 47, 65, -35, -56, 44, 63, -40, -8, 6, 71, -63, -6, 44, 58, + -46, -10, 7, 60, 15, 9, -63, 18, 45, -85, -127, -1, 70, 25, -91, 17, + 26, -27, -84, 17, 36, -29, -21, -34, 50, -49, -95, 64, -45, 18, -69, 79, + -127, 26, -44, 83, -75, -20, 18, 99, -63, -59, -3, 36, -66, 37, -11, 53, + -9, 60, -12, 56, 30, -18, 2, 46, 26, 23, 32, 35, 40, 92, 38, -42 +}; + +const int32_t StemBias[64] = +{ + -1128, 2299, 301, 1924, -227, 1462, 71, 193, + 860, -321, 335, 722, 981, -1200, 86, -176, + -108, -715, -856, 841, 368, 548, -795, 827, + 1543, 0, -63, -1011, 1052, 1117, 1752, 2177, + 422, -1610, -509, -271, 230, 2625, 147, -696, + 1002, -800, 129, -406, -55, 1173, -273, -233, + 948, 82, 401, -365, 805, 961, -1086, -2095, + 1785, 838, 458, 1395, -34, 2058, -1007, 1391 +}; + +const int32_t StemMultipliers[64] = +{ + 1622362162, 1163558067, 1736597674, 1341094969, 1080057896, 1439004594, 1955130479, 1365870065, + 1252265288, 1310520143, 1206676741, 1370711973, 1263739653, 1460480382, 1223107969, 1347469733, + 1227195235, 1401935573, 1634949465, 1508056467, 1333399875, 1633079910, 1769959714, 1402419092, + 1301090201, 1473580831, 1569111705, 1590818587, 1656896131, 1658978082, 1856049321, 1173740151, + 1973581111, 1957036641, 1518372203, 1112160837, 1483652701, 1300997500, 2121479941, 1488218350, + 1302791999, 1938631964, 1877132052, 1301835231, 1754497236, 2044673061, 1224479916, 1317196186, + 2026702788, 1863698590, 1462011000, 1147749146, 1083055201, 1363222165, 1642487599, 1867363698, + 1115152020, 1153115262, 1654521066, 1527796484, 1382789289, 1104297130, 1638833157, 1793308744 +}; + +const int32_t StemShifts[64] = +{ + -8, -8, -7, -8, -7, -8, -8, -8, + -7, -7, -8, -6, -8, -8, -6, -7, + -7, -7, -8, -8, -7, -8, -8, -8, + -8, -8, -7, -8, -8, -8, -8, -8, + -8, -9, -8, -7, -6, -8, -7, -8, + -8, -8, -8, -8, -7, -8, -8, -7, + -8, -7, -7, -7, -7, -8, -9, -9, + -8, -7, -8, -8, -7, -8, -8, -8 +}; + +const int8_t Dw0Weights[576] = +{ + 93, 54, 127, 7, 84, 0, -6, 48, -42, -7, -15, 6, 105, -6, -17, -56, + 46, 127, -112, 43, 41, 58, 34, 18, 27, 79, -28, -69, 37, -53, -49, -72, + 18, 48, -110, -19, -127, -95, -55, -75, -108, 127, 43, 1, 14, 95, -48, -43, + -62, -99, 22, 20, 93, -18, 44, 35, 27, 127, 5, -92, 42, -83, -72, -81, + 33, 127, -6, -57, -21, -61, 127, 70, -39, -51, 66, 127, 35, 3, -63, -47, + -33, -24, 86, 116, 53, -20, -59, 65, -37, -46, -25, 91, -127, 105, -34, -64, + -5, -46, 127, 9, 20, 66, 4, -94, 127, -48, -23, -127, 2, -127, -62, 20, + -59, 86, -91, 12, -100, 90, -8, -101, -37, -27, 2, -47, 23, -126, -3, -45, + -76, -53, 53, -19, 20, 32, 5, 33, -55, -12, -30, -86, 19, 127, -100, -61, + 5, -56, -53, -127, 46, 6, 87, -125, 22, 11, 126, -11, 21, 76, 127, 120, + -91, 25, 0, 105, 48, 66, -77, 127, 38, 79, 127, -67, 127, -79, 28, -25, + -9, 74, -68, -19, 86, -78, 23, -27, 50, -117, 63, 56, -127, 114, -127, 88, + -43, 30, -95, 110, 127, -57, -65, 127, 45, 9, 9, 6, -37, -38, -17, 7, + 32, 35, -21, -64, -1, 127, -102, -60, -46, -35, -8, -77, 7, 29, 76, 17, + -127, -33, -84, -24, -86, 31, -8, 13, -6, -12, -17, 67, -74, 22, 10, -102, + 84, -38, 46, 37, -127, 39, 127, -118, -58, -57, -100, -75, 62, -74, 79, 67, + 127, -52, 31, -16, -14, -20, -52, 48, -86, 54, -59, -84, 16, -19, -127, 62, + -127, 61, 119, 78, -17, 25, -27, 90, 29, -50, -82, 63, -28, 127, -66, -127, + 25, -27, -5, -4, 94, -127, 21, -88, -28, -102, 19, -45, 28, 30, 127, -27, + -60, -6, -4, -30, 60, -17, -37, 75, 11, 2, 8, 64, 1, -30, 57, 10, + 66, -88, 47, -127, 55, 127, -45, -38, 37, 127, 26, 13, 21, -17, -41, -127, + 124, -8, 77, 16, 65, -83, -33, -127, 59, 127, 35, 17, 25, -125, 57, 50, + -27, -4, 61, -18, -20, 121, -69, 112, -94, 77, 54, -3, 72, -28, 57, 17, + 33, 85, -21, 10, 32, 104, 14, -127, -73, 75, 127, -33, -11, 127, -4, 72, + 55, 37, -43, 33, -20, -11, -33, -29, 37, 69, 30, -33, -127, 26, 23, -35, + 3, -84, 126, -68, 127, -24, 32, 18, -29, -42, -127, -63, -35, 15, -2, 119, + -50, -26, -24, -61, 61, 76, 52, -63, 88, 34, -75, 53, -20, -13, 35, 42, + -48, -10, 41, -11, 7, 115, 11, -124, 14, -66, -123, -74, -67, 87, 33, -127, + 16, -72, -57, 59, -2, -2, -21, -78, -59, -67, -18, -21, 113, -14, -64, -64, + -8, 124, -88, -68, -70, 42, 127, -36, 90, 27, -17, -127, 96, -82, 104, 77, + 21, 18, -101, 22, 31, -48, 60, 74, -104, -53, -69, -84, -61, 0, 116, -127, + 127, -127, 116, -39, -41, -127, 2, -2, 80, 59, 42, -21, -22, 103, -30, -70, + 67, 46, -119, -38, 99, 42, -14, -52, 127, 15, -127, 52, -48, -90, -38, 77, + 65, 45, -127, 13, -40, -34, 11, 14, -127, -9, -82, -108, 2, -113, -32, -100, + 125, -127, 28, -127, -9, -43, 127, 16, 38, -31, -68, -91, -56, -8, -11, 17, + -20, 0, 127, -127, -69, 115, -84, -83, -127, 61, 9, -127, 92, -99, -71, 25 +}; + +const int32_t Dw0Bias[64] = +{ + -1050, -82, 410, -96, -431, 190, 179, -245, + 326, -30, 236, 28, -240, 120, 1759, 545, + -43, -681, -52, 100, -70, -655, -48, 102, + -60, 0, 1076, 386, -18, -278, -925, -7, + 530, 253, 834, 268, 6, -393, -38, 868, + 69, -164, 287, 677, -83, 393, -548, 1163, + 99, 518, -449, 255, 261, -389, -182, 1212, + 285, -275, -23, 1270, -156, 13, -82, 303 +}; + +const int32_t Dw0Multipliers[64] = +{ + 1340986606, 1711380266, 2045454035, 1416984139, 1216285340, 2042080852, 1290115324, 2095211850, + 1411601029, 1537762406, 1574602099, 1957832355, 1400017111, 1731302315, 1207505951, 1715366379, + 1401975631, 1777968665, 2106415282, 1776927782, 1234828379, 1273180013, 1465064727, 1545243138, + 1186940854, 1408912721, 2141169485, 1517445609, 1151327657, 1466017805, 1757128979, 1967351855, + 1364356127, 1147604213, 1649583653, 1502233501, 1817470911, 1911734020, 1509036489, 1973447512, + 1117202773, 1308982548, 1972313184, 1755108411, 1775992052, 1511025874, 1910041574, 1821428394, + 1234109127, 1549994800, 1703787676, 1181112762, 2017124570, 1395101122, 1866950518, 1597557289, + 1441027573, 2129312148, 1807469496, 1208979258, 1801744003, 1833628008, 1168714230, 1227509206 +}; + +const int32_t Dw0Shifts[64] = +{ + -7, -6, -6, -6, -6, -6, -5, -6, + -6, -6, -5, -6, -6, -5, -7, -6, + -7, -7, -7, -6, -6, -6, -6, -6, + -5, -5, -7, -7, -5, -6, -6, -6, + -6, -5, -7, -6, -7, -6, -6, -7, + -5, -7, -6, -7, -6, -6, -7, -7, + -5, -7, -6, -5, -6, -6, -7, -7, + -5, -6, -7, -6, -6, -6, -5, -6 +}; + +const int8_t Dw1Weights[576] = +{ + 127, 50, -3, -54, 127, -87, -24, 2, -57, 114, -98, 19, -14, -65, -7, -92, + -109, 70, 65, -63, 3, 5, 74, 127, -81, 15, 76, 10, 127, 17, 127, 44, + -97, -86, 54, 72, -65, -127, 26, 86, 26, -86, 36, 127, 29, 102, -95, -127, + 127, -36, -76, -64, 73, 110, 64, 59, 41, 83, 127, 23, 48, 127, 71, -20, + -26, 46, -41, -7, 0, -28, -28, -20, 24, -45, -90, 83, 73, 2, -72, 82, + 45, -57, -80, 127, -127, 127, -52, -24, -91, -14, -47, 5, 43, -11, 18, 114, + -3, 55, 61, 127, -84, -20, 71, -118, -74, 37, 9, 83, 103, 35, -37, -36, + -14, 67, -1, 30, -32, 65, 43, 122, 82, -75, 27, -111, 42, 7, -63, 28, + 112, 86, 46, -14, 46, 17, -68, 124, -4, 61, -12, -54, -46, 127, -16, -50, + 84, 63, 58, -95, -22, -22, 53, -68, 48, -9, -62, -127, -53, 50, 93, -127, + 36, 16, -39, 74, 127, 97, 3, -61, -9, -72, 102, -4, -17, -85, -127, 57, + 127, 94, -82, -62, -25, -127, 88, 48, -7, 13, 5, 1, -114, 57, 49, 63, + 9, -118, -53, -60, 8, 7, 9, 13, -71, 69, -69, -3, 9, 32, -127, 45, + -127, 78, -127, -41, -94, -82, -2, -56, -17, 11, -18, -55, 54, -22, -82, -67, + -17, 70, -68, 62, -92, -38, 32, 15, -127, 22, 8, 62, 52, 15, 3, 3, + 55, 37, -75, -58, 97, 28, 127, 54, 55, -71, -14, -33, -25, 32, 77, -33, + 28, -127, -34, 8, 46, -54, -42, -12, 127, -48, -78, -127, 6, 71, 47, 39, + 25, -34, -12, -64, -31, 0, -127, 97, -2, -9, -35, 54, 43, -30, -67, -35, + -23, -45, 22, 4, -51, 54, 38, -30, -79, -63, -65, 27, 39, 56, -11, -23, + 3, -57, -6, -42, -100, 23, -94, 24, 48, 41, 83, -90, -36, 40, -92, -27, + 8, 43, 127, -63, 48, -71, -41, 121, 46, 35, 60, -95, 7, 44, 61, 12, + 56, -67, -81, -4, -36, -79, 96, -36, 127, 36, -127, 29, -42, 127, 44, -12, + 127, 50, -127, -43, -10, 91, -94, -58, 26, -39, 96, -9, 60, 127, -12, 53, + 111, 127, -127, 30, 33, -74, -122, -3, 45, -66, 36, -127, -67, -4, 40, -61, + -74, -46, -67, -127, 52, -127, -83, -127, 15, 127, 127, -74, 127, 88, 7, 48, + -86, -35, 36, -108, -96, 10, -28, -42, -77, 19, 32, -25, 26, 30, -14, -103, + -34, 39, -121, 76, -3, 39, -3, 21, -50, 72, 61, 82, -127, 94, -14, 44, + 8, -49, -24, -127, 78, 51, -56, 127, -17, -127, 17, 51, -127, 65, -16, -59, + 9, 50, 67, -112, 3, -81, -127, -112, 84, -20, -55, 49, -33, 34, -33, 95, + 22, 103, 86, 113, -83, -43, 26, -106, 20, 15, -51, -16, -50, 7, 111, -30, + -61, -87, -88, 15, 8, 66, -88, -8, 66, -47, -127, 38, 9, -109, -10, -95, + 95, -70, -8, 46, -127, 7, -97, 75, 31, 40, 59, 86, -18, -86, -75, -107, + -48, -98, -14, -69, 116, -65, 61, 111, -22, 110, 49, 113, 29, -12, 40, -127, + -108, 127, -43, -105, 95, 14, 62, 71, 99, 127, -60, 42, -20, 39, 14, -127, + 28, 127, 1, -94, -83, -10, -127, -127, 51, 127, 12, 99, -32, 117, -30, 12, + -40, -67, -64, 55, 83, -37, 47, 121, 127, -1, 64, -34, 18, -33, -127, -127 +}; + +const int32_t Dw1Bias[64] = +{ + -536, 429, -135, 1867, -972, 1704, 1139, -235, + -672, -954, 257, 662, -385, -1210, 793, -641, + 1660, -614, 167, 567, 1949, 114, -343, 10, + 142, -364, 634, 89, -445, -329, -1228, 1107, + 244, -249, 606, -1174, 1202, -935, 3, 793, + 389, 111, -591, -2413, -452, -1464, 686, 823, + -2042, 100, 1655, 696, -518, -153, -81, -1272, + -1475, 613, -1044, 825, 1264, -744, 353, 1548 +}; + +const int32_t Dw1Multipliers[64] = +{ + 1186680738, 1338923133, 1730243392, 1454873767, 2066410704, 2073393160, 1103103505, 2100107774, + 1321511162, 1964590519, 1906210217, 1825885397, 1434461107, 1321334867, 1671309779, 1153704289, + 1581876455, 1807127102, 1667553665, 1393036787, 1202132453, 1231110809, 1986796000, 1381147426, + 1884391118, 1959401390, 1803436419, 1822467825, 2047898817, 2018135422, 1095284501, 1759718109, + 1219579860, 1899936359, 1125642086, 1245884680, 1893778428, 1885157806, 1476155122, 2113776160, + 1485377654, 1180434850, 1584564926, 1721544304, 1657262351, 1809690280, 1187514755, 1484686014, + 1500150891, 2102306465, 2068558772, 1093502691, 1507541117, 1941340176, 1652774606, 1157114900, + 1519666762, 1225989641, 1646042481, 1781232963, 1671875366, 2041061017, 1920060214, 2084595311 +}; + +const int32_t Dw1Shifts[64] = +{ + -5, -5, -5, -6, -6, -6, -5, -6, + -5, -6, -6, -6, -5, -6, -6, -6, + -7, -5, -5, -6, -6, -5, -6, -5, + -6, -5, -6, -5, -6, -5, -5, -6, + -5, -6, -5, -6, -6, -6, -6, -7, + -5, -5, -6, -7, -6, -6, -4, -6, + -6, -6, -6, -5, -6, -6, -5, -5, + -6, -5, -6, -6, -6, -6, -6, -6 +}; + +const int8_t Dw2Weights[576] = +{ + 114, -127, 57, 53, 87, -53, 127, 97, 58, 39, 58, 59, 53, -81, -127, -127, + 72, 80, -78, -25, -28, -41, -105, 85, -37, 127, -71, 59, 127, 127, -67, -91, + 127, 68, 96, 35, -116, -127, -110, 85, 104, -127, 109, 3, 127, 7, 58, 55, + 127, 25, 85, 54, -15, 127, 89, -100, 75, 127, 9, 127, 45, 84, 65, 51, + 127, -22, 32, -127, -89, 3, 66, 111, 28, 11, -91, -14, 53, 0, -45, -42, + -2, 95, 5, -127, 88, -50, -127, -31, -47, 92, 35, -127, 39, 68, -15, 69, + 13, -1, 32, 43, 40, -47, -127, -8, 26, 78, 14, -127, 30, 30, 58, 127, + 67, 12, 127, 54, 22, -81, 24, 16, -22, 82, -50, 107, -85, -35, -59, -90, + 125, -42, -68, 79, -8, 49, 17, 127, 87, -80, 56, -24, 91, -80, -55, -41, + 97, 75, 10, 14, -127, 19, -17, 36, -59, 40, -94, -3, 2, 78, 3, -118, + 4, 22, 19, -81, -18, 88, -15, 110, -14, 87, -76, -81, 40, 41, -37, 68, + 50, 48, 72, 36, -47, 16, 127, -60, -53, 83, -127, 38, -127, -33, 60, -17, + 44, -61, 71, 26, -14, 16, 12, 47, 71, 36, 58, 32, 45, -127, -42, -76, + -79, -2, -70, 28, 42, -108, -13, 13, -21, 38, -13, -52, 86, 36, -17, -127, + 36, -71, 34, 17, -103, -53, -104, -63, 127, 73, 127, 15, 74, -111, -5, 57, + 59, 24, 98, 55, 22, 88, 44, -104, 0, 47, -46, 21, 14, 6, -84, -86, + -61, -6, 127, -21, -127, 54, -4, 45, 52, -13, -127, -69, -44, 21, -28, 14, + -86, -24, -107, -103, -5, -60, 18, 12, -52, 50, 43, 30, 51, 31, -29, 43, + 62, -79, 127, 26, 81, -126, -50, -86, 57, 73, -9, -39, -14, -107, 21, 21, + 84, 21, 63, 44, 4, -28, 19, -49, -38, -31, -49, -23, -86, -95, -15, -27, + 83, -16, 27, 73, 61, 58, 71, 61, 40, -127, 52, -127, -7, -63, -59, -28, + -4, 15, 55, -6, -77, 20, 76, 38, -80, -1, -7, -97, 124, 68, 33, 36, + 54, -9, 35, -13, -56, 5, 72, -32, -18, 8, -126, -64, -23, -50, -44, 102, + 16, 37, 73, 103, 60, 8, 59, -91, -127, 29, -82, 45, -118, -14, 13, -18, + 28, -61, 112, 37, 0, 99, 102, 38, 35, -9, 22, 13, 47, -32, -5, 48, + -127, 127, -60, 49, 63, -95, -82, 12, -7, 21, -96, -42, 3, 55, -11, -42, + 52, -127, 39, 20, -63, -26, 42, -127, 112, 59, 92, -9, 117, -103, -127, 48, + 109, 64, 95, 71, 127, 76, 57, -109, 10, 55, -46, 98, 85, 62, -89, -91, + 36, -52, 75, -87, -57, 127, 71, 51, 44, -2, -81, -50, 127, -5, -31, -22, + 11, 68, -127, -57, -58, -127, 7, 127, -104, 0, -63, 48, 55, 108, -127, 127, + 116, -49, 96, -127, 127, -66, 0, -118, 56, 21, 54, -71, 71, -127, 15, -43, + 56, 20, 127, 127, 114, 67, 38, -127, -37, 32, -47, 106, -51, -63, -26, -106, + 117, -82, 77, -19, 90, 33, 83, -19, 127, -94, 52, -44, 111, -58, -68, -91, + 12, -1, -83, 27, -119, 29, 23, 69, -127, 41, -127, -54, 59, 120, 86, 32, + 76, 10, 127, -1, -78, -57, 108, 8, 102, -48, 3, -67, 3, -87, -67, 111, + 13, 127, 70, 79, 123, 90, 68, -36, -49, 73, 24, 30, -106, 127, -127, -127 +}; + +const int32_t Dw2Bias[64] = +{ + -3753, 2533, -2123, -507, 433, -2322, -2935, -2604, + -2617, 602, -52, 1422, -2567, 1908, 3165, 2772, + 1168, -1799, 1335, 1375, -151, 2982, 1672, -2161, + 3160, -1812, 1940, 1361, -1741, -2473, 1027, -165, + -3294, 1461, -2159, 192, 504, 2895, 963, 753, + -1783, -1549, -2347, 1877, -1639, 3433, 323, -3276, + -3269, -1973, -4792, -2669, -2507, -1051, -1416, 2065, + 1016, -2957, 1305, -2890, 2660, -176, 1093, 2895 +}; + +const int32_t Dw2Multipliers[64] = +{ + 2002898548, 1208038225, 1385530954, 1457347334, 1226147771, 1595756522, 1450349994, 1639522820, + 1809258698, 1747214946, 1657615383, 2077512807, 1292059254, 1306579207, 1934745061, 1219280287, + 2044332560, 2091552507, 2109099209, 1174743423, 1281356243, 1574599478, 1435743444, 1292372720, + 1523297669, 1544207657, 1206043357, 1920169754, 1854823117, 1541237866, 1835735443, 1238140452, + 1197905989, 1442738700, 1664008863, 1765239736, 1124332023, 1791975233, 2031600875, 1858444033, + 1984938966, 1547534574, 1523607370, 1349877910, 1755842979, 1419693333, 1510093503, 2058119278, + 1172301468, 1847131235, 1112490026, 1303841650, 1327202245, 1091247427, 1211345915, 1716035976, + 1646138201, 1158597903, 1809660043, 1276861101, 1538448639, 1584665464, 1165774527, 1356202657 +}; + +const int32_t Dw2Shifts[64] = +{ + -7, -6, -6, -6, -6, -6, -6, -6, + -6, -6, -6, -7, -6, -6, -7, -6, + -7, -6, -6, -6, -6, -7, -6, -6, + -6, -6, -6, -6, -6, -6, -6, -6, + -6, -6, -6, -6, -6, -6, -7, -7, + -6, -6, -7, -6, -6, -6, -5, -7, + -6, -6, -6, -6, -6, -5, -5, -6, + -6, -6, -5, -6, -7, -6, -5, -6 +}; + +const int8_t Dw3Weights[576] = +{ + 88, 31, 107, -65, -46, 101, -127, 91, 95, 56, 127, -107, -41, 103, 71, 9, + -1, 113, 92, -127, -86, 17, 62, -24, 60, 101, 127, -60, 87, 64, -94, -53, + -46, 116, 99, 92, 14, -95, 127, 43, 117, 111, -105, 123, -114, 2, 108, 45, + -80, 18, 127, 69, -83, 114, 86, 98, -89, 127, 79, 52, -112, -113, 104, 54, + 78, 50, 98, -75, -127, 122, -46, 127, 90, 82, 111, -55, 10, 93, 40, -29, + 9, 110, 95, -90, -20, -127, 89, -28, 45, 57, 89, -93, 110, -10, -14, -96, + 36, 127, 113, 76, 41, -72, 72, 60, 114, 93, -71, 97, -100, -105, 98, -72, + -127, 59, 59, 81, 105, 127, 83, 123, 27, 100, 51, 109, -11, -44, 65, 60, + 127, 127, 102, -73, 3, 118, -100, 88, 53, 85, 94, -127, 53, 116, -35, -127, + -78, 76, 104, -40, -78, 4, 71, -127, 40, 77, 55, -40, 118, 11, -69, -75, + 127, 124, 127, 127, -47, -68, 123, -12, 104, 49, -127, 106, -60, -104, 84, -127, + 27, 112, 90, 112, -127, 117, 99, 127, -73, 100, 87, 127, -121, 35, 119, 87, + 34, 77, 41, -76, -50, 9, -34, 81, 27, -10, 29, -63, -127, 29, 51, 41, + 6, 21, 20, -34, -45, 40, 55, 55, -51, 10, 48, -74, 59, -11, -16, -20, + -83, 64, 94, 40, 5, -9, 25, 127, 40, 53, 51, 34, -116, -43, 38, 33, + -41, 14, -16, 49, -52, 101, 34, 69, -27, -3, 36, 40, 67, -127, 20, 44, + -2, 125, -43, -74, -50, -16, 14, 83, -1, 12, 26, 22, -59, -17, -60, -26, + -101, -20, -16, 2, -105, -60, 70, -12, -23, -29, 4, -104, 42, -46, 27, -15, + 15, -22, 71, 1, 30, 0, 1, 108, 34, 49, 69, 44, -80, -126, 50, -115, + -127, 32, -78, 5, 45, 43, -40, 55, -127, -53, 44, 46, -44, -64, -23, 33, + 59, 91, -4, -97, 19, 13, -13, 80, -20, 14, 29, -64, 15, 4, -55, -126, + -26, -8, 7, -36, 18, -45, 67, -97, -31, -7, 8, -88, 57, 12, -41, -25, + 13, 40, 38, 18, -63, -11, 43, 88, 40, 49, -57, 72, -59, -35, 48, -24, + 5, 74, 10, 78, -69, 85, -2, 67, -6, 21, 42, 43, -127, -23, -14, 80, + 57, 98, 127, -71, -30, 91, -98, 116, 101, 127, 37, -127, -83, 122, 1, 33, + -3, 121, 127, -64, -127, 44, 33, 108, -60, 127, 82, -43, 127, -127, -36, -96, + -16, 93, 124, 54, 40, -99, 69, 110, 114, 105, -122, 127, -110, 2, 90, 13, + -36, 127, 62, 58, -56, 110, 97, 127, -102, 114, 70, 90, -62, -99, 127, 127, + 98, 106, 115, -92, -98, 127, -42, 106, 127, 62, 63, -59, 31, 121, -122, 34, + -127, 127, 116, -83, -71, -4, 94, 47, -127, 73, 72, -111, 125, 38, -31, -127, + 88, 100, 121, 18, 27, -127, 54, 58, 127, 118, -99, 100, -127, -127, 127, -73, + -106, 26, 3, 47, 88, 115, 93, 104, -47, 84, 82, 101, -48, -113, 84, 94, + 113, 104, 96, -127, 15, 83, -106, 93, 96, 76, 41, -56, 5, 127, -127, -81, + 14, 63, 86, -41, -55, -103, 127, -19, -125, 97, 73, -127, 87, 90, -127, -100, + 92, 105, 126, 41, -127, -97, 114, 83, 117, 127, -18, 96, -45, -105, 102, -16, + 22, 119, 85, 127, -60, 121, 127, 89, -8, 104, 127, 43, 62, -3, 106, 66 +}; + +const int32_t Dw3Bias[64] = +{ + -6605, -10153, -4598, 7893, 3091, -5195, 5672, -5569, + -4578, -5070, -3056, 8496, 1190, -6996, 1456, 971, + 1787, -5185, -3529, 3965, 5168, 1175, -7278, -613, + 2584, -4569, -5410, 8071, -5858, -788, 4954, 5033, + -3274, -5374, -5386, -4670, -660, 7344, -6727, -11941, + -4527, -7273, 7939, -4839, 6550, 5463, -5822, 912, + 4199, -7446, -3793, -5085, 721, -6710, -3237, -6000, + 4585, -6500, -4194, -6658, 3641, 5860, -3560, -6452 +}; + +const int32_t Dw3Multipliers[64] = +{ + 1776335214, 1132088019, 1876116268, 1611111811, 1184162688, 1996932430, 1096943076, 1371394448, + 1506820650, 1731728546, 1106214929, 1239016708, 1990525105, 1919794050, 2142694573, 1957124159, + 1855338871, 1483904430, 2133083176, 1527741099, 1533422652, 1953426638, 1124872612, 1179795360, + 1302702435, 1950357155, 1910917571, 1575504336, 1274588009, 1359394295, 1228120160, 1316414711, + 1088914946, 1508004927, 1074869678, 1692389563, 1424279587, 2067557288, 1878788944, 1771571080, + 1668810634, 1407563894, 1422985700, 1848594936, 1698389844, 1928775772, 1138964291, 1377972944, + 1288925184, 2027049589, 1485478961, 1478211274, 1617068685, 1226948987, 2062963370, 1287466405, + 1870546235, 1945623461, 1525298562, 1612228929, 1332574166, 1431874465, 1141159353, 2072159396 +}; + +const int32_t Dw3Shifts[64] = +{ + -8, -8, -7, -8, -7, -8, -7, -7, + -7, -8, -7, -8, -8, -8, -8, -8, + -8, -7, -7, -8, -8, -8, -7, -7, + -7, -8, -8, -8, -7, -6, -7, -7, + -7, -8, -7, -8, -7, -8, -8, -9, + -7, -8, -8, -7, -7, -8, -7, -8, + -8, -9, -7, -7, -7, -7, -7, -7, + -8, -8, -7, -7, -8, -8, -7, -8 +}; + +const int8_t Pw0Weights[4096] = +{ + -9, -36, -96, -15, 26, -18, 78, 81, -80, -49, 66, 83, 42, 56, -41, 62, + -110, -73, -13, 26, 57, -34, 69, -53, -99, 127, -9, 14, 17, -30, -40, 14, + -46, -10, -28, 36, -72, 40, 55, -1, 33, -58, 23, -10, 94, -30, -40, 80, + -123, 60, -86, -91, -62, 91, -63, 6, 57, -50, -42, -30, 39, -37, 81, 39, + -10, -21, 7, -87, -32, 40, 127, -28, -37, -27, -7, -84, 5, 1, 47, 52, + -33, -13, 44, -13, -12, 21, -28, -30, 46, 29, 26, -31, -12, 49, 46, 25, + -5, -36, 2, -33, -13, 27, -35, 60, -76, 36, -58, 39, -70, -30, -18, -56, + 32, 49, 25, -71, -11, -26, -34, -21, 51, -34, 53, 19, -70, -33, -27, 49, + -31, -20, 29, -4, 21, 10, 7, 26, 0, -36, 2, 55, -70, -87, -8, -74, + 6, -87, 24, -66, -46, -77, -10, 54, 40, 36, 66, -41, -28, 18, 66, -45, + -31, 39, -4, -61, 18, -78, 35, -53, 127, 5, 35, 51, 17, -9, 17, -16, + -22, 23, 31, -49, -46, -9, -72, 0, -70, -51, -17, 26, -1, -20, -19, -46, + -73, -1, 54, -43, -71, -31, 127, -97, 6, -20, -40, 26, 76, 85, -105, -46, + -6, -5, -67, 46, -48, -85, 70, 42, -44, -33, -46, -2, 13, 22, 1, 61, + -78, -78, 75, 7, -17, 120, -3, -45, -114, -44, -69, 41, 123, 27, -50, 47, + 12, 46, 10, -1, -57, 20, -14, -55, -39, -18, -124, -24, 42, -101, 98, -87, + -53, 88, -14, -12, 13, 46, -2, -27, -26, -43, 66, -1, 57, -16, -31, 50, + 0, -77, -49, -14, 13, 56, -66, 14, 8, 27, -55, -32, 6, -127, -83, 54, + 44, 24, 45, 47, 43, 1, 19, -125, 47, 1, 35, 21, 11, 4, -94, -54, + -64, -60, 27, -39, 8, 62, -70, 27, 78, 43, -7, -109, 24, 30, 15, -7, + 36, 25, 33, -37, 9, -8, -61, -84, -97, -11, 7, -37, -1, -27, 30, -28, + 60, 17, -98, -43, -73, -81, -27, -81, 17, -127, 53, -23, 5, -24, -118, -56, + -67, -83, 42, -8, 35, -35, -28, 67, 43, -45, 43, -14, 13, 105, 37, -109, + 23, -39, -21, 50, 12, 38, -28, -72, -51, -40, -3, -49, -36, -115, -64, 104, + -66, 61, 56, -23, 41, -29, -13, 27, 13, 18, 37, 61, 22, 76, -1, -89, + -114, 1, -89, -75, -25, -127, -64, 96, 84, 51, -124, 8, 85, -50, -19, -3, + -32, -10, 18, -43, -61, 77, 83, 19, 57, -22, 0, -85, 64, -27, -19, 67, + 85, 19, 6, -43, -87, 9, -107, -60, 29, -122, 100, -93, -59, 3, -73, -45, + -2, -92, -10, 34, -35, 8, -41, -113, 50, -40, -43, -3, -5, -47, -14, -84, + -108, -51, -46, -15, -34, -106, 22, 30, 1, -51, -80, 57, 27, -127, 58, 99, + 58, 2, -59, 49, 78, 19, 78, -49, -79, -24, -101, 60, -72, -17, -87, -81, + -32, -95, -27, 80, -18, 12, 27, 121, -49, 15, -64, 41, -63, 68, 72, -95, + -87, -45, -10, 23, -76, -43, -21, -35, -98, 39, -65, -127, -61, -12, 63, -29, + -42, -112, 33, 37, -58, -74, 62, -43, -26, -81, -22, 53, 45, -115, -111, -65, + 10, -40, -10, -20, -13, -8, 0, -74, -96, 81, 60, 8, -83, -23, 21, -13, + -37, -28, 43, 37, -29, -112, -43, -37, 49, 28, 65, 4, -23, -44, 28, 10, + -54, -32, -45, 14, 18, -15, 41, 15, 2, 16, -10, 7, -19, 12, -71, 62, + 12, -55, -9, 20, -127, -31, -51, -14, 13, -58, 48, 9, 50, -61, -18, 19, + 6, -36, 5, -28, -117, -43, -59, -4, -21, 51, 30, -32, 5, -34, 18, 36, + 39, -41, -45, 78, -49, -12, 26, 12, -59, 6, -12, 43, -4, -19, -2, -20, + -19, -24, 127, 16, -13, -45, -105, -79, 49, -18, 63, 94, -75, 12, 5, -93, + -44, 37, -75, -45, 71, 58, -26, 8, -34, -14, 89, 31, 30, -27, -22, -20, + 12, 18, 28, -32, -7, 15, 28, -9, -21, -27, 39, -33, 10, 7, 1, -63, + -3, 25, -48, 67, -108, 57, -64, -81, -21, 22, 27, 25, -18, 41, -22, -43, + 21, 53, 9, 62, 62, -51, -15, -127, 21, 6, -33, 69, -41, 77, -25, 43, + 2, -3, 30, 4, 37, 6, -2, -75, -36, 68, 56, 102, -36, 14, 15, 74, + -37, 112, 31, 90, 95, -28, 21, -41, 2, -54, -28, 22, 57, 47, -26, -14, + 8, 3, 74, 70, 108, -62, 32, -77, 33, -22, -36, 25, -1, -17, -85, 7, + -43, -32, -18, -43, -43, -12, -26, -86, 27, -36, 44, -17, 5, 57, -29, -4, + -23, 4, 32, 49, 65, -27, -103, -27, -78, 0, 14, 14, 57, -126, -29, -13, + 126, 10, 16, -5, 26, 75, 34, -21, -6, -35, -3, 39, 27, 47, -58, -31, + -51, -21, -60, 30, -30, 67, -73, -15, 28, 23, 52, -46, 24, -127, 74, -22, + 62, 0, 88, 60, -35, 110, -2, 50, 61, 23, 55, 62, 5, -40, -82, -40, + -65, -20, -67, -41, 68, -33, 6, 34, -47, 60, -34, -37, 55, -81, 88, -50, + 77, -70, -91, -33, 66, 20, -36, -13, 59, -108, -6, -47, 47, -19, -35, -42, + 20, -21, -32, -127, 67, 33, 40, 89, -58, 28, 54, 44, 10, -47, -12, -12, + -9, 13, 75, 22, -1, -58, 24, -127, -3, -45, 14, 35, 22, 75, -36, 10, + -14, 11, 3, 34, -59, 43, 46, 16, 9, 50, 57, -18, 19, -32, 34, 77, + 7, -15, -43, 39, 59, -13, -70, 6, 85, -18, 60, 30, 42, 75, 30, 60, + 50, 36, -75, -75, 25, -67, -23, -17, -26, 88, 33, 18, 21, -25, 31, 7, + -57, 45, 71, 93, -25, 50, 101, 73, -2, -23, 52, -53, 26, -13, -127, -55, + -62, -42, -36, 61, 80, -1, -54, -21, -24, 45, -32, -69, 24, -41, 28, -121, + 64, 56, 65, 25, 4, -6, 14, 72, 15, -56, 14, -121, 1, 19, -5, -90, + 59, 17, 0, 44, 69, -12, 2, 27, -104, 0, -36, 4, -40, -21, -12, 24, + -8, 67, -30, -30, 22, 42, 9, 69, 51, 85, 44, -8, 5, -111, -93, -113, + -56, 20, 42, 27, -14, 33, -5, 92, -7, -46, 99, -62, 6, 72, -111, -68, + 44, 126, -53, -69, 7, 39, 58, -82, 100, -41, 93, 58, -36, 53, -45, -31, + 126, 57, 6, -7, 9, -4, -15, 13, 0, 65, 26, 127, -20, -49, -9, -15, + -39, -16, 43, -8, 81, -51, 55, -92, -53, -44, -16, -4, -21, -25, -16, -7, + 27, 15, -127, 32, -30, -25, -26, 12, 20, -1, 5, -22, -37, 18, -10, -28, + 14, 54, 10, 26, 9, -71, 16, -59, 6, -59, -46, -29, -18, -55, -68, 28, + -32, -46, 13, 2, -33, -3, -31, -31, 75, 1, 17, -27, -95, 22, -110, -28, + -90, -28, 16, 8, -60, -10, 23, -4, 27, 52, -82, -3, -69, -115, 76, -29, + -48, -76, 8, -39, 24, 117, -48, -75, -57, 61, 20, -28, 77, -23, -61, 74, + -48, 40, 69, 61, 37, -20, -40, 81, 6, -19, 31, 80, -10, -68, -62, -7, + 12, -127, 98, -31, -19, 107, 86, -37, -12, -11, -64, -26, 24, -22, -19, -40, + -31, -44, 79, -8, -70, -5, -67, 74, 105, 65, 45, 127, 67, 101, -71, 42, + -81, 37, -96, -103, 50, -23, -41, 90, -68, -57, -24, -83, -29, 89, -9, 50, + 73, -38, 60, 52, 13, 57, 70, 90, 36, 67, 27, 24, -6, 49, 16, -81, + 107, -24, 37, -44, 54, -20, -71, -61, 10, -2, 114, -44, -17, 79, -74, 80, + -7, 20, -28, 9, 16, -9, 4, -19, 15, -41, 14, -21, 23, -3, -33, 22, + -16, -32, 23, -20, -8, 37, -18, 25, -10, -75, -10, 31, 3, -13, 20, 3, + -30, -70, 32, -12, -40, 60, 32, -10, -55, -14, -25, -31, -33, -42, -21, -21, + 7, 35, -38, 127, 34, 40, -5, -25, 41, -73, 35, -14, 7, 33, 1, 18, + 45, 35, 49, -83, -63, -80, 9, 63, 59, -87, 43, -20, -29, 11, -77, 127, + 100, 13, -91, 17, 80, 30, 32, 72, -56, -54, -121, -29, -21, -80, 22, 23, + -86, -41, -2, -68, -52, -34, 71, -62, 8, -79, 34, -8, -6, 83, -80, 80, + -10, 63, 82, 2, 7, -47, 63, 83, 84, -79, -28, 64, 36, -22, -49, -18, + -78, 3, 49, 77, 35, 85, -62, 21, 50, -54, -47, -34, 35, 4, -19, -85, + 57, -59, -40, 34, -18, -72, -99, 23, -62, -24, -71, -24, 48, -20, 96, -50, + -21, 18, -87, 10, -52, 35, 61, 36, -16, 21, 37, -61, 118, -55, 28, -67, + 28, -1, -78, 37, -127, -47, -94, -83, 4, -47, 29, -52, 25, -55, 25, -122, + -58, -100, 63, -48, -87, -44, 26, 51, 20, -54, 119, -20, 38, -46, 7, -99, + 16, -27, -41, -54, 0, 69, 19, 52, -34, 58, 5, 100, -3, -24, -76, 62, + 16, 16, -6, -49, 24, -76, -10, -86, 67, -37, 38, 50, 19, 70, -9, -63, + -16, -77, -84, -109, -48, -29, -120, -36, -127, -9, -30, 59, -33, -24, -49, 11, + -127, -69, -26, -11, 50, -75, -42, 99, -69, -121, 67, 29, 68, 92, 37, 23, + -40, -120, -103, 125, -28, -60, 5, -17, 101, 3, 78, -82, -7, -73, 35, -2, + -36, 28, -11, 58, -17, 6, -8, 73, -40, -16, -1, 123, -1, 18, 43, -109, + 56, -27, 33, 16, 40, -3, -113, 47, -36, 42, 76, 13, -66, 57, 31, 59, + -12, 65, -3, -50, -27, -99, -118, 57, 74, 74, 24, -12, -112, 127, -25, -20, + -88, -59, 47, -33, 27, 66, 2, -71, 66, -18, 58, -57, 72, 116, -2, -20, + -13, -11, 37, -26, -31, 74, -61, -31, -50, -20, 79, -64, 55, -19, 7, 39, + -50, -81, 5, 72, 75, -46, -64, 37, 44, -75, -104, -117, -3, 91, -47, -24, + -29, -67, -56, 14, -28, -42, -16, -36, 7, -61, -63, 77, 60, 15, -25, 6, + -20, 8, -2, -69, 64, -18, -75, -127, -109, 17, -25, -16, 38, 62, -72, 66, + 27, -15, 79, -34, 47, 73, -53, -63, 6, 32, 43, -30, 13, 32, -3, 9, + 37, -21, 8, 1, 3, -8, -42, -72, 73, 74, -11, -18, -17, 37, 1, -44, + -11, -36, -35, 3, -18, -75, -95, 21, -69, 11, -46, 127, 12, -38, 5, 75, + 34, -68, -37, -44, 67, 47, -96, -59, 2, 34, -39, -43, -108, 77, -106, -3, + 9, -80, -67, 19, 78, -26, -83, -22, 83, -85, 50, -98, 69, 16, -92, -7, + 108, -30, 40, 5, -23, 3, -20, 53, -71, -70, -35, 12, -76, -83, -50, 64, + 28, -26, -101, -4, 8, 53, -29, -55, 30, 40, -105, -61, -10, 13, -60, 20, + -14, 27, -127, -64, -70, 78, -23, 2, -17, -118, 44, 64, -16, 112, -85, 55, + 28, 16, 47, 66, -81, 30, 59, 16, -109, -6, -59, -111, 8, 12, -66, 53, + -45, 76, -39, 42, 43, 66, 21, -48, 55, 3, -73, 5, 18, 79, -35, 24, + -77, -25, -2, 60, -72, 89, -55, -86, 46, -72, 8, 102, 27, -61, -32, -56, + -2, -109, 19, 68, -18, 20, 67, 73, -125, -70, 49, -19, 39, -40, -6, 20, + 53, -21, 28, -19, 48, 28, 94, -44, 28, -72, -72, -32, 84, 4, -64, -33, + 14, 31, 86, -1, -57, 16, 32, 125, -7, -23, 127, 9, -75, -4, -103, 21, + 34, -13, 43, -108, 114, -40, 95, 38, -17, -65, -59, 7, 9, 11, -63, -19, + -43, -74, -34, 82, -34, -81, -25, -57, 7, 2, -108, -25, 77, -39, 53, 6, + 10, 33, -13, 104, -103, 73, -61, 25, -100, 0, -5, 11, 35, -10, 104, 29, + -80, -2, -23, 15, -24, -72, -125, -106, -127, 26, 43, -79, 33, 13, -70, -45, + 39, -102, -29, 77, 114, 7, -68, -23, -50, -26, 4, -38, 0, 90, -12, -32, + -19, -54, 46, -54, 63, 72, 71, -90, 101, -34, -30, 127, 34, 20, -1, 32, + -3, -27, 29, 30, 7, 38, 5, 11, 96, -51, -29, -13, 32, 11, -14, -5, + -22, 13, 36, -84, -10, 63, -28, 33, 9, 42, 49, -62, -30, 29, 78, -41, + -75, 7, -15, -77, 11, -6, 74, 52, -29, -45, 19, 54, 45, 11, -68, -1, + 29, -68, 38, 17, 31, -43, -84, -23, 46, -13, -6, 11, -22, -118, -16, 50, + 3, -20, 16, 5, 106, 31, -33, 82, -13, 33, 94, 72, -3, 63, -59, 44, + 34, -66, -4, 23, -56, -52, -42, 22, -10, -21, 7, 56, 50, 26, -127, 74, + -14, 82, -14, 17, -14, 54, -58, 34, -75, -46, -86, 77, -31, -79, 12, 3, + -69, -4, 53, 45, 67, -47, 42, -36, -37, 24, 46, -81, -21, 33, 35, 82, + -39, -24, -26, 14, 80, -49, 20, -19, -127, 49, 75, 26, -18, 20, -78, 32, + 31, 66, -18, 30, -66, 18, 16, -80, 109, 31, 0, -42, 67, 13, 24, 89, + 16, 81, 46, -3, -6, 60, 33, 38, 111, 32, 9, 46, 28, -37, -22, -90, + 21, -96, 19, -1, 25, 10, -19, -32, 38, 4, -23, -38, -80, 14, -32, 43, + 17, 43, -2, 5, -102, -25, 73, 1, -28, -31, -8, -127, 45, 10, -43, -99, + -41, -54, -5, -30, -14, 9, 39, 49, 19, -100, -8, 59, -5, -31, -7, 11, + 22, -26, 75, 68, 33, -6, -29, -38, 1, -20, 7, -9, -47, -16, 13, 79, + -29, -45, 15, -30, 45, -35, -21, -36, 46, -111, 18, 5, -9, 13, -1, 47, + 18, -22, -70, -12, 0, 127, -14, 29, 1, 49, -40, -29, -27, 53, 32, -18, + 53, 23, -32, 23, -19, 7, 66, 18, 47, 11, 0, 11, -16, -6, -61, 20, + 29, 22, -44, -23, 17, -4, -115, -88, 26, -44, -102, 4, -83, 61, 127, 103, + -1, 28, 48, 32, 6, 100, -75, -81, -53, 79, 34, 117, -115, 13, 4, 34, + 20, -27, 23, -9, -25, -66, -25, 29, -47, -81, 75, -31, -94, -4, 54, 36, + 119, -96, 52, 39, 76, 20, -4, -47, -120, 52, -123, -31, -36, -45, -109, -24, + 65, -90, 70, 93, 4, -31, -20, 29, 23, -64, -15, 60, -70, 48, -2, -54, + 25, -38, 0, 36, -12, -16, 39, -26, 34, 16, 42, -41, 0, -63, -17, 21, + 14, 25, 40, -58, 39, 80, -35, -23, -66, 5, 27, -30, 65, -31, -66, 7, + -84, 28, 20, 47, -42, -63, -102, -10, -33, 2, -127, -88, -20, -26, -32, 64, + -53, -66, 59, -10, -59, 127, -88, 80, 2, -19, 46, 88, -18, 31, -8, 2, + 125, 35, -5, 107, 28, 78, -6, 54, -19, -38, 79, -67, 6, 12, -114, 79, + -79, -127, 88, -2, 47, 51, 82, -76, -75, -70, -54, -68, 33, -60, 91, 93, + -83, 3, -35, 12, -26, 57, 64, 16, 22, -53, 54, -6, 25, -83, 18, 112, + -93, 58, 49, 62, 2, -29, -112, 127, 50, 11, 34, -32, -20, 6, 27, 110, + 97, 39, -40, 115, 90, 89, 21, 43, -79, 37, -57, -123, 22, -3, -106, 22, + -23, 11, 20, 39, -79, 53, 26, -37, 97, 39, 16, -91, -19, 45, 10, -72, + 97, 69, -68, -9, -52, 17, -27, 73, 10, 99, 31, -40, -23, 44, -84, 76, + 26, 13, 72, -13, 40, 37, -34, 16, 35, 19, 11, -23, -7, 3, -12, 2, + -7, 61, 15, -25, -23, 21, -59, -45, -9, 3, -127, -7, 42, -12, 33, -16, + -29, 18, -61, 20, 10, -4, 42, 12, -10, -34, 44, 21, 2, 36, -29, -37, + -34, 12, -36, 39, -13, -14, -22, -7, -27, -46, -22, -22, -3, 50, 15, -34, + -3, 32, 14, -78, 50, 41, 31, 53, 88, -65, 11, -51, 39, 15, 17, -14, + 9, 11, -69, 62, -4, 14, -11, -29, -35, -8, -25, -12, 108, -55, 6, 52, + 29, -41, -127, -106, -3, 17, -2, -60, -20, -26, -39, 37, -2, 35, -18, 58, + -42, 15, 20, 22, -109, 36, -105, -26, -25, -43, -25, 87, 19, -70, -23, -60, + -52, -65, 4, -2, -71, -19, -4, -42, 35, -27, -16, 1, 73, 29, 54, 0, + -84, -67, -102, -8, 5, -61, -8, -84, -6, -22, -23, 19, -15, -27, -5, -58, + -35, 28, 43, -84, 68, 79, 12, -51, 45, -17, -11, 42, 11, -13, -14, 41, + 44, -32, -5, 66, 127, -43, -40, 98, 4, 32, 36, -5, -71, 25, 24, 75, + -67, -29, 32, 54, 29, -67, 0, 12, 18, -127, 9, -26, -4, -56, 77, -2, + 42, -5, 18, -23, 35, -10, 12, -60, 38, 78, -65, -78, 6, 74, 47, 47, + -76, 9, -70, -15, -5, -54, 69, -126, 12, -35, 86, -62, -15, -37, 58, 9, + 6, -50, 18, 13, 17, 28, -38, 43, -35, 71, -36, 36, 0, -12, 14, -47, + 20, -23, 36, 29, 62, 43, 73, -22, 71, 63, 112, 88, 59, -2, -15, -24, + -10, -22, -28, 2, -31, 13, 20, 47, 38, -10, 11, -2, -23, 98, -49, 13, + 47, 106, -21, 38, 31, 82, -11, 19, -29, -63, -115, -86, -25, 10, -30, 72, + 14, -85, 42, -5, -80, -101, 59, -59, 21, -74, -65, -127, 20, 27, -30, 15, + 8, 3, 25, -45, -13, 71, -58, -42, 22, -60, -29, -61, 30, 73, 19, -69, + -18, -76, -58, -15, 5, -79, -19, -56, -21, -51, 81, -34, -1, 22, -36, 113, + 11, -44, 60, 39, 20, 25, -33, 59, -64, -66, -70, -6, -63, 60, 38, -80, + -56, 33, 57, -9, 29, -46, -36, -89, -125, 113, -1, 95, 127, 8, 3, -1, + -6, -72, 12, 15, 3, -19, 22, -24, -1, -52, 30, -48, 1, 7, 11, -15, + 53, -45, -79, 56, -92, -52, 32, 67, -16, -42, -56, 72, 39, -81, 47, -19, + -127, -20, 82, -37, 16, -57, 33, 2, -46, 58, -29, -85, -16, -112, -71, -11, + 2, -15, 3, 12, 20, 62, -38, 67, 15, 36, -30, -45, -34, -10, 3, 23, + 12, 19, 65, 14, 29, 58, -30, 49, 4, -7, -39, 19, 31, -54, -57, -14, + -47, -80, -29, -2, 29, 32, -30, -14, 17, 34, -42, -13, 5, -49, 22, -24, + -52, -26, -28, 7, 36, 21, 82, -127, -6, -53, 60, -48, -65, 10, 21, 37, + 14, -7, -11, -18, 12, 46, 10, -52, -10, -62, -6, 56, 30, 27, -20, 47, + 23, -2, 33, -71, -19, 22, 29, -18, 78, 7, 5, 52, -58, -4, -7, 2, + 51, 32, -1, -20, 14, -2, -10, -101, 27, 7, -74, 4, 38, 38, 83, -67, + -3, 63, -61, -44, 52, -21, -29, -31, -29, -73, -127, 63, 7, -14, -106, 25, + 30, -75, -35, -62, 30, -48, -19, -27, 32, 75, 15, -100, -49, 43, -68, -62, + 53, -74, 26, 75, 19, -83, 42, 61, -36, -127, -25, 31, 8, 43, 0, -7, + -23, -17, -40, -39, 40, -6, 61, 52, 55, 39, 92, -49, 17, -75, 88, -37, + 39, 13, -12, 26, 79, 53, -14, -84, -60, -35, 13, 61, 13, -11, 15, -15, + -47, 21, -2, -44, 36, 9, -1, 42, -22, 29, 78, -61, -31, -54, 38, -36, + -127, -43, 65, 19, 68, -101, 68, -44, -115, -57, -55, 30, 74, 69, 51, 36, + -27, -98, -47, 29, -44, -46, -58, 23, 0, 29, -63, -94, -55, -3, -71, 60, + -2, -48, -100, -61, 56, -19, -41, 102, 16, 71, 17, 47, 26, 40, -24, -59, + 13, 19, -31, 59, 6, 17, -91, -46, -69, -20, 18, 40, -82, -27, -21, 46, + -23, 91, 27, -3, -34, 9, 46, -37, -38, 59, 20, 57, 11, 72, -23, -21, + -54, 59, 56, 127, 33, 0, 4, 98, 38, -75, 23, -52, 66, 15, 12, -68, + -42, 60, -38, -9, 2, 25, -97, 40, 35, 23, 61, 83, -13, 8, -36, -21, + -112, -9, -66, -58, -15, 8, -61, 55, -40, 81, -59, -27, -6, 96, -121, -54, + -27, 13, 8, 60, -76, 46, 24, 1, -63, -36, -3, -54, -92, -30, -45, -33, + -19, -71, -9, 33, 36, -18, -16, -4, -33, 58, 54, -127, -29, -20, -62, -1, + -60, 69, -45, 105, -90, -31, 23, 21, -17, 14, 31, -16, 68, 34, -31, -39, + -40, -17, 19, 58, -7, 39, 27, 0, -14, 2, 66, -8, -53, -83, -23, 22, + -14, 40, -35, 7, -18, -76, 16, 9, -8, -50, 39, 107, 41, -60, 52, -77, + -47, 18, -75, -24, 35, -3, 23, -55, -54, 34, -41, 69, 58, 2, -21, -22, + -46, -59, 113, 14, 23, -22, -5, 44, 37, -62, 43, -3, 11, -9, -20, 123, + -12, -9, 59, 40, -66, 13, 4, 46, 8, 47, -9, 15, -127, 3, 35, -3, + -127, -80, -65, 65, 65, -4, -7, 88, 46, 53, 1, 111, 32, -47, 17, 50, + 28, -110, -58, 81, -82, -8, -69, -79, 15, -110, 82, 83, -107, 83, 3, 3, + -35, -83, 58, 63, -44, 8, 25, -16, 80, -7, -68, 86, 12, -38, -124, -31, + 25, -10, -12, -40, -96, -69, 24, 52, -89, 103, -16, 16, -3, 6, -112, 46, + -96, -29, 4, 74, 62, 82, 0, 18, -50, -58, -76, 24, 20, -4, 3, -9, + 25, 0, -67, 0, -100, -26, 28, 49, 24, 75, 46, 16, -37, -78, -6, -84, + 8, -39, -48, -127, -64, -49, -102, -44, -15, -16, 75, 26, 54, -68, -121, -4, + -9, 8, -85, 33, -14, -17, -2, 50, 64, -29, 21, 57, 26, -8, 13, 11, + 24, -16, 23, -54, -59, 23, -52, -58, 20, 33, 75, 88, -56, 1, 0, -50, + -22, -56, -38, -20, 18, 53, 10, 22, 24, -8, 81, -37, 127, 50, -34, 66, + 60, 59, -59, 35, -8, -57, -15, 38, -29, -62, 12, -38, 18, -43, 41, 83, + -17, -24, 12, -62, 6, 76, -18, 29, 76, 42, -9, 48, 65, 45, -35, -41, + -61, -7, 124, 42, 26, -37, -71, -25, -51, -97, 24, 15, 30, 45, -26, -49, + -43, -14, -45, 48, 68, -52, 34, -49, -18, -48, 107, 2, 15, 48, 103, -48, + -103, -127, -10, -77, 50, 51, -33, -44, -23, 19, 76, -36, 0, -5, -19, 52, + -77, 46, 26, -39, -29, 33, -122, 30, 34, 19, 20, 1, -22, -47, 13, -12, + 43, 33, -38, 33, 36, -26, 59, 26, 33, 6, -54, -48, 27, -36, -65, 34, + 36, -12, 34, 50, -14, -22, 41, -6, -3, -24, -50, -8, -13, -3, 72, 49, + 59, -3, -52, 57, -18, -127, 1, 10, -56, -17, -38, 35, 57, -61, 14, 24, + -27, -74, -14, 65, 25, 95, 67, -19, -8, -34, -29, 116, 30, -24, 42, -28, + -36, 59, 16, 6, -32, 52, 94, -2, -74, 17, -45, -17, -5, 127, 3, 59, + 24, -73, -61, 83, -43, -52, -6, 31, 40, 10, -64, -56, 41, -29, -54, -77, + 62, 16, -2, -30, -33, 0, -31, 53, 34, 18, 16, -87, 91, 53, -32, 121, + -34, -12, 79, 31, 43, 96, -32, 39, -11, 33, 35, 1, 30, 33, 2, 42, + 22, 14, 127, -44, 53, -10, 56, -10, 46, -4, 23, 25, -37, 40, -9, -9, + 20, 30, 24, -39, 49, -7, -1, 28, -53, 6, 12, -33, -27, 50, 45, 36, + 99, -43, -20, -29, 35, -18, -23, -46, 79, -35, 35, 1, -16, -28, -55, -7, + -19, 4, 20, 24, 84, -6, 2, 9, 65, -60, -17, -43, 35, -5, -60, -6, + -11, -70, 31, -127, -96, -9, 20, 35, 63, 64, 43, 68, 40, 42, 22, -42, + -61, -79, 56, 1, -64, -17, 37, -3, -106, -60, 56, 45, 30, 14, -24, 42, + 14, -40, -7, 0, 33, -36, -65, 19, -5, -54, 12, -22, -12, 56, -93, 83, + 70, -81, 62, 80, 27, -65, -39, -23, -27, 40, 31, 1, -47, -80, 1, 3, + -67, -7, 55, -89, -39, -99, -20, -87, -94, 18, 22, 24, -43, -2, 27, -15, + -32, -78, -41, 29, 20, 12, -46, 47, 50, 127, -24, 38, 54, 14, 64, -24, + -4, 18, 75, 4, -5, -56, 89, 59, 105, -18, -51, 45, 97, 46, -61, 29, + 35, -14, 39, -17, -56, -95, -30, -77, 25, 66, -55, -35, 23, 17, -44, -33, + -39, 102, 13, -77, 12, -101, -13, -105, -57, -24, 18, -51, -117, 27, 48, -5, + -76, 69, -3, -27, -22, 56, -24, -35, 68, 34, -5, -58, 57, 34, -80, 11, + -3, 47, -68, -63, -80, -105, -10, 19, 83, -5, -9, 16, 36, -26, 50, -48, + -59, -91, -16, 79, 6, -39, -23, -127, 45, 9, -26, 46, -24, -112, -15, -79 +}; + +const int32_t Pw0Bias[64] = +{ + 1143, 452, 1101, 2233, 214, 3465, 1760, 3019, + 4610, 1860, 111, -2073, 603, -622, -1663, -656, + -1677, 3002, 264, -2663, 618, 320, 3080, 3058, + -636, -285, 1305, 3331, 393, -1291, 3566, -1084, + -1065, -1492, -314, -989, 1222, 1734, -1998, -1669, + -140, 1365, 28, 1192, -1193, 1304, 1842, 359, + 1878, -902, 2904, -1307, 1194, -1266, 352, 1398, + -2176, 345, -1295, -2321, -1495, 373, 190, 3725 +}; + +const int32_t Pw0Multipliers[64] = +{ + 1403908813, 1147044899, 1914447236, 1926772856, 1687803205, 1673841027, 1492452004, 1290407731, + 1298236758, 1880739243, 1723970011, 1242081502, 1079875800, 1959882319, 1399908236, 1336519798, + 1948419577, 1249741087, 1565001614, 1924750296, 1087565155, 1084226677, 1964816282, 1560196803, + 1282563819, 1837982553, 1099698054, 1772763268, 1457264247, 1082381953, 1565779436, 1749273278, + 1696659517, 1207695517, 2025275298, 1665799470, 1599810309, 1123716740, 2032488783, 1531056021, + 2037097292, 1166725690, 1078253567, 1241569483, 1393760423, 1803354715, 1787003449, 1442331413, + 2142442103, 1103496734, 1260059815, 1601519167, 1979987274, 2131947218, 2128923898, 1421265428, + 1214775932, 1400681133, 1979328308, 1956790058, 1272051923, 1117645030, 1645413267, 2024995954 +}; + +const int32_t Pw0Shifts[64] = +{ + -9, -8, -9, -9, -9, -9, -9, -9, + -9, -9, -9, -8, -8, -9, -8, -8, + -9, -9, -9, -9, -7, -8, -9, -9, + -9, -9, -8, -9, -9, -9, -9, -9, + -9, -8, -9, -8, -9, -8, -9, -9, + -9, -8, -8, -8, -8, -9, -9, -8, + -9, -8, -9, -9, -9, -9, -10, -9, + -8, -9, -9, -9, -8, -8, -9, -9 +}; + +const int8_t Pw1Weights[4096] = +{ + 16, 32, 26, -20, -13, -3, 22, 3, -59, -60, -100, -22, 34, -3, 31, -20, + -12, -47, 0, -72, -98, 16, -17, -8, -14, 70, 42, 28, -7, 42, 85, 25, + -28, 34, 62, -32, 28, -75, -47, 57, -59, -23, -71, 23, -59, 8, 127, 54, + 91, 62, 9, 2, -1, 63, -55, -19, -59, -47, -66, 15, 34, -40, 46, 41, + -62, 76, -30, -7, 18, -15, -83, -83, 17, -95, 57, -37, 51, -35, 19, 33, + 8, -16, -91, 9, 50, -12, -54, -30, -43, 24, 127, 17, 8, 70, -63, 43, + -36, 53, 30, -43, 12, 35, 4, 127, -62, -2, -8, 43, 20, 37, -38, -18, + 28, 47, 11, -19, 24, -1, -23, 16, 75, -8, 23, -80, -52, 39, 13, 37, + 60, -53, -91, 27, -127, 2, -64, 84, -6, -32, 40, -14, -1, -44, 33, -37, + 25, 97, -57, -32, -79, 70, 1, 43, -77, -6, -102, -26, -3, 101, 43, -64, + -54, 4, 106, -75, 62, 16, -6, -33, 67, -51, 5, 57, -54, 5, -34, -47, + 11, 77, 24, -40, 96, 50, -45, -71, -14, 28, -90, 38, -42, 52, 99, 90, + -47, -29, 31, 11, -22, 108, -33, 22, 51, 39, -14, 56, 20, 4, 51, -11, + -46, 16, -25, 25, -71, 8, -2, 0, 27, 8, -46, 27, -71, 24, 55, 5, + -49, 22, 1, -30, -59, -57, -62, 86, -24, 51, -28, 27, 8, 51, 21, 60, + -7, -51, -33, -38, 17, 40, 70, -10, -27, -37, 25, -10, -127, -26, 17, -7, + 16, 108, -29, -15, 38, 37, 19, -16, -9, -26, -4, 62, 127, -29, -64, -58, + -28, -97, 71, 47, -36, 25, 64, 7, -22, 68, 63, 67, 70, -56, 61, 12, + -41, 48, 80, 72, -2, -57, 64, 21, 13, -6, -23, 57, -48, -60, -6, -20, + -49, 66, 10, 37, 32, -36, -37, -50, -39, 23, -46, -12, 87, -98, -121, -1, + -19, -22, 27, -51, 49, 84, 16, 32, 0, 5, -24, 8, -42, -22, 32, -21, + 20, 8, -33, -52, -52, 23, -8, 67, -40, 54, -50, -5, 65, -3, 55, -1, + -38, -19, 1, 14, 28, 31, -2, 10, -14, -55, -43, 51, 55, 61, -30, -67, + 78, -34, 35, 43, -64, 72, 17, -62, -11, -68, -24, -12, 127, -58, -91, 6, + -28, -79, -122, -80, 29, -3, -13, -36, -62, -3, -47, 45, 63, 54, 36, 2, + -86, -23, 8, -45, -23, -25, 80, 60, 6, 16, -127, -14, 19, -9, 72, 44, + 107, -38, 14, -42, -68, 28, 14, 1, 93, -84, -106, -112, -35, -67, 11, 18, + -38, 53, -47, 0, 34, 37, 15, 16, -38, 61, -42, 17, -77, -40, 83, -49, + -32, -106, -9, -8, -1, -69, -16, 57, -103, 57, 30, 6, 9, 47, -23, -80, + -103, -59, -52, 55, -107, -4, -51, -93, -77, 80, 81, -49, 34, 72, -78, 41, + 67, 105, -88, -73, -47, -6, 77, 17, -36, -103, -79, 34, -31, 19, 2, 127, + -3, -25, 68, 16, -86, -36, -9, -53, 41, -61, -34, 20, 1, 29, -12, -121, + 17, 20, -92, 73, -5, 29, 41, -11, -4, -70, -44, 25, -31, 33, -108, 2, + -17, -43, 70, 127, -58, 68, -45, 20, -1, 22, -71, -56, -8, 35, 57, 78, + -5, 22, -36, -51, 8, -68, -23, 42, -71, 58, 22, 56, -33, -58, 1, -39, + 57, 20, -18, -40, 50, -28, 11, -86, -4, -127, -19, -63, -98, 54, 115, -86, + -71, -29, 40, 22, 74, -38, -53, -44, 7, 10, -62, 59, -73, 49, 13, -6, + 100, -12, -45, -74, -86, -6, 90, 27, -54, -42, 13, -6, -61, 33, -45, -3, + -40, 72, 3, 35, 93, 28, -42, -22, 3, -54, -11, 34, -14, -8, -63, -38, + 71, 71, 69, -8, 96, 80, 32, 8, 99, 40, -43, 127, -93, 69, 4, -10, + 22, 42, -17, -70, 54, 40, -16, -54, -127, -109, 35, -20, 14, -57, -33, -13, + -66, 11, 96, -107, -29, -21, -57, 84, 27, 83, -49, -8, 23, -98, 17, -90, + 48, 41, 94, 47, -79, 36, -3, 41, 12, 26, 62, 6, -3, 12, 1, -69, + 5, 97, -5, 7, 49, -97, 30, -101, -76, -71, -84, -18, -13, 53, -14, -7, + 38, 24, -25, -38, 12, 49, -8, 54, 20, -29, -49, 70, -69, 93, 6, 49, + -16, -33, -14, 82, 23, -37, 42, 93, 37, 115, -54, 18, -124, 94, 99, 28, + 25, 30, -8, -113, 1, 86, 23, 22, -36, 37, -40, 29, -51, -76, -62, 9, + 96, -84, -50, 11, -21, -13, 5, -76, 37, -127, -100, -54, 26, 72, 105, 17, + 20, -4, -17, 27, 52, 82, -5, 85, -31, -78, 9, -26, 73, 8, -16, 48, + -78, 44, -11, -60, -43, -100, -63, 127, -10, 3, -116, 79, 37, 0, 50, 38, + -36, 94, 33, -2, 23, -28, 19, 122, -78, -70, -59, -26, -68, 48, -13, -87, + -88, 13, 1, 19, 18, -29, -40, -51, 61, -38, -41, -34, 0, 32, -44, 57, + 27, -96, 44, -93, -28, 53, -24, 26, 11, -29, -12, -10, -43, -11, 34, 13, + -127, 13, 40, 35, -92, 68, 68, 39, 18, -14, 0, 14, -72, 36, 11, 39, + 43, -88, -46, -101, 31, -48, -28, 70, 66, 56, -6, 96, 22, 63, 0, 23, + -14, 15, -8, -10, 21, -31, 85, -63, -86, -46, -66, 34, -55, 12, 26, 51, + -39, -46, 67, 52, 50, -1, -65, -35, -2, -17, 45, 9, -19, -64, -31, 70, + -48, -2, -7, -18, -19, 40, 56, -127, 0, 14, -4, -52, 1, -79, 23, -54, + -3, -45, 54, -50, 33, 44, -6, 4, -26, -31, 91, 61, -11, 5, -54, 1, + -50, 12, -59, 37, 17, 26, -64, 109, -59, 5, 36, 17, 33, -40, 4, 35, + 23, -114, 71, 30, -4, -86, -2, 52, 68, -63, 59, -26, -23, -8, -8, 48, + 29, -38, -35, -28, -85, -1, -32, 73, -35, 43, -95, 60, 5, 90, 69, -60, + 5, -48, -27, -58, 50, 127, 55, 40, -67, -57, 15, 34, -72, 55, 22, -7, + 45, -2, -71, -43, 31, -23, -1, -27, -45, -14, 32, 2, -8, -36, -36, 10, + 12, 28, -70, -80, -46, 97, 41, 2, -37, 20, 8, -30, -16, 31, -62, -1, + -62, 105, -35, -54, -96, -61, 69, 37, -4, -2, 34, 63, 1, 127, 106, 29, + -36, -71, 25, -97, 52, -24, -26, 86, 9, -21, -123, 91, -1, -27, 45, 98, + 45, 3, -16, 41, 55, 29, 8, 66, 7, 38, -45, 0, 44, -59, 81, 110, + -78, 17, -76, 8, -36, -18, -79, 10, -32, -98, 107, 71, 31, -23, -53, 58, + -77, 78, 107, 85, -127, -113, 64, -74, 64, 25, -86, 126, -30, 62, 86, -62, + -6, 44, -75, 32, 22, 8, 48, 93, 86, 93, -2, 19, -24, -31, -44, 64, + 53, -51, -76, -104, -35, -75, -13, -71, -11, 3, -102, 4, 24, 19, -31, -60, + -27, -52, -62, -84, -12, -41, -14, 5, -2, -119, -47, -39, 57, -24, -82, 47, + 23, 40, 70, 35, 40, 56, -2, -41, -3, -74, -32, -19, 10, 27, -58, 125, + 14, 3, -32, 9, 22, -120, -64, -20, 53, 5, 21, 11, 46, 36, 83, 76, + 76, 30, -47, 29, -43, 4, 15, -39, -51, -8, -117, -37, 54, 66, -127, 60, + 77, -34, 99, 47, -21, 35, -31, 84, -36, 6, -32, 47, 23, 41, -90, 16, + -45, -35, -14, -44, 78, 20, 41, 7, 7, -127, 36, 20, -27, 6, 37, -30, + -72, -27, -19, -52, 23, 20, -6, -26, -65, 29, 44, 83, 65, -46, 19, -55, + 112, 11, 5, -6, 23, 125, -49, 62, -5, 27, 4, 13, -92, 69, -51, 62, + -42, 24, -31, -69, -37, 69, -26, -5, -1, -12, -15, 33, -12, 54, -88, -63, + 50, -76, 24, -30, -127, 11, 66, -30, -50, 6, 8, -24, -47, -16, 94, -6, + 22, 109, -3, -75, 21, 64, 84, 94, 77, -23, -11, -22, 22, 107, 57, -17, + 89, 64, 63, 4, -89, 74, 23, -77, -27, 13, -25, 48, -68, -76, -11, -66, + 116, -6, 82, -20, 59, 73, 19, 14, 25, -13, -1, 76, 27, 2, -26, -14, + -17, 21, 25, -69, -46, -45, -58, 6, -103, 14, 24, 5, 81, -52, 52, -8, + 122, -51, -2, 27, 2, -28, -5, 87, 10, -15, 39, 29, -35, 69, 47, 16, + -21, 55, -13, -63, 42, 29, -42, -40, 97, -61, -7, 15, 127, -6, 71, -35, + -10, 61, -127, -103, 100, 19, -8, 100, 78, 31, -3, 113, 90, 68, -29, -23, + 34, -49, -15, -24, 66, 1, -22, -49, 69, -78, -78, 104, -55, -106, -52, 30, + 38, 6, -8, -10, -106, -8, -36, 35, 23, -121, 21, 53, 7, -73, 33, 11, + 103, 43, -39, -17, 33, -34, 95, -98, -50, 25, 19, -47, 17, 23, 81, 5, + -60, 113, -84, -2, 41, -9, -5, -88, -84, -14, 0, -40, 23, -35, -72, 12, + -16, -45, 113, -80, -40, -86, 60, -1, 82, -28, -10, -101, -26, 9, -25, 19, + -71, 3, -74, 47, 57, -36, -106, 18, 65, -28, -3, 28, 14, -14, 33, 78, + 115, 19, -21, 0, 28, -5, 79, 32, 54, -127, -8, -54, -21, 67, 31, -32, + -6, -23, 20, -11, -91, -23, -3, -92, -127, -66, -2, -35, 74, 42, 7, -5, + -32, 73, 9, 28, -5, -27, -70, -50, -5, 24, -35, 12, 37, 18, -10, 8, + -20, 71, -43, 71, -9, -8, 42, 10, -8, -12, -33, 3, -2, 7, -19, 25, + -85, 49, -14, -47, -63, -23, 62, 22, 28, -11, -10, 73, 25, -64, -18, 21, + -33, 86, 0, 79, 75, -80, 80, 90, -119, 39, -20, 109, 48, -2, -9, -80, + -31, 2, -38, -35, -3, -19, 27, -12, -79, 25, 35, -42, 0, 36, -78, -79, + 29, 48, -61, -48, -117, 11, 9, 3, 127, 68, 57, -31, -112, -52, 109, -19, + -12, 21, 113, -64, 22, 24, 45, -36, 51, 108, -7, 27, 5, 52, 75, 14, + 5, 39, 11, -77, -28, 124, -66, 6, -80, 33, 33, 103, 104, -2, 44, 92, + 17, -79, -41, -16, -127, 40, 37, 104, 52, -75, -51, 35, -47, 40, 15, 29, + -93, -19, -39, 30, 109, 76, -36, 62, -30, -81, -72, 40, -28, 24, 4, -39, + -41, -32, 65, -40, -22, -18, -11, -35, -123, 19, 3, 24, 6, -42, -16, 47, + 25, -42, -51, -56, -100, 81, 55, -16, 77, 105, -21, -55, 48, 14, -46, -25, + 71, -22, 3, -34, -36, -46, 69, -1, -28, 73, 97, 12, -6, 38, -3, 96, + 6, 7, 6, -55, -19, 60, -36, 70, -54, 30, 2, 22, 33, 15, -51, 10, + 12, 30, 43, -16, -45, 20, -10, 14, -18, 8, -43, -127, -9, 44, 77, -57, + 10, -5, -35, -11, 26, -13, -83, -35, 17, -52, 56, 36, -39, 33, -33, 26, + -29, -60, 55, -32, 43, 0, 15, 25, 35, 21, -52, -119, -65, 35, -29, 65, + 41, 39, -52, -43, -34, -25, -17, -127, -24, -55, 54, -8, -5, -1, -23, -36, + 59, 41, 23, -14, -39, 15, 22, 20, -61, 6, 28, 31, 7, 33, 14, -46, + 55, 8, -122, 35, 23, -52, -21, 5, -66, -34, -39, -125, 8, -92, 104, -48, + -44, -85, -110, -104, -20, 49, 52, -108, 24, -49, -25, -18, 99, -120, -11, -80, + 4, 106, 52, -55, 8, 16, 55, -12, 88, -13, 50, 127, -37, -79, 25, -55, + -49, 90, 18, -65, -35, -32, -66, -2, -28, 29, 13, 71, -53, 42, 0, 30, + 22, 9, 105, 58, 69, 56, -16, -49, 49, 6, -35, -116, 86, 53, -17, 0, + 31, 10, 69, 100, -24, -32, -8, 24, -25, 6, 17, 29, -21, 11, 7, 25, + 29, 48, 53, -43, -40, 14, 119, 63, 13, -16, 13, 2, -58, 84, -44, -8, + 33, -2, -22, -47, -13, 9, -33, -19, 35, 1, -38, -127, 36, -44, 51, -78, + -101, -23, -55, -69, -52, 37, 38, -75, -30, 60, 63, -60, 9, 29, -67, -39, + -46, 58, -74, -12, -24, -58, -49, -42, 86, -1, 60, 20, -77, 127, 27, -80, + -102, -73, 55, -23, -36, -66, 34, 114, -6, -19, 47, 83, 11, -52, -66, 75, + 6, -40, -100, -41, 62, -25, 106, 70, -74, -15, -32, -87, 87, 31, 21, 33, + 53, -8, -7, 53, 43, 57, -70, 67, 19, -92, -14, -71, 109, -62, 59, 16, + -83, 7, -78, -8, -119, -49, -127, 60, -76, -84, 45, 82, 16, -10, -27, -61, + -45, -86, 76, 63, 111, -16, -25, 68, 9, -103, -50, -2, -127, 53, 27, 34, + -45, -58, -38, -55, -30, -65, -9, -29, 65, 38, 59, 76, 28, 62, -28, 126, + -46, -17, 29, -24, -60, 90, 49, -114, -31, 9, -78, 123, -22, 31, -54, 42, + -79, -22, 75, 18, -16, 7, -26, -71, -96, 82, 4, -31, 104, 98, 23, 36, + 114, 127, 63, -88, -70, 38, -39, -10, 26, 57, 78, -22, 35, -81, -15, 6, + 37, 22, -20, -25, -108, -35, -30, -27, 77, 121, -19, -64, 37, -48, 28, -29, + 24, 16, -3, 73, 45, -65, -47, -17, 56, 3, -30, -59, -37, 6, -58, -3, + -127, -97, 25, -13, -67, -42, -22, -37, -49, 13, -1, -99, -2, -67, 67, 104, + -32, -23, -31, 3, -52, -27, -92, -51, -40, 47, 2, 27, 45, -41, -21, 89, + 31, 63, 21, -60, 55, -62, -2, 61, -4, -13, -53, 10, -68, 70, 69, -46, + -88, 22, 38, 15, -34, 68, -47, 61, -50, -43, 20, 5, 50, -53, -40, -16, + -90, -30, -63, 4, -57, -15, 37, -89, 19, -64, 9, 4, -4, -76, 81, -66, + -21, -35, -85, -33, -53, -45, 20, 16, -49, -13, 116, 41, -78, -9, -52, 5, + 104, 127, 39, 55, 73, 6, 7, -81, 45, 15, -60, 91, 104, -33, -7, 30, + 92, -22, -53, -34, 0, -37, 37, 20, 37, 25, -50, 49, 17, -52, 52, 72, + -65, -13, -34, -40, -17, -100, 15, 13, -7, 64, -62, 30, -2, 29, -54, 38, + 13, 12, -12, 21, 66, 127, -52, 34, -123, -81, 12, -36, 69, 14, -22, 20, + 24, 26, -17, -67, 2, 40, 49, 40, -57, 58, -57, 78, -33, -10, -20, 6, + 42, 37, 69, 65, 39, 87, 112, -24, -66, 27, 84, 21, -66, -57, 127, -106, + 84, -95, -60, 33, -12, -86, -75, -104, -12, 29, 6, 4, 69, 40, 19, -5, + 16, -5, -17, 84, -1, -53, -71, 14, -114, -39, 15, -83, 78, 114, -70, -77, + -11, -16, -34, 22, 2, -71, -105, -33, 30, -7, -25, 62, 40, -69, 20, -110, + -20, -93, -69, 38, 42, 68, 12, -107, -8, -61, 20, -58, 94, -43, 45, 46, + -62, 0, 121, 49, 22, 24, -64, 64, -49, -51, -6, -39, 23, 22, -127, 62, + 23, -19, -40, -12, 103, -2, 110, -29, -24, -36, 61, 14, 53, 21, -76, 21, + -52, 8, 84, 17, 79, -16, 41, 28, 58, -61, -52, -80, 43, -29, -30, -87, + 125, 88, 27, 66, 66, 51, -62, -52, -62, 45, 49, 90, 74, 10, -56, -67, + -5, -29, 22, 5, 82, -1, -58, 59, -74, 26, 38, -94, 21, -26, -19, -88, + -50, 65, 16, 28, -4, -34, 1, -76, 122, 12, -16, 11, -71, 3, -31, -7, + 28, 96, 28, -13, -2, 127, -9, -77, 58, 76, 17, -61, -42, 14, 52, -36, + -62, -56, 52, -66, -101, -22, 4, 12, -20, 11, 22, -26, 30, -27, 11, -32, + 45, 13, -46, -17, 0, -17, -43, 32, -40, -56, -54, -120, 6, 44, 7, 1, + 62, 47, -82, -63, 99, -9, -47, -7, -54, -34, 56, 33, -78, 38, 81, 35, + -7, 64, 19, 41, 37, 69, -127, 21, -3, -27, -2, -38, 38, 26, -64, -2, + -1, -64, -23, -62, -76, -19, 42, 48, -104, 18, 88, -29, -16, -72, -2, 31, + 39, -113, -22, -35, 62, 101, 52, -2, 39, 57, -89, 84, -17, -60, 89, 56, + -64, 33, 3, -17, 64, -115, -71, -8, 82, -42, -71, 36, 39, 10, 32, 39, + 1, 46, 44, -4, 14, 33, -6, -60, -88, 6, -58, -43, -127, -24, 88, 45, + -64, 40, 28, -44, 92, -71, -120, -39, -43, 14, 93, 6, -2, 33, 19, -40, + -74, 57, -2, 29, -111, -46, -6, 15, -20, -8, -69, 127, 70, -10, -36, -101, + -99, 75, 46, 96, 44, 2, -16, 56, -17, -76, -19, 48, 46, -64, 51, -35, + 23, -68, 60, 9, 64, 9, 22, -98, 44, -79, -67, -41, 33, -20, -39, 40, + 96, 15, 16, 15, -61, 5, 30, -71, 44, 45, -24, 113, 32, -58, -45, 55, + -127, -77, 89, 40, 18, -60, -46, 63, 2, 33, -70, -31, -47, 54, 0, 29, + 10, 9, 21, -39, -103, -63, -38, 5, -4, 27, -39, -11, -5, -26, 87, 19, + 30, 2, 113, -44, 1, -13, -5, -62, 77, -55, -35, -87, 62, 10, 37, 112, + -40, 14, 7, -29, -40, -13, 96, -34, 61, 19, -31, -50, -35, 38, 10, 28, + 27, -18, -40, -107, 44, 68, -62, 20, 20, -30, -62, -48, -54, -23, -11, -3, + -17, 23, 90, -11, -11, -21, -26, -69, -35, 30, 65, -11, -103, 81, -32, 9, + -17, -14, 48, 69, -34, 13, -76, -61, 0, 18, 45, -127, -65, 0, -11, 5, + 73, -24, -31, 0, -23, -48, -6, -52, 18, 74, -14, 89, 26, 10, 58, -23, + -37, -11, -76, -37, -81, 127, 32, 78, 50, 61, 17, 22, -88, -73, 40, -41, + -3, -81, 43, 49, 100, 52, -18, 34, -66, -22, 0, -44, -76, -67, -7, -38, + -44, 24, 53, 112, -85, -63, 35, 52, -63, -58, 1, -2, 75, 50, 12, 17, + 23, 35, 5, -60, -3, -41, -3, -77, -23, -61, -28, -74, -81, -53, -79, -42, + -127, -24, 79, 37, 36, -14, 44, 20, 26, -53, 25, -22, -27, 35, -14, -47, + -23, 38, -14, -36, 39, -8, -36, -32, 7, 5, -6, 25, 9, -14, 57, -1, + 87, -16, -47, -63, 27, 16, 38, -46, 65, 9, -42, -73, -70, 6, 38, -37, + -40, 80, 42, -26, -70, 54, -98, 49, -33, -7, -21, 14, -79, -9, -2, 34, + -85, 29, -87, 5, 14, -64, 33, -12, -2, -12, 57, -90, 22, 18, 34, -70, + -16, -105, -49, -60, -19, -66, -58, 51, -3, 19, 71, -26, -2, -127, 43, 87, + 27, 62, 9, -24, 33, 49, -3, -65, -10, -20, -31, 30, -6, -41, 31, 94, + -2, 29, -6, 50, 17, 43, 0, 48, -63, -1, -67, -28, 9, -23, -7, -5, + 19, -127, 28, 55, 4, 61, -47, 47, 43, -30, 52, -65, -25, 28, 7, -75, + 0, -5, 45, 5, -90, 80, -19, -15, 34, 36, 17, 21, -17, 9, 51, 50, + -14, -46, 21, -3, -35, 4, 6, -53, 11, -19, -31, 56, -19, 25, -45, 29, + 38, -41, 8, 11, -30, 61, -77, -32, 9, -12, 42, 32, 26, 18, -1, -15, + 60, 46, -117, -43, -15, 48, -21, -102, -72, 14, 27, -53, -25, 21, -26, -117, + 34, 20, 127, 9, 26, -60, -38, 62, -17, -43, -15, 56, 13, -36, -24, -21, + 28, 50, -9, -116, 31, -16, -43, 47, -47, -58, -17, 61, 53, -52, -58, 45, + -30, -110, -46, -48, -64, -46, -11, -4, 1, -31, 42, 45, 18, 41, -46, 65, + -69, 46, -20, -13, -53, 28, -16, -31, 20, -14, 30, 51, 46, -23, 38, -18, + 78, -36, 54, 50, -43, 9, -30, -38, 1, 69, 0, 40, -34, -17, 76, 127, + -68, 68, -3, -25, 31, -36, 1, -61, -10, 31, -64, 56, 26, -53, 48, -5, + 67, 25, 24, -30, -7, -33, 31, -37, -2, 8, -66, -65, -13, -45, -51, -27, + -11, 8, 84, -19, -61, -4, 70, 73, 44, -39, 78, 101, -12, 14, 26, 3, + -90, -24, 22, 32, -18, -77, 97, 80, 54, -33, -3, -75, -32, 73, -20, 127, + 80, -58, 72, 70, 71, 61, -80, -53, 93, -8, -86, 7, 16, 35, -76, -28, + 4, -12, -44, 46, 45, 1, -26, -24, 59, -46, 6, 34, -18, -58, -16, 110, + -2, 3, 78, 15, 51, -14, 21, -127, -99, -91, 79, 7, -25, -4, 30, 7, + 40, 65, -67, 12, -54, 64, 11, -23, -53, 81, -14, -38, 13, -15, -45, 22, + -33, 46, -76, -100, 49, 56, -23, -39, 37, -7, -12, 25, 33, 61, -5, -60, + -15, 47, 30, 5, 63, -57, -48, -49, 15, -32, 49, 127, -19, -8, 41, 33, + -60, -48, -4, -46, 60, -39, -15, -19, 39, -93, 112, -36, 71, -69, -37, -4, + -62, -13, -9, 53, -55, -12, -1, -14, 76, 36, -113, -62, -120, -100, 96, 16, + 33, -13, 53, -86, -14, 59, 29, -10, 28, -17, -69, 95, 83, 29, -49, -31, + -76, 8, -15, -17, 70, -13, -56, -15, -89, 64, -86, -35, 63, -30, -35, 28, + 16, -74, 50, -35, 25, -6, 72, -20, -127, -85, -78, -33, 24, 9, -107, -79, + 95, 45, 43, 4, 3, -110, 24, -14, 68, 21, 64, 19, -84, 10, -26, -62, + -20, 31, 84, -93, 65, 22, 27, -25, 45, -68, -66, -39, 17, -12, -103, -87, + 33, 25, 25, 28, 28, 48, -74, -31, 25, -107, 36, 37, 53, -8, -35, 27, + -36, -19, 87, 22, 79, -9, 6, -8, -14, -41, -40, 8, 65, -2, -55, -75, + -43, 35, -20, 47, -95, -122, 64, -6, -1, 2, 68, 19, -19, 14, 21, -88, + 52, 39, -8, -127, 33, -75, -59, -58, -16, -81, -59, 34, 23, -55, 47, 4, + -21, -1, -38, 24, -48, 42, 33, 36, -23, -25, 56, 47, -46, -65, -86, 61, + -30, 26, 10, 13, -4, -1, 20, 10, -57, 26, 64, -9, -70, -30, 45, 23, + 5, -19, -19, 0, 52, 29, 25, 77, 4, -27, -16, 24, 33, -10, 27, 16, + 7, 48, -127, -43, 32, 3, -45, -40, 38, 47, -56, 31, -85, 18, -4, 53, + -108, -78, -111, -78, 35, 74, -20, 108, -19, -21, -4, 80, 12, -37, 24, 102, + 85, -18, -127, 11, -8, -84, 14, 123, -3, 36, -8, -24, 13, 38, -57, -56, + -16, 28, -19, -75, 73, 98, -63, 96, -11, 24, -64, 122, -65, 54, 30, -58, + 87, -90, -20, 31, -64, 24, 62, 62, -100, 24, -26, -42, -66, -81, 68, 97, + -48, -20, -2, 33, 17, 38, -50, -117, 10, -89, 8, -38, 29, -89, 7, 36, + 7, 5, -27, -69, -31, -45, -31, 10, 51, -52, 11, -63, 52, -87, 30, 10, + -18, 48, -83, 21, 63, -48, 39, -30, 25, 2, -34, -35, -15, -14, 77, 61, + -32, 3, -35, 1, 38, -127, -45, -35, -12, -23, -53, 49, 8, 29, -23, 39, + 61, 3, -13, -8, -8, 34, -59, 5, -17, -97, -6, 25, 14, -28, 62, 25, + -34, 4, -47, 3, -58, -83, -111, 23, -64, 10, 57, -127, -24, -12, 123, 4, + 20, -47, 56, 28, 11, -40, -21, 33, -10, 82, -74, -3, -70, 61, 26, -89, + -51, 11, 93, 27, 2, -2, -28, 60, -38, 5, -71, -24, -9, 54, 99, 7, + -7, -126, -4, 62, 6, -32, 25, 35, 3, 18, 47, 27, 32, 18, -41, 13, + -74, 20, 40, -45, 27, 11, 127, 11, 88, -52, 25, 68, 59, 31, -4, 60, + -27, 38, -8, -13, 0, 8, 15, 0, 28, 109, 66, -26, -42, -1, -20, 48, + -28, 93, 28, 53, -10, -33, 78, -67, -26, 10, -88, -16, -94, -21, 12, -11, + 58, -30, 23, 54, -116, 55, 12, 30, -13, 32, 1, -26, 88, -14, -81, 101, + -1, 92, 9, 76, 40, 42, 14, -69, -47, -95, -41, -61, -17, 38, 38, -103, + 75, -73, 101, -97, -67, -68, 65, -124, -30, -10, -93, 99, -107, 45, -13, 19, + 14, -62, -2, 41, 127, -6, -96, 44, 30, -49, -43, 31, -12, -52, -10, 72, + -6, -24, -3, 31, -24, 60, -87, 26, 8, -126, 2, -44, -37, -37, -59, 59, + 6, 59, -19, 116, 22, 53, -59, -58, -13, 61, -65, -29, -1, -19, 43, -127, + 2, 53, 92, -64, -43, 32, -44, 86, 26, 19, -83, 11, -61, 25, 15, 78, + 69, -21, 18, 16, -39, 33, -16, -7, -19, -121, -65, 63, -14, -60, 32, 5, + -17, -21, -42, -68, -2, 15, -49, -36, -10, -10, 127, 6, 26, 4, 59, 14, + -26, -40, -65, 32, 80, -63, -93, 40, 76, -30, 31, 123, -58, 33, -110, 31, + 45, 70, -118, -46, -18, 52, 17, 13, -76, 60, 51, -32, 47, -35, -57, 7, + 29, 70, -9, -71, 22, -29, -74, -20, 92, -18, -48, -31, -116, -34, -63, -50 +}; + +const int32_t Pw1Bias[64] = +{ + 186, -670, 650, 701, -1870, -1022, 2606, 4392, + 2405, -990, 3610, -1117, 866, 1025, 1467, 1919, + -2760, 1825, 184, -1481, -232, -3216, -1497, 1519, + 2631, -2139, -846, -1501, 1545, 3471, -1713, 2908, + 1172, -1139, 3504, 2184, -333, 1698, 564, -1691, + 1025, 1462, 2673, -1145, 2543, -1201, 4829, 3078, + -762, 2140, 178, -2541, 671, -655, 4277, 2889, + -109, -937, 3473, 1043, -2180, 1217, 1525, 2996 +}; + +const int32_t Pw1Multipliers[64] = +{ + 1957573144, 1832652321, 1497381859, 1426089422, 1973120055, 2146985354, 1685186185, 1310780464, + 1593957194, 1483319885, 1551620948, 1640579787, 1945994967, 1076837775, 1284499294, 1881185799, + 1764605718, 1363264957, 1974200879, 1470545663, 1493724355, 1624284781, 1635459349, 1798684362, + 1326601403, 1828923266, 1961645678, 1701523853, 1166126824, 1554340226, 1821715249, 1621789563, + 1778165322, 1378304543, 1803784813, 1716762557, 1922656713, 1295261015, 1862453017, 1499930825, + 1737832507, 1922006875, 1489441703, 1600909576, 1626944601, 1506751357, 1871749116, 1938093442, + 1372711801, 1373011694, 1102907316, 1978986069, 1717719931, 1351060708, 1419599099, 1625244338, + 1317407591, 1446546821, 1379275186, 1366591075, 1084938081, 1658028009, 1414865138, 1659057270 +}; + +const int32_t Pw1Shifts[64] = +{ + -9, -9, -9, -8, -9, -9, -9, -9, + -9, -9, -9, -9, -9, -8, -8, -9, + -9, -9, -10, -9, -9, -9, -9, -9, + -8, -9, -9, -9, -8, -9, -9, -9, + -9, -9, -9, -9, -9, -9, -9, -9, + -9, -9, -9, -9, -9, -9, -9, -9, + -8, -8, -8, -9, -9, -9, -9, -9, + -8, -9, -9, -9, -8, -9, -9, -9 +}; + +const int8_t Pw2Weights[4096] = +{ + 18, 29, 15, -16, -23, -47, 48, -32, -52, -31, 100, -49, 26, -64, -21, -27, + 38, 51, -127, 61, 108, -8, -60, 79, 4, -45, -94, -45, 28, 19, -55, 34, + 30, 39, -9, 16, 51, 70, -32, -49, -10, -16, -16, -35, -74, -22, 11, -34, + -24, -15, -39, 10, -60, -10, -58, 69, -15, 29, -18, -36, -33, 28, -17, -43, + -65, -25, 85, 35, -12, -25, 34, -93, 111, -13, 85, -46, -11, -127, 29, -85, + -31, 44, 58, -56, 67, -38, 12, 79, -34, -11, -73, -43, -9, -14, 46, 12, + -18, -33, 4, -29, -15, -17, -50, 19, 17, -24, 42, 54, -41, -3, -48, -65, + -30, -106, -1, -10, 14, -53, -19, -53, 12, -46, -112, -11, 34, 14, 2, -56, + 34, 0, 13, -25, -1, 44, -45, -8, 23, 42, -102, -24, 6, -13, 103, -55, + 3, -33, 91, -52, 23, 65, -118, -43, -1, -17, 37, 41, -78, -57, -18, -43, + -62, 0, -28, 39, -82, -65, -107, 13, 29, 34, 95, 33, -44, 127, -77, 66, + -38, 45, -85, 9, 22, 65, 25, -90, 34, -47, 27, -23, -16, -66, 40, 31, + -48, 31, -6, -39, -13, 28, 54, 9, 127, 30, -13, 50, -11, -1, 24, 55, + 0, 14, -7, -44, 1, -64, 23, 9, -22, -12, -37, 13, -44, -17, 40, 3, + -34, 11, 71, -47, 34, 9, 2, -53, 14, 21, -43, -55, -20, -13, 36, -15, + 82, -64, 27, 27, 18, -80, -49, -24, -88, 42, 62, -8, 66, 2, 3, 87, + 34, 45, -17, -35, 73, -51, 22, 15, -127, -27, 41, 48, 99, 52, -57, 75, + 90, 85, -107, 105, 93, -56, -5, -56, -49, -41, -27, 32, 75, 34, -15, 18, + 32, 31, -49, 101, 55, 30, 32, -6, -19, 20, 43, -79, -23, 54, -15, -111, + -85, -27, 10, 96, -61, -77, 7, -99, 23, 76, 1, 36, 115, -27, 10, 54, + 59, -77, 49, -18, -118, -46, 45, -30, 51, -78, 61, -74, 78, 34, -14, -57, + 71, -50, 63, 2, -3, -43, -86, -13, 49, 14, 24, 2, -54, -66, 21, 8, + 59, 68, 44, -127, 119, 20, 63, -10, -25, -50, 34, 10, -64, -2, 99, 37, + -48, 10, 28, 43, -25, -57, -12, -13, 16, 41, -35, 45, 12, 19, 15, -26, + 85, -46, 30, -116, 22, -13, 93, 82, -37, -9, -30, 11, 92, 22, -32, 1, + -51, -127, -23, 36, -36, -59, -48, 30, 26, 18, 35, -45, -30, 9, -39, 12, + -32, -71, -62, -55, 97, -63, 77, -33, -47, -61, 23, -77, -64, -1, 22, 48, + 101, 42, -2, -83, -45, -21, 73, -54, -18, 67, -46, 40, 53, -43, 45, -6, + 51, -96, 45, 127, -74, -83, -81, -32, 32, 39, 6, 10, -76, 21, 20, -60, + 13, 42, -16, -86, -69, 29, -53, 15, -55, -49, 40, -2, -36, 12, 26, -100, + 23, 50, -35, 21, -32, 49, -40, -56, 27, -1, 23, -83, -70, 30, 38, 2, + 26, 33, -10, 18, 61, -2, -51, -56, 121, -53, -15, 31, -62, 101, -34, 26, + -25, -49, -41, -44, 92, -79, 76, 84, 15, -5, -40, 112, 13, 60, 26, -127, + 48, 19, 45, -122, -86, -14, 82, -81, 19, 103, -44, -36, -93, -41, 90, -38, + -83, -103, -7, -83, -2, -10, -3, 85, -76, 25, -53, -94, -22, 94, 45, 10, + -1, -77, 38, -16, 52, 64, 17, -67, -7, -6, 4, 87, 29, 12, -25, -57, + -61, -36, -14, -22, 51, 48, -6, 9, 55, 81, -88, -6, -37, -27, 51, 16, + -53, -23, 62, -69, -28, -1, -1, -10, 92, 105, 76, 25, -54, -47, 33, 45, + -53, -8, 20, -9, 10, -49, -72, 127, -19, 8, -14, -40, -28, 83, -123, 34, + -54, 42, -20, 19, 93, 115, 60, -75, -12, 48, -29, 42, 1, -26, -4, -26, + 69, -127, -12, -24, 97, 35, -52, -43, 76, -27, 91, -25, 52, -40, 99, -81, + -56, -33, -67, 4, -54, 0, 32, 47, -125, -16, -32, -48, -43, 31, -11, -24, + -27, -12, -48, 59, -63, -11, -14, -79, 19, -58, 51, -80, -80, -21, -13, -68, + 76, -28, -62, -7, 20, 44, 35, 42, 47, -42, -24, -61, -3, 5, -109, -69, + 15, -70, -14, 2, -43, -4, -8, 10, 52, 39, 48, 71, 11, -2, 8, -45, + 42, 29, -57, -89, 5, 2, 32, 10, 8, 5, 4, -61, -56, -18, 57, -2, + -23, -30, -22, -25, 21, 27, -29, 55, -44, 26, -14, 20, 13, -6, 40, 2, + 127, -53, -49, -27, 48, 32, 7, -23, 45, 18, 7, 35, 57, 3, -76, -42, + 36, -93, -19, -14, -20, -10, -32, 13, 75, -14, 102, -48, 66, -77, 76, -95, + 13, 33, -97, -33, -60, -7, 45, -10, -100, -30, -50, -31, -28, 18, 1, -78, + 32, -15, -74, 17, -42, 34, -34, -50, -60, 26, 22, 7, -1, -29, 20, -24, + 56, 24, -24, 21, 110, -12, -106, 46, 121, -72, -14, 7, -38, 127, -74, -23, + -31, -35, 86, -28, -52, -9, 31, -70, 124, 77, -13, 26, -52, 16, 7, 12, + 91, -4, -61, -18, -73, -95, 43, 45, 127, -80, 5, -122, -52, -13, -70, 28, + 27, -85, 39, -95, 48, 93, 77, -67, -76, 35, -22, -67, -71, -94, 115, 106, + 90, -83, 40, 40, -2, -84, 32, -14, 9, -14, 26, 21, 92, -17, -4, -80, + -50, -62, 24, -15, -35, -14, 1, -29, -20, -41, -9, -6, -32, -70, 36, 69, + -55, -10, 50, -55, -62, -25, -32, -19, 27, -12, 58, 12, -41, -17, -30, 20, + -49, -6, 28, -51, -32, 5, 35, -13, 29, -40, 56, -4, -22, 11, -3, 13, + -49, 86, 50, -44, 14, 9, 127, -77, -14, -19, 21, 6, -15, 49, 30, -50, + -5, -67, 9, -61, -82, 49, -16, -45, -50, -17, 23, 27, 1, -44, -58, -41, + 3, -37, 9, -22, 37, -12, 15, 43, 127, 39, -3, -45, -17, -26, 64, 11, + -30, 16, -55, -61, 8, -18, 16, 0, 25, -34, 57, 2, -50, 2, -20, -17, + 27, 33, 6, -92, 24, 44, -20, 12, 11, 29, -30, 102, -10, 34, 7, -36, + -44, 39, 1, 4, 41, 18, 47, -44, 46, 106, 54, 47, -1, 57, -28, -23, + 6, 83, -32, -23, -12, -36, -3, 76, 36, -47, -60, -57, -27, -42, -58, -16, + -2, -14, 43, 1, 50, 127, 48, -64, 62, 17, 9, -34, -23, 5, 6, -4, + -15, -40, 18, -24, 13, -50, -15, 5, 21, 81, -37, -75, 10, -11, 6, -30, + -25, 66, -25, 0, 90, -29, 61, 2, -34, 32, 25, -20, 1, -6, -66, -60, + 32, 16, -31, 32, -9, 8, 42, 3, -50, 22, -70, 5, 16, 52, -29, -30, + -57, -82, -11, 7, -34, 31, -27, -25, -19, 39, 11, -70, -55, 40, -23, -16, + -31, -60, 23, -18, 20, -4, -68, -76, 28, 27, 15, -2, 127, -48, 25, 45, + 73, -47, -106, 110, 0, -127, 26, -10, 40, -44, 7, -31, -20, 29, 68, -16, + -77, 31, -32, -7, 18, 53, 40, 92, -49, -22, 30, -49, 0, 61, -110, -110, + 5, 89, 25, 77, -47, 125, -32, 0, -39, 51, -44, -52, -9, 43, -99, 19, + 73, -32, -63, -46, -7, -45, 10, -10, 96, -10, 64, -3, -49, 39, -4, 60, + 23, -56, 67, 28, 3, 21, -40, -47, 16, 103, -7, -16, -35, 34, 54, 22, + 19, 52, 111, 28, 23, 34, -91, 88, -24, -83, -12, -24, -34, 2, -91, 10, + -35, -55, 57, -4, -57, 43, -80, -10, 69, 16, 69, -52, -28, 42, -41, 68, + -25, 30, -127, 21, -2, 7, 4, 4, 91, -10, 52, -72, -20, 2, -19, 33, + -9, -68, -28, 61, 90, -5, 90, -31, 75, 18, -12, -37, 50, -76, -40, -63, + 14, 97, -27, -27, -26, 21, 48, -18, -69, 19, -72, -39, 20, 56, -95, -47, + -3, -10, -37, 41, -13, 86, -1, 78, -105, 38, -27, -113, -34, -14, -77, -18, + -33, -88, -76, 102, 5, 10, 99, -38, -20, -49, 127, -68, 81, -84, -60, 6, + 46, -5, 37, -64, 40, -42, 32, 32, 102, 55, -103, 44, 111, 69, 91, -72, + 52, -54, -6, -90, -50, 78, -16, -57, -10, 65, -59, -40, -76, 18, 2, -48, + 92, -7, 65, -108, -14, -21, -5, -2, -55, 58, -20, 24, -3, -9, 13, 77, + 42, -127, -9, 30, 72, 40, 59, -84, 93, -84, -10, -9, -19, 81, -48, -20, + -2, 78, -43, -42, 93, -31, 29, 34, 81, 62, 116, -41, 30, -42, -21, 127, + -92, 18, -25, 105, 107, 45, 98, 85, 36, 18, -73, -19, -36, -81, -28, -49, + -90, -1, -53, 51, -9, 42, 19, -13, 100, 22, 13, -33, -49, 60, -6, -108, + 23, -51, 53, -74, 6, -95, 31, -23, -44, 107, -114, -89, 79, 12, 71, -21, + -11, 16, 22, 81, 28, -41, -24, -18, 11, 35, 111, -86, -31, -57, 27, -50, + -6, 127, -33, 2, 110, -16, -40, 48, 38, -99, -38, -10, 69, -8, -44, -45, + 11, 75, -37, 68, -17, 109, -48, 22, 32, -37, 81, -61, -125, 88, -48, 44, + -18, -21, -85, 72, -71, -43, 10, -38, 33, 25, 22, -8, -8, 20, 46, 15, + 47, -14, 101, 26, -21, -24, -91, 22, 28, 45, 34, 32, 45, -22, -9, 16, + 9, 4, 127, 10, -67, -9, -37, -33, -3, -25, 34, 49, -99, 78, 25, -32, + 87, 97, 14, 14, -1, -17, -61, -67, 27, -29, -20, 86, -46, 1, 16, -26, + 8, 100, 14, -9, -25, -25, 26, -30, 29, 46, -1, 39, -95, 51, -30, -19, + 3, -88, 34, 3, 74, -30, 82, 4, -72, -27, -99, 65, -38, 108, -127, -39, + 10, -5, -15, 39, -16, 32, 20, 34, 40, 25, -25, 45, -41, 20, 80, -4, + -29, 9, 3, -19, -19, -21, -31, 33, -63, 77, 18, -17, 15, 84, -12, 44, + 41, -65, -5, 5, 83, 91, 26, -67, 112, -51, 67, 26, -50, -67, 27, -53, + -25, -27, 2, 13, -7, -6, 86, -26, -84, 70, 15, -3, 127, 29, 9, 25, + 70, 22, -12, 44, 44, -73, 7, -2, 9, -45, -77, -96, -31, 72, -43, 40, + 22, 19, -63, -2, 70, 76, 37, -36, -25, -23, 38, -21, -100, -43, 41, 12, + 7, -2, -39, -56, 9, 31, -65, -24, 70, -14, 92, -29, -41, -20, -15, -41, + 17, -43, 63, -38, -1, 65, 9, -20, 6, 0, -89, 127, -16, -31, -8, 76, + -1, -26, 24, 54, -17, -61, 22, 55, 11, 4, 6, 8, 2, -30, 55, 31, + 29, 12, -21, 12, 93, 53, 38, -6, 38, 59, 11, 34, -31, 29, 73, 51, + 62, -51, -79, -23, -89, 5, -34, -61, 12, 79, 27, 5, -14, -17, -14, -12, + -6, -64, 47, -45, 127, 7, 44, 25, 3, 56, 34, -60, 17, -88, 30, -66, + 14, -29, -45, 81, 14, -4, 32, -67, -47, 3, -33, -11, -28, 30, -70, -83, + 53, -60, -57, -77, -28, -22, -59, -39, -89, -36, -41, -66, -84, 50, 20, -64, + 8, -22, -37, 32, -10, -4, 24, -9, -48, -33, -12, -19, 12, 52, -60, -15, + 83, 15, -22, 91, -44, -94, -51, 67, 64, 124, 29, -75, -11, -35, 122, -66, + -2, 114, -89, 58, 12, 48, 109, 24, -61, 15, 54, 30, -8, -3, 27, -66, + -112, -7, 5, 97, -68, -39, -95, -20, -58, 35, -17, 9, -46, 9, -37, 28, + 54, 111, 21, 64, -8, -79, -52, -69, 6, -25, 45, 39, 22, 127, -44, 1, + 3, 18, 33, -83, -16, 34, 14, 7, 69, -47, 12, 66, 102, 69, 14, 64, + -3, 8, -29, -80, -68, -46, 0, 17, 70, -13, 34, 27, 28, -65, 100, -38, + 38, -79, -21, -69, 49, -73, 28, -27, 41, -31, -5, -31, -38, 54, 70, -99, + 83, -28, -94, -2, 51, 9, 29, -127, -25, 4, -88, -40, -34, 37, 57, -50, + -29, 64, -26, -66, -33, 53, -63, 55, 37, 14, -74, 42, -30, 20, -48, 50, + -55, 50, 82, 36, 41, 33, 25, -17, 27, -51, 67, 3, -16, 13, -113, 71, + -53, -9, 45, 52, 78, 48, 24, 37, 88, -11, 4, -127, -63, 66, 12, 32, + -92, 126, 57, 14, -81, -77, 1, -66, -34, 57, 126, 62, -31, 40, -26, 31, + 41, -127, 97, -14, -67, -26, -50, 18, -46, -24, 11, -16, 54, -7, -8, -23, + -4, -1, -30, 77, 1, -1, 2, -76, -6, -23, -35, -52, -35, 80, -3, 46, + 87, -35, -3, -74, 68, 35, -29, 18, -4, -10, -7, 49, -70, -67, 6, 37, + -6, -27, 5, 12, 73, -1, -43, 65, 110, -25, 19, 23, 13, 55, -75, -40, + 14, 37, -83, -19, -19, -62, 99, -6, 10, -25, 38, -28, -36, -16, 18, 2, + -68, 25, -17, 54, 19, -117, 127, 53, 30, 60, -44, -28, 1, 7, -12, -56, + -91, 11, -97, -7, -50, 35, 27, 24, 12, 4, -93, -26, 3, 55, -49, -63, + 73, -26, -22, -19, 1, 84, 51, -20, 28, -17, -62, 78, 36, -66, -40, -3, + -73, -2, 64, 16, 34, 25, 62, 4, 68, 18, 20, -31, -15, -13, 89, -51, + 52, 66, 86, 42, 53, 39, -24, 32, -14, -58, 53, -127, -102, -81, -109, -45, + -51, 74, -6, 3, 58, 72, -17, -41, 59, -18, 77, -25, -46, 115, -95, 18, + 21, -70, -80, 42, 12, 31, 57, -93, 50, -36, 43, -40, -97, -42, 3, 27, + 63, 3, 49, -61, -40, -3, 70, 80, 0, 80, -20, 91, 19, -15, -127, 13, + 76, -40, -12, 47, -120, -22, -13, 14, -15, 43, 51, -35, -110, 45, 18, -14, + 16, -33, -23, -51, 45, -40, 36, 88, -77, 46, 37, -91, -32, -29, 98, 62, + 37, -14, 118, -36, 16, -33, -45, -71, -3, 81, 41, -23, 31, 82, 0, 37, + 19, 22, -84, -26, -13, 30, 127, -24, -82, 52, 25, 66, -19, -16, -63, -100, + 24, 54, 24, 75, -36, -69, 46, 5, -93, 79, -61, -36, 24, -26, 47, -42, + -95, -117, -98, 47, 66, 56, -21, 78, -45, -12, 15, -4, 21, -58, -79, -83, + 71, -28, -26, -18, 11, 34, -26, 19, 18, 65, 11, -28, 48, -81, 0, 2, + 65, 58, -32, -43, -7, 2, 60, 62, -51, 5, -17, -14, -8, 16, -2, 28, + -119, -57, 58, 20, 14, -56, 2, 35, -1, 69, 28, -40, -32, 24, 96, 0, + -42, -55, -54, -25, -27, 36, -41, 12, -11, -2, -3, -39, -26, 22, -34, -52, + 59, 77, -56, -65, -5, -16, 127, -18, -32, 54, -46, 54, -11, 12, 48, -3, + 6, -40, -3, -65, 70, -27, -19, -14, -18, -77, 45, -48, 63, -85, 75, 76, + -80, -41, 43, -16, 69, 9, -47, 40, 24, -45, 24, 19, -3, -48, -31, -32, + 52, 56, -35, -10, 18, -40, 0, 2, 68, -99, 29, -14, -55, 36, -33, -34, + -32, -23, -22, 4, -29, 15, 104, -28, -79, 56, -127, -36, -25, 43, 67, -56, + 53, -5, -7, -42, 44, 2, 23, -59, -33, -74, -86, -13, -10, 9, 26, 72, + 3, -82, 93, 21, 65, -12, 29, 8, 15, 45, 50, 53, 58, -18, 16, -22, + 75, 34, 21, 7, -48, -30, -20, 36, 1, -40, -25, 5, -8, 8, -67, -11, + 30, -17, -59, 6, -5, 127, 91, -41, -75, -30, -13, 54, -8, -16, -19, -15, + -48, -4, -68, -20, -16, -24, -46, 5, -42, 27, 62, -127, -48, 3, -7, 50, + -79, 45, -13, 11, 100, -80, -1, -23, 16, 45, 17, 89, 38, -31, 57, -39, + -12, 44, -14, 107, 7, 27, 51, -26, -7, -12, -9, 4, -53, 115, 66, 8, + -4, -27, 84, -13, 9, 45, -13, -47, 13, 59, -12, -73, -2, 85, -16, -27, + 35, -97, -14, 48, -13, -57, 1, 65, -15, 66, 6, 9, 28, 37, -99, 16, + 50, 56, -95, -54, -73, -5, 8, -7, -34, 5, -34, -40, -66, 68, 4, 31, + 11, -29, -84, 45, -14, 24, 47, 17, 23, 25, 1, -10, -59, 24, 76, 49, + 2, 27, 57, -61, 7, 8, -100, -127, 82, 27, 2, -17, 82, 50, -20, -14, + -100, 51, 68, 43, 41, -13, -55, -76, -34, 63, -2, -11, -29, -75, 59, -14, + 46, 26, 8, 81, 16, 75, -29, 78, 95, -50, -66, -1, -55, 3, -75, 20, + 45, -41, 58, 16, -63, -11, -47, 19, 23, -11, 26, -46, -12, 23, -76, 127, + -22, -10, 29, 63, 69, 2, -22, 34, 50, 24, -25, -38, 1, -31, 7, 2, + -81, 8, -12, 19, 28, -126, 84, -27, -4, -89, 28, 20, -79, -77, -125, 21, + -25, 72, -23, -12, 28, 43, 51, -40, 84, 73, -111, 19, 24, 4, 6, -122, + -75, 127, 6, -27, -36, -71, -37, 38, -11, 96, -82, 81, -72, 41, -16, -10, + 54, -1, -35, -48, 73, 67, -45, 35, 82, -77, -72, 22, -21, -24, -102, 38, + -30, 88, 73, -6, -10, -22, -3, -31, 73, -25, -52, 27, 73, 44, 46, -16, + -98, -67, -85, -78, 15, 53, 3, 39, -42, -52, -55, 27, 116, -42, -15, 83, + 28, 127, 11, -30, 78, -37, -15, -122, 23, -31, 86, 49, -55, -51, 39, -58, + 37, -62, 4, 18, -71, -3, -36, 37, -81, -108, -55, -13, 25, -33, 19, 13, + 19, 19, 59, 31, -42, 9, -29, -31, 32, -24, -50, -55, 8, 10, -3, 52, + 97, -42, 5, 101, 8, -43, -71, -46, 15, -65, 59, 31, -4, 127, -21, 5, + 62, 23, -22, -16, 33, 56, 33, -16, -14, 14, -21, 75, -82, 43, 51, 53, + 108, 9, 92, -64, -39, 36, 15, -28, 61, 67, 101, 19, -46, 6, 52, -11, + -3, -100, -12, 65, -20, -57, -17, 27, 33, 14, 4, 56, -64, 55, -24, 3, + 78, 13, -48, 23, 45, -17, -25, -6, 93, 21, 40, -40, 38, -3, -22, -31, + 45, -1, 15, 11, -61, 0, 52, 70, -101, 72, -76, 77, 36, -5, 45, 32, + 48, -37, 11, 34, -67, 64, 32, 24, 71, -35, 57, 45, -127, 56, -64, -83, + 55, 37, 59, 25, -53, 18, 19, -71, -20, 90, -27, 18, -10, -47, -48, 0, + -8, -53, 35, -7, 11, 45, 4, 40, 72, 10, -35, -76, -16, 72, -34, 66, + -5, 6, -13, -55, -33, 104, -48, -44, 8, -26, -33, -59, -18, -16, 21, 69, + 127, -4, -60, 32, -2, -7, 114, 42, 27, 2, 58, -33, 21, -26, -14, -28, + 32, -41, 96, -16, -72, 75, -19, 29, 43, -9, 0, -47, 51, 48, 50, 19, + 40, -24, -127, -36, 10, -111, 12, 39, 0, -37, 34, -14, -26, 36, -49, -29, + 51, 67, -16, -59, 95, 47, 9, -9, -3, -64, -6, -32, -46, -93, 80, 22, + 65, -48, -83, 22, -16, -68, 33, 7, 83, 123, -46, -15, -57, -1, 15, -75, + -32, -62, 6, 53, -46, 43, -10, 16, -98, -48, -2, 8, 104, -68, -26, 49, + -70, 5, 19, 51, -1, 9, -20, -14, 64, -93, 39, -39, -49, 109, 2, -11, + 78, 1, 69, -69, 35, 73, 73, 13, 31, -100, 9, 55, -88, 2, 15, 54, + -3, 109, -14, -94, -39, 63, 79, -24, 92, 127, -48, 89, -88, 17, 8, -44, + -49, 28, 23, 53, 54, -34, 46, 39, -38, -35, 7, -10, 45, 59, -116, -17, + 14, 93, -82, -23, -39, 15, -106, -56, -14, -4, -43, 1, 43, 82, -34, -6, + 30, 40, 36, 127, -70, 43, -53, 26, -29, 40, 8, -123, -52, 89, 16, 4, + -49, 19, 108, -40, -12, 9, -38, -9, -96, 2, -54, -68, 123, 60, 48, 19, + -49, 16, -22, 59, -41, 6, 42, -27, -36, 109, -30, -44, 54, -31, 32, -73, + -25, -4, -13, 78, 18, 32, 29, -8, -79, -24, -10, -103, -24, 115, -34, 8, + -24, -79, 7, 78, -80, -21, -69, 16, -90, 10, 59, -95, -78, 58, -127, 5, + 11, 1, -32, -5, 55, 18, -11, -56, 113, -114, 71, -46, -11, 6, 10, 20, + 16, -127, -16, 39, 3, 73, -63, 16, -36, 69, 46, 16, -16, -38, 85, -36, + 16, -20, 9, -85, 33, 93, 40, -29, 43, 30, -3, -1, -29, -71, 59, -16, + -37, -40, 29, -6, 0, -28, -13, -21, 64, -10, 19, 59, -42, 41, -36, -16, + -43, 61, 34, -44, 34, 35, 21, 34, 31, 46, -93, 35, 30, 115, 13, -108, + -106, 4, -21, 19, 3, -53, 15, -28, -29, -55, -1, -3, -41, 40, 12, 6, + 18, -13, -37, 100, 24, -5, -40, 38, -25, 46, -18, -26, -41, 127, -27, 43, + 65, -28, 23, -17, -48, 10, 17, 69, -87, 48, 13, 20, -42, -3, 24, 29, + 17, -2, -32, -42, 60, 43, 2, -2, 93, -43, 26, -92, -127, -22, 20, -40, + -121, 45, -38, -28, 33, -104, 67, -29, 76, -122, 55, -66, -64, 4, -29, 92, + -80, 13, 72, -26, 7, -18, -67, -50, 18, 57, 87, -17, -18, -21, -57, 3, + 20, -11, 26, -92, 42, 63, 99, 124, 80, -62, 54, 46, -60, 86, 22, 36, + -3, -49, 46, -56, 28, -23, 111, -81, -60, -2, -111, 27, 98, -8, 127, 12, + -12, -74, -31, -89, 6, 5, 12, 63, -11, -43, 0, -87, 27, 32, 16, -59, + -1, 71, 3, 48, 50, 27, 13, -25, 35, -6, 17, 15, -7, -5, -3, -34, + 3, -3, 23, 26, -42, -25, 15, -10, 3, 12, -16, -6, -8, 8, 3, -10, + 21, -54, 39, 31, -36, -77, -65, 25, -24, -69, -53, 61, 39, 92, -127, -4, + -35, 43, 19, 75, 12, -3, -50, 41, 98, 29, 40, -83, -103, -29, -78, -11, + -29, 50, 78, -17, 49, -3, 35, 6, 54, 7, -78, 98, 57, -81, 49, 24, + 17, 53, -39, 73, 23, 77, 77, -66, 24, 62, 47, -52, -53, 49, -39, 30, + -106, 28, 127, 26, 14, 87, -56, -37, 21, 19, -25, 46, 78, 20, -36, 5, + 39, -75, -24, -21, -102, -39, 7, -24, 20, 37, 42, -7, 23, 51, -32, 60, + 104, -44, -86, -33, 10, -107, -49, -10, 28, 42, -90, -105, -38, 15, 26, 48, + -28, -64, -43, -87, 107, 81, -64, -11, -29, 17, 24, 63, -95, -46, 127, 69, + 77, -22, 7, -64, -72, 19, -39, 24, 22, 46, 74, 52, 32, -60, -32, -49, + -18, -15, 7, -28, 9, -14, -83, 66, -18, -10, 19, -51, 14, -21, 31, 39, + -32, -43, -69, 44, 92, 39, 10, -22, 127, 72, 28, 5, 44, -21, -3, -30, + 23, 78, -46, 46, 77, 0, -13, -1, -59, -29, -16, 41, 26, 6, 49, 25, + 33, 59, 59, 44, 34, 95, -5, 42, 1, 4, -46, 72, 105, 1, -9, -54, + 19, -14, 41, 66, -16, 15, -81, 36, -79, -92, 84, -97, -12, -24, 13, -7, + -45, 110, -53, 17, 2, 21, -78, -70, 9, -36, -30, -39, -79, 58, 100, -30, + 64, 29, -90, 65, -4, -10, -44, 17, -67, 11, -13, 26, -43, 37, -22, -48, + -78, 80, -2, -113, -61, 58, -103, 6, 127, 79, -21, -12, -73, 89, -123, -58, + -83, -43, 32, 15, 38, -47, 55, -50, 22, -64, 103, -63, 36, -60, -5, -78, + 44, 85, 10, 56, 2, 30, -59, 14, 46, 4, 12, -23, 12, -49, -3, -25, + 118, 72, 59, 22, 2, -17, 5, -20, 55, -6, 127, 58, -77, 62, -24, 68, + -117, -85, 61, 1, 21, -77, 55, 59, -67, 2, -106, -63, 83, 7, 61, -68, + 48, -51, -17, -42, -1, -5, -6, 88, 25, 113, -122, 5, 44, -10, -2, 96, + -54, 15, 9, 53, -80, -70, 2, -107, -69, 17, 59, 40, -21, 78, -22, -7, + -58, -37, -41, 36, -16, -40, 30, 41, 45, 46, 15, -51, -67, 31, 33, 45, + -28, 127, 89, 35, 41, -65, 49, -38, -52, 54, 36, -27, 72, 21, 13, 54, + 10, -61, 70, -38, -48, 18, -7, 54, 34, 127, -13, 69, 21, 1, 46, 5, + 45, -26, 61, -19, -50, 14, -16, 34, 30, -48, 42, -36, -122, 70, -27, 79, + 22, 29, 4, -11, 42, -15, -70, -76, 50, -13, 69, -29, -90, -31, 14, 48, + 16, 80, -37, 17, -3, 15, 67, -5, 117, 40, 76, 30, -89, -21, -38, -35, + -21, -35, 90, -83, -30, -16, 33, 15, -10, -46, -105, -8, 60, 81, -98, 86, + 9, -40, 16, -10, -12, -52, -43, -21, 10, -44, -2, -23, -45, 21, -28, 4, + 99, 26, -51, 4, 127, -15, 5, -55, -3, -72, 65, 6, -52, 87, 34, 64, + 5, -35, -87, -22, -56, -2, -10, -125, 2, 51, -77, 22, -60, -40, 81, -93 +}; + +const int32_t Pw2Bias[64] = +{ + 3761, 5207, 1356, -601, -2246, -261, 1593, 3146, + 2184, -880, 7234, -192, 3418, 1687, 1330, 1490, + -37, 1935, -640, -424, 4489, 166, -1576, 321, + -2113, -1546, 1281, -3334, 6576, -1307, 303, -3378, + 1438, 882, -3, -1055, 4150, -543, 2775, -1168, + -1797, 1384, -2660, 2333, 2654, -5403, -1892, -2402, + -144, -1943, 831, 4185, -178, 1293, -1654, 1931, + -4606, 2009, -5889, 4480, -830, -2512, -1319, 3903 +}; + +const int32_t Pw2Multipliers[64] = +{ + 1597508273, 1150297914, 1171513636, 1718373001, 2037991589, 2108126782, 1984092950, 1089894132, + 2080217152, 1932369341, 1579078316, 1497613969, 1374886725, 1152608863, 1861057433, 1351489849, + 1390177574, 1765477068, 2063859047, 1319910309, 1594059478, 1156407940, 2073570199, 1858445671, + 1305993498, 1366359040, 1584436583, 1325961130, 1373804707, 1811761377, 1286575197, 1940096898, + 1386250900, 1225586513, 1971060520, 2065990262, 1081191895, 1143866659, 1510407067, 1264220765, + 2126560979, 1269077126, 1402071607, 1568467000, 1885351961, 2056170279, 1209591097, 1746694709, + 1913874839, 1550900772, 1141495720, 1235645199, 1430607363, 1251607951, 1974841302, 1182084907, + 1938861293, 1433071192, 1079589597, 2016415613, 2078267163, 1096976169, 1958279514, 1157267823 +}; + +const int32_t Pw2Shifts[64] = +{ + -8, -8, -8, -8, -9, -9, -9, -8, + -9, -9, -9, -8, -8, -8, -8, -8, + -8, -8, -9, -8, -9, -8, -9, -9, + -8, -8, -8, -8, -8, -9, -8, -9, + -8, -8, -9, -9, -8, -8, -8, -8, + -9, -8, -8, -9, -9, -9, -8, -9, + -9, -9, -8, -8, -8, -8, -9, -8, + -9, -8, -8, -9, -9, -8, -9, -8 +}; + +const int8_t Pw3Weights[4096] = +{ + 67, 8, -91, 13, 65, 6, 54, 49, -27, -1, 19, -95, -18, 50, -119, -31, + 2, 14, 54, -12, -25, 47, -41, 47, 33, 6, 106, 51, 14, 24, -11, 41, + 90, -23, 57, -55, -15, 28, -51, -95, -15, -11, -70, -93, -18, 43, 48, 27, + 11, -23, -5, 32, 25, 4, -32, -44, -43, 127, -6, 18, 26, 5, 52, 10, + -15, 7, -1, 67, -15, -14, 65, 1, 27, -18, 35, -127, 20, 15, 27, -40, + -18, 72, -12, 5, -6, 5, 18, -33, -21, -28, -48, 47, -7, 8, -10, 47, + 6, 43, 16, 1, 15, 2, 57, 30, -29, -26, -84, -9, 2, -64, -90, 25, + -10, -39, -14, -10, -10, 6, 25, -20, -49, -2, -28, 46, -34, 20, -6, -20, + -79, -5, 95, -1, -99, 94, -99, 47, 20, 109, -62, -15, -64, 14, 98, -50, + 31, 17, -112, -30, 4, -16, -4, 25, 0, 28, -37, 28, -83, -43, -104, -40, + 19, -74, 127, 21, -32, -118, 2, -60, 27, -75, -32, -63, 48, 36, -81, -12, + 58, -38, 21, 16, 47, 1, 61, 6, 7, 60, -85, -96, -16, -3, 62, 33, + -43, 48, -52, 78, 20, -28, 91, 84, 103, -1, 58, 45, 67, 127, 15, -36, + -24, 20, 42, 80, -16, 75, -60, -22, -45, -11, 12, -61, -16, 15, -57, -93, + 11, 25, 10, 7, 13, 37, -6, -69, -108, 85, 27, -59, -22, 22, 4, 40, + 120, 13, -24, 57, 127, -64, 17, -15, 100, 68, -39, -79, 44, -24, -17, -37, + 69, 17, -11, -56, -35, -10, -127, -97, -53, 30, 17, -10, 19, -88, -60, 35, + 6, 31, -9, 58, 25, 42, 13, 81, 36, -39, 46, 72, 98, 46, 34, -19, + -24, -29, 22, 42, -23, -21, -9, -9, 109, -55, 98, 31, 32, -44, -22, 51, + -38, 34, 72, -17, -102, -43, -25, 6, 18, -67, 10, -38, 24, -90, 35, 28, + -9, -7, -31, -48, -42, -72, -13, -52, -9, -20, 121, -40, 47, -14, -26, -38, + 6, -15, -38, 42, -11, 32, 39, 43, -61, -72, -24, 26, 89, 12, -83, 24, + 34, 20, 9, 68, 94, -40, 30, -22, 3, -31, 29, -61, -1, 1, -24, -6, + -80, -8, -88, -35, 1, -127, 73, 28, 26, 12, 38, 24, -42, -60, 55, 11, + 20, -50, -83, 46, -1, 11, -64, 22, 59, 27, -31, -9, 7, 43, -87, -21, + -23, -50, -87, 40, 37, -7, -55, -5, 54, 22, 66, -1, 40, -2, -127, -4, + 31, -30, -41, 22, -24, -63, -25, -63, -9, 39, 38, -68, 7, 49, 90, -20, + -44, -6, -7, -20, 34, 41, -34, -23, 11, 120, -5, 8, 51, -109, 29, -13, + -2, -50, 81, 56, -29, -40, -46, 104, 1, 52, 22, 32, 57, -74, 3, -26, + 13, -44, 15, -1, -37, 19, -4, 51, 82, 4, 0, -27, 54, 45, 79, -30, + 2, -51, 26, 34, 5, -71, 16, -24, 18, -11, 20, 73, 11, -28, 4, -38, + 49, 28, -24, 17, -59, -70, -127, 87, -18, -26, -19, -74, -1, -12, 66, -21, + -58, -11, 15, 5, 35, -59, -43, 22, 85, 29, 12, 21, 82, -10, -1, -39, + 3, -8, -31, -19, -29, -33, 12, -36, -11, 38, -53, -127, 111, 37, 8, 46, + -18, 3, -72, 6, -37, 10, 43, -13, -37, 25, 62, 17, 16, -60, 51, 15, + -69, 8, 57, -16, 15, 22, 24, 110, 23, 5, -90, 8, -18, -12, -30, -18, + -77, 16, 41, -6, 80, 2, -127, 18, 25, -23, -43, 40, -5, -116, 79, 87, + -34, -108, -18, -72, -20, -37, 10, -58, -21, 81, -9, -23, -52, -73, -22, -3, + -48, 15, -25, -39, -9, -67, 5, 53, 1, -79, 26, 46, 90, -45, 43, -23, + -55, 59, -2, -67, 3, 30, 74, 21, -29, -62, -4, 68, 23, -46, -14, -27, + -9, -104, 47, 45, 43, -24, -78, -40, -28, -1, 39, -82, -32, -61, -2, -62, + -32, 9, -11, 16, -31, 24, 41, 3, -39, -67, -62, -96, 90, 77, 53, 58, + 6, 25, -21, 61, -31, 17, 49, -34, -43, -120, 50, 40, 45, -113, -72, -60, + -40, 4, -15, 27, -52, 13, 62, 127, -15, -73, -60, -68, 10, -52, 28, -1, + 24, 23, -62, -39, -17, 27, 5, 69, 92, -35, 38, -123, -38, 115, -72, 66, + -48, -52, 45, -10, 55, 65, -103, -56, -53, 46, 38, 12, 10, -18, -58, 26, + 58, -30, -51, 19, 24, -9, -64, -88, -104, 7, 70, -49, 23, 49, 86, 14, + 39, -10, -127, -54, 30, 49, -5, -37, -56, 90, 3, -3, 18, -40, 4, -36, + -62, 23, -10, 46, -85, -32, 98, 111, 111, 1, 127, -56, 81, 22, -31, -2, + 25, 4, 8, -45, -52, -15, -17, -16, -8, -75, -9, -11, 46, 62, -23, 102, + 28, -3, -24, 20, 38, 47, -12, 5, -6, 10, -9, -32, 9, 14, 3, 10, + -37, 11, -27, 9, -3, -58, -32, 13, 16, 4, -30, 57, -4, 55, -44, -38, + 10, 41, -47, -28, -13, 20, -41, 8, 32, -31, -14, -38, -25, 86, 38, -19, + 29, -36, -43, -27, 34, 11, -6, 11, -17, 1, 16, 30, -38, -49, -43, 1, + 35, -24, 52, -49, 42, 6, 12, 28, 23, 9, 8, -1, -18, 16, -4, -15, + 75, -6, 5, -15, 127, -9, 26, -40, -41, 60, 27, -18, -38, 10, -26, 29, + -88, 28, 4, 49, 4, 59, -80, 22, 7, -70, -25, 68, -20, -13, 111, -26, + -21, -43, -47, -25, 20, -32, -9, -46, 46, -38, -62, 43, -68, -10, -127, -67, + -53, -54, 10, 30, -23, -4, 46, 16, -12, 24, -38, 1, 99, -22, 47, -58, + -4, 20, 36, 17, 62, 87, 117, -17, -9, -49, -28, 71, 20, -5, 20, 32, + 4, 52, -29, 49, -3, 48, -9, -15, 44, -26, 2, -53, 48, -1, -38, 50, + 45, -7, -64, -21, 59, 7, -11, -7, 86, 40, 5, 115, -95, -48, -68, 127, + 5, 17, 10, -37, 73, -48, 32, 7, 50, 38, -7, -39, -31, 83, 86, 28, + 39, 17, -35, -95, -32, 17, -48, -76, -59, 108, 19, 87, 20, 73, -45, 48, + 64, 34, -41, -27, -110, 45, -71, -13, -43, -91, 45, -90, 16, 114, 53, -80, + 84, 14, -35, 48, 2, -81, 103, 97, 27, -127, -18, 73, -97, -41, -126, -48, + -2, 47, 57, -50, 73, 64, 5, 32, 50, -17, -75, -7, 32, 38, -80, 82, + 43, -48, 37, -12, 101, -44, 72, -101, 22, 54, 62, -70, -7, -37, -72, 71, + 46, -1, 36, 25, -127, 11, 9, -20, 53, 10, -59, -49, 3, 30, -60, -40, + 6, 70, -8, 9, -52, 18, -10, -4, -33, -27, -47, -82, 77, 17, 25, 80, + -47, 8, -54, -19, -82, 49, -2, -48, 105, -12, -70, 106, -27, -43, -18, -57, + 28, 20, 64, 4, -17, 18, -42, 55, -22, 4, -2, -15, 42, 19, -89, -13, + 71, 34, -28, 35, 72, -36, -44, -17, 27, -32, 68, -80, -16, -28, 19, 21, + -25, -75, 67, 103, -67, -41, 5, -10, -95, 113, -19, -107, 39, 49, -12, 111, + 55, 44, -51, -84, 31, 65, 71, -59, -78, -63, -12, 78, 47, -74, -28, 24, + -79, -8, -39, -34, -101, -3, 74, 127, -127, -62, 19, 77, 25, 52, 2, -14, + -3, -16, 127, -26, 34, -9, -97, 51, -64, 39, -4, 71, -50, -73, 66, 46, + 68, -32, 97, 106, 17, 9, 22, 24, 34, -11, 22, 45, -15, 2, 3, -118, + 22, 15, 84, 8, 7, -22, -66, -56, -10, -29, -25, 8, 47, 5, -55, 11, + 23, -18, -50, 86, -11, -40, -27, -4, -57, 18, -26, -55, -37, 32, 10, 6, + 30, -15, 38, 3, 46, -125, 20, -2, 12, -44, -1, -73, 37, -13, -19, -13, + -8, 103, 112, 62, 22, 27, 23, 7, -22, 16, 26, -14, 127, 94, -54, -59, + 11, -12, -32, -2, -52, 12, 23, -27, -59, 12, 5, -46, 56, -6, -36, 22, + -80, 42, 10, 82, -55, 4, -10, 9, 57, 0, -35, -47, 29, -7, -22, -62, + -79, -15, 53, 77, -7, 60, -42, 19, 98, 59, -16, -75, 7, 108, -10, 1, + -2, -44, -77, -42, 12, 88, -82, -1, -12, 75, 10, -83, 127, -36, -1, 103, + 78, -76, 4, 68, -34, 52, 98, -91, -33, -40, -28, 50, -1, -71, 67, 67, + 95, 2, 80, 35, 66, 4, -84, 47, -2, -34, -99, -83, -94, -41, -15, 58, + -47, -6, -57, -26, 53, 33, 47, -97, 69, 16, -19, -62, 18, -9, 57, -28, + 41, 127, -30, 36, -1, -30, 32, 53, 21, -69, 8, -36, 8, 2, -63, -67, + -33, -23, 61, -16, -30, 9, -15, -41, 17, 22, 15, -22, 42, -39, -38, 42, + -8, 40, 52, 60, 56, -17, 80, -50, 91, 27, -57, -64, 9, -69, 34, -21, + 2, -20, 83, 38, 29, 26, -83, 4, -54, -57, 36, 3, -8, -92, 28, -84, + -12, 52, 127, 69, -91, -72, 84, 33, -10, -42, -55, -35, 58, 39, 76, -18, + 2, -54, 51, 27, 33, 2, -10, 11, 68, -91, -18, 58, 14, -78, -66, 15, + 9, 32, -15, 26, -24, -100, -35, 10, -79, -42, 13, -60, -65, -18, 28, 31, + -13, -77, 29, 49, -38, 58, -78, 97, -34, 13, 40, 74, 10, 28, 41, -40, + -18, -68, -79, -50, 87, -5, -50, -20, 66, 8, 17, 63, 39, 41, 29, 15, + 13, -60, -34, 20, 47, -42, -33, -33, -16, -23, -43, -59, 99, 15, 23, 34, + 43, 35, 9, 34, -8, 44, -40, 53, -21, -22, -29, 45, -3, -42, 127, 82, + -56, -38, 31, 37, 4, -36, -53, 16, 127, 28, -15, -58, 11, 11, -24, -8, + 45, 50, -24, -16, -31, -17, -24, -27, -2, 49, -16, -55, 10, -13, -4, 28, + 1, 45, -1, -38, -23, -19, -21, -9, -47, 41, 29, 21, 37, -8, -29, -35, + -29, 11, -11, 37, -28, 38, 8, 15, 7, 25, -71, 8, -30, 0, -24, -11, + 37, 4, -37, 28, 51, -54, 23, 3, -37, -43, 6, -53, 54, -26, -73, -30, + 38, 63, 25, -4, 18, -25, -18, 3, 70, -19, 89, 2, 127, 77, -21, -6, + 27, 29, 2, 47, -4, -3, -12, -84, -37, 16, 6, -39, 44, 39, 25, -23, + 0, -5, -23, 11, -5, 32, -29, -9, 62, -12, -3, -10, -22, -49, 76, -30, + 27, 52, 76, -127, -38, 91, -70, 14, -27, -7, -70, 93, 46, 23, -70, 93, + 7, -74, -92, 70, -29, -16, -39, 73, 74, 65, 40, 57, -113, -89, 23, 9, + -38, 73, 105, 4, 92, -98, 50, 22, 65, -15, 75, -22, 32, -7, 12, -33, + 17, -81, -42, -17, -50, -84, -41, -60, 13, 94, 0, -6, 51, -13, 15, 84, + 56, -18, -36, 127, 75, -19, 83, -58, -101, 9, -7, 13, -10, -4, 30, 70, + 27, 21, 64, 88, -29, 7, 49, -41, -31, 4, 36, 17, 68, -14, 65, 65, + 85, -14, -44, 4, -22, 49, 43, -19, -56, -86, -94, -42, 44, 21, 34, -29, + -2, -62, 31, -18, -59, 127, 93, 58, -69, -23, 53, 20, -13, 77, -25, 56, + 1, -9, 62, 2, -26, -41, 47, 115, 27, -52, 42, 54, 59, 5, -44, 37, + 20, -51, 110, 65, 44, -82, 0, 4, -5, -52, -44, -17, 18, 127, 17, 9, + -60, 33, 22, 33, 18, -29, -25, 37, 36, 37, 22, 8, 50, -9, -30, -16, + -19, 65, -38, -14, -34, -9, -43, 89, 80, -69, -31, 58, 38, -24, -7, -34, + -43, -13, 62, -55, -54, -21, -79, -64, 43, -11, 57, -37, 19, -13, 4, -35, + -13, -39, -43, 47, -48, 33, 51, 39, -23, -56, -63, -24, 47, 4, 1, 52, + -7, 23, 26, 31, 33, -47, 52, 15, 35, -44, 61, 22, -23, -33, -50, 27, + -50, -37, -12, -40, 3, -127, -21, 32, -18, 8, 31, -42, 12, -48, 32, 15, + 4, -2, 127, -32, -51, 20, -74, 34, 25, -48, -52, 63, -16, -94, -8, -2, + -2, -120, -39, -34, 12, -47, 42, 16, 110, 38, -44, -19, -45, 2, -27, -7, + -45, 12, -38, -44, 28, -59, -50, 62, 102, 35, 61, 66, 23, -9, 32, -4, + -49, 4, 39, -69, 9, 7, -59, 31, -33, -36, 13, 74, -14, -35, 43, 23, + -27, 3, 41, 96, -10, 6, 42, 84, -21, 15, -17, -15, 42, -17, -3, 10, + -42, -47, -70, -19, 35, -1, -28, -18, 127, -42, 42, 69, 59, 3, -15, 50, + 21, -84, 18, 34, -7, -7, -45, 1, -4, 11, -79, 4, -10, 62, 63, -24, + -17, 43, 14, -17, 16, 60, -71, -17, -24, 54, -3, 42, -14, -22, 23, 81, + -12, -65, -36, -6, 11, -13, -88, -31, 93, 36, -24, -32, -8, -74, -51, -40, + -38, 67, 111, -11, -24, 7, 98, 20, -73, 35, 41, -71, 8, 27, 60, 57, + -73, 54, -23, -127, -39, 3, -1, -52, -53, 13, 41, 86, 69, -45, -9, 24, + -63, 65, -56, -53, -123, 42, 14, 9, -17, -18, 50, 2, 25, -50, -84, -87, + 0, 5, 25, -4, 19, 10, -18, 58, -16, -67, 38, -66, -35, -23, 58, 32, + -9, -54, 127, 38, -7, 6, -47, -39, -7, 58, -20, 2, -67, 21, -2, -56, + 34, -11, 47, 34, -37, 51, 11, 16, -67, -33, -32, -1, 30, -47, 4, -1, + -16, 6, -9, 31, -2, 42, 29, 23, -87, -20, -48, 4, 37, 39, -67, -3, + -53, 9, -117, -10, -54, 16, -15, 73, 85, -41, 8, -31, 10, 127, -101, -28, + -2, 49, -78, -33, 26, 36, -79, 41, 20, 69, 41, 15, -17, 41, -86, -31, + 21, -42, -76, -36, 12, 0, 4, 9, 17, 90, 60, -64, 61, 99, 47, 40, + 64, -34, 9, -31, 62, 45, -19, -86, 13, 29, -16, 47, 40, 10, 45, -8, + 62, -29, -18, -8, 20, -118, 46, -121, 92, 31, -19, -74, 15, -53, -101, 75, + 41, 118, 12, 1, 6, 58, -8, 88, -117, 10, 11, 32, 1, 38, -108, -11, + 11, 86, 3, -56, 36, -93, -71, -69, -65, 6, 47, -95, 70, 85, -127, 10, + 32, -25, 30, 14, -32, 25, -32, -17, 42, 127, -56, -26, 49, 69, 86, -43, + -50, -19, -28, 19, -33, -31, -49, -43, 51, -9, -23, -21, 10, 23, -31, -28, + 45, 9, 4, 3, 48, -36, -62, -28, -34, 21, -8, -58, -6, -17, -106, 11, + -37, 54, -11, 27, 45, -46, 6, -70, -64, 35, 101, -68, 69, 49, 47, -32, + 42, -8, -30, 27, 2, 51, -13, 7, 38, 127, -37, 18, -23, 17, 44, -46, + 42, -40, -35, 48, 107, -16, -74, -65, -49, -9, 30, 65, 13, 2, 49, 14, + -48, -34, -38, -6, 21, -19, -30, 6, -48, -13, 25, 51, 74, -9, -3, 31, + 44, -21, 81, 56, 28, -31, 79, -4, -21, -27, -30, -63, 60, 23, 28, 13, + 38, -13, -19, 30, -32, 9, 127, 8, 8, -5, -51, -33, -71, -25, 8, 25, + -11, -106, 116, 36, 73, -109, -94, -30, -8, -12, 6, 48, -48, -60, 36, 34, + -73, -39, -8, -12, -22, 56, -47, -55, -73, 25, -10, -76, 74, 29, -41, 42, + 16, -72, -60, 58, -53, -59, 9, 27, -45, -127, 103, 63, 88, -87, 44, -31, + -103, 26, 5, 65, -43, 119, 24, 119, -25, -49, 4, -24, 0, -102, 24, 60, + 20, 13, 43, -29, -21, 28, -67, -27, -18, -31, -43, 11, 25, -86, 17, -12, + -32, -47, 55, 12, -31, -39, 99, 14, 96, -56, -60, 13, 20, 44, 61, -29, + -68, 16, -16, -48, 57, -9, -15, -14, 127, 41, 8, 50, 66, -69, -17, -37, + 28, -20, 43, -23, -25, -20, 1, 7, -39, -82, 28, 59, 12, -37, 38, -17, + -54, -26, -4, -35, -108, -3, 68, 45, 127, 49, 14, 30, -9, 86, -52, -4, + 51, 94, -21, -21, 23, 28, 0, 23, 48, -29, -27, -38, 12, 46, -47, -60, + 18, -47, -76, -8, -69, -4, -63, -8, -13, 104, 35, 16, 53, 72, 28, 50, + -13, 27, 1, 8, 38, -10, -32, -32, 89, 42, -32, -43, -8, 47, -10, 48, + 5, -30, 97, -4, -13, 10, -95, 43, -74, -5, -26, 40, -28, -37, 109, -90, + 44, 31, 69, -8, 27, 5, 14, -12, 45, -6, -2, 81, -65, -54, 3, -62, + 26, -15, 127, -48, 8, -18, 9, -67, 43, -3, -57, 36, 112, 19, -49, 5, + 21, -11, -26, 50, 18, 12, -49, -19, -14, -6, -30, -60, -14, -45, -1, 54, + 13, 50, -22, -45, -9, -27, -7, -38, 95, -33, 61, -9, 9, -11, -14, 27, + 0, 12, 73, 91, -52, -27, 127, 91, -74, -3, 5, 1, -27, -5, 6, -58, + -41, 66, 1, -77, 68, -79, -1, 25, -19, -45, 34, -11, 71, 5, -97, 19, + -32, 38, -24, -9, 1, -95, 95, -33, -48, 7, -18, -18, -5, 20, -64, -64, + 85, 69, -33, -12, -77, 6, -65, -8, -101, -22, 10, 49, -32, 39, -17, -51, + 38, -17, -23, 52, -73, 0, -16, 100, 50, -74, 21, 30, -43, -5, 11, 26, + 56, -39, 89, 82, 12, -7, 117, -21, 45, -72, 46, 52, -36, 67, -13, 95, + 9, -57, 24, -12, 91, -91, 36, 18, -57, 41, 98, -126, -8, -82, -40, 127, + -21, -53, -68, 12, -61, 60, -3, 12, -68, -47, -36, -36, -51, 68, -28, -25, + -1, 49, -73, 10, 110, 45, -25, 22, 26, 101, 83, 12, 11, -44, -127, -60, + 55, 1, -7, 23, -24, 65, -38, -88, 37, -11, 4, -87, 88, 26, 123, -32, + 47, 30, -2, 10, 44, 127, -26, -99, 71, 7, -62, 27, -26, 54, 71, 68, + -1, 3, 19, 36, -75, 94, -54, 120, 94, -12, -22, 82, 66, 5, -49, 31, + 30, -127, 98, 18, 35, -18, -41, 10, 79, 61, -13, -16, -32, 1, -12, 24, + -33, -48, -14, -89, 49, -11, 32, -28, 71, -35, 59, 80, -13, -31, 80, 9, + -8, 27, 40, -57, 67, -51, -123, 28, -11, -42, 94, -10, -51, -12, -10, 28, + -69, 35, -44, 40, 44, -40, 5, -8, -1, -46, 40, 44, -37, 102, -3, 40, + -15, -50, -15, 45, -32, 49, -127, 55, -11, -24, 118, 44, -55, -29, -52, -117, + 63, 25, 120, 48, -9, -49, -6, -56, -74, 89, -38, -108, 112, 24, 70, 28, + 53, 50, -65, 92, 5, 118, -3, -74, 42, 104, -92, -30, 14, -14, -22, -16, + 18, 37, -94, -53, -23, 55, -69, 68, -35, 42, 127, 13, 42, 89, -51, -83, + 29, -22, -80, -54, 34, 39, 21, 78, -70, -75, 37, 53, -60, -16, -53, 69, + 45, 10, 72, -37, 71, -31, 52, -74, -50, -67, -12, -113, 27, 49, 42, 20, + 39, -46, -56, 21, 97, -41, 32, -10, 51, 84, -3, -10, -21, -85, 22, 61, + 69, -4, -51, -12, 18, 32, -37, -13, 12, -7, -62, 62, -55, -20, 25, 29, + -44, -72, -71, -105, 59, 53, -24, 32, 76, -33, 7, 127, -53, -39, -113, 1, + 5, 28, 73, -3, 40, -63, 27, -39, 20, 28, -61, -79, 54, 6, 32, -77, + -37, -35, -16, 38, 7, 55, 68, -40, 12, 82, -43, 117, 31, 14, 30, 5, + -5, -28, -2, 15, -42, -6, 31, -9, -26, -18, 15, -55, 53, 56, -55, -39, + 34, 127, 10, -75, 19, 11, -15, 21, 50, -40, 30, -19, 55, 23, -13, -45, + 9, -44, -3, 14, -59, 2, -52, -9, 49, 37, -1, -13, 20, 30, 23, -3, + -39, -14, 14, 51, 21, -7, -42, -73, 60, -1, 20, -43, -6, -12, 0, 17, + -7, 4, 50, 62, 45, -37, 47, 3, -24, 21, 28, -45, 2, -9, 0, -13, + -2, 127, 91, 14, 31, -18, 1, -21, -2, 35, 11, 18, 41, 36, 38, 57, + -9, -24, 17, -8, -15, -6, -53, 19, 7, -50, -101, -36, 47, 17, -34, 17, + 51, 5, 3, 63, -55, 46, -20, -22, -11, -9, -60, 38, -73, 73, -7, -44, + -71, 50, -6, 40, 3, 58, 49, 46, 73, 54, 35, -67, 70, -48, 90, 53, + -58, -43, -37, -46, -21, -63, 47, -63, 2, -62, -92, 35, -59, -9, 29, 127, + -55, 29, 19, 9, 42, -19, 24, 2, 21, -16, 23, 1, -16, -26, -9, -38, + 13, 74, 14, -70, -36, 2, 90, 0, 33, -37, -15, 117, 28, 4, -60, 23, + 44, -27, -4, 57, 41, -59, 71, 29, 18, 30, -13, -31, -56, -60, 60, 15, + -13, -64, 76, -48, -33, 39, -24, -92, 0, 13, -34, -77, -32, 10, 7, 31, + -11, -59, -60, 13, -25, 75, -54, 44, 31, 11, -66, 59, -1, 28, 35, 14, + -41, 28, 31, 23, -9, 127, 21, 10, -52, 13, -19, 68, -8, 49, -75, 1, + 21, 32, -22, -29, 4, -2, -36, -79, -33, 49, -44, -18, 1, -48, 34, -30, + 20, 38, -44, -10, 2, -4, 61, 28, 30, -33, -82, -11, -18, 11, 8, 27, + -42, 54, 2, -6, -29, -20, 9, -12, 127, -19, -43, 0, 18, -31, -11, -51, + 14, -2, 58, -44, -4, 47, 90, 11, -54, -5, -1, 34, 77, 4, -28, 12, + 4, 56, -14, 59, -80, -4, 35, 56, 125, -20, 11, 29, 68, 6, -29, -40, + -79, -18, -25, 17, 22, -80, 70, 18, 43, -38, -83, -35, 77, 37, -70, 88, + -33, 10, -43, -31, 20, 78, -28, 38, 127, 53, -26, 78, 28, -20, 27, 44, + -16, 20, 88, -97, 10, 13, -20, 58, 62, -26, 34, 65, -15, 41, -111, -29, + -17, 23, 31, -8, -53, 18, -23, 30, 53, 34, -13, 54, -27, -21, -4, -13, + 21, -19, -15, 9, 28, -23, 7, 11, 36, -50, -26, -7, -13, -17, -2, -13, + -27, 8, 10, 2, 3, 31, -12, 34, 127, 16, -36, 44, 14, -22, 27, -33, + 19, 33, 22, -59, 13, -39, -27, 10, -11, -45, -9, 3, 22, 29, -31, 46, + 83, -12, -68, -67, -34, 5, -71, -59, 39, -66, -43, -54, -33, 28, -49, 21, + -45, -45, -21, 34, 66, 62, -41, 54, -3, 14, 39, 78, -77, -34, -2, -70, + 42, -5, 14, -52, 28, -35, 64, -55, 43, -27, -36, -49, -45, 44, 49, 45, + 20, 43, -24, -3, 62, 69, 47, -101, -61, 127, -27, 0, -2, -13, 26, -28, + 58, 21, 127, 4, -73, -35, -24, -5, -37, 57, 5, -18, 18, -88, 11, 82, + -56, 38, 81, 24, -2, -39, -62, 25, 48, 66, 0, -26, 80, 44, 54, -8, + -48, -65, -21, -68, -59, -15, -114, 25, 112, -3, 1, 94, 65, -55, -67, -47, + -46, -17, 40, -57, -57, -57, -76, -64, -78, -68, 10, 58, -37, 76, 38, -26, + 43, 23, -66, -32, 40, 38, -37, 45, -10, -29, -31, 1, 27, -11, -121, -25, + -13, 24, 6, 29, 75, 79, -27, 27, 63, 2, 44, 77, -53, 0, -49, -9, + 4, -29, -52, 52, -12, 8, -39, -14, 68, 28, -25, -65, 43, 82, 47, 3, + -56, -4, 50, 10, -24, 51, 5, -91, 0, 24, 56, 127, 12, -18, 38, 82, + 71, 25, -12, 88, -20, 6, -51, -29, 12, -3, -26, -79, -19, 13, 63, -64, + 21, 68, -44, -33, -55, 42, 31, -58, 35, -58, -79, 69, 21, -24, 45, 94, + 10, -79, 48, 61, -38, 52, 99, 44, 83, -34, -127, -19, -68, -79, -76, 12, + -20, -76, 0, -60, 58, 0, 26, -7, -51, -32, 32, -34, -17, 53, -25, 65, + -110, -85, 38, 53, 41, 23, 23, 77, 74, 49, -17, 36, 77, -9, 35, 3, + 36, 60, -62, -30, 23, -3, -32, -56, 54, -9, -65, -61, 72, 99, -11, -43, + -30, -12, -21, 74, -46, -24, -5, -44, -32, 66, 43, -27, 61, -53, -34, -38, + -6, 10, 81, 0, 71, 0, -20, 81, 127, -60, -62, -9, -1, -28, 81, 18, + -53, 7, 5, -20, 23, 84, -19, 127, -81, -54, -15, 22, -78, 49, -9, 74, + 9, -54, 74, -14, -4, 15, -113, 26, -19, 123, 48, -10, -47, -18, -4, 22, + 27, -38, 25, 0, 3, -44, -26, -39, -56, -38, -37, -26, 86, 36, 24, -1, + 105, 14, -90, 66, 0, 69, 2, -59, -3, 27, -55, 31, -10, 34, 47, -27, + -41, -37, 82, -38, 5, -5, 0, 1, 43, 15, 6, -62, 18, 46, -63, 45, + -2, 29, -18, 9, 36, -4, -55, 16, 31, 14, 55, 46, 59, -33, -65, -2, + 14, 20, 2, -10, 37, -77, -57, -89, -7, 28, 43, -55, 64, 70, -8, -54, + -13, -3, -50, 48, -8, 16, -95, -67, -3, 72, -58, -41, -92, 3, 127, -1 +}; + +const int32_t Pw3Bias[64] = +{ + -2241, 320, 4492, -2330, 155, 1546, 840, -1179, + -568, 2921, 2327, 591, -3189, 201, 139, -1487, + 2109, 356, -542, 144, -310, -1824, 2441, 1720, + -4507, 1124, -2457, -279, -4350, -3238, 2539, 539, + -4345, 3273, 812, -926, 2821, 1276, -863, 1786, + -572, -1756, 198, 4091, -558, -2881, -1277, -1196, + -1087, -756, -68, -2056, -951, -1289, 1052, -3196, + -1230, 2455, 304, -1894, 1051, -2293, -1029, -717 +}; + +const int32_t Pw3Multipliers[64] = +{ + 1983574130, 1659815286, 1397699647, 1142058250, 2005847645, 1092435325, 1149804914, 1907098021, + 2116646946, 1669883586, 1748834732, 1747857353, 1376348244, 1823292477, 2146130598, 1124853039, + 1739028655, 1694012551, 1557143424, 2121531597, 1105238000, 1815371674, 1886230872, 2029042418, + 1803914647, 2121305185, 1434008598, 1942825869, 2065699219, 1738938326, 1224050891, 1636930521, + 1245020664, 1336968186, 1880743736, 1168234120, 1731018592, 1329535699, 1915273244, 1434514338, + 1622869109, 1114863203, 1885817813, 1710378069, 1813910576, 2022679992, 1663488449, 1877399288, + 1647128383, 1262339188, 1400294839, 1303358546, 2016143320, 1933989154, 1894666501, 1298397140, + 1226167602, 1193484671, 1428863327, 1767407397, 2073427389, 1902807515, 2002076883, 1102973127 +}; + +const int32_t Pw3Shifts[64] = +{ + -9, -8, -9, -8, -9, -8, -8, -9, + -9, -9, -9, -9, -8, -8, -9, -8, + -9, -9, -9, -9, -8, -9, -9, -9, + -9, -9, -8, -9, -9, -9, -8, -9, + -8, -9, -9, -8, -9, -8, -9, -9, + -9, -8, -9, -9, -9, -9, -9, -9, + -9, -8, -8, -8, -9, -9, -9, -9, + -8, -8, -9, -9, -9, -9, -9, -8 +}; + +const int8_t DenseWeights[896] = +{ + -64, 32, 86, -54, -68, -59, -127, 72, -45, 54, -11, -39, -57, -29, 32, -4, + 14, -62, -51, 118, -61, 46, -12, 82, 19, 49, -96, 54, -44, -15, 17, -22, + 32, -21, 20, -92, -7, -8, 2, 27, -11, -6, 120, 25, -21, -44, -6, 59, + 8, -26, -44, 54, 47, -9, -57, -125, 29, -71, 55, -106, -20, -13, 127, 50, + -44, 58, 60, -64, 26, 31, -94, -43, -75, 53, 15, -47, -18, 79, 90, 36, + 119, -88, 25, 57, -67, -78, 44, 101, -97, -50, -127, 89, 12, -74, 117, -65, + -109, 36, -17, -83, -5, -37, 93, -42, 16, -98, 54, 107, 65, -97, -79, -42, + 80, 44, -87, -49, 113, -85, 114, -71, 30, 62, -75, -33, 55, -122, -34, -80, + -3, 50, -11, 26, 7, -2, 2, 22, 96, -34, 39, 38, 62, -102, -127, -37, + -73, 8, 38, -44, 77, 20, 22, -13, -53, 84, 37, -53, -22, 11, 54, -85, + -50, 72, -57, 20, 83, 82, -5, 9, -50, 48, -116, 46, -52, -64, -58, -57, + 8, -125, -31, 24, -4, -61, -15, 7, -73, -65, -6, -29, -64, 20, -78, 33, + -42, 41, 32, -7, -63, -17, -69, -91, 79, 83, 71, 16, -79, 20, 91, -51, + 0, -86, 95, 7, 57, 2, 16, -10, -96, 43, -33, -84, 88, -27, -45, -102, + -86, 57, 97, -75, -20, 39, 84, 87, -19, -127, 28, 35, -34, 9, -34, 43, + -21, 5, -86, 20, 58, 77, 59, -67, -99, 14, -19, -80, -32, -31, 60, -51, + -48, 37, 67, 67, -70, -127, -49, -53, 40, -82, -57, -77, 14, 71, 42, -71, + 68, 83, -73, -66, -58, 38, 60, -67, -22, 28, -92, -41, -62, -17, -61, -24, + 18, -46, -32, 74, -52, 6, -82, -119, 6, 88, 36, 25, 41, 12, -21, -70, + -85, -62, 41, -14, 25, 47, 77, 81, 82, -40, -32, 7, 89, 60, -75, -44, + 1, -82, -3, -41, 22, -63, 28, 27, 27, -28, -67, -119, 41, -52, 85, 22, + -11, 17, -80, -43, -37, -56, 5, 8, 72, -77, 23, -66, -56, 78, -127, 74, + 26, -32, -62, 72, -87, -37, -45, -68, 79, 51, -29, 7, -31, -4, 17, -47, + -83, 78, 20, -19, 66, 13, 64, 92, 72, -23, 25, 74, -66, 69, 0, -62, + 18, -48, -48, -36, 105, 44, 78, 19, 78, -123, 107, -42, 21, -55, -101, -65, + -37, 15, 38, -87, 47, 100, 2, 10, 38, -66, 88, -23, 82, -90, 127, -62, + 56, -69, -56, -36, -41, -19, 99, 62, -34, -29, -95, -43, 93, -30, 2, -104, + 39, -70, 8, -74, -80, -70, -15, 22, -111, -42, -30, -26, 69, 25, -101, -12, + 55, -18, -26, 70, -47, -52, -127, 34, -85, -36, -76, 34, 22, 50, -60, -64, + 74, -18, 19, 84, 24, -40, -3, 78, -84, -57, 5, 12, 6, 68, -36, -29, + -42, 43, 64, -41, -27, -70, -74, -94, -1, -4, 67, 64, 60, -65, 61, 25, + 29, -91, 0, 17, -8, 23, -61, -5, 21, 21, 22, -19, -34, -90, 37, -81, + 21, 23, -8, -13, 40, -74, -75, -48, -56, -92, -17, -20, -24, 36, -68, 43, + 51, 59, -26, -7, 49, -55, 61, 32, -127, 10, -5, -29, 11, -32, -103, -41, + -12, 24, -9, -11, 33, -68, -45, -80, 25, 32, 37, 19, 44, 30, -44, -22, + -57, -15, 49, 35, -39, 42, 69, 42, 20, 31, 29, 33, 39, -60, -75, -76, + -30, -64, -14, -60, -14, -22, 43, 25, 74, 71, -36, 38, -27, -14, -93, 70, + -40, 40, 43, -28, -66, 33, -44, -45, -127, 61, -29, 51, 2, -52, 55, 29, + -14, 91, -38, -30, 27, 65, -9, 58, -9, 12, -62, 37, 5, -53, 71, -56, + -43, -65, -99, -62, -8, 52, 34, 34, 23, 39, 31, -57, -62, -82, -16, 31, + 89, -3, -16, -30, 20, -27, -8, -56, 14, -51, -84, 25, 12, 67, -15, -70, + 51, 69, 17, 19, 59, 91, -37, 3, 70, 65, 32, 50, -19, -76, -101, -85, + 48, -97, 19, 112, -77, -96, -15, 12, -104, -6, 70, -76, 30, 59, -38, 66, + 28, 127, 62, 38, -100, -56, -38, -56, 51, 43, -81, 60, -10, -74, 28, 16, + 49, -31, -87, -15, 0, 102, 26, 71, -20, -67, 66, 65, 51, 6, -27, -43, + 5, -89, -56, -20, -12, -70, -41, 49, 93, -28, 18, -9, -65, 8, 85, 62, + 92, -54, -93, 117, 0, 34, -78, 73, 41, 20, -39, -99, 17, 55, -57, 9, + 13, 19, 18, -127, -64, 30, -33, -58, -18, 12, 82, -2, -113, -3, 31, 51, + -13, 49, -53, 6, 20, 9, -99, -87, -104, 29, -41, 24, 49, -77, -68, 11, + 23, -9, -20, -10, 21, 14, -43, -127, 6, -18, 6, 9, 38, -80, -41, -23, + 55, 15, -47, -11, 66, -52, -86, 5, 4, -16, 19, -62, -18, 26, -63, -96, + -43, -60, 20, 45, 74, 65, 2, -32, 27, -34, 58, 36, 26, -6, 40, -47, + 46, -38, 68, 37, 1, -29, 65, -16, -21, -57, -29, 48, -11, 12, 28, 76, + -34, -30, -25, -4, -58, -6, 64, -57, 8, -34, -9, 80, 30, -37, -6, -42, + 19, -9, -44, 8, 34, 127, 55, -65, -31, 6, -10, 26, 33, 67, -16, 82, + 37, 34, -30, -13, 3, -33, 14, -54, -77, 41, -62, 43, -20, 29, 16, 38 +}; + +const int32_t DenseBias[14] = +{ + -889, 178, 1110, 615, 1219, -584, 261, 993, + 860, 573, -7111, -2707, 283, 4324 +}; + +const int32_t DenseMultipliers[14] = +{ + 1930280974, 1483222052, 1079150712, 1894453436, 1759545938, 1872103413, 1907311973, 1206328558, + 1237604101, 1233167241, 1697879513, 1978775023, 1833856616, 1872862821 +}; + +const int32_t DenseShifts[14] = +{ + -10, -10, -9, -10, -10, -10, -10, -9, + -9, -9, -10, -10, -9, -10 +}; + + const ConvLayerData Stem = { StemWeights, StemBias, StemMultipliers, StemShifts, { 0.5732762218f, 88 }, { 0.06965828687f, -128 }, true }; + + const ConvLayerData Depthwise[BlockCount] = + { + { Dw0Weights, Dw0Bias, Dw0Multipliers, Dw0Shifts, { 0.06965828687f, -128 }, { 0.08377603441f, -128 }, true }, + { Dw1Weights, Dw1Bias, Dw1Multipliers, Dw1Shifts, { 0.1205527037f, -128 }, { 0.06096315756f, -128 }, true }, + { Dw2Weights, Dw2Bias, Dw2Multipliers, Dw2Shifts, { 0.1222028211f, -128 }, { 0.04881476611f, -128 }, true }, + { Dw3Weights, Dw3Bias, Dw3Multipliers, Dw3Shifts, { 0.1046880037f, -128 }, { 0.04908436909f, -128 }, true } + }; + + const ConvLayerData Pointwise[BlockCount] = + { + { Pw0Weights, Pw0Bias, Pw0Multipliers, Pw0Shifts, { 0.08377603441f, -128 }, { 0.1916304529f, -33 }, false }, + { Pw1Weights, Pw1Bias, Pw1Multipliers, Pw1Shifts, { 0.06096315756f, -128 }, { 0.1858363748f, -41 }, false }, + { Pw2Weights, Pw2Bias, Pw2Multipliers, Pw2Shifts, { 0.04881476611f, -128 }, { 0.1591497064f, -41 }, false }, + { Pw3Weights, Pw3Bias, Pw3Multipliers, Pw3Shifts, { 0.04908436909f, -128 }, { 0.2350924909f, -48 }, false } + }; + + const AddLayerData Adds[BlockCount] = + { + { { 0.06965828687f, -128 }, { 0.1916304529f, -33 }, { 0.1205527037f, -128 }, 1561234446, -2, 1073741824, 0, 1706818890, -18, 20 }, + { { 0.1205527037f, -128 }, { 0.1858363748f, -41 }, { 0.1222028211f, -128 }, 1393080124, -1, 1073741824, 0, 1632861551, -18, 20 }, + { { 0.1222028211f, -128 }, { 0.1591497064f, -41 }, { 0.1046880037f, -128 }, 1648941528, -1, 1073741824, 0, 1632333123, -18, 20 }, + { { 0.1046880037f, -128 }, { 0.2350924909f, -48 }, { 0.1612241864f, -128 }, 1912573006, -2, 1073741824, 0, 1565699574, -18, 20 } + }; + + const MeanLayerData GlobalMean = + { + { 0.1612241864f, -128 }, + { 0.02757269889f, -128 }, + 803638539, + -3, + 125 + }; + + const ConvLayerData Dense = { DenseWeights, DenseBias, DenseMultipliers, DenseShifts, { 0.02757269889f, -128 }, { 0.1395348608f, -4 }, false }; + const Quantization ModelInput = { 0.5732762218f, 88 }; + const Quantization ModelOutput = { 0.1395348608f, -4 }; +} +} diff --git a/src/Apps/Game/src/recognition/ResBnKwsCnModelData.h b/src/Apps/Game/src/recognition/ResBnKwsCnModelData.h new file mode 100644 index 0000000..913dd14 --- /dev/null +++ b/src/Apps/Game/src/recognition/ResBnKwsCnModelData.h @@ -0,0 +1,106 @@ +#pragma once + +#include +#include + +namespace Game +{ +namespace ResBnKwsCnModelData +{ + const size_t InputFrameCount = 49; + const size_t InputMfccCount = 10; + const size_t ChannelCount = 64; + const size_t ClassCount = 14; + const size_t BlockCount = 4; + + struct Quantization + { + float scale; + int32_t zeroPoint; + }; + + struct ConvLayerData + { + const int8_t* weights; + const int32_t* bias; + const int32_t* multipliers; + const int32_t* shifts; + Quantization input; + Quantization output; + bool relu; + }; + + struct AddLayerData + { + Quantization input0; + Quantization input1; + Quantization output; + int32_t input0Multiplier; + int32_t input0Shift; + int32_t input1Multiplier; + int32_t input1Shift; + int32_t outputMultiplier; + int32_t outputShift; + int32_t leftShift; + }; + + struct MeanLayerData + { + Quantization input; + Quantization output; + int32_t multiplier; + int32_t shift; + int32_t elementCount; + }; + + extern const int8_t StemWeights[2560]; + extern const int32_t StemBias[64]; + extern const int32_t StemMultipliers[64]; + extern const int32_t StemShifts[64]; + extern const int8_t Dw0Weights[576]; + extern const int32_t Dw0Bias[64]; + extern const int32_t Dw0Multipliers[64]; + extern const int32_t Dw0Shifts[64]; + extern const int8_t Dw1Weights[576]; + extern const int32_t Dw1Bias[64]; + extern const int32_t Dw1Multipliers[64]; + extern const int32_t Dw1Shifts[64]; + extern const int8_t Dw2Weights[576]; + extern const int32_t Dw2Bias[64]; + extern const int32_t Dw2Multipliers[64]; + extern const int32_t Dw2Shifts[64]; + extern const int8_t Dw3Weights[576]; + extern const int32_t Dw3Bias[64]; + extern const int32_t Dw3Multipliers[64]; + extern const int32_t Dw3Shifts[64]; + extern const int8_t Pw0Weights[4096]; + extern const int32_t Pw0Bias[64]; + extern const int32_t Pw0Multipliers[64]; + extern const int32_t Pw0Shifts[64]; + extern const int8_t Pw1Weights[4096]; + extern const int32_t Pw1Bias[64]; + extern const int32_t Pw1Multipliers[64]; + extern const int32_t Pw1Shifts[64]; + extern const int8_t Pw2Weights[4096]; + extern const int32_t Pw2Bias[64]; + extern const int32_t Pw2Multipliers[64]; + extern const int32_t Pw2Shifts[64]; + extern const int8_t Pw3Weights[4096]; + extern const int32_t Pw3Bias[64]; + extern const int32_t Pw3Multipliers[64]; + extern const int32_t Pw3Shifts[64]; + extern const int8_t DenseWeights[896]; + extern const int32_t DenseBias[14]; + extern const int32_t DenseMultipliers[14]; + extern const int32_t DenseShifts[14]; + + extern const ConvLayerData Stem; + extern const ConvLayerData Depthwise[BlockCount]; + extern const ConvLayerData Pointwise[BlockCount]; + extern const AddLayerData Adds[BlockCount]; + extern const MeanLayerData GlobalMean; + extern const ConvLayerData Dense; + extern const Quantization ModelInput; + extern const Quantization ModelOutput; +} +} diff --git a/src/Apps/Game/src/recognition/ResBnKwsCnRecognizer.cpp b/src/Apps/Game/src/recognition/ResBnKwsCnRecognizer.cpp new file mode 100644 index 0000000..e69d049 --- /dev/null +++ b/src/Apps/Game/src/recognition/ResBnKwsCnRecognizer.cpp @@ -0,0 +1,1131 @@ +#include "ResBnKwsCnRecognizer.h" +#include "ResBnKwsCnModelData.h" +#include "../audio/VoiceEffect.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace +{ + const float Pi = 3.14159265358979323846f; + const uint32_t TargetSampleRate = 16000u; + const uint32_t TargetChannels = 1u; + const size_t WindowSamples = 16000u; + const size_t FftSize = 512u; + const size_t SpectrumBins = FftSize / 2u + 1u; + const size_t FrameStepSamples = 320u; + const size_t FeatureFrameCount = 49u; + const size_t MelBinCount = 40u; + const size_t MfccBinCount = 10u; + const size_t ClassCount = Game::ResBnKwsCnModelData::ClassCount; + static_assert(ClassCount == 14u, "ResBnKwsCnRecognizer expects 14 classes"); + const size_t ActivationHeight = 25u; + const size_t ActivationWidth = 5u; + const size_t ActivationChannels = 64u; + const size_t ActivationElementCount = + ActivationHeight * ActivationWidth * ActivationChannels; + const size_t InvalidClass = static_cast(-1); + + struct MelEnergyCache + { + size_t frameCount; + std::vector values; + + MelEnergyCache() : frameCount(0u) + { + } + }; + + struct FusionState + { + bool hasSmoothedLogits; + size_t currentClass; + size_t consecutiveHits; + std::vector smoothedLogits; + Game::KeywordRecognitionResult best; + + FusionState() + : hasSmoothedLogits(false), + currentClass(InvalidClass), + consecutiveHits(0u), + smoothedLogits(ClassCount, 0.0f) + { + } + }; + + static float HertzToMel(float hertz) + { + return 1127.0f * std::log(1.0f + hertz / 700.0f); + } + + static Game::KeywordCommand CommandFromClass(size_t classIndex) + { + switch (classIndex) + { + case 0: + return Game::KeywordCommand::Down; + case 1: + return Game::KeywordCommand::Go; + case 2: + return Game::KeywordCommand::Left; + case 3: + return Game::KeywordCommand::No; + case 4: + return Game::KeywordCommand::Off; + case 5: + return Game::KeywordCommand::On; + case 6: + return Game::KeywordCommand::Right; + case 7: + return Game::KeywordCommand::Stop; + case 8: + return Game::KeywordCommand::Up; + case 9: + return Game::KeywordCommand::Yes; + case 10: + return Game::KeywordCommand::OpenLight; + case 11: + return Game::KeywordCommand::CloseLight; + case 12: + case 13: + default: + return Game::KeywordCommand::None; + } + } + + static const std::vector& GetHannWindow() + { + static std::vector window; + if (!window.empty()) + { + return window; + } + + window.resize(FftSize, 0.0f); + for (size_t i = 0; i < FftSize; ++i) + { + window[i] = + 0.5f - + 0.5f * std::cos( + (2.0f * Pi * static_cast(i)) / + static_cast(FftSize - 1u)); + } + return window; + } + + static const std::vector& GetMelFilterBank() + { + static std::vector filters; + if (!filters.empty()) + { + return filters; + } + + filters.assign(MelBinCount * SpectrumBins, 0.0f); + const float minMel = HertzToMel(20.0f); + const float maxMel = HertzToMel(4000.0f); + std::vector melPoints(MelBinCount + 2u, 0.0f); + + for (size_t i = 0; i < melPoints.size(); ++i) + { + const float t = + static_cast(i) / + static_cast(melPoints.size() - 1u); + melPoints[i] = minMel + (maxMel - minMel) * t; + } + + for (size_t mel = 0; mel < MelBinCount; ++mel) + { + const float left = melPoints[mel]; + const float center = melPoints[mel + 1u]; + const float right = melPoints[mel + 2u]; + + for (size_t bin = 0; bin < SpectrumBins; ++bin) + { + const float frequency = + static_cast(bin) * + static_cast(TargetSampleRate) / + static_cast(FftSize); + const float frequencyMel = HertzToMel(frequency); + const float lowerSlope = + (frequencyMel - left) / (center - left); + const float upperSlope = + (right - frequencyMel) / (right - center); + const float weight = + std::max(0.0f, std::min(lowerSlope, upperSlope)); + filters[mel * SpectrumBins + bin] = weight; + } + } + return filters; + } + + static const std::vector& GetDctMatrix() + { + static std::vector matrix; + if (!matrix.empty()) + { + return matrix; + } + + matrix.resize(MfccBinCount * MelBinCount, 0.0f); + for (size_t coefficient = 0; + coefficient < MfccBinCount; + ++coefficient) + { + for (size_t mel = 0; mel < MelBinCount; ++mel) + { + const float angle = + Pi * + (static_cast(mel) + 0.5f) * + static_cast(coefficient) / + static_cast(MelBinCount); + matrix[coefficient * MelBinCount + mel] = + std::cos(angle); + } + } + return matrix; + } + + static void Fft(std::vector >& data) + { + const size_t count = data.size(); + for (size_t i = 1u, j = 0u; i < count; ++i) + { + size_t bit = count >> 1u; + for (; (j & bit) != 0u; bit >>= 1u) + { + j ^= bit; + } + j ^= bit; + if (i < j) + { + std::swap(data[i], data[j]); + } + } + + for (size_t length = 2u; length <= count; length <<= 1u) + { + const float angle = -2.0f * Pi / static_cast(length); + const std::complex step(std::cos(angle), std::sin(angle)); + for (size_t offset = 0u; offset < count; offset += length) + { + std::complex factor(1.0f, 0.0f); + for (size_t i = 0u; i < length / 2u; ++i) + { + const std::complex even = data[offset + i]; + const std::complex odd = + data[offset + i + length / 2u] * factor; + data[offset + i] = even + odd; + data[offset + i + length / 2u] = even - odd; + factor *= step; + } + } + } + } + + static std::vector PrepareAudio( + const std::vector& samples, + uint32_t sampleRate, + uint32_t channels) + { + if (samples.empty() || sampleRate == 0u || channels == 0u) + { + return std::vector(); + } + + std::vector prepared = samples; + uint32_t preparedChannels = channels; + uint32_t preparedSampleRate = sampleRate; + + if (preparedChannels != TargetChannels) + { + prepared = Game::VoiceEffect::convert_channels( + prepared, + preparedChannels, + TargetChannels); + preparedChannels = TargetChannels; + } + + if (preparedSampleRate != TargetSampleRate) + { + prepared = Game::VoiceEffect::resample( + prepared, + preparedSampleRate, + TargetSampleRate, + preparedChannels); + } + + std::vector trimmed = + Game::VoiceEffect::trim_silence(prepared, 0.02f, TargetChannels); + return trimmed.empty() ? prepared : trimmed; + } + + static std::vector PadToMinimumWindow( + const std::vector& samples) + { + if (samples.size() >= WindowSamples) + { + return samples; + } + std::vector padded = samples; + padded.resize(WindowSamples, 0); + return padded; + } + + static MelEnergyCache ExtractMelEnergyCache( + const std::vector& samples) + { + MelEnergyCache cache; + if (samples.size() < FftSize) + { + return cache; + } + + cache.frameCount = + 1u + (samples.size() - FftSize) / FrameStepSamples; + cache.values.assign(cache.frameCount * MelBinCount, 0.0f); + + const std::vector& hann = GetHannWindow(); + const std::vector& filters = GetMelFilterBank(); + std::vector > fftBuffer(FftSize); + std::vector spectrum(SpectrumBins, 0.0f); + + for (size_t frame = 0; frame < cache.frameCount; ++frame) + { + const size_t sampleOffset = frame * FrameStepSamples; + for (size_t i = 0; i < FftSize; ++i) + { + fftBuffer[i] = std::complex( + static_cast(samples[sampleOffset + i]) * hann[i], + 0.0f); + } + Fft(fftBuffer); + + for (size_t bin = 0; bin < SpectrumBins; ++bin) + { + spectrum[bin] = std::abs(fftBuffer[bin]); + } + + for (size_t mel = 0; mel < MelBinCount; ++mel) + { + float energy = 0.0f; + for (size_t bin = 0; bin < SpectrumBins; ++bin) + { + energy += filters[mel * SpectrumBins + bin] * spectrum[bin]; + } + cache.values[frame * MelBinCount + mel] = energy; + } + } + return cache; + } + + static int32_t WindowMaxAbs( + const std::vector& samples, + size_t sampleStart) + { + int32_t maximum = 0; + const size_t sampleEnd = + std::min(samples.size(), sampleStart + WindowSamples); + for (size_t i = sampleStart; i < sampleEnd; ++i) + { + maximum = std::max( + maximum, + std::abs(static_cast(samples[i]))); + } + return maximum; + } + + static std::vector BuildMfccWindow( + const MelEnergyCache& cache, + const std::vector& samples, + size_t frameStart, + float gain) + { + std::vector features( + FeatureFrameCount * MfccBinCount, + 0.0f); + const size_t sampleStart = frameStart * FrameStepSamples; + const int32_t maxAbs = WindowMaxAbs(samples, sampleStart); + if (maxAbs == 0) + { + return features; + } + + const float amplitudeScale = + gain / static_cast(maxAbs); + const std::vector& dct = GetDctMatrix(); + const float dctNormalization = + std::sqrt(2.0f / static_cast(MelBinCount)); + std::vector logMel(MelBinCount, 0.0f); + + for (size_t frame = 0; frame < FeatureFrameCount; ++frame) + { + const size_t cacheFrame = frameStart + frame; + for (size_t mel = 0; mel < MelBinCount; ++mel) + { + const float energy = + cache.values[cacheFrame * MelBinCount + mel] * + amplitudeScale; + logMel[mel] = std::log(energy + 1.0e-6f); + } + + for (size_t coefficient = 0; + coefficient < MfccBinCount; + ++coefficient) + { + float value = 0.0f; + for (size_t mel = 0; mel < MelBinCount; ++mel) + { + value += + logMel[mel] * + dct[coefficient * MelBinCount + mel]; + } + features[frame * MfccBinCount + coefficient] = + value * dctNormalization; + } + } + return features; + } + + static size_t Offset( + size_t width, + size_t channels, + size_t y, + size_t x, + size_t channel) + { + return (y * width + x) * channels + channel; + } + + static int ComputePaddingBefore( + size_t inputSize, + size_t outputSize, + size_t filterSize, + size_t stride) + { + const int required = + static_cast((outputSize - 1u) * stride + filterSize); + const int totalPadding = + std::max(0, required - static_cast(inputSize)); + return totalPadding / 2; + } + + static int32_t SaturatingCastInt32(int64_t value) + { + if (value > std::numeric_limits::max()) + { + return std::numeric_limits::max(); + } + if (value < std::numeric_limits::min()) + { + return std::numeric_limits::min(); + } + return static_cast(value); + } + + static int32_t SaturatingRoundingDoublingHighMul( + int32_t a, + int32_t b) + { + const bool overflow = + a == std::numeric_limits::min() && a == b; + const int64_t product = + static_cast(a) * static_cast(b); + const int64_t nudge = + product >= 0 + ? static_cast(1) << 30 + : 1 - (static_cast(1) << 30); + const int32_t result = static_cast( + (product + nudge) / (static_cast(1) << 31)); + return overflow + ? std::numeric_limits::max() + : result; + } + + static int32_t RoundingDivideByPowerOfTwo( + int32_t value, + int exponent) + { + if (exponent <= 0) + { + return value; + } + const uint32_t mask = + (static_cast(1) << exponent) - 1u; + const int32_t remainder = + static_cast(static_cast(value) & mask); + const int32_t threshold = + static_cast(mask >> 1u) + (value < 0 ? 1 : 0); + return (value >> exponent) + (remainder > threshold ? 1 : 0); + } + + static int32_t MultiplyByQuantizedMultiplier( + int32_t value, + int32_t multiplier, + int shift) + { + const int leftShift = shift > 0 ? shift : 0; + const int rightShift = shift > 0 ? 0 : -shift; + const int32_t shifted = SaturatingCastInt32( + static_cast(value) * + (static_cast(1) << leftShift)); + return RoundingDivideByPowerOfTwo( + SaturatingRoundingDoublingHighMul(shifted, multiplier), + rightShift); + } + + static int8_t ClampInt8(int32_t value, int32_t minimum, int32_t maximum) + { + return static_cast( + std::max(minimum, std::min(maximum, value))); + } + + static int8_t QuantizeFloat( + float value, + const Game::ResBnKwsCnModelData::Quantization& quantization) + { + const int32_t quantized = + static_cast( + std::nearbyint(value / quantization.scale)) + + quantization.zeroPoint; + return ClampInt8(quantized, -128, 127); + } + + static void Conv2DInt8( + const int8_t* input, + size_t inputHeight, + size_t inputWidth, + size_t inputChannels, + const Game::ResBnKwsCnModelData::ConvLayerData& layer, + size_t outputChannels, + size_t filterHeight, + size_t filterWidth, + size_t strideY, + size_t strideX, + int8_t* output, + size_t outputHeight, + size_t outputWidth) + { + const int padY = + ComputePaddingBefore(inputHeight, outputHeight, filterHeight, strideY); + const int padX = + ComputePaddingBefore(inputWidth, outputWidth, filterWidth, strideX); + const int32_t activationMinimum = + layer.relu ? std::max(-128, layer.output.zeroPoint) : -128; + + for (size_t outputY = 0; outputY < outputHeight; ++outputY) + { + for (size_t outputX = 0; outputX < outputWidth; ++outputX) + { + for (size_t outputChannel = 0; + outputChannel < outputChannels; + ++outputChannel) + { + int32_t accumulator = layer.bias[outputChannel]; + for (size_t kernelY = 0; kernelY < filterHeight; ++kernelY) + { + const int inputY = + static_cast(outputY * strideY + kernelY) - padY; + if (inputY < 0 || inputY >= static_cast(inputHeight)) + { + continue; + } + for (size_t kernelX = 0; kernelX < filterWidth; ++kernelX) + { + const int inputX = + static_cast(outputX * strideX + kernelX) - padX; + if (inputX < 0 || inputX >= static_cast(inputWidth)) + { + continue; + } + for (size_t inputChannel = 0; + inputChannel < inputChannels; + ++inputChannel) + { + const size_t inputIndex = + Offset( + inputWidth, + inputChannels, + static_cast(inputY), + static_cast(inputX), + inputChannel); + const size_t weightIndex = + ((outputChannel * filterHeight + kernelY) * + filterWidth + + kernelX) * + inputChannels + + inputChannel; + const int32_t inputValue = + static_cast(input[inputIndex]) - + layer.input.zeroPoint; + accumulator += + inputValue * + static_cast(layer.weights[weightIndex]); + } + } + } + + int32_t quantized = MultiplyByQuantizedMultiplier( + accumulator, + layer.multipliers[outputChannel], + layer.shifts[outputChannel]); + quantized += layer.output.zeroPoint; + output[Offset( + outputWidth, + outputChannels, + outputY, + outputX, + outputChannel)] = + ClampInt8(quantized, activationMinimum, 127); + } + } + } + } + + static void DepthwiseConv2DInt8( + const int8_t* input, + size_t height, + size_t width, + size_t channels, + const Game::ResBnKwsCnModelData::ConvLayerData& layer, + int8_t* output) + { + const size_t filterHeight = 3u; + const size_t filterWidth = 3u; + const int padY = + ComputePaddingBefore(height, height, filterHeight, 1u); + const int padX = + ComputePaddingBefore(width, width, filterWidth, 1u); + const int32_t activationMinimum = + layer.relu ? std::max(-128, layer.output.zeroPoint) : -128; + + for (size_t y = 0; y < height; ++y) + { + for (size_t x = 0; x < width; ++x) + { + for (size_t channel = 0; channel < channels; ++channel) + { + int32_t accumulator = layer.bias[channel]; + for (size_t kernelY = 0; kernelY < filterHeight; ++kernelY) + { + const int inputY = + static_cast(y + kernelY) - padY; + if (inputY < 0 || inputY >= static_cast(height)) + { + continue; + } + for (size_t kernelX = 0; kernelX < filterWidth; ++kernelX) + { + const int inputX = + static_cast(x + kernelX) - padX; + if (inputX < 0 || inputX >= static_cast(width)) + { + continue; + } + const size_t inputIndex = + Offset( + width, + channels, + static_cast(inputY), + static_cast(inputX), + channel); + const size_t weightIndex = + (kernelY * filterWidth + kernelX) * + channels + + channel; + const int32_t inputValue = + static_cast(input[inputIndex]) - + layer.input.zeroPoint; + accumulator += + inputValue * + static_cast(layer.weights[weightIndex]); + } + } + + int32_t quantized = MultiplyByQuantizedMultiplier( + accumulator, + layer.multipliers[channel], + layer.shifts[channel]); + quantized += layer.output.zeroPoint; + output[Offset(width, channels, y, x, channel)] = + ClampInt8(quantized, activationMinimum, 127); + } + } + } + } + + static void AddInt8( + const int8_t* input0, + const int8_t* input1, + size_t count, + const Game::ResBnKwsCnModelData::AddLayerData& layer, + int8_t* output) + { + const int32_t activationMinimum = + std::max(-128, layer.output.zeroPoint); + for (size_t i = 0; i < count; ++i) + { + int32_t value0 = + static_cast(input0[i]) - + layer.input0.zeroPoint; + int32_t value1 = + static_cast(input1[i]) - + layer.input1.zeroPoint; + value0 = SaturatingCastInt32( + static_cast(value0) * + (static_cast(1) << layer.leftShift)); + value1 = SaturatingCastInt32( + static_cast(value1) * + (static_cast(1) << layer.leftShift)); + value0 = MultiplyByQuantizedMultiplier( + value0, + layer.input0Multiplier, + layer.input0Shift); + value1 = MultiplyByQuantizedMultiplier( + value1, + layer.input1Multiplier, + layer.input1Shift); + int32_t quantized = MultiplyByQuantizedMultiplier( + value0 + value1, + layer.outputMultiplier, + layer.outputShift); + quantized += layer.output.zeroPoint; + output[i] = ClampInt8(quantized, activationMinimum, 127); + } + } + + static void GlobalMeanInt8( + const int8_t* input, + size_t height, + size_t width, + size_t channels, + int8_t* output) + { + const Game::ResBnKwsCnModelData::MeanLayerData& layer = + Game::ResBnKwsCnModelData::GlobalMean; + for (size_t channel = 0; channel < channels; ++channel) + { + int32_t sum = 0; + for (size_t y = 0; y < height; ++y) + { + for (size_t x = 0; x < width; ++x) + { + sum += + static_cast( + input[Offset(width, channels, y, x, channel)]) - + layer.input.zeroPoint; + } + } + const int32_t quantized = + MultiplyByQuantizedMultiplier( + sum, + layer.multiplier, + layer.shift) + + layer.output.zeroPoint; + output[channel] = ClampInt8(quantized, -128, 127); + } + } + + static void FullyConnectedInt8( + const int8_t* input, + int8_t* output) + { + const Game::ResBnKwsCnModelData::ConvLayerData& layer = + Game::ResBnKwsCnModelData::Dense; + for (size_t outputChannel = 0; + outputChannel < ClassCount; + ++outputChannel) + { + int32_t accumulator = layer.bias[outputChannel]; + for (size_t inputChannel = 0; + inputChannel < ActivationChannels; + ++inputChannel) + { + const int32_t inputValue = + static_cast(input[inputChannel]) - + layer.input.zeroPoint; + accumulator += + inputValue * + static_cast( + layer.weights[ + outputChannel * ActivationChannels + inputChannel]); + } + int32_t quantized = MultiplyByQuantizedMultiplier( + accumulator, + layer.multipliers[outputChannel], + layer.shifts[outputChannel]); + quantized += layer.output.zeroPoint; + output[outputChannel] = ClampInt8(quantized, -128, 127); + } + } + + static void Softmax( + const std::vector& logits, + std::vector& probabilities) + { + probabilities.assign(logits.size(), 0.0f); + if (logits.empty()) + { + return; + } + + float maximum = logits[0]; + for (size_t i = 1u; i < logits.size(); ++i) + { + maximum = std::max(maximum, logits[i]); + } + + float sum = 0.0f; + for (size_t i = 0u; i < logits.size(); ++i) + { + probabilities[i] = std::exp(logits[i] - maximum); + sum += probabilities[i]; + } + if (sum <= 0.0f) + { + return; + } + for (size_t i = 0u; i < probabilities.size(); ++i) + { + probabilities[i] /= sum; + } + } + + static void UpdateFusion( + FusionState& state, + const std::vector& logits, + float smoothingAlpha, + float confidenceThreshold, + float marginThreshold, + size_t requiredHits) + { + if (!state.hasSmoothedLogits) + { + state.smoothedLogits = logits; + state.hasSmoothedLogits = true; + } + else + { + for (size_t i = 0u; i < ClassCount; ++i) + { + state.smoothedLogits[i] = + smoothingAlpha * state.smoothedLogits[i] + + (1.0f - smoothingAlpha) * logits[i]; + } + } + + std::vector probabilities; + Softmax(state.smoothedLogits, probabilities); + size_t bestIndex = 0u; + size_t secondIndex = 1u; + if (probabilities[secondIndex] > probabilities[bestIndex]) + { + std::swap(bestIndex, secondIndex); + } + for (size_t i = 2u; i < probabilities.size(); ++i) + { + if (probabilities[i] > probabilities[bestIndex]) + { + secondIndex = bestIndex; + bestIndex = i; + } + else if (probabilities[i] > probabilities[secondIndex]) + { + secondIndex = i; + } + } + + const float confidence = probabilities[bestIndex]; + const float margin = confidence - probabilities[secondIndex]; + const Game::KeywordCommand command = CommandFromClass(bestIndex); + const bool valid = + command != Game::KeywordCommand::None && + confidence >= confidenceThreshold && + margin >= marginThreshold; + + if (!valid) + { + state.currentClass = InvalidClass; + state.consecutiveHits = 0u; + return; + } + + if (state.currentClass == bestIndex) + { + ++state.consecutiveHits; + } + else + { + state.currentClass = bestIndex; + state.consecutiveHits = 1u; + } + + if (state.consecutiveHits >= requiredHits && + confidence > state.best.confidence) + { + state.best = Game::KeywordRecognitionResult(command, confidence); + } + } +} + +namespace Game +{ + ResBnKwsCnRecognizer::ResBnKwsCnRecognizer() + : confidenceThreshold(0.75f), + marginThreshold(0.15f), + smoothingAlpha(0.60f), + inputGain(1.0f), + minConsecutiveHits(2u), + featureWindowStepFrames(10u), + initialized(false) + { + } + + ResBnKwsCnRecognizer::ResBnKwsCnRecognizer( + const std::string& unusedModelPath) + : confidenceThreshold(0.75f), + marginThreshold(0.15f), + smoothingAlpha(0.60f), + inputGain(1.0f), + minConsecutiveHits(2u), + featureWindowStepFrames(10u), + initialized(false) + { + (void)unusedModelPath; + } + + ResBnKwsCnRecognizer::~ResBnKwsCnRecognizer() + { + } + + bool ResBnKwsCnRecognizer::init() + { + if (initialized) + { + return true; + } + initialized = true; + return true; + } + + KeywordRecognitionResult ResBnKwsCnRecognizer::recognize( + const std::vector& samples, + uint32_t sampleRate, + uint32_t channels) + { + if (!initialized) + { + return KeywordRecognitionResult(); + } + + std::vector prepared = + PadToMinimumWindow(PrepareAudio(samples, sampleRate, channels)); + if (prepared.empty()) + { + return KeywordRecognitionResult(); + } + + const MelEnergyCache cache = ExtractMelEnergyCache(prepared); + if (cache.frameCount < FeatureFrameCount) + { + return KeywordRecognitionResult(); + } + + std::vector frameStarts; + for (size_t frameStart = 0u; + frameStart + FeatureFrameCount <= cache.frameCount; + frameStart += featureWindowStepFrames) + { + frameStarts.push_back(frameStart); + } + const size_t lastFrameStart = + cache.frameCount - FeatureFrameCount; + if (frameStarts.empty() || frameStarts.back() != lastFrameStart) + { + frameStarts.push_back(lastFrameStart); + } + + FusionState fusion; + const size_t requiredHits = + frameStarts.size() == 1u ? 1u : minConsecutiveHits; + + for (size_t i = 0u; i < frameStarts.size(); ++i) + { + const std::vector features = + BuildMfccWindow( + cache, + prepared, + frameStarts[i], + inputGain); + std::vector logits; + if (!run_embedded_model_logits(features, logits)) + { + continue; + } + UpdateFusion( + fusion, + logits, + smoothingAlpha, + confidenceThreshold, + marginThreshold, + requiredHits); + } + + std::cout + << "[INFO] ResBN-CN INT8 KWS result: class=" + << keyword_command_to_string(fusion.best.command) + << ", confidence=" + << fusion.best.confidence + << ", windows=" + << frameStarts.size() + << ", stepFrames=" + << featureWindowStepFrames + << std::endl; + return fusion.best; + } + + bool ResBnKwsCnRecognizer::run_embedded_model_logits( + const std::vector& features, + std::vector& logits) const + { + if (features.size() != FeatureFrameCount * MfccBinCount) + { + return false; + } + + std::vector quantizedInput(features.size(), 0); + for (size_t i = 0u; i < features.size(); ++i) + { + quantizedInput[i] = QuantizeFloat( + features[i], + ResBnKwsCnModelData::ModelInput); + } + + std::vector layerA(ActivationElementCount, 0); + std::vector layerB(ActivationElementCount, 0); + std::vector layerC(ActivationElementCount, 0); + + Conv2DInt8( + quantizedInput.data(), + FeatureFrameCount, + MfccBinCount, + 1u, + ResBnKwsCnModelData::Stem, + ActivationChannels, + 10u, + 4u, + 2u, + 2u, + layerA.data(), + ActivationHeight, + ActivationWidth); + + for (size_t block = 0u; + block < ResBnKwsCnModelData::BlockCount; + ++block) + { + DepthwiseConv2DInt8( + layerA.data(), + ActivationHeight, + ActivationWidth, + ActivationChannels, + ResBnKwsCnModelData::Depthwise[block], + layerB.data()); + Conv2DInt8( + layerB.data(), + ActivationHeight, + ActivationWidth, + ActivationChannels, + ResBnKwsCnModelData::Pointwise[block], + ActivationChannels, + 1u, + 1u, + 1u, + 1u, + layerC.data(), + ActivationHeight, + ActivationWidth); + AddInt8( + layerA.data(), + layerC.data(), + ActivationElementCount, + ResBnKwsCnModelData::Adds[block], + layerB.data()); + layerA.swap(layerB); + } + + int8_t pooled[ActivationChannels] = {}; + int8_t quantizedLogits[ClassCount] = {}; + GlobalMeanInt8( + layerA.data(), + ActivationHeight, + ActivationWidth, + ActivationChannels, + pooled); + FullyConnectedInt8(pooled, quantizedLogits); + + logits.resize(ClassCount, 0.0f); + for (size_t i = 0u; i < ClassCount; ++i) + { + logits[i] = + (static_cast(quantizedLogits[i]) - + ResBnKwsCnModelData::ModelOutput.zeroPoint) * + ResBnKwsCnModelData::ModelOutput.scale; + } + return true; + } + + void ResBnKwsCnRecognizer::set_confidence_threshold(float threshold) + { + if (threshold >= 0.0f && threshold <= 1.0f) + { + confidenceThreshold = threshold; + } + } + + void ResBnKwsCnRecognizer::set_margin_threshold(float threshold) + { + if (threshold >= 0.0f && threshold <= 1.0f) + { + marginThreshold = threshold; + } + } + + void ResBnKwsCnRecognizer::set_smoothing_alpha(float alpha) + { + if (alpha >= 0.0f && alpha < 1.0f) + { + smoothingAlpha = alpha; + } + } + + void ResBnKwsCnRecognizer::set_min_consecutive_hits(size_t hits) + { + if (hits > 0u) + { + minConsecutiveHits = hits; + } + } + + void ResBnKwsCnRecognizer::set_feature_window_step_frames(size_t frames) + { + if (frames > 0u) + { + featureWindowStepFrames = frames; + } + } + + void ResBnKwsCnRecognizer::set_input_gain(float gain) + { + if (gain > 0.0f && gain <= 1.0f) + { + inputGain = gain; + } + } +} diff --git a/src/Apps/Game/src/recognition/ResBnKwsCnRecognizer.h b/src/Apps/Game/src/recognition/ResBnKwsCnRecognizer.h new file mode 100644 index 0000000..a520271 --- /dev/null +++ b/src/Apps/Game/src/recognition/ResBnKwsCnRecognizer.h @@ -0,0 +1,50 @@ +#pragma once + +#include "KeywordRecognizer.h" +#include +#include +#include + +namespace Game +{ + class ResBnKwsCnRecognizer : public IKeywordRecognizer + { + private: + float confidenceThreshold; + float marginThreshold; + float smoothingAlpha; + float inputGain; + size_t minConsecutiveHits; + size_t featureWindowStepFrames; + bool initialized; + + bool run_embedded_model_logits( + const std::vector& features, + std::vector& logits) const; + + public: + ResBnKwsCnRecognizer(); + explicit ResBnKwsCnRecognizer(const std::string& unusedModelPath); + ~ResBnKwsCnRecognizer(); + + bool init() override; + KeywordRecognitionResult recognize( + const std::vector& samples, + uint32_t sampleRate, + uint32_t channels) override; + + void set_confidence_threshold(float threshold); + float get_confidence_threshold() const { return confidenceThreshold; } + void set_margin_threshold(float threshold); + float get_margin_threshold() const { return marginThreshold; } + void set_smoothing_alpha(float alpha); + float get_smoothing_alpha() const { return smoothingAlpha; } + void set_min_consecutive_hits(size_t hits); + size_t get_min_consecutive_hits() const { return minConsecutiveHits; } + void set_feature_window_step_frames(size_t frames); + size_t get_feature_window_step_frames() const { return featureWindowStepFrames; } + void set_input_gain(float gain) override; + float get_input_gain() const override { return inputGain; } + bool is_initialized() const { return initialized; } + }; +} diff --git a/src/Apps/Game/tests/TomAudioDataTests.cpp b/src/Apps/Game/tests/TomAudioDataTests.cpp new file mode 100644 index 0000000..5887cde --- /dev/null +++ b/src/Apps/Game/tests/TomAudioDataTests.cpp @@ -0,0 +1,53 @@ +#include "TomAudioData.h" +#include "WavAudioData.h" +#include "KeywordCommandRouter.h" +#include + +namespace +{ + static bool CheckAudio( + const uint8_t* bytes, + size_t byteCount, + const char* name) + { + Game::WavAudioData audio; + if (!Game::DecodePcm16Wav(bytes, byteCount, audio)) + { + std::cerr << name << " failed to decode" << std::endl; + return false; + } + if (audio.sampleRate != 48000u || audio.channels != 2u || audio.samples.empty()) + { + std::cerr << name << " has unexpected audio format" << std::endl; + return false; + } + return true; + } +} + +int main() +{ + if (!CheckAudio( + Game::EmbeddedAudio::OpenLightWav, + Game::EmbeddedAudio::OpenLightWavSize, + "OpenLight.wav") || + !CheckAudio( + Game::EmbeddedAudio::CloseLightWav, + Game::EmbeddedAudio::CloseLightWavSize, + "CloseLight.wav")) + { + return 1; + } + + const Game::KeywordCommandRouter router; + if (router.route(Game::KeywordRecognitionResult(Game::KeywordCommand::OpenLight, 1.0f)) != + Game::KeywordGameAction::OpenLight || + router.route(Game::KeywordRecognitionResult(Game::KeywordCommand::CloseLight, 1.0f)) != + Game::KeywordGameAction::CloseLight) + { + std::cerr << "Light keyword routing failed" << std::endl; + return 2; + } + + return 0; +} diff --git a/src/Apps/Game/tools/EmbedTomAudio.cmake b/src/Apps/Game/tools/EmbedTomAudio.cmake new file mode 100644 index 0000000..281140f --- /dev/null +++ b/src/Apps/Game/tools/EmbedTomAudio.cmake @@ -0,0 +1,55 @@ +if(NOT DEFINED OPEN_LIGHT_WAV OR + NOT DEFINED CLOSE_LIGHT_WAV OR + NOT DEFINED OUTPUT_HEADER OR + NOT DEFINED OUTPUT_SOURCE) + message(FATAL_ERROR "EmbedTomAudio.cmake is missing an input or output path") +endif() + +get_filename_component(OUTPUT_DIRECTORY "${OUTPUT_HEADER}" DIRECTORY) +file(MAKE_DIRECTORY "${OUTPUT_DIRECTORY}") + +file(WRITE "${OUTPUT_HEADER}" [=[#pragma once + +#include +#include + +namespace Game +{ +namespace EmbeddedAudio +{ + extern const uint8_t OpenLightWav[]; + extern const size_t OpenLightWavSize; + extern const uint8_t CloseLightWav[]; + extern const size_t CloseLightWavSize; +} +} +]=]) + +file(WRITE "${OUTPUT_SOURCE}" [=[#include "TomAudioData.h" + +namespace Game +{ +namespace EmbeddedAudio +{ +]=]) + +function(append_embedded_wav SYMBOL INPUT_PATH) + file(READ "${INPUT_PATH}" WAV_HEX HEX) + string(TOLOWER "${WAV_HEX}" WAV_HEX) + string(LENGTH "${WAV_HEX}" WAV_HEX_LENGTH) + math(EXPR WAV_SIZE "${WAV_HEX_LENGTH} / 2") + string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," WAV_BYTES "${WAV_HEX}") + set(BYTE_TOKEN "0x[0-9a-f][0-9a-f],") + set(LINE_PATTERN "(${BYTE_TOKEN}${BYTE_TOKEN}${BYTE_TOKEN}${BYTE_TOKEN}${BYTE_TOKEN}${BYTE_TOKEN}${BYTE_TOKEN}${BYTE_TOKEN}${BYTE_TOKEN}${BYTE_TOKEN}${BYTE_TOKEN}${BYTE_TOKEN}${BYTE_TOKEN}${BYTE_TOKEN}${BYTE_TOKEN}${BYTE_TOKEN})") + string(REGEX REPLACE "${LINE_PATTERN}" "\\1\n\t" WAV_BYTES "${WAV_BYTES}") + + file(APPEND "${OUTPUT_SOURCE}" "\tconst uint8_t ${SYMBOL}[] = {\n\t${WAV_BYTES}\n\t};\n") + file(APPEND "${OUTPUT_SOURCE}" "\tconst size_t ${SYMBOL}Size = ${WAV_SIZE}u;\n\n") +endfunction() + +append_embedded_wav("OpenLightWav" "${OPEN_LIGHT_WAV}") +append_embedded_wav("CloseLightWav" "${CLOSE_LIGHT_WAV}") + +file(APPEND "${OUTPUT_SOURCE}" [=[} +} +]=]) diff --git a/src/Core/Platform/DefaultHardware.h b/src/Core/Platform/DefaultHardware.h index eda6a75..290f841 100644 --- a/src/Core/Platform/DefaultHardware.h +++ b/src/Core/Platform/DefaultHardware.h @@ -7,6 +7,7 @@ #include "EvdevKeyboardState.h" #include "EvdevTouchInput.h" #include "Ap3216cPhotoSensor.h" +#include "Imx6ullAlphaLed.h" #endif #ifdef TARGET_PC #include "SdlAudioInput.h" @@ -15,6 +16,7 @@ #include "SdlKeyboardState.h" #include "SdlPointerInput.h" #include "SdlPhotoSensor.h" +#include "SimulatedBoardLed.h" #endif namespace Platform @@ -26,6 +28,7 @@ namespace Platform typedef EvdevKeyboardState DefaultKeyboardState; typedef EvdevTouchInput DefaultPointerInput; typedef Ap3216cPhotoSensor DefaultPhotoSensor; + typedef Imx6ullAlphaLed DefaultBoardLed; #endif #ifdef TARGET_PC typedef SdlAudioInput DefaultAudioInput; @@ -34,5 +37,6 @@ namespace Platform typedef SdlKeyboardState DefaultKeyboardState; typedef SdlPointerInput DefaultPointerInput; typedef SdlPhotoSensor DefaultPhotoSensor; + typedef SimulatedBoardLed DefaultBoardLed; #endif } diff --git a/src/Core/Platform/IBoardLed.h b/src/Core/Platform/IBoardLed.h new file mode 100644 index 0000000..47746f0 --- /dev/null +++ b/src/Core/Platform/IBoardLed.h @@ -0,0 +1,14 @@ +#pragma once + +namespace Platform +{ + class IBoardLed + { + public: + virtual ~IBoardLed() {} + + virtual bool init() = 0; + virtual bool set_on(bool on) = 0; + virtual bool is_on() const = 0; + }; +} diff --git a/src/Core/Platform/Imx6ullAlphaLed.cpp b/src/Core/Platform/Imx6ullAlphaLed.cpp new file mode 100644 index 0000000..52836c8 --- /dev/null +++ b/src/Core/Platform/Imx6ullAlphaLed.cpp @@ -0,0 +1,172 @@ +#include "Imx6ullAlphaLed.h" +#include +#include +#include +#include +#include +#include +#include + +namespace +{ + const char* const CharacterDevices[] = { + "/dev/gpioled", + "/dev/dtsled", + "/dev/led"}; + + const char* const LedClassBrightnessPaths[] = { + "/sys/class/leds/sys-led/brightness", + "/sys/class/leds/user-led/brightness", + "/sys/class/leds/user/brightness", + "/sys/class/leds/led0/brightness"}; + + const char* const GpioNumber = "3"; + const char* const GpioDirectory = "/sys/class/gpio/gpio3"; + const char* const GpioDirectionPath = "/sys/class/gpio/gpio3/direction"; + const char* const GpioValuePath = "/sys/class/gpio/gpio3/value"; + + static bool PathExists(const char* path) + { + struct stat info; + return path != nullptr && stat(path, &info) == 0; + } + + static ssize_t WriteFile(const std::string& path, const void* data, size_t size) + { + const int fd = open(path.c_str(), O_WRONLY | O_CLOEXEC); + if (fd < 0) + { + return -1; + } + + const ssize_t written = write(fd, data, size); + const int savedErrno = errno; + close(fd); + errno = savedErrno; + return written; + } + + static bool WriteTextFile(const std::string& path, const char* value, size_t size) + { + return WriteFile(path, value, size) == static_cast(size); + } +} + +namespace Platform +{ + Imx6ullAlphaLed::Imx6ullAlphaLed() + : backend_(Backend::None), + path_(), + on_(false) + { + } + + bool Imx6ullAlphaLed::init() + { + if (backend_ != Backend::None) + { + return true; + } + + for (size_t i = 0; i < sizeof(CharacterDevices) / sizeof(CharacterDevices[0]); ++i) + { + if (PathExists(CharacterDevices[i])) + { + backend_ = Backend::CharacterDevice; + path_ = CharacterDevices[i]; + std::cout << "[INFO] Board LED backend: " << path_ << std::endl; + return set_on(false); + } + } + + for (size_t i = 0; i < sizeof(LedClassBrightnessPaths) / sizeof(LedClassBrightnessPaths[0]); ++i) + { + if (PathExists(LedClassBrightnessPaths[i])) + { + backend_ = Backend::LedClass; + path_ = LedClassBrightnessPaths[i]; + std::cout << "[INFO] Board LED backend: " << path_ << std::endl; + return set_on(false); + } + } + + if (configure_sysfs_gpio()) + { + backend_ = Backend::SysfsGpio; + path_ = GpioValuePath; + std::cout << "[INFO] Board LED backend: GPIO1_IO03 via sysfs" << std::endl; + return set_on(false); + } + + std::cerr + << "[WARN] Board LED is unavailable. Load the ALPHA gpioled driver or enable GPIO sysfs." + << std::endl; + return false; + } + + bool Imx6ullAlphaLed::set_on(bool on) + { + if (backend_ == Backend::None && !init()) + { + return false; + } + + bool success = false; + if (backend_ == Backend::CharacterDevice) + { + const unsigned char command = on ? 1u : 0u; + // The teaching driver consumes the byte but returns zero from write(). + success = WriteFile(path_, &command, sizeof(command)) >= 0; + } + else if (backend_ == Backend::LedClass) + { + const char value = on ? '1' : '0'; + success = WriteTextFile(path_, &value, 1u); + } + else if (backend_ == Backend::SysfsGpio) + { + // GPIO1_IO03 is active-low on the ALIENTEK I.MX6U-ALPHA board. + const char value = on ? '0' : '1'; + success = WriteTextFile(path_, &value, 1u); + } + + if (!success) + { + std::cerr + << "[WARN] Failed to turn board LED " + << (on ? "on" : "off") + << " using " << path_ + << ": errno=" << errno + << std::endl; + return false; + } + + on_ = on; + std::cout << "[INFO] Board LED: " << (on_ ? "on" : "off") << std::endl; + return true; + } + + bool Imx6ullAlphaLed::configure_sysfs_gpio() + { + if (!PathExists(GpioDirectory)) + { + const ssize_t exported = WriteFile("/sys/class/gpio/export", GpioNumber, 1u); + if (exported < 0 && errno != EBUSY) + { + return false; + } + + for (size_t attempt = 0u; attempt < 50u && !PathExists(GpioDirectory); ++attempt) + { + std::this_thread::sleep_for(std::chrono::milliseconds(10)); + } + } + + if (!PathExists(GpioValuePath)) + { + return false; + } + + return WriteTextFile(GpioDirectionPath, "out", 3u); + } +} diff --git a/src/Core/Platform/Imx6ullAlphaLed.h b/src/Core/Platform/Imx6ullAlphaLed.h new file mode 100644 index 0000000..b2a552e --- /dev/null +++ b/src/Core/Platform/Imx6ullAlphaLed.h @@ -0,0 +1,32 @@ +#pragma once + +#include "IBoardLed.h" +#include + +namespace Platform +{ + class Imx6ullAlphaLed : public IBoardLed + { + private: + enum class Backend + { + None, + CharacterDevice, + LedClass, + SysfsGpio + }; + + Backend backend_; + std::string path_; + bool on_; + + bool configure_sysfs_gpio(); + + public: + Imx6ullAlphaLed(); + + bool init() override; + bool set_on(bool on) override; + bool is_on() const override { return on_; } + }; +} diff --git a/src/Core/Platform/SimulatedBoardLed.h b/src/Core/Platform/SimulatedBoardLed.h new file mode 100644 index 0000000..6cce939 --- /dev/null +++ b/src/Core/Platform/SimulatedBoardLed.h @@ -0,0 +1,27 @@ +#pragma once + +#include "IBoardLed.h" +#include + +namespace Platform +{ + class SimulatedBoardLed : public IBoardLed + { + private: + bool on_; + + public: + SimulatedBoardLed() : on_(false) {} + + bool init() override { return true; } + + bool set_on(bool on) override + { + on_ = on; + std::cout << "[INFO] Simulated board LED: " << (on_ ? "on" : "off") << std::endl; + return true; + } + + bool is_on() const override { return on_; } + }; +}