- //final double m = getDvalueUnmapped( sorted_i, m_j )
- // - ( ( _r[ _rev_mappings[ sorted_i ] ] + r_j ) / n_minus_2 );
-
- System.out.println( "m=" + m );
- System.out.println( "r_j=" + r_j );
- System.out.println( "umax=" + _umax );
- System.out.println( " =" + ( m - r_j - _umax ) );
- System.out.println( " min_m=" + min_m );
- if ( ( m - r_j - _umax ) > min_m ) {
- System.out.println(">>>>>>>>>>>>>>>>>>>>>>" + m );
+ if ( ( m < min_m ) ) {
+ min_m = m;
+ _min_i = sorted_i;
+ _min_j = j;
+ }
+ }
+ continue X;
+ }
+ }
+ //
+ J: for( int j = 1; j < _n; ++j ) {
+ //System.out.println( "~~~~~~~~~~~~~ min_m=" + min_m );
+ final double r_j = _r[ j ];
+ final int m_j = _mappings[ j ];
+ boolean first = true;
+ for( final Entry<Integer, int[]> entry : _s.getSentrySet( m_j ) ) {
+ if ( first ) {
+ first = false;
+ continue;
+ }
+ for( final int sorted_i : entry.getValue() ) {
+ final double d = _d_values[ sorted_i ][ m_j ];
+ if ( ( d - ( ( _umax + r_j ) / n_minus_2 ) ) > min_m ) {