I have never seen anyone argue for a ‘switch’ version. switch (v) { case: 0,2,4,8,…: return EVEN; case: 1,3,5,7,…: return ODD; default: return IDK; } Slightly less code to generate.
you forgot the logic to strip the final digit and assign it to v. processing the whole number is absurd
All you need is the final binary digit, which incidentally is the most optimal codegen, `v & 1`.