UNPKG

@fractorysolutions/safe-units

Version:
58 lines 1.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.atan2 = exports.tan = exports.sin = exports.cos = exports.atan = exports.asin = exports.acos = void 0; var numberMeasure_1 = require("../measure/numberMeasure"); var base_1 = require("./base"); /** * `Math.acos` for `number` measures. * @param x a dimensionless value * @returns an angle */ exports.acos = wrapInverseTrigFn(Math.acos); /** * `Math.asin` for `number` measures. * @param x a dimensionless value * @returns an angle */ exports.asin = wrapInverseTrigFn(Math.asin); /** * `Math.atan` for `number` measures. * @param x a dimensionless value * @returns an angle */ exports.atan = wrapInverseTrigFn(Math.atan); /** * `Math.cos` for `number` measures. * @param x an angle * @returns a dimensionless value */ exports.cos = wrapTrigFn(Math.cos); /** * `Math.sin` for `number` measures. * @param x an angle * @returns a dimensionless value */ exports.sin = wrapTrigFn(Math.sin); /** * `Math.tan` for `number` measures. * @param x an angle * @returns a dimensionless value */ exports.tan = wrapTrigFn(Math.tan); /** * `Math.atan2` for `number` measures. * @param x a length * @param y a length * @returns an angle */ function atan2(y, x) { return numberMeasure_1.Measure.of(Math.atan2(y.value, x.value), base_1.radians); } exports.atan2 = atan2; function wrapTrigFn(f) { return function (angle) { return numberMeasure_1.Measure.dimensionless(f(angle.value)); }; } function wrapInverseTrigFn(f) { return function (angle) { return numberMeasure_1.Measure.of(f(angle.value), base_1.radians); }; } //# sourceMappingURL=trig.js.map