static void tf_ssq ( mclx* mx , double val ) { dim i ; for (i=0;i<N_COLS(mx);i++) { mclv* v = mx->cols+i ; double ssq = mclvPowSum(v, 2.0) ; double sum = mclvSum(v) ; double self = mclvSelf(v) ; if (sum-self) mclvSelectGtBar(v, val * (ssq - self*self) / (sum - self)) ; } ; }
void mclvSelectHighestGT ( mclVector* vec , dim max_n_ivps ) { double f ; if (vec->n_ivps <= max_n_ivps) return ; f = vec->n_ivps >= 2 * max_n_ivps ? mclvKBar (vec, max_n_ivps, PVAL_MAX, KBAR_SELECT_LARGE) : mclvKBar (vec, vec->n_ivps - max_n_ivps + 1, -PVAL_MAX, KBAR_SELECT_SMALL) ; mclvSelectGtBar(vec, f) ; }