fix: #568, product kernel resolution

This commit is contained in:
mzwiessele 2018-02-13 00:37:27 +01:00
parent eac941f534
commit 34a5e7ed70

View file

@ -31,13 +31,16 @@ class Prod(CombinationKernel):
""" """
def __init__(self, kernels, name='mul'): def __init__(self, kernels, name='mul'):
for i, kern in enumerate(kernels[:]): _newkerns = []
for kern in kernels:
if isinstance(kern, Prod): if isinstance(kern, Prod):
del kernels[i] for part in kern.parts:
for part in kern.parts[::-1]: #kern.unlink_parameter(part)
kern.unlink_parameter(part) _newkerns.append(part.copy())
kernels.insert(i, part) else:
super(Prod, self).__init__(kernels, name) _newkerns.append(kern.copy())
super(Prod, self).__init__(_newkerns, name)
def to_dict(self): def to_dict(self):
input_dict = super(Prod, self)._to_dict() input_dict = super(Prod, self)._to_dict()