예제 #1
0
def runAlgoNBB(save, bin, thrille, sched, en, addrlist, err):
    # NBB
    simpsched_NBB = noniterativeBB.noniterativeBB(save, bin, thrille, sched, en, addrlist, err)

    blockremoval.outputResult(simpsched_NBB, err, addrlist, bin, thrille, save)

    NBBsched, NBBenabled, NBBaddrlist, NBBcondlist = blockremoval.readInNewSchedule(save)

    assert simpsched_NBB == NBBsched
    return NBBsched, NBBenabled, NBBaddrlist, NBBcondlist
예제 #2
0
def runAlgoIBB(save, bin, thrille, sched, en, addrlist, err):
    prev_IBBsched = sched
    prev_IBBenabled = en
    IBBsched = []
    IBBenabled = []
    IBBaddrlist = []
    IBBcondlist = []
    while True:
        simpsched_IBB = noniterativeBB.noniterativeBB(save, bin, thrille, prev_IBBsched, prev_IBBenabled, addrlist, err)

        blockremoval.outputResult(simpsched_IBB, err, addrlist, bin, thrille, save)

        IBBsched, IBBenabled, IBBaddrlist, IBBcondlist = blockremoval.readInNewSchedule(save)

        assert simpsched_IBB == IBBsched
        assert IBBaddrlist == addrlist

        if IBBsched == prev_IBBsched:
            break
        else:
            prev_IBBsched = IBBsched
            prev_IBBenabled = IBBenabled

    return IBBsched, IBBenabled, IBBaddrlist, IBBcondlist