divideScalar.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.createDivideScalar = void 0;
  6. var _factory = require("../../utils/factory.js");
  7. var name = 'divideScalar';
  8. var dependencies = ['typed', 'numeric'];
  9. var createDivideScalar = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
  10. var typed = _ref.typed,
  11. numeric = _ref.numeric;
  12. /**
  13. * Divide two scalar values, `x / y`.
  14. * This function is meant for internal use: it is used by the public functions
  15. * `divide` and `inv`.
  16. *
  17. * This function does not support collections (Array or Matrix).
  18. *
  19. * @param {number | BigNumber | Fraction | Complex | Unit} x Numerator
  20. * @param {number | BigNumber | Fraction | Complex} y Denominator
  21. * @return {number | BigNumber | Fraction | Complex | Unit} Quotient, `x / y`
  22. * @private
  23. */
  24. return typed(name, {
  25. 'number, number': function numberNumber(x, y) {
  26. return x / y;
  27. },
  28. 'Complex, Complex': function ComplexComplex(x, y) {
  29. return x.div(y);
  30. },
  31. 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {
  32. return x.div(y);
  33. },
  34. 'Fraction, Fraction': function FractionFraction(x, y) {
  35. return x.div(y);
  36. },
  37. 'Unit, number | Complex | Fraction | BigNumber | Unit': function UnitNumberComplexFractionBigNumberUnit(x, y) {
  38. return x.divide(y);
  39. },
  40. 'number | Fraction | Complex | BigNumber, Unit': function numberFractionComplexBigNumberUnit(x, y) {
  41. return y.divideInto(x);
  42. }
  43. });
  44. });
  45. exports.createDivideScalar = createDivideScalar;