From 23b0ed817284add42a2d8db2fc2e9894e28fff5c Mon Sep 17 00:00:00 2001 From: Martin Reinecke <martin@mpa-garching.mpg.de> Date: Fri, 18 May 2018 15:39:05 +0200 Subject: [PATCH] bug fix --- nifty4/operators/chain_operator.py | 4 +++- nifty4/operators/sum_operator.py | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/nifty4/operators/chain_operator.py b/nifty4/operators/chain_operator.py index 965dbb156..15d71ea0d 100644 --- a/nifty4/operators/chain_operator.py +++ b/nifty4/operators/chain_operator.py @@ -64,7 +64,7 @@ class ChainOperator(LinearOperator): opsnew[i] = opsnew[i]._scale(fct) fct = 1. break - if fct != 1: + if fct != 1 or len(opsnew) == 0: # have to add the scaling operator at the end opsnew.append(ScalingOperator(fct, lastdom)) ops = opsnew @@ -83,6 +83,8 @@ class ChainOperator(LinearOperator): @staticmethod def make(ops): ops = tuple(ops) + if len(ops) == 0: + raise ValueError("ops is empty") ops = ChainOperator.simplify(ops) if len(ops) == 1: return ops[0] diff --git a/nifty4/operators/sum_operator.py b/nifty4/operators/sum_operator.py index 2680bc438..6755e5294 100644 --- a/nifty4/operators/sum_operator.py +++ b/nifty4/operators/sum_operator.py @@ -108,6 +108,8 @@ class SumOperator(LinearOperator): def make(ops, neg): ops = tuple(ops) neg = tuple(neg) + if len(ops) == 0: + raise ValueError("ops is empty") if len(ops) != len(neg): raise ValueError("length mismatch between ops and neg") ops, neg = SumOperator.simplify(ops, neg) -- GitLab