当前位置: 首页>>代码示例>>Java>>正文


Java Long2DoubleOpenHashMap.get方法代码示例

本文整理汇总了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;
}
 
开发者ID:Tencent,项目名称:angel,代码行数:18,代码来源:Dot.java

示例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;
}
 
开发者ID:Tencent,项目名称:angel,代码行数:11,代码来源:LongIndexGetFunc.java

示例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;
}
 
开发者ID:gdfm,项目名称:sssj,代码行数:36,代码来源:L2Index.java

示例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;
}
 
开发者ID:gdfm,项目名称:sssj,代码行数:38,代码来源:L2APIndex.java

示例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;
            }
        }
    }
}
 
开发者ID:maxdemarzi,项目名称:graph_processing,代码行数:39,代码来源:LabelPropagationMapStorage.java


注:本文中的it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap.get方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。