Raise ValueError when sampling an empty Domain
[linpy.git] / pypol / domains.py
index 6088e32..1ffed45 100644 (file)
@@ -168,17 +168,17 @@ class Domain:
         return Domain._fromislset(islset, dims)
 
     def sample(self):
-        from .polyhedra import Polyhedron
         islset = self._toislset(self.polyhedra, self.symbols)
         islpoint = libisl.isl_set_sample_point(islset)
+        if bool(libisl.isl_point_is_void(islpoint)):
+            libisl.isl_point_free(islpoint)
+            raise ValueError('domain must be non-empty')
         point = {}
         for index, symbol in enumerate(self.symbols):
             coordinate = libisl.isl_point_get_coordinate_val(islpoint,
                 libisl.isl_dim_set, index)
             coordinate = islhelper.isl_val_to_int(coordinate)
             point[symbol] = coordinate
-        if bool(libisl.isl_point_is_void(islpoint)):
-            point = None
         libisl.isl_point_free(islpoint)
         return point