reimplement map as mapRange, that supports doubles and rounding