How to use the moltemplate.nbody_graph_search.Dgraph.AddEdge function in moltemplate

To help you get started, we’ve selected a few moltemplate examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github jewettaij / moltemplate / moltemplate / nbody_graph_search.py View on Github external
self.ieu_to_ied = [Dgraph.NULL for ieu in range(0, neu)]
        self.ied_to_ieu = [Dgraph.NULL for ied in range(0, ned)]

        ied_redundant = neu
        for ie in range(0, neu):
            iv = self.edges[ie].start
            jv = self.edges[ie].stop
            attr = self.edges[ie].attr
            self.ieu_to_ied[ie] = ie
            self.ied_to_ieu[ie] = ie

            if iv != jv:
               # Then create another edge which points in the reverse direction
                # <--this increments self.ne
                Dgraph.AddEdge(self, jv, iv, attr)
                self.ied_to_ieu[ied_redundant] = ie
                ied_redundant += 1

        self.neu = neu
        assert(self.ne == ned)
github jewettaij / moltemplate / moltemplate / nbody_graph_search.py View on Github external
def AddEdge(self, iv, jv, attr=None, remove_duplicates=False):
        """
        Add an edge to an undirected graph connecting vertices iv and jv.
        If the edge is already present (and remove_duplicates==True),
        no new edge will be added.

        Note: Undirected Ugraphs are implemented by creating two separate
              digraph edges that conect iv->jv  and jv->iv.

        """

        self.ieu_to_ied.append( len(self.edges) )
        Dgraph.AddEdge(self, iv, jv, attr, remove_duplicates)
        self.ied_to_ieu.append( self.neu )
        if jv != iv:
            Dgraph.AddEdge(self, jv, iv, attr, remove_duplicates)
            self.ied_to_ieu.append( self.neu )
        self.neu += 1

        assert(len(self.ieu_to_ied) == self.neu)
        assert(len(self.ied_to_ieu) == len(self.edges))
github jewettaij / moltemplate / moltemplate / nbody_graph_search.py View on Github external
def AddEdge(self, iv, jv, attr=None, remove_duplicates=False):
        """
        Add an edge to an undirected graph connecting vertices iv and jv.
        If the edge is already present (and remove_duplicates==True),
        no new edge will be added.

        Note: Undirected Ugraphs are implemented by creating two separate
              digraph edges that conect iv->jv  and jv->iv.

        """

        self.ieu_to_ied.append( len(self.edges) )
        Dgraph.AddEdge(self, iv, jv, attr, remove_duplicates)
        self.ied_to_ieu.append( self.neu )
        if jv != iv:
            Dgraph.AddEdge(self, jv, iv, attr, remove_duplicates)
            self.ied_to_ieu.append( self.neu )
        self.neu += 1

        assert(len(self.ieu_to_ied) == self.neu)
        assert(len(self.ied_to_ieu) == len(self.edges))
github jewettaij / moltemplate / moltemplate / nbody_graph_search.py View on Github external
def AddEdge(self, iv, jv, attr=None, remove_duplicates=False):
        """
        Add an edge to an undirected graph connecting vertices iv and jv.
        If the edge is already present (and remove_duplicates==True),
        no new edge will be added.

        Note: Undirected Ugraphs are implemented by creating two separate
              digraph edges that conect iv->jv  and jv->iv.

        """

        self.ieu_to_ied.append(len(self.edges))
        Dgraph.AddEdge(self, iv, jv, attr, remove_duplicates)
        self.ied_to_ieu.append(self.neu)
        if jv != iv:
            Dgraph.AddEdge(self, jv, iv, attr, remove_duplicates)
            self.ied_to_ieu.append(self.neu)
        self.neu += 1

        assert(len(self.ieu_to_ied) == self.neu)
        assert(len(self.ied_to_ieu) == len(self.edges))
github jewettaij / moltemplate / moltemplate / nbody_graph_search.py View on Github external
def AddEdge(self, iv, jv, attr=None, remove_duplicates=False):
        """
        Add an edge to an undirected graph connecting vertices iv and jv.
        If the edge is already present (and remove_duplicates==True),
        no new edge will be added.

        Note: Undirected Ugraphs are implemented by creating two separate
              digraph edges that conect iv->jv  and jv->iv.

        """

        self.ieu_to_ied.append(len(self.edges))
        Dgraph.AddEdge(self, iv, jv, attr, remove_duplicates)
        self.ied_to_ieu.append(self.neu)
        if jv != iv:
            Dgraph.AddEdge(self, jv, iv, attr, remove_duplicates)
            self.ied_to_ieu.append(self.neu)
        self.neu += 1

        assert(len(self.ieu_to_ied) == self.neu)
        assert(len(self.ied_to_ieu) == len(self.edges))
github jewettaij / moltemplate / moltemplate / nbody_graph_search.py View on Github external
ned += 1

        self.ieu_to_ied = [Dgraph.NULL for ieu in range(0, neu)]
        self.ied_to_ieu = [Dgraph.NULL for ied in range(0, ned)]

        ied_redundant = neu
        for ie in range(0, neu):
            iv   = self.edges[ie].start
            jv   = self.edges[ie].stop
            attr = self.edges[ie].attr
            self.ieu_to_ied[ie] = ie
            self.ied_to_ieu[ie] = ie

            if iv != jv:
               # Then create another edge which points in the reverse direction
                Dgraph.AddEdge(self, jv, iv, attr) # <--this increments self.ne
                self.ied_to_ieu[ied_redundant] = ie
                ied_redundant += 1

        self.neu = neu
        assert(self.ne == ned)