Examples of TIntIntHashMap


Examples of gnu.trove.map.hash.TIntIntHashMap

            raw_map.put( keys[i], vals[i] );
        }
        Map<Integer,Long> map = TDecorators.wrap( raw_map );
        assertEquals( map, map );

        TIntIntMap raw_int_map = new TIntIntHashMap();
        for ( int i = 0; i < keys.length; i++ ) {
            raw_int_map.put( keys[i], (int) vals[i] );
        }
        Map<Integer,Integer> int_map = TDecorators.wrap( raw_int_map );
        assertFalse( map.equals( int_map ) );

        // Change a value..
View Full Code Here

Examples of gnu.trove.map.hash.TIntIntHashMap

            int_java_map.put( i, i );
          }
        }
        break;
      case "testInt_TPrimitiveHashMap":
        int_t_primitive_map = new TIntIntHashMap( Constants.INTS.length );
        if ( fill_maps ) {
          for( int i : Constants.INTS ) {
            int_t_primitive_map.put( i, i );
          }
        }
View Full Code Here

Examples of gnu.trove.map.hash.TIntIntHashMap

    @Override
    public void clean() {
        TFloatList olddata = data;
        TIntIntMap oldindexer = indexer;
        data = new TFloatArrayList(olddata.size());
        indexer = new TIntIntHashMap(oldindexer.size());

        int pos = 0;
        TIntIntIterator iter = oldindexer.iterator();
        while (iter.hasNext()) {
            iter.advance();
View Full Code Here

Examples of gnu.trove.map.hash.TIntIntHashMap

    @Override
    public void clean() {
        TFloatList olddata = data;
        TIntIntMap oldindexer = indexer;
        data = new TFloatArrayList(olddata.size());
        indexer = new TIntIntHashMap(oldindexer.size());

        int pos = 0;
        TIntIntIterator iter = oldindexer.iterator();
        while (iter.hasNext()) {
            iter.advance();
View Full Code Here

Examples of gnu.trove.map.hash.TIntIntHashMap

    if (feature.isStopIncrement()) {
      feature.setStopIncrement(false);
      freeze = true;
    }

    TIntIntHashMap index = new TIntIntHashMap();
    TIntIntIterator it = feature.iterator();
    while (it.hasNext()) {
      it.advance();
      int value = it.key();
      int key = it.value();
      index.put(key, value);
    }
    int[] idx = index.keys();
    Arrays.sort(idx);
    int length = weights.length;
    HashFeatureAlphabet newfeat = new HashFeatureAlphabet();
    cl.getAlphabetFactory().setDefaultFeatureAlphabet(newfeat);
    TFloatArrayList ww = new TFloatArrayList();
    for (int i = 0; i < idx.length; i++) {
      int base = idx[i]; //一个特征段起始位置
      int end; //一个特征段结束位置
      if (i < idx.length - 1)
        end = idx[i + 1]; //对应下一个特征段起始位置
      else
        end  = length; //或者整个结束位置

      int interv = end - base;   //一个特征段长度
      float[] sw = new float[interv];
      for (int j = 0; j < interv; j++) {
        sw[j] = weights[base+j];
      }
      float var = MyArrays.viarance(sw);
      if (var>varsthresh) {
        int str = index.get(base);
        int id = newfeat.lookupIndex(str, interv);
        for (int j = 0; j < interv; j++) {
          ww.insert(id + j, weights[base + j]);
        }
      }else{
        //        System.out.print("."); 
      }

    }
    newfeat.setStopIncrement(freeze);
    cl.setWeights(ww.toArray());
    index.clear();
    ww.clear();
  }
View Full Code Here

Examples of gnu.trove.map.hash.TIntIntHashMap

          }else{
            ids = b;
            idl=a;
          }         
          if(similarityMap[ids] == null)
            similarityMap[ids] = new TIntIntHashMap();
          synchronized (similarityMap[ids]) {           
            similarityMap[ids].adjustOrPutValue(idl, 1, 1);
          }

        }
View Full Code Here

Examples of gnu.trove.map.hash.TIntIntHashMap

    int loss = 0;

    int L = data.length;
    // 稀疏矩阵表示(f(x,y)-f(x,\bar{y}))
    TIntIntHashMap diffF = new TIntIntHashMap(); // 最多有2*L*numTemplets个不同

    for (int o = -templets.maxOrder - 1, l = 0; l < L; o++, l++) {
      tS = tS * numLabels % templets.numStates + target[l]; // 目标值:计算当前状态组合的y空间偏移
      pS = pS * numLabels % templets.numStates + predict[l];// 预测值:计算当前状态组合的y空间偏移
      if (predict[l] != target[l])
        ne++;
      if (o >= 0 && (predict[o] != target[o]))
        ne--; // 减去移出clique的节点的label差异

      if (ne > 0) { // 当前clique有不相同label
        loss++; // L(y,ybar)
        for (int t = 0; t < numTemplets; t++) {
          if (data[l][t] == -1)
            continue;
          int tI = data[l][t] + templets.offset[t][tS]; // 特征索引:找到对应weights的维数
          int pI = data[l][t] + templets.offset[t][pS]; // 特征索引:找到对应weights的维数
          if (tI != pI) {
            diffF.adjustOrPutValue(tI, 1, 1);
            diffF.adjustOrPutValue(pI, -1, -1);
            diffW += weights[tI] - weights[pI]; // w^T(f(x,y)-f(x,ybar))
          }
        }
      }
    }

    float diff = 0;
    TIntIntIterator it = diffF.iterator();
    for (int i = diffF.size(); i-- > 0;) {
      it.advance();
      diff += it.value() * it.value();
    }
    it = null;
    float alpha;
    float delta;
    if (useLoss) {
      delta = loss;
    } else
      delta = 1;
    if (diffW < delta) {

      tS = 0;
      pS = 0;
      ne = 0;
      alpha = (delta - diffW) / diff;
      // System.out.println(alpha);
      alpha = Math.min(c, alpha);
      it = diffF.iterator();
      for (int i = diffF.size(); i-- > 0;) {
        it.advance();
        weights[it.key()] += it.value() * alpha;
      }

      return loss;
View Full Code Here

Examples of gnu.trove.map.hash.TIntIntHashMap

     * 最后一个特征的位置
     */
    private int last;

    public HashFeatureAlphabet() {
        intdata = new TIntIntHashMap(DEFAULT_CAPACITY,DEFAULT_LOAD_FACTOR,noEntryValue,noEntryValue);
        frozen = false;
        last = 0;
    }
View Full Code Here

Examples of org.elasticsearch.common.trove.map.hash.TIntIntHashMap

        for (int i = 0; i < values.length; i++) {
            iValues[i] = ThreadLocalRandom.current().nextInt();
        }

        stopWatch = new StopWatch().start();
        TIntIntHashMap intMap = new TIntIntHashMap();
        for (long iter = 0; iter < ITERATIONS; iter++) {
            if (REUSE) {
                intMap.clear();
            } else {
                intMap = new TIntIntHashMap();
            }
            for (long i = 0; i < PUT_OPERATIONS; i++) {
                int key = iValues[(int) (i % NUMBER_OF_KEYS)];
                intMap.adjustOrPutValue(key, 1, 1);
            }
        }
        stopWatch.stop();
        System.out.println("TIntIntHashMap: " + stopWatch.totalTime() + ", " + stopWatch.totalTime().millisFrac() / ITERATIONS + "ms");

        intMap.clear();
        intMap = null;

        // now test with THashMap
        stopWatch = new StopWatch().start();
        TIntObjectHashMap<IntEntry> tIntMap = new TIntObjectHashMap<IntEntry>();
View Full Code Here

Examples of org.elasticsearch.common.trove.map.hash.TIntIntHashMap

    @Override public Facet reduce(String name, List<Facet> facets) {
        if (facets.size() == 1) {
            return facets.get(0);
        }
        InternalIntTermsFacet first = (InternalIntTermsFacet) facets.get(0);
        TIntIntHashMap aggregated = CacheRecycler.popIntIntMap();
        long missing = 0;
        long total = 0;
        for (Facet facet : facets) {
            InternalIntTermsFacet mFacet = (InternalIntTermsFacet) facet;
            missing += mFacet.missingCount();
            total += mFacet.totalCount();
            for (IntEntry entry : mFacet.entries) {
                aggregated.adjustOrPutValue(entry.term, entry.count(), entry.count());
            }
        }

        BoundedTreeSet<IntEntry> ordered = new BoundedTreeSet<IntEntry>(first.comparatorType.comparator(), first.requiredSize);
        for (TIntIntIterator it = aggregated.iterator(); it.hasNext(); ) {
            it.advance();
            ordered.add(new IntEntry(it.key(), it.value()));
        }
        first.entries = ordered;
        first.missing = missing;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.