de.lmu.ifi.dbs.elki.utilities.datastructures.arraylike.ArrayAdapter类的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(6.4k)|赞(0)|评价(0)|浏览(104)

本文整理了Java中de.lmu.ifi.dbs.elki.utilities.datastructures.arraylike.ArrayAdapter类的一些代码示例,展示了ArrayAdapter类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ArrayAdapter类的具体详情如下:
包路径:de.lmu.ifi.dbs.elki.utilities.datastructures.arraylike.ArrayAdapter
类名称:ArrayAdapter

ArrayAdapter介绍

[英]Adapter for array-like things. For example, arrays and lists.
[中]类似于数组的东西的适配器。例如,数组和列表。

代码示例

代码示例来源:origin: elki-project/elki

@Override
public <A> IntegerVector newFeatureVector(A array, ArrayAdapter<? extends Number, A> adapter) {
 int dim = adapter.size(array);
 int[] values = new int[dim];
 for (int i = 0; i < dim; i++) {
  values[i] = adapter.get(array, i).intValue();
 }
 return new IntegerVector(values, true);
}

代码示例来源:origin: elki-project/elki

@Override
 public T get(A array, int off) throws IndexOutOfBoundsException {
  return wrapped.get(array, offs[off]);
 }
}

代码示例来源:origin: elki-project/elki

/**
 * Constructor.
 * 
 * @param array Original array
 * @param getter Adapter for array
 * @param extra Extra element
 */
protected ExtendedArray(Object array, ArrayAdapter<T, Object> getter, T extra) {
 super();
 this.array = array;
 this.getter = getter;
 this.extra = extra;
 this.size = getter.size(array) + 1;
}

代码示例来源:origin: elki-project/elki

/**
 * Get an entry.
 * 
 * @param pair Entry pair
 * @return Entry
 */
private E get(DoubleIntPair pair) {
 return getter.get(entries, pair.second);
}

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki-core-util

/**
 * Constructor.
 * 
 * @param array Original array
 * @param getter Adapter for array
 * @param extra Extra element
 */
protected ExtendedArray(Object array, ArrayAdapter<T, Object> getter, T extra) {
 super();
 this.array = array;
 this.getter = getter;
 this.extra = extra;
 this.size = getter.size(array) + 1;
}

代码示例来源:origin: elki-project/elki

@Override
public <A> SparseIntegerVector newFeatureVector(A array, ArrayAdapter<? extends Number, A> adapter) {
 int dim = adapter.size(array);
 int[] values = new int[dim];
 for(int i = 0; i < dim; i++) {
  values[i] = adapter.get(array, i).intValue();
 }
 // TODO: improve efficiency
 return new SparseIntegerVector(values);
}

代码示例来源:origin: elki-project/elki

@Override
 public T get(A array, int off) throws IndexOutOfBoundsException {
  assert (off == 0) : "Invalid get()";
  return wrapped.get(array, off);
 }
}

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki

/**
 * Constructor.
 * 
 * @param array Original array
 * @param getter Adapter for array
 * @param extra Extra element
 */
protected ExtendedArray(Object array, ArrayAdapter<T, Object> getter, T extra) {
 super();
 this.array = array;
 this.getter = getter;
 this.extra = extra;
 this.size = getter.size(array) + 1;
}

代码示例来源:origin: elki-project/elki

@Override
public <A> OneDimensionalDoubleVector newFeatureVector(A array, ArrayAdapter<? extends Number, A> adapter) {
 assert (adapter.size(array) == 1) : "Incorrect dimensionality for 1-dimensional vector.";
 return new OneDimensionalDoubleVector(adapter.get(array, 0).doubleValue());
}

代码示例来源:origin: elki-project/elki

/**
 * Get an entry.
 * 
 * @param off Offset
 * @return Entry
 */
private E get(int off) {
 return getter.get(entries, off);
}

代码示例来源:origin: elki-project/elki

@Override
public <E extends SpatialComparable, A> long[] split(A entries, ArrayAdapter<E, A> getter, int minEntries) {
 Split<A, E> split = new Split<>(entries, getter);
 split.chooseSplitAxis(minEntries);
 split.chooseSplitPoint(minEntries);
 assert (split.splitPoint < split.size) : "Invalid split produced. Size: " + getter.size(entries) + " minEntries: " + minEntries + " split.size: " + split.size;
 long[] assignment = BitsUtil.zero(split.size);
 for(int i = split.splitPoint; i < split.size; i++) {
  BitsUtil.setI(assignment, split.bestSorting[i].second);
 }
 return assignment;
}

代码示例来源:origin: elki-project/elki

@Override
public <A> ByteVector newFeatureVector(A array, ArrayAdapter<? extends Number, A> adapter) {
 int dim = adapter.size(array);
 byte[] values = new byte[dim];
 for(int i = 0; i < dim; i++) {
  values[i] = adapter.get(array, i).byteValue();
 }
 return new ByteVector(values, true);
}

代码示例来源:origin: elki-project/elki

@Override
public T get(ExtendedArray<T> array, int off) throws IndexOutOfBoundsException {
 assert (this == array);
 if(off == size - 1) {
  return extra;
 }
 return getter.get(this.array, off);
}

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki

@Override
public <E extends SpatialComparable, A> long[] split(A entries, ArrayAdapter<E, A> getter, int minEntries) {
 Split<A, E> split = new Split<>(entries, getter);
 split.chooseSplitAxis(minEntries);
 split.chooseSplitPoint(minEntries);
 assert (split.splitPoint < split.size) : "Invalid split produced. Size: " + getter.size(entries) + " minEntries: " + minEntries + " split.size: " + split.size;
 long[] assignment = BitsUtil.zero(split.size);
 for(int i = split.splitPoint; i < split.size; i++) {
  BitsUtil.setI(assignment, split.bestSorting[i].second);
 }
 return assignment;
}

代码示例来源:origin: elki-project/elki

@Override
public <A> SparseShortVector newFeatureVector(A array, ArrayAdapter<? extends Number, A> adapter) {
 int dim = adapter.size(array);
 short[] values = new short[dim];
 for(int i = 0; i < dim; i++) {
  values[i] = adapter.get(array, i).shortValue();
 }
 // TODO: improve efficiency
 return new SparseShortVector(values);
}

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki-core-util

@Override
 public T get(A array, int off) throws IndexOutOfBoundsException {
  assert (off == 0) : "Invalid get()";
  return wrapped.get(array, off);
 }
}

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki-index-rtree

@Override
public <E extends SpatialComparable, A> long[] split(A entries, ArrayAdapter<E, A> getter, int minEntries) {
 Split<A, E> split = new Split<>(entries, getter);
 split.chooseSplitAxis(minEntries);
 split.chooseSplitPoint(minEntries);
 assert (split.splitPoint < split.size) : "Invalid split produced. Size: " + getter.size(entries) + " minEntries: " + minEntries + " split.size: " + split.size;
 long[] assignment = BitsUtil.zero(split.size);
 for(int i = split.splitPoint; i < split.size; i++) {
  BitsUtil.setI(assignment, split.bestSorting[i].second);
 }
 return assignment;
}

代码示例来源:origin: elki-project/elki

@Override
public <A> FloatVector newFeatureVector(A array, ArrayAdapter<? extends Number, A> adapter) {
 int dim = adapter.size(array);
 float[] values = new float[dim];
 for(int i = 0; i < dim; i++) {
  values[i] = adapter.get(array, i).floatValue();
 }
 return new FloatVector(values, true);
}

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki-core-util

@Override
 public T get(A array, int off) throws IndexOutOfBoundsException {
  return wrapped.get(array, offs[off]);
 }
}

代码示例来源:origin: elki-project/elki

@Override
public <A> SparseFloatVector newFeatureVector(A array, ArrayAdapter<? extends Number, A> adapter) {
 int dim = adapter.size(array);
 float[] values = new float[dim];
 for(int i = 0; i < dim; i++) {
  values[i] = adapter.get(array, i).floatValue();
 }
 // TODO: inefficient
 return new SparseFloatVector(values);
}

相关文章

微信公众号

最新文章

更多