Package gnu.trove.iterator

Examples of gnu.trove.iterator.TIntIterator


   */
  public void mergeCluster() {
    int maxc1 = -1;
    int maxc2 = -1;
    float maxL = Float.NEGATIVE_INFINITY;
    TIntIterator it1 = slots.iterator();   
    while(it1.hasNext()){
      int i = it1.next();
      TIntIterator it2 = slots.iterator();
      //      System.out.print(i+": ");
      while(it2.hasNext()){
        int j= it2.next();

        if(i>=j)
          continue;
        //        System.out.print(j+" ");
        float L = calcL(i, j);
View Full Code Here


        newpcc.put(newid, pcc);
      w = clacW(pcc,pc,pc);
      if(w!=0.0f)
        newwcc.put(newid, w);
    }
    TIntIterator it = slots.iterator();
    while(it.hasNext()){
      int k = it.next();

      float pck = wordProb.get(k);     
      if (c1==k||c2==k) {     
        continue;
      } else {       
View Full Code Here

   * @return
   */
  public float calcL(int c1, int c2) {
    float L = 0;

    TIntIterator it = slots.iterator();
    while(it.hasNext()){
      int k = it.next();
      if(k==c2)
        continue;
      L += weight(c1,c2,k);
    }

    it = slots.iterator();
    while(it.hasNext()){
      int k = it.next();
      L -= getweight(c1,k);
      L -= getweight(c2, k);
    }
    return L;

View Full Code Here

    for (round = 0; round< Math.min(slotsize,mergeCount); round++) {
      slots.add(idx[round]);
      System.out.println(round + "\t" + alpahbet.lookupString(idx[round]) + "\t" + slots.size());

    }
    TIntIterator it1 = slots.iterator();

    while(it1.hasNext()){
      int i = it1.next();
      TIntIterator it2 = slots.iterator();
      while(it2.hasNext()){
        int j= it2.next();
        if(i>j)
          continue;
        weight(i, j);
      }
    }
   
    while (slots.size()>1) {
      if(round < mergeCount)
        System.out.println(round + "\t" + alpahbet.lookupString(idx[round]) + "\tSize:\t" +slots.size());
      else
        System.out.println(round + "\t" + "\tSize:\t" +slots.size());
      System.out.println("[待合并个数:]\t" + remainCount-- );
      long starttime = System.currentTimeMillis();
      mergeCluster();
      long endtime = System.currentTimeMillis();
      System.out.println("\tTime:\t" + (endtime-starttime)/1000.0);
      if(round < mergeCount){
        int id = idx[round];
        slots.add(id);
        TIntIterator it = slots.iterator();
        while(it.hasNext()){
          int j= it.next();
          weight(j, id);
        }
      }else{
        if(!meger )
          return null;
View Full Code Here

      while(it.hasNext()){
        it.advance();
        data.adjustOrPutValue(it.key(), it.value(),it.value());
      }
    }else if(sv instanceof BinarySparseVector){
      TIntIterator it = ((BinarySparseVector) sv).data.iterator();
      while(it.hasNext()){
        int i = it.next();
        data.adjustOrPutValue(i,DefaultValue,DefaultValue);
      }
    }

  }
View Full Code Here

        it.advance();
        float v = it.value()*w;
        data.adjustOrPutValue(it.key(), v,v);
      }
    }else if(sv instanceof BinarySparseVector){
      TIntIterator it = ((BinarySparseVector) sv).data.iterator();
      while(it.hasNext()){
        int i = it.next();
        data.adjustOrPutValue(i,w,w);
      }
    }
  }
View Full Code Here

      for(int k=0;k<=lenDiffThresh;k++){
        int idx = features[i].size()-lenDiffThresh/2+k;
        if(idx<0||idx>=lenGroup.size())
          continue;
        TIntHashSet g = lenGroup.get(idx);
        TIntIterator it = g.iterator();
        for(int t=g.size();t>0;t--){
          int j = it.next();
          if(dup[j]||j==i){
            continue;
          }
          CalcSimilarity cs = new CalcSimilarity(i,j);
          total++;
          pool.execute(cs);
        }
      }
    }
   
    while(jobs.get()<total){
      Thread.sleep(10);
    }
    pool.shutdown();
   
    HashMap<Integer,ArrayList<Integer>>  map =   new HashMap<Integer,ArrayList<Integer>> ();
    for(int id1=0;id1<docs.size();id1++){
      if(!dup[id1]){
        ArrayList<Integer> li = new ArrayList<Integer>();
        li.add(id1);
        map.put(id1, li);
      }
    }
    for(int id1=0;id1<docs.size();id1++){
      if(dup[id1]){
        int root = findroot(id1);
        map.get(root).add(id1);
      }
    }
    TreeSet<DocSim> mapp =new TreeSet<DocSim>();
    Iterator<Entry<Integer, ArrayList<Integer>>> it = map.entrySet().iterator();
    while(it.hasNext()){
      Entry<Integer, ArrayList<Integer>> el = it.next();
      DocSim d = new DocSim(el.getValue());
      mapp.add(d);
    }
    return mapp;
  }
View Full Code Here

  public double simJaccard(TIntHashSet s1, TIntHashSet s2) {
    int com = 0;
    if(s1==null||s2==null)
      return 0;
    TIntIterator it = s1.iterator();
    for ( int i = s1.size(); i-- > 0; ) {
      int v = it.next();
      if(s2.contains(v))
        com++;
    }
    double sim = com*1.0/(s1.size()+s2.size()-com);
    return sim;
View Full Code Here

    data = new TIntArrayList(len);
  }

  @Override
  public float dotProduct(float[] vector) {
    TIntIterator it = data.iterator();
    float sum = 0f;
    while(it.hasNext()){
      int i = it.next();
      if(i<0)
        continue;
      sum += vector[i];
    }
    return sum;
View Full Code Here

 

  @Override
  public float dotProduct(HashSparseVector sv) {
    float v =0f;
    TIntIterator it = data.iterator();     
    while(it.hasNext()){
      int i = it.next();
      v += sv.get(i);
    }
    return v;
  }
View Full Code Here

TOP

Related Classes of gnu.trove.iterator.TIntIterator

Copyright © 2018 www.massapicom. 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.