we assume floating point division throughout this file, so enforce it in case we are passed integers