diff --git a/WANNRelease/WANN/wann_src/ind.py b/WANNRelease/WANN/wann_src/ind.py index 54c41112..b6779e83 100644 --- a/WANNRelease/WANN/wann_src/ind.py +++ b/WANNRelease/WANN/wann_src/ind.py @@ -172,16 +172,13 @@ def getLayer(wMat): wMat[wMat!=0]=1 nNode = np.shape(wMat)[0] layer = np.zeros((nNode)) - while (True): # Loop until sorting is stable - prevOrder = np.copy(layer) - for curr in range(nNode): - srcLayer=np.zeros((nNode)) - for src in range(nNode): - srcLayer[src] = layer[src]*wMat[src,curr] - layer[curr] = np.max(srcLayer)+1 - if all(prevOrder==layer): - break - return layer-1 + iNodes = np.nonzero(wMat.sum(axis=0)==0) + i = 1 + while iNodes[0].size > 0: + iNodes = np.nonzero(wMat[iNodes].sum(axis=0)) + layer[iNodes] = i + i+=1 + return layer # -- ANN Activation ------------------------------------------------------ -- #