function accumulator1( v ) {
		var denom;
		var rdx;
		var cij;
		var rij;
		var sdi;
		var di;
		var vi;
		var m;
		var n;
		var r;
		var i;
		var j;
		if ( arguments.length === 0 ) {
			if ( N === 0 ) {
				return null;
			}
			return corr;
		}
		if ( !isVectorLike( v ) ) {
			throw new TypeError( format( 'invalid argument. Must provide a one-dimensional ndarray. Value: `%s`.', v ) );
		}
		if ( v.shape[ 0 ] !== order ) {
			throw new Error( format( 'invalid argument. Vector length must match correlation matrix dimensions. Expected: `%u`. Actual: `%u`.', order, v.shape[ 0 ] ) );
		}
		n = N;
		N += 1;
		r = n / N;

		denom = n || 1; // Bessel's correction (avoiding divide-by-zero below)

		if ( N === 1 ) {
			for ( i = 0; i < order; i++ ) {
				vi = v.get( i );
				m = mu.get( i );

				// Compute the residual:
				di = vi - m;

				// Update the sample mean:
				m += di / N;
				mu.set( i, m );

				// Update the sample standard deviation:
				d[ i ] = di;
				M2[ i ] += di * ( vi-m );
				sd[ i ] = sqrt( M2[i]/denom );

				// Update the co-moments and correlation matrix, recognizing that the matrices are symmetric...
				rdx = r * d[i]; // if `n=0`, `r=0.0`
				for ( j = 0; j < i; j++ ) {
					cij = C.get( i, j ) + ( rdx*d[j] );
					C.set( i, j, cij );
					C.set( j, i, cij ); // via symmetry
				}
			}
		} else {
			for ( i = 0; i < order; i++ ) {
				vi = v.get( i );
				m = mu.get( i );

				// Compute the residual:
				di = vi - m;

				// Update the sample mean:
				m += di / N;
				mu.set( i, m );

				// Update the sample standard deviation:
				d[ i ] = di;
				M2[ i ] += di * ( vi-m );
				sd[ i ] = sqrt( M2[i]/denom );

				rdx = r * d[i];
				sdi = sd[ i ];
				for ( j = 0; j < i; j++ ) {
					cij = C.get( i, j ) + ( rdx*d[j] );
					C.set( i, j, cij );
					C.set( j, i, cij ); // via symmetry

					rij = ( cij/denom ) / ( sdi*sd[j] );
					corr.set( i, j, rij );
					corr.set( j, i, rij ); // via symmetry
				}
			}
		}
		return corr;
	}
If provided a data vector, the accumulator function returns an updated sample correlation matrix. If not provided a data vector, the accumulator function returns the current sample correlation matrix.

@private
@param {ndarray} [v] - data vector
@throws {TypeError} must provide a 1-dimensional ndarray
@throws {Error} vector length must match correlation matrix dimensions
@returns {(ndarray|null)} sample correlation matrix or null