projects
/
linpy.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8fe086b
)
Update drop_dims, now works with more than 2 dims passed
author
Danielle Bolan
<n02702451@hawkmail.newpaltz.edu>
Wed, 2 Jul 2014 09:47:58 +0000
(11:47 +0200)
committer
Danielle Bolan
<n02702451@hawkmail.newpaltz.edu>
Wed, 2 Jul 2014 09:47:58 +0000
(11:47 +0200)
pypol/domains.py
patch
|
blob
|
history
diff --git
a/pypol/domains.py
b/pypol/domains.py
index
bbb0946
..
3bcfa24
100644
(file)
--- a/
pypol/domains.py
+++ b/
pypol/domains.py
@@
-155,7
+155,7
@@
class Domain:
def drop_dims(self, dims):
# use to remove certain variables use isl_set_drop_constraints_involving_dims instead?
from .polyhedra import Polyhedron
def drop_dims(self, dims):
# use to remove certain variables use isl_set_drop_constraints_involving_dims instead?
from .polyhedra import Polyhedron
- n =
1
+ n =
0
dims = list(dims)
symbols = list(self.symbols)
islset = self._toislset(self.polyhedra, self.symbols)
dims = list(dims)
symbols = list(self.symbols)
islset = self._toislset(self.polyhedra, self.symbols)
@@
-164,13
+164,14
@@
class Domain:
if dim in symbols:
first = symbols.index(dim)
try:
if dim in symbols:
first = symbols.index(dim)
try:
- if symbols[first+1] is dims[dim_index+1]: #check if next value in symbols is same as next value in dims
- n += 1
- islbset = libisl.isl_set_project_out(islset, libisl.isl_dim_set, first, n)
- symbols.__delitem__(first)
+ for dim in dims:
+ if symbols[first+1] is dims[dim_index+1]: #check if next value in symbols is same as next value in dims
+ n += 1
+ islbset = libisl.isl_set_project_out(islset, libisl.isl_dim_set, first, n)
+ symbols.remove(dim)
except:
except:
- islbset = libisl.isl_set_project_out(islset, libisl.isl_dim_set, first,
n
)
- symbols.__delitem__(first)
+ islbset = libisl.isl_set_project_out(islset, libisl.isl_dim_set, first,
1
)
+
symbols.__delitem__(first)
else:
islbset = libisl.isl_set_project_out(islset, libisl.isl_dim_set, 0, 0)
return Polyhedron._fromislset(islbset, symbols)
else:
islbset = libisl.isl_set_project_out(islset, libisl.isl_dim_set, 0, 0)
return Polyhedron._fromislset(islbset, symbols)