| 225 | } |
| 226 | |
| 227 | @Override |
| 228 | @SuppressWarnings("unchecked") |
| 229 | public List<? extends VecPaired<V, Double>> search(Vec query, double range) |
| 230 | { |
| 231 | if(range <= 0) |
| 232 | throw new RuntimeException("Range must be a positive number"); |
| 233 | List<VecPairedComparable<V, Double>> returnList = new ArrayList<VecPairedComparable<V, Double>>(); |
| 234 | |
| 235 | List<Double> qi = dm.getQueryInfo(query); |
| 236 | root.searchRange(VecPaired.extractTrueVec(query), range, (List)returnList, 0.0, qi); |
| 237 | |
| 238 | Collections.sort(returnList); |
| 239 | |
| 240 | return returnList; |
| 241 | } |
| 242 | |
| 243 | @Override |
| 244 | public List<? extends VecPaired<V, Double>> search(Vec query, int neighbors) |