private static float[] filterFloats(FloatSet floatSet, float[] source) { FloatList floatList = new FloatArrayList(); for (float value : source) { if (floatSet.contains(value)) { floatList.add(value); } } if (floatList.size() == source.length) { return source; } else { return floatList.toFloatArray(); } }
@Override public boolean add(float key) { return list.add(key); } @Override
features.clear(); for (int featureIndex = 0; featureIndex < featureMapper.numberOfFeatures(); featureIndex++) { features.add(featureMapper.produceFeature(baseInformation, featureIndex)); for (FloatListIterator iterator = features.iterator(); iterator.hasNext(); ) { float next = iterator.nextFloat(); builder.addFeatures(next);
@Override public void size(final int size) { list.size(size); } @Override
/** * Shuffles the specified list using the specified pseudorandom number * generator. * * @param l * the list to be shuffled. * @param random * a pseudorandom number generator. * @return {@code l}. */ public static FloatList shuffle(final FloatList l, final Random random) { for (int i = l.size(); i-- != 0;) { final int p = random.nextInt(i + 1); final float t = l.getFloat(i); l.set(i, l.getFloat(p)); l.set(p, t); } return l; } /**
/** * Creates a new array list and fills it with a given type-specific list. * * @param l * a type-specific list that will be used to fill the array list. */ public FloatArrayList(final FloatList l) { this(l.size()); l.getElements(0, a, 0, size = l.size()); } /**
@Override public float getFloat(final int i) { synchronized (sync) { return list.getFloat(i); } } @Override
@Override public float[] toFloatArray() { return list.toFloatArray(); } @Override
/** * {@inheritDoc} * * @deprecated Please use the corresponding type-specific method instead. */ @Deprecated @Override public Float get(final int i) { return list.get(i); } /**
@Override public void clear() { list.clear(); } @Override
@Override public FloatBigListIterator iterator() { return FloatBigListIterators.asBigListIterator(list.iterator()); } @Override
@Override public void add(final int i, final float k) { synchronized (sync) { list.add(i, k); } } @Override
@Override public boolean addAll(final int index, final FloatList l) { ensureIndex(index); final int n = l.size(); if (n == 0) return false; grow(size + n); if (index != size) System.arraycopy(a, index, a, index + n, size - index); l.getElements(0, a, index, n); size += n; assert size <= a.length; return true; } @Override
@Override public float getFloat(final int i) { return list.getFloat(i); } @Override
/** * {@inheritDoc} * * @deprecated Please use the corresponding type-specific method instead. */ @Deprecated @Override public Float get(final int i) { synchronized (sync) { return list.get(i); } } /**
@Override public Explanation explain(int doc) { int encoded = _dataCache.orderArray.get(doc); int count = 1; FloatList scoreList = new FloatArrayList(_dataCache.valArray.size()); ArrayList<Explanation> explList = new ArrayList<Explanation>(scoreList.size()); while (encoded != 0) { if ((encoded & 0x00000001) != 0x0) { int idx = count - 1; scoreList.add(_function.score(_dataCache.freqs[idx], _boostList[idx])); explList.add(_function.explain(_dataCache.freqs[idx], _boostList[idx])); } count++; encoded >>>= 1; } Explanation topLevel = _function.explain(scoreList.toFloatArray()); for (Explanation sub : explList) { topLevel.addDetail(sub); } return topLevel; }