LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Find Resources
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: cvs at opencores.org<cvs@o...>
    Date: Mon May 29 21:59:58 CEST 2006
    Subject: [cvs-checkins] MODIFIED: jop ...
    Top
    Date: 00/06/05 29:21:59

    Added: jop/java/tools/src/com/jopdesign/util Graph.java Vertex.java
    Log:
    Start with graph utilities


    Revision Changes Path
    1.1 jop/java/tools/src/com/jopdesign/util/Graph.java

    http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/com/jopdesign/util/Graph.java?rev=1.1&content-type=text/x-cvsweb-markup

    Index: Graph.java
    ===================================================================
    package com.jopdesign.util;

    import java.util.*;

    /**
    * Utility class for manipulation of graphs
    * TODO: find a library that does exactly this and
    * is not too big.
    * @author martin, rasmus
    *
    */
    public class Graph {

    HashMap vmap = new HashMap();

    public Vertex addVertex(Object data) {
    Vertex v = new Vertex(data);
    vmap.put(data, v);
    return v;
    }

    public Vertex findVertex(Object data) {
    return (Vertex) vmap.get(data);
    }

    public void addEdge(Vertex from, Vertex to) {
    from.succ.add(to);
    to.pred.add(from);
    }

    /**
    * Generate dot graph
    *
    * @return
    */
    public String printGraph() {

    StringBuffer sb = new StringBuffer();
    sb.append("digraph G {\n");
    sb.append("size = \"10,7.5\"\n");

    Iterator iter = vmap.entrySet().iterator();
    while (iter.hasNext()) {
    Map.Entry me = (Map.Entry) iter.next();
    Vertex v = (Vertex) me.getValue();
    for (Iterator eit = v.getSucc().iterator(); eit.hasNext(); ) {
    Vertex suc = (Vertex) eit.next();
    sb.append("\t"+v.toString()+" -> "+suc.toString()+"\n");
    }
    }


    sb.append("}\n");
    return sb.toString();
    }
    }



    //class Edge {
    //
    // public Edge(Vertex f, Vertex t) {
    // from = f;
    // to = t;
    // }
    // Vertex from;
    // Vertex to;
    //}



    1.1 jop/java/tools/src/com/jopdesign/util/Vertex.java

    http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/com/jopdesign/util/Vertex.java?rev=1.1&content-type=text/x-cvsweb-markup

    Index: Vertex.java
    ===================================================================
    package com.jopdesign.util;

    import java.util.HashSet;

    public class Vertex {
    HashSet succ, pred;

    Object userData;
    public Vertex(Object data) {
    userData = data;
    succ = new HashSet();
    pred = new HashSet(); } public HashSet getSucc() { return succ; } public String toString() { return userData.toString(); } }

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.