@@ -299,8 +299,6 @@ function getAggregateFunction(opts, conversions) {
299299 return first ;
300300 case 'last' :
301301 return last ;
302- case 'change' :
303- return change ;
304302
305303 case 'sum' :
306304 // This will produce output in all cases even though it's nonsensical
@@ -350,17 +348,24 @@ function getAggregateFunction(opts, conversions) {
350348 } ;
351349
352350 case 'range' :
353- return function ( array , indices ) {
354- var min = Infinity ;
355- var max = - Infinity ;
356- for ( var i = 0 ; i < indices . length ; i ++ ) {
357- var vi = d2c ( array [ indices [ i ] ] ) ;
358- if ( vi !== BADNUM ) {
359- min = Math . min ( min , vi ) ;
360- max = Math . max ( max , vi ) ;
361- } ;
351+ return function ( array , indices ) {
352+ var min = Infinity ;
353+ var max = - Infinity ;
354+ for ( var i = 0 ; i < indices . length ; i ++ ) {
355+ var vi = d2c ( array [ indices [ i ] ] ) ;
356+ if ( vi !== BADNUM ) {
357+ min = Math . min ( min , vi ) ;
358+ max = Math . max ( max , vi ) ;
362359 }
363- return ( max === - Infinity || min === Infinity ) ? BADNUM : c2d ( max - min ) ;
360+ }
361+ return ( max === - Infinity || min === Infinity ) ? BADNUM : c2d ( max - min ) ;
362+ } ;
363+
364+ case 'change' :
365+ return function ( array , indices ) {
366+ var first = d2c ( array [ indices [ 0 ] ] ) ;
367+ var last = d2c ( array [ indices [ indices . length - 1 ] ] ) ;
368+ return ( first === BADNUM || last === BADNUM ) ? BADNUM : c2d ( last - first ) ;
364369 } ;
365370
366371 case 'median' :
@@ -459,7 +464,3 @@ function first(array, indices) {
459464function last ( array , indices ) {
460465 return array [ indices [ indices . length - 1 ] ] ;
461466}
462-
463- function change ( array , indices ) {
464- return last ( array , indices ) - first ( array , indices ) ;
465- }
0 commit comments