本文整理汇总了Java中it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap.get方法的典型用法代码示例。如果您正苦于以下问题:Java Long2DoubleOpenHashMap.get方法的具体用法?Java Long2DoubleOpenHashMap.get怎么用?Java Long2DoubleOpenHashMap.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap
的用法示例。
在下文中一共展示了Long2DoubleOpenHashMap.get方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: 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;
}
示例2: getVluesofServerSparseDoubleLongRow
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入方法依赖的package包/类
private double[] getVluesofServerSparseDoubleLongRow(ServerRow row, long[] index) {
Long2DoubleOpenHashMap data = ((ServerSparseDoubleLongKeyRow) row).getData();
double[] values = new double[index.length];
for (int i = 0; i < index.length; i++) {
values[i] = data.get(index[i]);
}
return values;
}
示例3: generateCandidates
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入方法依赖的package包/类
private final Long2DoubleOpenHashMap generateCandidates(final Vector v) {
final Long2DoubleOpenHashMap accumulator = new Long2DoubleOpenHashMap();
double l2remscore = 1, // rs4
rst = 1, squaredQueryPrefixMagnitude = 1;
for (BidirectionalIterator<Entry> vecIter = v.int2DoubleEntrySet().fastIterator(v.int2DoubleEntrySet().last()); vecIter
.hasPrevious();) { // iterate over v in reverse order
final Entry e = vecIter.previous();
final int dimension = e.getIntKey();
final double queryWeight = e.getDoubleValue(); // x_j
final double rscore = l2remscore;
squaredQueryPrefixMagnitude -= queryWeight * queryWeight;
L2APPostingList list;
if ((list = idx.get(dimension)) != null) {
for (L2APPostingEntry pe : list) {
numPostingEntries++;
final long targetID = pe.id(); // y
if (accumulator.containsKey(targetID) || Double.compare(rscore, theta) >= 0) {
final double targetWeight = pe.weight(); // y_j
final double additionalSimilarity = queryWeight * targetWeight; // x_j * y_j
accumulator.addTo(targetID, additionalSimilarity); // A[y] += x_j * y_j
final double l2bound = accumulator.get(targetID) + FastMath.sqrt(squaredQueryPrefixMagnitude)
* pe.magnitude(); // A[y] + ||x'_j|| * ||y'_j||
if (Double.compare(l2bound, theta) < 0)
accumulator.remove(targetID); // prune this candidate (early verification)
}
}
rst -= queryWeight * queryWeight; // rs_t -= x_j^2
l2remscore = FastMath.sqrt(rst); // rs_4 = sqrt(rs_t)
}
}
numCandidates += accumulator.size();
return accumulator;
}
示例4: generateCandidates
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入方法依赖的package包/类
private final Long2DoubleOpenHashMap generateCandidates(final Vector v) {
final Long2DoubleOpenHashMap accumulator = new Long2DoubleOpenHashMap();
double remscore = Vector.similarity(v, maxVectorInIndex); // rs3, enhanced remscore bound
double l2remscore = 1, // rs4
rst = 1, squaredQueryPrefixMagnitude = 1;
for (BidirectionalIterator<Entry> vecIter = v.int2DoubleEntrySet().fastIterator(v.int2DoubleEntrySet().last()); vecIter
.hasPrevious();) { // iterate over v in reverse order
final Entry e = vecIter.previous();
final int dimension = e.getIntKey();
final double queryWeight = e.getDoubleValue(); // x_j
final double rscore = Math.min(remscore, l2remscore);
squaredQueryPrefixMagnitude -= queryWeight * queryWeight;
L2APPostingList list;
if ((list = idx.get(dimension)) != null) {
for (L2APPostingEntry pe : list) {
numPostingEntries++;
final long targetID = pe.id(); // y
if (accumulator.containsKey(targetID) || Double.compare(rscore, theta) >= 0) {
final double targetWeight = pe.weight(); // y_j
final double additionalSimilarity = queryWeight * targetWeight; // x_j * y_j
accumulator.addTo(targetID, additionalSimilarity); // A[y] += x_j * y_j
final double l2bound = accumulator.get(targetID) + FastMath.sqrt(squaredQueryPrefixMagnitude)
* pe.magnitude(); // A[y] + ||x'_j|| * ||y'_j||
if (Double.compare(l2bound, theta) < 0)
accumulator.remove(targetID); // prune this candidate (early verification)
}
}
remscore -= queryWeight * maxVectorInIndex.get(dimension); // rs_3 -= x_j * \hat{c_w}
rst -= queryWeight * queryWeight; // rs_t -= x_j^2
l2remscore = FastMath.sqrt(rst); // rs_4 = sqrt(rs_t)
}
}
numCandidates += accumulator.size();
return accumulator;
}
示例5: compute
import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap; //导入方法依赖的package包/类
@Override
public void compute(String label, String type, int iterations) {
RelationshipType relationshipType = RelationshipType.withName(type);
labelMap = new Long2DoubleOpenHashMap();
boolean done = false;
int iteration = 0;
try ( Transaction tx = db.beginTx()) {
ResourceIterator<Node> nodes = db.findNodes(DynamicLabel.label(label));
while (nodes.hasNext()) {
Node node = nodes.next();
labelMap.put(node.getId(), node.getId());
}
while (!done) {
done = true;
iteration++;
for( Relationship relationship : db.getAllRelationships()) {
if (relationship.isType(relationshipType)) {
long x = relationship.getStartNode().getId();
long y = relationship.getEndNode().getId();
if (x == y) { continue; }
if (labelMap.get(x) > labelMap.get(y)){
labelMap.put(x, labelMap.get(y));
done = false;
} else if (labelMap.get(x) < labelMap.get(y)) {
labelMap.put(y, labelMap.get(x));
done = false;
}
}
}
if (iteration > iterations) {
done = true;
}
}
}
}