Something like float fMean = calc_mean( pStart, pEnd ); return sqrtf( accumulate(pStart, pEnd, 0.0f, compose2(multiplies<float>(), bind2nd(minus<float>(), fMean), bind2nd(minus<float>(), fMean))) / distance(pStart, pEnd) ); These are easily templated too, if necessary.