export default function() {
  if (typeof arguments[0].signal !== 'object') {
    throw new TypeError();
  }

  var zcr = 0;
  for (var i = 1; i < arguments[0].signal.length; i++) {
    if ((arguments[0].signal[i-1] >= 0 && arguments[0].signal[i] < 0) ||
         (arguments[0].signal[i-1] < 0 && arguments[0].signal[i] >= 0)) {
      zcr++;
    }
  }

  return zcr;
}

@@ -132,17 +132,17 @@
 var i = 
-1
+0
 ; i %3C ar
@@ -204,18 +204,16 @@
 signal%5Bi
--1
 %5D %3E= 0 &
@@ -235,16 +235,20 @@
 signal%5Bi
+ + 1
 %5D %3C 0) %7C
@@ -284,10 +284,8 @@
 al%5Bi
--1
 %5D %3C 
@@ -306,24 +306,28 @@
 %5B0%5D.signal%5Bi
+ + 1
 %5D %3E= 0)) %7B%0A 

Revert "Fix bug in ZCR"