mean.transform.js 1002 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { factory } from '../../utils/factory.js';
  2. import { errorTransform } from './utils/errorTransform.js';
  3. import { createMean } from '../../function/statistics/mean.js';
  4. import { lastDimToZeroBase } from './utils/lastDimToZeroBase.js';
  5. var name = 'mean';
  6. var dependencies = ['typed', 'add', 'divide'];
  7. export var createMeanTransform = /* #__PURE__ */factory(name, dependencies, _ref => {
  8. var {
  9. typed,
  10. add,
  11. divide
  12. } = _ref;
  13. var mean = createMean({
  14. typed,
  15. add,
  16. divide
  17. });
  18. /**
  19. * Attach a transform function to math.mean
  20. * Adds a property transform containing the transform function.
  21. *
  22. * This transform changed the last `dim` parameter of function mean
  23. * from one-based to zero based
  24. */
  25. return typed('mean', {
  26. '...any': function any(args) {
  27. args = lastDimToZeroBase(args);
  28. try {
  29. return mean.apply(null, args);
  30. } catch (err) {
  31. throw errorTransform(err);
  32. }
  33. }
  34. });
  35. }, {
  36. isTransformFunction: true
  37. });