private double pdf(double x,int j){
  int from=Arrays.binarySearch(X,x - h * k.cutOff());
  int to=Arrays.binarySearch(X,x + h * k.cutOff());
  from=from < 0 ? -from - 1 : from;
  to=to < 0 ? -to - 1 : to;
  if (weights.length == 0 && k instanceof UniformKF)   return (to - from) * 0.5 / (sumOFWeights * h);
  double sum=0;
  for (int i=Math.max(0,from); i < Math.min(X.length,to + 1); i++)   if (i != j)   sum+=k.k((x - X[i]) / h) * getWeight(i);
  return sum / (sumOFWeights * h);
}

private double pdf ( double x , int j ) { int from = Arrays . binarySearch ( X , x - h * k . cutOff ( ) ) ; int to = Arrays . binarySearch ( X , x + h * k . cutOff ( ) ) ; from = from < 0 ? - from - 1 : from ; to = to < 0 ? - to - 1 : to ; if ( weights . length == 0 && k instanceof UniformKF ) return ( to - from ) * 0.5 / ( sumOFWeights * h ) ; double sum = 0 ; for ( int i = Math . max ( 0 , from ) ; i < Math . min ( X . length , to + 1 ) ; i ++ ) if ( i != j ) sum += k . k ( ( x - X [ i ] ) / h ) * getWeight ( i ) ; return sum / ( sumOFWeights * h ) ; }
computes the leave one out pdf of the estimator
