Adds select changes from pr/1

No even support because it does not look good. When this was written I
ran many test cases and it was a design decision to exclude even
numbers. No “rounding optimizations” because it does not look good.
More to follow on the pull request, which is now closed.