engineering lib2 fib places rand scientific shift trunc bitfuncs leadingzero