nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 48 lines 1.6 kB view raw
1diff --git a/Tensile/SolutionStructs.py b/Tensile/SolutionStructs.py 2index f663c6f1..17bcf897 100644 3--- a/Tensile/SolutionStructs.py 4+++ b/Tensile/SolutionStructs.py 5@@ -4828,24 +4828,26 @@ class Solution(collections.abc.Mapping): 6 # create a dictionary of lists of parameter values 7 @staticmethod 8 def getSerialNaming(objs): 9+ valid_params = sorted(validParameters.keys()) 10 data = {} 11- for objIdx in range(0, len(objs)): 12- obj = objs[objIdx] 13- for paramName in sorted(obj.keys()): 14- if paramName in list(validParameters.keys()): 15- paramValue = obj[paramName] 16- if paramName in data: 17- if paramValue not in data[paramName]: 18- data[paramName].append(paramValue) 19- else: 20- data[paramName] = [ paramValue ] 21- maxObjs = 1 22- for paramName in data: 23- if not isinstance(data[paramName][0],dict): 24- data[paramName] = sorted(data[paramName]) 25- maxObjs *= len(data[paramName]) 26- numDigits = len(str(maxObjs)) 27- return [ data, numDigits ] 28+ 29+ objs = [getattr(obj, "_state", obj) for obj in objs] 30+ 31+ for param in valid_params: 32+ d = [] 33+ for obj in objs: 34+ if param in obj: 35+ v = obj[param] 36+ if v not in d: 37+ d.append(v) 38+ if len(d): 39+ if not isinstance(d[0], dict): d.sort() 40+ data[param] = d 41+ 42+ # Calculate max objects using prod() from math module 43+ max_objs = math.prod(len(values) for values in data.values()) 44+ num_digits = len(str(max_objs)) 45+ return data, num_digits 46 47 ######################################## 48 # Get Name Serial