UNPKG

1.94 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.createMultiplyScalar = void 0;
7
8var _factory = require("../../utils/factory");
9
10var _number = require("../../plain/number");
11
12var name = 'multiplyScalar';
13var dependencies = ['typed'];
14var createMultiplyScalar = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
15 var typed = _ref.typed;
16
17 /**
18 * Multiply two scalar values, `x * y`.
19 * This function is meant for internal use: it is used by the public function
20 * `multiply`
21 *
22 * This function does not support collections (Array or Matrix).
23 *
24 * @param {number | BigNumber | Fraction | Complex | Unit} x First value to multiply
25 * @param {number | BigNumber | Fraction | Complex} y Second value to multiply
26 * @return {number | BigNumber | Fraction | Complex | Unit} Multiplication of `x` and `y`
27 * @private
28 */
29 var multiplyScalar = typed('multiplyScalar', {
30 'number, number': _number.multiplyNumber,
31 'Complex, Complex': function ComplexComplex(x, y) {
32 return x.mul(y);
33 },
34 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {
35 return x.times(y);
36 },
37 'Fraction, Fraction': function FractionFraction(x, y) {
38 return x.mul(y);
39 },
40 'number | Fraction | BigNumber | Complex, Unit': function numberFractionBigNumberComplexUnit(x, y) {
41 var res = y.clone();
42 res.value = res.value === null ? res._normalize(x) : multiplyScalar(res.value, x);
43 return res;
44 },
45 'Unit, number | Fraction | BigNumber | Complex': function UnitNumberFractionBigNumberComplex(x, y) {
46 var res = x.clone();
47 res.value = res.value === null ? res._normalize(y) : multiplyScalar(res.value, y);
48 return res;
49 },
50 'Unit, Unit': function UnitUnit(x, y) {
51 return x.multiply(y);
52 }
53 });
54 return multiplyScalar;
55});
56exports.createMultiplyScalar = createMultiplyScalar;
\No newline at end of file