engineering lib2 fib places rand rand_limits scientific shift trunc bitfuncs leadingzero