_f = function (s, e) {
        const d = Math.abs((e - s) / _f.resolution);
        if (utils.isNegligible(d - Math.floor(d))) {
            return Math.floor(d);
        } else {
            return Math.ceil(d);
        }
    }
This function generates an argument for the {@link CoordinateGridMixin Coordinate Grid Chart}
{@link CoordinateGridMixin#xUnits .xUnits} function specifying that the x values are floating-point
numbers with the given precision.
The returned function determines how many values at the given precision will fit into the range
supplied in its start and end parameters.
@method precision
@memberof units.fp
@see {@link CoordinateGridMixin#xUnits coordinateGridMixin.xUnits}
@example
// specify values (and ticks) every 0.1 units
chart.xUnits(units.fp.precision(0.1)
// there are 500 units between 0.5 and 1 if the precision is 0.001
var thousandths = units.fp.precision(0.001);
thousandths(0.5, 1.0) // returns 500
@param {Number} precision
@returns {Function} start-end unit function