UNPKG

genish.js

Version:
26 lines (19 loc) 685 B
'use strict' let gen = require( './gen.js' ), history = require( './history.js' ), sub = require( './sub.js' ), add = require( './add.js' ), mul = require( './mul.js' ), memo = require( './memo.js' ), gt = require( './gt.js' ), div = require( './div.js' ), _switch = require( './switch.js' ) module.exports = ( in1, slideUp = 1, slideDown = 1 ) => { let y1 = history(0), filter, slideAmount //y (n) = y (n-1) + ((x (n) - y (n-1))/slide) slideAmount = _switch( gt(in1,y1.out), slideUp, slideDown ) filter = memo( add( y1.out, div( sub( in1, y1.out ), slideAmount ) ) ) y1.in( filter ) return filter }