divideScalar.js 1.2 KB

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