dotDivide.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.createDotDivide = void 0;
  6. var _factory = require("../../utils/factory.js");
  7. var _matAlgo02xDS = require("../../type/matrix/utils/matAlgo02xDS0.js");
  8. var _matAlgo03xDSf = require("../../type/matrix/utils/matAlgo03xDSf.js");
  9. var _matAlgo07xSSf = require("../../type/matrix/utils/matAlgo07xSSf.js");
  10. var _matAlgo11xS0s = require("../../type/matrix/utils/matAlgo11xS0s.js");
  11. var _matAlgo12xSfs = require("../../type/matrix/utils/matAlgo12xSfs.js");
  12. var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
  13. var name = 'dotDivide';
  14. var dependencies = ['typed', 'matrix', 'equalScalar', 'divideScalar', 'DenseMatrix', 'concat'];
  15. var createDotDivide = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
  16. var typed = _ref.typed,
  17. matrix = _ref.matrix,
  18. equalScalar = _ref.equalScalar,
  19. divideScalar = _ref.divideScalar,
  20. DenseMatrix = _ref.DenseMatrix,
  21. concat = _ref.concat;
  22. var matAlgo02xDS0 = (0, _matAlgo02xDS.createMatAlgo02xDS0)({
  23. typed: typed,
  24. equalScalar: equalScalar
  25. });
  26. var matAlgo03xDSf = (0, _matAlgo03xDSf.createMatAlgo03xDSf)({
  27. typed: typed
  28. });
  29. var matAlgo07xSSf = (0, _matAlgo07xSSf.createMatAlgo07xSSf)({
  30. typed: typed,
  31. DenseMatrix: DenseMatrix
  32. });
  33. var matAlgo11xS0s = (0, _matAlgo11xS0s.createMatAlgo11xS0s)({
  34. typed: typed,
  35. equalScalar: equalScalar
  36. });
  37. var matAlgo12xSfs = (0, _matAlgo12xSfs.createMatAlgo12xSfs)({
  38. typed: typed,
  39. DenseMatrix: DenseMatrix
  40. });
  41. var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
  42. typed: typed,
  43. matrix: matrix,
  44. concat: concat
  45. });
  46. /**
  47. * Divide two matrices element wise. The function accepts both matrices and
  48. * scalar values.
  49. *
  50. * Syntax:
  51. *
  52. * math.dotDivide(x, y)
  53. *
  54. * Examples:
  55. *
  56. * math.dotDivide(2, 4) // returns 0.5
  57. *
  58. * a = [[9, 5], [6, 1]]
  59. * b = [[3, 2], [5, 2]]
  60. *
  61. * math.dotDivide(a, b) // returns [[3, 2.5], [1.2, 0.5]]
  62. * math.divide(a, b) // returns [[1.75, 0.75], [-1.75, 2.25]]
  63. *
  64. * See also:
  65. *
  66. * divide, multiply, dotMultiply
  67. *
  68. * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x Numerator
  69. * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} y Denominator
  70. * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Quotient, `x ./ y`
  71. */
  72. return typed(name, matrixAlgorithmSuite({
  73. elop: divideScalar,
  74. SS: matAlgo07xSSf,
  75. DS: matAlgo03xDSf,
  76. SD: matAlgo02xDS0,
  77. Ss: matAlgo11xS0s,
  78. sS: matAlgo12xSfs
  79. }));
  80. });
  81. exports.createDotDivide = createDotDivide;