mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-25 03:54:21 +01:00
This PR fixes implementation of binary shift right/left instructions. Before there were a minor incompatibility between limbo and sqlite implementation in case when right shift second argument were more than 64 and first argument were negative. As sqlite implementation of right binary shift is sign-extended - so `-1` should be returned in such case when limbo returned zero. This PR fixes this bug and also introduce a fuzz tests for arithemtic expressions. This fuzz test were written with a help of `GrammarGenerator` which allows to easily define probabilistic context- free grammar and then later sample random strings from it. Closes #867