simple-squiggle

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

mean.transform.js (1003B)


      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 
     26   return typed('mean', {
     27     '...any': function any(args) {
     28       args = lastDimToZeroBase(args);
     29 
     30       try {
     31         return mean.apply(null, args);
     32       } catch (err) {
     33         throw errorTransform(err);
     34       }
     35     }
     36   });
     37 }, {
     38   isTransformFunction: true
     39 });