client/splunk.ui.charting.js
function (start, end, pos, complete) {
		var ret = [],
			i = start.length,
			startVal;

		if (pos === 1) { // land on the final path without adjustment points appended in the ends
			ret = complete;

		} else if (i === end.length && pos < 1) {
			while (i--) {
				startVal = parseFloat(start[i]);
				ret[i] =
					isNaN(startVal) ? // a letter instruction like M or L
						start[i] :
						pos * (parseFloat(end[i] - startVal)) + startVal;

			}
		} else { // if animation is finished or length not matching, land on right value
			ret = end;
		}
		return ret;
	}
function (start, end, pos, complete) {
		var ret = [],
			i = start.length,
			startVal;

		if (pos === 1) { // land on the final path without adjustment points appended in the ends
			ret = complete;

		} else if (i === end.length && pos < 1) {
			while (i--) {
				startVal = parseFloat(start[i]);
				ret[i] =
					isNaN(startVal) ? // a letter instruction like M or L
						start[i] :
						pos * (parseFloat(end[i] - startVal)) + startVal;

			}
		} else { // if animation is finished or length not matching, land on right value
			ret = end;
		}
		return ret;
	}
function ( start , end , pos , complete ) { var ret = [ ] , i = start . length , startVal ; if ( pos === 1 ) { // land on the final path without adjustment points appended in the ends
 ret = complete ; } else if ( i === end . length && pos < 1 ) { while ( i -- ) { startVal = parseFloat ( start [ i ] ) ; ret [ i ] = isNaN ( startVal ) ? // a letter instruction like M or L
 start [ i ] : pos * ( parseFloat ( end [ i ] - startVal ) ) + startVal ; } } else { // if animation is finished or length not matching, land on right value
 ret = end ; } return ret ; }
Interpolate each value of the path and return the array
Interpolate each value of the path and return the array