whole_func_string: function filter( FLG ) {
  		/**
  		* FUNCTION: filter( data )
  		*	Defines the data filter.
  		*
  		* @param {number} data - numeric stream data
  		* @returns {number} filtered data
  		*/
  		return function filter( data ) {
  			var qValues, iqr,
  				bounds = new Array( 4 ),
  				idx, d, outliers = [];
  
  			// Convert a comma delimited string into an array:
  			data = JSON.parse( '[' + data + ']' );
  
  			// Sort the data:
  			data = sort( data );
  
  			// Compute the quartiles:
  			qValues = quartiles( data );
  
  			// Compute the inter-quartile range:
  			iqr = qValues[ 1 ] - qValues[ 0 ];
  
  			// Compute the outlier bounds:
  			bounds[ 0 ] = qValues[ 0 ] - ( 3.0*iqr );
  			bounds[ 1 ] = qValues[ 0 ] - ( 1.5*iqr );
  			bounds[ 2 ] = qValues[ 1 ] + ( 1.5*iqr );
  			bounds[ 3 ] = qValues[ 1 ] + ( 3.0*iqr );
  
  			// Find the values less than the mild lower bound but greater than the extreme lower bound:
  			idx = 0;
  			d = data[ idx ][ 1 ];
  			while ( d < bounds[ 1 ] ) {
  				if ( d > bounds[ 0 ] ) {
  					outliers.push( ( FLG ) ? data[idx] : d );
  				}
  				idx += 1;
  				d = data[ idx][ 1 ];
  			}
  
  			// Find the values greater than the mild upper bound but less than the extreme upper bound:
  			idx = data.length - 1;
  			d = data[ idx ][ 1 ];
  			while ( d > bounds[ 2 ] ) {
  				if ( d < bounds[ 3 ] ) {
  					outliers.push( ( FLG ) ? data[idx] : d );
  				}
  				idx = idx - 1;
  				d = data[ idx ][ 1 ];
  			}
  
  			// Return the outliers:
  			return outliers;
  		}; // end FUNCTION filter()
  	}
func_code_string: function filter( FLG ) {
  		/**
  		* FUNCTION: filter( data )
  		*	Defines the data filter.
  		*
  		* @param {number} data - numeric stream data
  		* @returns {number} filtered data
  		*/
  		return function filter( data ) {
  			var qValues, iqr,
  				bounds = new Array( 4 ),
  				idx, d, outliers = [];
  
  			// Convert a comma delimited string into an array:
  			data = JSON.parse( '[' + data + ']' );
  
  			// Sort the data:
  			data = sort( data );
  
  			// Compute the quartiles:
  			qValues = quartiles( data );
  
  			// Compute the inter-quartile range:
  			iqr = qValues[ 1 ] - qValues[ 0 ];
  
  			// Compute the outlier bounds:
  			bounds[ 0 ] = qValues[ 0 ] - ( 3.0*iqr );
  			bounds[ 1 ] = qValues[ 0 ] - ( 1.5*iqr );
  			bounds[ 2 ] = qValues[ 1 ] + ( 1.5*iqr );
  			bounds[ 3 ] = qValues[ 1 ] + ( 3.0*iqr );
  
  			// Find the values less than the mild lower bound but greater than the extreme lower bound:
  			idx = 0;
  			d = data[ idx ][ 1 ];
  			while ( d < bounds[ 1 ] ) {
  				if ( d > bounds[ 0 ] ) {
  					outliers.push( ( FLG ) ? data[idx] : d );
  				}
  				idx += 1;
  				d = data[ idx][ 1 ];
  			}
  
  			// Find the values greater than the mild upper bound but less than the extreme upper bound:
  			idx = data.length - 1;
  			d = data[ idx ][ 1 ];
  			while ( d > bounds[ 2 ] ) {
  				if ( d < bounds[ 3 ] ) {
  					outliers.push( ( FLG ) ? data[idx] : d );
  				}
  				idx = idx - 1;
  				d = data[ idx ][ 1 ];
  			}
  
  			// Return the outliers:
  			return outliers;
  		}; // end FUNCTION filter()
  	}
func_documentation_string: end FUNCTION quantile() 
  FUNCTION: filter( FLG )
  Returns a data filter function.
  
  @private
  @param {boolean} FLG - flag indicating whether to retain outlier index
  @returns {function} data filter function