static round(d /*float*/) {
			if (NaN === d)
				return 0;
			if (d <= Number.MIN_SAFE_INTEGER)
				return Number.MIN_SAFE_INTEGER;
			if (d >= Number.MAX_SAFE_INTEGER)
				return Number.MAX_SAFE_INTEGER;
			return /*(int) */ (d + (d < 0.0 ? -0.5 : 0.5)) | 0;
		}
Ends up being a bit faster than {@link Math#round(float)}. This merely rounds its
argument to the nearest int, where x.5 rounds up to x+1. Semantics of this shortcut
differ slightly from {@link Math#round(float)} in that half rounds down for negative
values. -2.5 rounds to -3, not -2. For purposes here it makes no difference.

@param d real value to round
@return nearest {@code int}