Add the highly-controversial five.almost() function.
Thank you for your excellent five library. We are using it in a number of production-grade B-to-B and B-to-C web-based e-commerce API-driven microservices already.
However, we have discovered in our own uses that there can be times when modern enterprise-level end-to-end line-of-business applications require a value that is almost but not quite five. Not anything so small as four, mind you, and three is right out — but something that is so very nearly five as to be five but that at the same time is not. Therefore, at great cost in time, effort, and expertise, I have extended this valuable library so as to return a number that is so close to five as to be nearly indistinguishable but is yet a distinct value.
Suffice it to say that while this may be a controversial change, and perhaps some people might consider it scope-creep or mission-creep or an unreasonable direction of growth, I believe it is still within the holistic view of five to understand its immediate vicinity in the broader numeric paradigm, and to provide such values that allow it to be represented in a more "loose" or "fuzzy" sense so as to accommodate real-world business needs where five must, in fact, be considered to require a range of inclusion wider than a zero-tolerance, exact numeric representation permits.
This commit, then, includes a valuable five.almost() function that serves many broader business goals by returning a value that only differs from precise five by a single ULP (unit-in-last-place), a function that we have found to be quite serviceable for our own uses. As your library presently does not include a unit-test suite, this pull request does not include the applicable unit tests from our own software to verify that the new five.almost() method works as expected, but I can assure you that in repeated, thorough, intense nightly regression tests, it has provided the ideal, required data every time.
Please consider including this pull request as a formal part of the five library, and thank you for your time in this matter.
:+1: