Patternify fast and fix tests
This commit is contained in:
parent
47f051b73a
commit
e98e8ea13f
2 changed files with 45 additions and 31 deletions
18
strudel.mjs
18
strudel.mjs
|
|
@ -423,17 +423,23 @@ class Pattern {
|
|||
return this.outerBind(id)
|
||||
}
|
||||
|
||||
// def _patternify(method):
|
||||
// def patterned(self, *args):
|
||||
// pat_arg = sequence(*args)
|
||||
// return pat_arg.fmap(lambda arg: method(self,arg)).outer_join()
|
||||
// return patterned
|
||||
_patternify(func) {
|
||||
const pat = this
|
||||
const patterned = function (...args) {
|
||||
const pat_arg = sequence(...args)
|
||||
return pat_arg.fmap(arg => func.call(pat,arg)).outerJoin()
|
||||
}
|
||||
return patterned
|
||||
}
|
||||
|
||||
_fast(factor) {
|
||||
var fastQuery = this.withQueryTime(t => t.mul(factor))
|
||||
return fastQuery.withEventTime(t => t.div(factor))
|
||||
}
|
||||
// fast = _patternify(_fast)
|
||||
|
||||
fast(factor) {
|
||||
return this._patternify(Pattern.prototype._fast)(factor)
|
||||
}
|
||||
|
||||
_slow(factor) {
|
||||
return this._fast(1/factor)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue