add Neighbor class as placeholder

Placeholder for per-negighbor structures

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
This commit is contained in:
Csaba Kiraly 2023-01-25 18:19:18 +01:00
parent fd59f44143
commit b38d8e13ae
No known key found for this signature in database
GPG Key ID: 0FE274EE8C95166E
2 changed files with 14 additions and 6 deletions

View File

@ -61,8 +61,8 @@ class Simulator:
for u, v in G.edges: for u, v in G.edges:
val1=rowChannels[id][u] val1=rowChannels[id][u]
val2=rowChannels[id][v] val2=rowChannels[id][v]
val1.rowNeighbors[id].append(val2) val1.rowNeighbors[id].append(Neighbor(val2))
val2.rowNeighbors[id].append(val1) val2.rowNeighbors[id].append(Neighbor(val1))
if (len(columnChannels[id]) < self.shape.netDegree): if (len(columnChannels[id]) < self.shape.netDegree):
self.logger.error("Graph degree higher than %d" % len(columnChannels[id]), extra=self.format) self.logger.error("Graph degree higher than %d" % len(columnChannels[id]), extra=self.format)
@ -72,8 +72,8 @@ class Simulator:
for u, v in G.edges: for u, v in G.edges:
val1=columnChannels[id][u] val1=columnChannels[id][u]
val2=columnChannels[id][v] val2=columnChannels[id][v]
val1.columnNeighbors[id].append(val2) val1.columnNeighbors[id].append(Neighbor(val2))
val2.columnNeighbors[id].append(val1) val2.columnNeighbors[id].append(Neighbor(val1))
def initLogger(self): def initLogger(self):
logger = logging.getLogger("DAS") logger = logging.getLogger("DAS")

View File

@ -7,6 +7,14 @@ from DAS.block import *
from bitarray import bitarray from bitarray import bitarray
from bitarray.util import zeros from bitarray.util import zeros
class Neighbor:
def __repr__(self):
return str(self.node.ID)
def __init__(self, v):
self.node = v
class Validator: class Validator:
ID = 0 ID = 0
@ -122,14 +130,14 @@ class Validator:
if line.any(): if line.any():
self.logger.debug("col %d -> %s", columnID, self.columnNeighbors[columnID] , extra=self.format) self.logger.debug("col %d -> %s", columnID, self.columnNeighbors[columnID] , extra=self.format)
for n in self.columnNeighbors[columnID]: for n in self.columnNeighbors[columnID]:
n.receiveColumn(columnID, line) n.node.receiveColumn(columnID, line)
def sendRow(self, rowID): def sendRow(self, rowID):
line = self.getRow(rowID) line = self.getRow(rowID)
if line.any(): if line.any():
self.logger.debug("row %d -> %s", rowID, self.rowNeighbors[rowID], extra=self.format) self.logger.debug("row %d -> %s", rowID, self.rowNeighbors[rowID], extra=self.format)
for n in self.rowNeighbors[rowID]: for n in self.rowNeighbors[rowID]:
n.receiveRow(rowID, line) n.node.receiveRow(rowID, line)
def sendRows(self): def sendRows(self):
if self.amIproposer == 1: if self.amIproposer == 1: