mingo
Version:
MongoDB query language for in-memory objects
19 lines (18 loc) • 591 B
JavaScript
import { computeValue } from "../../../core/_internal";
import { isNil, isNumber } from "../../../util";
const PRECISION = 1e10;
const $sigmoid = (obj, expr, options) => {
if (isNil(expr)) return null;
const args = computeValue(obj, expr, null, options);
const { input, onNull } = isNumber(args) ? { input: args } : args;
if (isNil(input)) return onNull ?? null;
assert(
isNumber(input),
`$sigmoid: expression must resolve to number: ${input}`
);
const result = 1 / (1 + Math.exp(-input));
return Math.round(result * PRECISION) / PRECISION;
};
export {
$sigmoid
};