private static void s_uacmxx(SparseBlock a,double[] c,int m,int n,double init,Builtin builtin,int rl,int ru){
  Arrays.fill(c,init);
  int[] cnt=new int[n];
  if (a.isContiguous()) {
    int alen=(int)a.size(rl,ru);
    builtinAgg(a.values(rl),c,a.indexes(rl),a.pos(rl),alen,builtin);
    countAgg(a.values(rl),cnt,a.indexes(rl),a.pos(rl),alen);
  }
 else {
    for (int i=rl; i < ru; i++) {
      if (!a.isEmpty(i)) {
        int apos=a.pos(i);
        int alen=a.size(i);
        double[] avals=a.values(i);
        int[] aix=a.indexes(i);
        builtinAgg(avals,c,aix,apos,alen,builtin);
        countAgg(avals,cnt,aix,apos,alen);
      }
    }
  }
  for (int i=0; i < n; i++)   if (cnt[i] < m)   c[i]=builtin.execute2(c[i],0);
}

private static void s_uacmxx ( SparseBlock a , double [ ] c , int m , int n , double init , Builtin builtin , int rl , int ru ) { Arrays . fill ( c , init ) ; int [ ] cnt = new int [ n ] ; if ( a . isContiguous ( ) ) { int alen = ( int ) a . size ( rl , ru ) ; builtinAgg ( a . values ( rl ) , c , a . indexes ( rl ) , a . pos ( rl ) , alen , builtin ) ; countAgg ( a . values ( rl ) , cnt , a . indexes ( rl ) , a . pos ( rl ) , alen ) ; } else { for ( int i = rl ; i < ru ; i ++ ) { if ( ! a . isEmpty ( i ) ) { int apos = a . pos ( i ) ; int alen = a . size ( i ) ; double [ ] avals = a . values ( i ) ; int [ ] aix = a . indexes ( i ) ; builtinAgg ( avals , c , aix , apos , alen , builtin ) ; countAgg ( avals , cnt , aix , apos , alen ) ; } } } for ( int i = 0 ; i < n ; i ++ ) if ( cnt [ i ] < m ) c [ i ] = builtin . execute2 ( c [ i ] , 0 ) ; }
colmin / colmax , opcode : uacmin / uacmax , sparse input .
