From e88ce55dacc70294c18ab47b883858691f9e26c4 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Tue, 2 Jun 2015 17:09:53 -0500 Subject: [PATCH] Fix _back_to_basic for empty sets --- islpy/__init__.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/islpy/__init__.py b/islpy/__init__.py index ae0f6e1..5051d4b 100644 --- a/islpy/__init__.py +++ b/islpy/__init__.py @@ -823,11 +823,23 @@ _add_functionality() def _back_to_basic(new_obj, old_obj): # Work around set_dim_id not being available for Basic{Set,Map} if isinstance(old_obj, BasicSet) and isinstance(new_obj, Set): - bset, = new_obj.get_basic_sets() + bsets = new_obj.get_basic_sets() + + if len(bsets) == 0: + bset = BasicSet.universe(new_obj.space).complement() + else: + bset, = bsets + return bset if isinstance(old_obj, BasicMap) and isinstance(new_obj, Map): - bmap, = new_obj.get_basic_maps() + bmaps = new_obj.get_basic_maps() + + if len(bmaps) == 0: + bmap = BasicMap.universe(new_obj.space).complement() + else: + bmap, = bmaps + return bmap return new_obj -- GitLab