@prelude/cmp
Version:
Cmp module.
20 lines • 784 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.epsilon = exports.every = exports.negate = void 0;
/** @returns negated predicate function. */
const negate = (f) => (a, b) => !f(a, b);
exports.negate = negate;
/** @returns array predicate applying provided element predicate. */
const every = (f) => (as) => {
for (let i = 1; i < as.length; i++) {
if (!f(as[i - 1], as[i])) {
return false;
}
}
return true;
};
exports.every = every;
/** @returns `true` if difference between `a` and `b` is within epsilon (default {@link Number.EPSILON}), `false` otherwise. */
const epsilon = (a, b, epsilon_ = Number.EPSILON) => Math.abs(a - b) <= epsilon_;
exports.epsilon = epsilon;
//# sourceMappingURL=predicate.js.map
;