private void initializeLookupTable(double[][] splitPositions, NumberVector query, double p) {
    final int dimensions = splitPositions.length;
    final int bordercount = splitPositions[0].length;
    lookup = new double[dimensions][bordercount];
    for(int d = 0; d < dimensions; d++) {
      final double val = query.doubleValue(d);
      for(int i = 0; i < bordercount; i++) {
        lookup[d][i] = FastMath.pow(splitPositions[d][i] - val, p);
      }
    }
  }
private void initializeLookupTable ( double [ ] [ ] splitPositions , NumberVector query , double p ) { final int dimensions = splitPositions . length ; final int bordercount = splitPositions [ 0 ] . length ; lookup = new double [ dimensions ] [ bordercount ] ; for ( int d = 0 ; d < dimensions ; d ++ ) { final double val = query . doubleValue ( d ) ; for ( int i = 0 ; i < bordercount ; i ++ ) { lookup [ d ] [ i ] = FastMath . pow ( splitPositions [ d ] [ i ] - val , p ) ; } } }
Initialize the lookup table.

@param splitPositions Split positions
@param query Query vector
@param p p