UNPKG

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