enable lazy eval in config

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>

# Conflicts:
#	DAS/validator.py
This commit is contained in:
Csaba Kiraly 2024-03-04 10:09:27 +01:00
parent 36d098cea3
commit 5b41cecb44
No known key found for this signature in database
GPG Key ID: 0FE274EE8C95166E

View File

@ -111,3 +111,18 @@ def nextShape():
chiR = chiC = chi
shape = Shape(blockSizeR, blockSizeRK, blockSizeC, blockSizeCK, nn, fm, fr, class1ratio, chiR, chiC, vpn1, vpn2, netDegree, bwUplinkProd, bwUplink1, bwUplink2, run)
yield shape
def evalConf(self, param, shape = None):
'''Allow lazy evaluation of params in various forms
Examples:
sendLineUntilR = "shape.blockSizeRK"
sendLineUntilC = lambda shape : shape.blockSizeCK
perNodeQueue = "self.amIproposer"
'''
if callable(param):
return param(shape)
elif isinstance(param, str):
return eval(param)
else:
return param