Change all <numeric> functions to use perfect forwarding.

This removes the potential for unnecessary move or copy operations.