UNPKG

robust-compress

Version:
34 lines (32 loc) 525 B
"use strict" module.exports = compressExpansion function compressExpansion(e) { var m = e.length var Q = e[e.length-1] var bottom = m for(var i=m-2; i>=0; --i) { var a = Q var b = e[i] Q = a + b var bv = Q - a var q = b - bv if(q) { e[--bottom] = Q Q = q } } var top = 0 for(var i=bottom; i<m; ++i) { var a = e[i] var b = Q Q = a + b var bv = Q - a var q = b - bv if(q) { e[top++] = q } } e[top++] = Q e.length = top return e }