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 .