本文整理汇总了Java中it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap类的典型用法代码示例。如果您正苦于以下问题:Java Long2DoubleOpenHashMap类的具体用法?Java Long2DoubleOpenHashMap怎么用?Java Long2DoubleOpenHashMap使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Long2DoubleOpenHashMap类属于it.unimi.dsi.fastutil.longs包,在下文中一共展示了Long2DoubleOpenHashMap类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: doProcessRow
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
@Override
protected double doProcessRow(ServerSparseDoubleLongKeyRow row1, ServerSparseDoubleLongKeyRow row2) {
Long2DoubleOpenHashMap data1 = row1.getIndex2ValueMap();
Long2DoubleOpenHashMap data2 = row2.getIndex2ValueMap();
if (data1.defaultReturnValue() != data2.defaultReturnValue()) {
return 0.0;
}
LongSet keys = data1.keySet();
keys.addAll(data2.keySet());
if (keys.size() != data1.keySet().size() || keys.size() != data2.keySet().size()) {
return 0.0;
}
for (long key: keys) {
if (Math.abs(data1.get(key) - data2.get(key)) > 1e-10) {
return 0.0;
}
}
return 1.0;
}
开发者ID:Tencent,项目名称:angel,代码行数:23,代码来源:Equal.java
示例2: doProcessRow
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
@Override
protected double doProcessRow(ServerSparseDoubleLongKeyRow row1, ServerSparseDoubleLongKeyRow row2) {
long entireSize = row1.getEndCol() - row2.getStartCol();
Long2DoubleOpenHashMap data1 = row1.getIndex2ValueMap();
Long2DoubleOpenHashMap data2 = row2.getIndex2ValueMap();
LongSet keys = data1.keySet();
keys.addAll(data2.keySet());
double sum = 0.0;
for (long key: keys) {
sum += data1.get(key) * data2.get(key);
}
sum += (entireSize - keys.size()) * data1.defaultReturnValue() * data2.defaultReturnValue();
return sum;
}
开发者ID:Tencent,项目名称:angel,代码行数:18,代码来源:Dot.java
示例3: doUpdate
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
@Override
protected void doUpdate(ServerSparseDoubleLongKeyRow[] rows, Serialize func) {
Zip2MapWithIndexFunc mapper = (Zip2MapWithIndexFunc) func;
Long2DoubleOpenHashMap from1 = rows[0].getData();
Long2DoubleOpenHashMap from2 = rows[1].getData();
Long2DoubleOpenHashMap to = from1.clone();
// TODO: a better way is needed to deal with defaultValue
assert (from1.defaultReturnValue() == 0.0 && from2.defaultReturnValue() == 0.0);
LongSet keySet = from1.keySet();
keySet.addAll(from2.keySet());
for (long key: keySet) {
to.put(key, mapper.call((int)key, from1.get(key), from2.get(key)));
}
rows[2].setIndex2ValueMap(to);
}
开发者ID:Tencent,项目名称:angel,代码行数:18,代码来源:Zip2MapWithIndex.java
示例4: doUpdate
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
@Override
protected void doUpdate(ServerSparseDoubleLongKeyRow[] rows, Serialize func) {
Zip2MapFunc mapper = (Zip2MapFunc) func;
Long2DoubleOpenHashMap from1 = rows[0].getData();
Long2DoubleOpenHashMap from2 = rows[1].getData();
Long2DoubleOpenHashMap to = from1.clone();
to.defaultReturnValue(mapper.call(from1.defaultReturnValue(), from2.defaultReturnValue()));
LongSet keySet = from1.keySet();
keySet.addAll(from2.keySet());
for (long key: keySet) {
to.put(key, mapper.call(from1.get(key), from2.get(key)));
}
rows[2].setIndex2ValueMap(to);
}
开发者ID:Tencent,项目名称:angel,代码行数:18,代码来源:Zip2Map.java
示例5: doUpdate
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
@Override
protected void doUpdate(ServerSparseDoubleLongKeyRow[] rows, Serialize func) {
Zip3MapWithIndexFunc mapper = (Zip3MapWithIndexFunc) func;
Long2DoubleOpenHashMap from1 = rows[0].getData();
Long2DoubleOpenHashMap from2 = rows[1].getData();
Long2DoubleOpenHashMap from3 = rows[2].getData();
Long2DoubleOpenHashMap to = from1.clone();
// TODO: a better way is needed to deal with defaultValue
assert (from1.defaultReturnValue() == 0.0 && from2.defaultReturnValue() == 0.0);
LongSet keySet = from1.keySet();
keySet.addAll(from2.keySet());
for (long key: keySet) {
to.put(key, mapper.call((int)key, from1.get(key), from2.get(key), from3.get(key)));
}
rows[2].setIndex2ValueMap(to);
}
开发者ID:Tencent,项目名称:angel,代码行数:19,代码来源:Zip3MapWithIndex.java
示例6: doUpdate
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
@Override
protected void doUpdate(ServerSparseDoubleLongKeyRow[] rows, Serialize func) {
Zip3MapFunc mapper = (Zip3MapFunc) func;
Long2DoubleOpenHashMap from1 = rows[0].getData();
Long2DoubleOpenHashMap from2 = rows[1].getData();
Long2DoubleOpenHashMap from3 = rows[2].getData();
Long2DoubleOpenHashMap to = from1.clone();
to.defaultReturnValue(mapper
.call(from1.defaultReturnValue(), from2.defaultReturnValue(), from3.defaultReturnValue()));
LongSet keySet = from1.keySet();
keySet.addAll(from2.keySet());
for (long key: keySet) {
to.put(key, mapper.call(from1.get(key), from2.get(key), from3.get(key)));
}
rows[2].setIndex2ValueMap(to);
}
开发者ID:Tencent,项目名称:angel,代码行数:20,代码来源:Zip3Map.java
示例7: loadSparseDoubleLongKeyPartition
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
private static void loadSparseDoubleLongKeyPartition(SparseDoubleLongKeyModel model,
FSDataInputStream input, ModelPartitionMeta partMeta) throws IOException {
int rowNum = input.readInt();
int rowId = 0;
int nnz = 0;
int totalNNZ = 0;
Long2DoubleOpenHashMap row = null;
for (int i = 0; i < rowNum; i++) {
rowId = input.readInt();
nnz = input.readInt();
totalNNZ = (int) (nnz * (model.col) / (partMeta.getEndCol() - partMeta.getStartCol()));
row = model.getRow(rowId, partMeta.getPartId(), totalNNZ);
for (int j = 0; j < nnz; j++) {
row.put(input.readLong(), input.readDouble());
}
}
}
开发者ID:Tencent,项目名称:angel,代码行数:19,代码来源:ModelLoader.java
示例8: loadToDoubleLongKeyMaps
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
/**
* Load dense double model to long->double maps
*
* @param modelDir model save directory path
* @return model data
*/
public static Long2DoubleOpenHashMap[] loadToDoubleLongKeyMaps(String modelDir,
Configuration conf)
throws IOException {
// Load model meta
ModelFilesMeta meta = getMeta(modelDir, conf);
// Check row type
if (meta.getRowType() != SPARSE_DOUBLE_LONGKEY) {
throw new IOException("model row type is not sparse int, you should check it");
}
// Load model
SparseDoubleLongKeyModel model = new SparseDoubleLongKeyModel(meta.getRow(), meta.getCol());
loadModel(modelDir, model, meta, conf);
return model.getModel();
}
开发者ID:Tencent,项目名称:angel,代码行数:24,代码来源:ModelLoader.java
示例9: convertSparseDoubleLongKeyModel
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
private static void convertSparseDoubleLongKeyModel(Configuration conf, FSDataOutputStream output,
String modelInputDir, ModelLineConvert lineConvert) throws IOException {
Long2DoubleOpenHashMap[] data = ModelLoader.loadToDoubleLongKeyMaps(modelInputDir, conf);
for(int i = 0; i < data.length; i++) {
Long2DoubleOpenHashMap row = data[i];
data[i] = null;
if(row == null) {
continue;
}
lineConvert.convertRowIndex(output, i);
long [] indexes = row.keySet().toLongArray();
double [] values = row.values().toDoubleArray();
row = null;
Sort.quickSort(indexes, values, 0, indexes.length - 1);
for(int j = 0; j < indexes.length; j++) {
lineConvert.convertDoubleLongKey(output, indexes[j], values[j]);
}
}
}
开发者ID:Tencent,项目名称:angel,代码行数:21,代码来源:ModelMergeAndConvert.java
示例10: verifyCandidates
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
private final Long2DoubleOpenHashMap verifyCandidates(final Vector v, Long2DoubleOpenHashMap accumulator) {
Long2DoubleOpenHashMap matches = new Long2DoubleOpenHashMap();
for (Long2DoubleMap.Entry e : accumulator.long2DoubleEntrySet()) {
final long candidateID = e.getLongKey();
if (Double.compare(e.getDoubleValue() + ps.get(candidateID), theta) < 0) // A[y] = dot(x, y'')
continue; // l2 pruning
Vector residual = residuals.get(candidateID);
assert (residual != null);
final double ds1 = e.getDoubleValue()
+ Math.min(v.maxValue() * residual.sumValues(), residual.maxValue() * v.sumValues());
if (Double.compare(ds1, theta) < 0)
continue; // dpscore, eq. (5)
final double sz2 = e.getDoubleValue() + Math.min(v.maxValue() * residual.size(), residual.maxValue() * v.size());
if (Double.compare(sz2, theta) < 0)
continue; // dpscore, eq. (9)
final long deltaT = v.timestamp() - candidateID;
double score = e.getDoubleValue() + Vector.similarity(v, residual); // dot(x, y) = A[y] + dot(x, y')
score *= forgettingFactor(lambda, deltaT); // apply forgetting factor
numSimilarities++;
if (Double.compare(score, theta) >= 0) // final check
matches.put(candidateID, score);
}
numMatches += matches.size();
return matches;
}
开发者ID:gdfm,项目名称:sssj,代码行数:27,代码来源:L2Index.java
示例11: verifyCandidates
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
private final Long2DoubleOpenHashMap verifyCandidates(final Vector v, Long2DoubleOpenHashMap accumulator) {
Long2DoubleOpenHashMap matches = new Long2DoubleOpenHashMap();
for (Long2DoubleMap.Entry e : accumulator.long2DoubleEntrySet()) {
final long candidateID = e.getLongKey();
if (Double.compare(e.getDoubleValue() + ps.get(candidateID), theta) < 0) // A[y] = dot(x, y'')
continue; // l2 pruning
final Vector residual = residuals.get(candidateID);
assert (residual != null);
final double ds1 = e.getDoubleValue()
+ Math.min(v.maxValue() * residual.sumValues(), residual.maxValue() * v.sumValues());
if (Double.compare(ds1, theta) < 0)
continue; // dpscore, eq. (5)
final double sz2 = e.getDoubleValue() + Math.min(v.maxValue() * residual.size(), residual.maxValue() * v.size());
if (Double.compare(sz2, theta) < 0)
continue; // dpscore, eq. (9)
final long deltaT = v.timestamp() - candidateID;
double score = e.getDoubleValue() + Vector.similarity(v, residual); // dot(x, y) = A[y] + dot(x, y')
score *= forgettingFactor(lambda, deltaT); // apply forgetting factor
numSimilarities++;
if (Double.compare(score, theta) >= 0) // final check
matches.put(candidateID, score);
}
numMatches += matches.size();
return matches;
}
开发者ID:gdfm,项目名称:sssj,代码行数:27,代码来源:L2APIndex.java
示例12: verifyCandidates
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
private Long2DoubleOpenHashMap verifyCandidates(final Vector v, Long2DoubleOpenHashMap accumulator) {
Long2DoubleOpenHashMap matches = new Long2DoubleOpenHashMap();
for (Long2DoubleMap.Entry e : accumulator.long2DoubleEntrySet()) {
long candidateID = e.getLongKey();
Vector candidateResidual = residuals.get(candidateID);
assert (candidateResidual != null);
double score = e.getDoubleValue() + Vector.similarity(v, candidateResidual); // A[y] + dot(y',x)
long deltaT = v.timestamp() - candidateID;
score *= Commons.forgettingFactor(lambda, deltaT); // apply forgetting factor
numSimilarities++;
if (Double.compare(score, theta) >= 0) // final check
matches.put(candidateID, score);
}
numMatches += matches.size();
return matches;
}
开发者ID:gdfm,项目名称:sssj,代码行数:17,代码来源:APIndex.java
示例13: LongDoubleMessageStore
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
/**
* Constructor
*
* @param service Service worker
* @param combiner Message combiner
*/
public LongDoubleMessageStore(
CentralizedServiceWorker<LongWritable, ?, ?> service,
Combiner<LongWritable, DoubleWritable> combiner) {
this.service = service;
this.combiner = combiner;
map = new Int2ObjectOpenHashMap<Long2DoubleOpenHashMap>();
for (int partitionId : service.getPartitionStore().getPartitionIds()) {
Partition<LongWritable, ?, ?> partition =
service.getPartitionStore().getPartition(partitionId);
Long2DoubleOpenHashMap partitionMap =
new Long2DoubleOpenHashMap((int) partition.getVertexCount());
map.put(partitionId, partitionMap);
}
}
开发者ID:renato2099,项目名称:giraph-gora,代码行数:22,代码来源:LongDoubleMessageStore.java
示例14: doProcessRow
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
@Override
protected double doProcessRow(ServerSparseDoubleLongKeyRow row) {
long entireSize = row.getEndCol() - row.getStartCol();
double qSum = 0.0;
Long2DoubleOpenHashMap data = row.getIndex2ValueMap();
for (Map.Entry<Long, Double> entry: data.long2DoubleEntrySet()) {
qSum += Math.pow(entry.getValue(), 2);
}
qSum += Math.pow(data.defaultReturnValue(), 2) * (entireSize - data.size());
return qSum;
}
开发者ID:Tencent,项目名称:angel,代码行数:13,代码来源:Nrm2.java
示例15: doProcessRow
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
@Override
protected double doProcessRow(ServerSparseDoubleLongKeyRow row) {
long entireSize = row.getEndCol() - row.getStartCol();
Long2DoubleOpenHashMap data = row.getData();
double asum = 0.0;
for (Map.Entry<Long, Double> entry: data.long2DoubleEntrySet()) {
asum += entry.getValue();
}
asum += data.defaultReturnValue() * (entireSize - data.size());
return asum;
}
开发者ID:Tencent,项目名称:angel,代码行数:13,代码来源:Sum.java
示例16: doProcessRow
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
@Override
protected double doProcessRow(ServerSparseDoubleLongKeyRow row) {
Long2DoubleOpenHashMap data = row.getIndex2ValueMap();
double amin = data.defaultReturnValue();
for (Map.Entry<Long, Double> entry: data.long2DoubleEntrySet()) {
amin = Math.min(amin, entry.getValue());
}
return amin;
}
开发者ID:Tencent,项目名称:angel,代码行数:11,代码来源:Min.java
示例17: doProcessRow
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
@Override
protected double doProcessRow(ServerSparseDoubleLongKeyRow row) {
Long2DoubleOpenHashMap data = row.getIndex2ValueMap();
double amin = Math.abs(data.defaultReturnValue());
for (Map.Entry<Long, Double> entry: data.long2DoubleEntrySet()) {
amin = Math.min(amin, Math.abs(entry.getValue()));
}
return amin;
}
开发者ID:Tencent,项目名称:angel,代码行数:11,代码来源:Amin.java
示例18: doProcessRow
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
@Override
protected double doProcessRow(ServerSparseDoubleLongKeyRow row) {
Long2DoubleOpenHashMap data = row.getIndex2ValueMap();
double amax = Math.abs(data.defaultReturnValue());
for (Map.Entry<Long, Double> entry: data.long2DoubleEntrySet()) {
amax = Math.max(amax, Math.abs(entry.getValue()));
}
return amax;
}
开发者ID:Tencent,项目名称:angel,代码行数:11,代码来源:Amax.java
示例19: doProcessRow
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
@Override
protected double doProcessRow(ServerSparseDoubleLongKeyRow row) {
Long2DoubleOpenHashMap data = row.getIndex2ValueMap();
double amax = data.defaultReturnValue();
for (Map.Entry<Long, Double> entry: data.long2DoubleEntrySet()) {
amax = Math.max(amax, entry.getValue());
}
return amax;
}
开发者ID:Tencent,项目名称:angel,代码行数:11,代码来源:Max.java
示例20: doProcessRow
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入依赖的package包/类
@Override
protected double doProcessRow(ServerSparseDoubleLongKeyRow row) {
long entireSize = row.getEndCol() - row.getStartCol();
Long2DoubleOpenHashMap data = row.getData();
double asum = 0.0;
for (Map.Entry<Long, Double> entry: data.long2DoubleEntrySet()) {
asum += Math.abs(entry.getValue());
}
asum += Math.abs(data.defaultReturnValue()) * (entireSize - data.size());
return asum;
}
开发者ID:Tencent,项目名称:angel,代码行数:13,代码来源:Asum.java
注:本文中的it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论