protected double shorter(double[] rawTarget,double min){
  double minsq=min * min;
  double maxV=minsq;
  for (int i=0; i < this.max; i++) {
    double d=rawTarget[i] - cached[i];
    if ((maxV-=d * d) < 0) {
      return -1;
    }
  }
  return Math.sqrt(minsq - maxV);
}

protected double shorter ( double [ ] rawTarget , double min ) { double minsq = min * min ; double maxV = minsq ; for ( int i = 0 ; i < this . max ; i ++ ) { double d = rawTarget [ i ] - cached [ i ] ; if ( ( maxV -= d * d ) < 0 ) { return - 1 ; } } return Math . sqrt ( minsq - maxV ) ; }
given the target in optimized form , determine if node is closer than min .
