Ejemplo n.º 1
0
 def testConvertTupleListToMap(self):
     tupleList=[]
     tupleList.append((0,0))
     tupleList.append((0,1))
     tupleList.append((1,0))
     tupleList.append((1,2))
     tupleList.append((2,2))
     wiringMap=Util.convertTupleListToMap(tupleList)
     self.assertEqual(3,len(wiringMap))
     self.assertEqual(2,len(wiringMap[0]))
     self.assertEqual(1,len(wiringMap[2]))
Ejemplo n.º 2
0
    def getValidReflectorShuffledWiringCfg(self,sequence=None):
        if not sequence:
            sequence=CharIndexMap.getRange()
        wiringTuples=[]
        seq=Shuffler.shuffleSeq(sequence,self.random.nextInt())
        while len(seq)>0:
            selectedPair=self.random.sample(seq,2)
            wiringTuples.append((selectedPair[0],selectedPair[1]))
            wiringTuples.append((selectedPair[1],selectedPair[0]))
            seq.remove(selectedPair[0])
            seq.remove(selectedPair[1])
        result=Util.convertTupleListToMap(wiringTuples)

        return result
Ejemplo n.º 3
0
    def createWiringCfg(self,fromRange,toRange):
        wiringTuples=[]
        if fromRange==toRange:
            shuffledToSeq=self.getShuffledSequence(toRange)
            for i in range(0,len(fromRange)):
                    wiringTuples.append((fromRange[i],shuffledToSeq[i]))
        else:
            coveredTo=[]
            for fromIndex in fromRange:
                mappedTo=self.random.sample(toRange,self.random.nextInt(1,len(toRange)))
                for m in mappedTo:
                    wiringTuples.append((fromIndex,m))
                    if m not in coveredTo:
                        coveredTo.append(m)
            for toIndex in toRange:
                if toIndex not in coveredTo:
                    mappedFrom=self.random.sample(fromRange,self.random.nextInt(1,len(fromRange)))
                    for m in mappedFrom:
                        wiringTuples.append((m,toIndex))

        wiringCfg=Util.convertTupleListToMap(wiringTuples)
        return wiringCfg