simple-squiggle

A restricted subset of Squiggle
Log | Files | Refs | README

multiplyScalar.js (1895B)


      1 "use strict";
      2 
      3 Object.defineProperty(exports, "__esModule", {
      4   value: true
      5 });
      6 exports.createMultiplyScalar = void 0;
      7 
      8 var _factory = require("../../utils/factory.js");
      9 
     10 var _index = require("../../plain/number/index.js");
     11 
     12 var name = 'multiplyScalar';
     13 var dependencies = ['typed'];
     14 var 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   return typed('multiplyScalar', {
     30     'number, number': _index.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) : this(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) : this(res.value, y);
     48       return res;
     49     },
     50     'Unit, Unit': function UnitUnit(x, y) {
     51       return x.multiply(y);
     52     }
     53   });
     54 });
     55 exports.createMultiplyScalar = createMultiplyScalar;