Reference: Set-Like Objects

Constraint

class namedisl.Constraint(_obj: IslObjectT_co, space: Space, _isl_names_ok: bool = False)[source]
static equality_from_aff(aff: Aff) Constraint[source]
static inequality_from_aff(aff: Aff) Constraint[source]
is_equality
as_aff() Aff[source]
as_basic_set()[source]
as_basic_map()[source]
namedisl.make_constraint(obj: Constraint) Constraint[source]

Quasiconvex set

class namedisl.BasicSet(_obj: IslObjectT_co, space: Space, _isl_names_ok: bool = False)[source]
add_constraint(cns: Constraint, /) BasicSet[source]
var_affs

Returns a lazily-evaluated mapping from dimension names (or zero) to PwAffs.

Note

Lazy evaluation means you do not pay for the creation of unused dimensions.

as_set() Set[source]
get_constraints()[source]
is_bounded() bool[source]
is_empty() bool[source]
plain_is_empty() bool[source]
plain_is_universe() bool[source]
universe_like_me() Self[source]
empty_like_me() Self[source]
fix_dim(name: str, value: Val | int) Self[source]
eliminate(names: Collection[str], *, cache: Cache | None = None) Self[source]

Keeps the dimensions, but eliminates constraints.

project_out(names: str | Collection[str], *, cache: Cache | None = None) Self[source]

Eliminates the dimensions and constraints.

project_out_except(names_to_keep: Collection[str], *, cache: Cache | None = None) Self[source]

Eliminates the dimensions and constraints.

gist(context: Self) Self[source]
remove_divs() Self[source]
__and__(other: Self) Self[source]
__or__(other: Self) Self[source]

Return self|value.

__sub__(other: Self) Self[source]
__eq__(other: object) bool[source]

This is intended to be cheap and strict, suitable mainly for hashing. Some subclasses (e.g. namedisl.Set) may provide a different, ‘mathematically exact’ notion of equality as a different method that is more expensive to check for.

equals(other: Self) bool[source]
__lt__(other: Self) bool[source]

Return self<value.

__le__(other: Self) bool[source]

Return self<=value.

namedisl.make_basic_set(src: str, ctx: Context | None = None) BasicSet[source]
namedisl.make_basic_set(src: BasicSet) BasicSet

General set

class namedisl.Set(_obj: IslObjectT_co, space: Space, _isl_names_ok: bool = False)[source]
complement() Set[source]
convex_hull() BasicSet[source]
get_basic_sets() list[BasicSet][source]
dim_max(name: str, *, cache: Cache | None = None) PwAff[source]
dim_min(name: str, *, cache: Cache | None = None) PwAff[source]
var_pw_affs

Returns a lazily-evaluated mapping from dimension names (or zero) to PwAffs.

Note

Lazy evaluation means you do not pay for the creation of unused dimensions.

as_map(in_names: Collection[str]) Map[source]
as_basic() BasicSet[source]

Will only succeed if self consists of a single piece. Try coalesce() if not.

equate_dims(names: Sequence[tuple[str, str]]) Self[source]
as_pw_multi_aff() PwMultiAff[source]
remove_redundancies()[source]
coalesce() Self[source]
is_bounded() bool[source]
is_empty() bool[source]
plain_is_empty() bool[source]
plain_is_universe() bool[source]
universe_like_me() Self[source]
empty_like_me() Self[source]
fix_dim(name: str, value: Val | int) Self[source]
eliminate(names: Collection[str], *, cache: Cache | None = None) Self[source]

Keeps the dimensions, but eliminates constraints.

project_out(names: str | Collection[str], *, cache: Cache | None = None) Self[source]

Eliminates the dimensions and constraints.

project_out_except(names_to_keep: Collection[str], *, cache: Cache | None = None) Self[source]

Eliminates the dimensions and constraints.

gist(context: Self) Self[source]
remove_divs() Self[source]
__and__(other: Self) Self[source]
__or__(other: Self) Self[source]

Return self|value.

__sub__(other: Self) Self[source]
__eq__(other: object) bool[source]

This is intended to be cheap and strict, suitable mainly for hashing. Some subclasses (e.g. namedisl.Set) may provide a different, ‘mathematically exact’ notion of equality as a different method that is more expensive to check for.

equals(other: Self) bool[source]
__lt__(other: Self) bool[source]

Return self<value.

__le__(other: Self) bool[source]

Return self<=value.

namedisl.make_set(src: str, ctx: Context | None = None) Set[source]
namedisl.make_set(src: Set) Set

Quasiconvex map

class namedisl.BasicMap(_obj: IslObjectT_co, space: Space, _isl_names_ok: bool = False)[source]
domain() BasicSet[source]
range() BasicSet[source]
intersect_domain(domain: BasicSet) Self[source]
intersect_range(range: BasicSet) Self[source]
get_constraints()[source]
active_dim_types: ClassVar[frozenset[DimType]] = frozenset({DimType.param, DimType.in_, DimType.out})
reverse() Self[source]
is_empty() bool[source]
plain_is_empty() bool[source]
plain_is_universe() bool[source]
universe_like_me() Self[source]
empty_like_me() Self[source]
fix_dim(name: str, value: Val | int) Self[source]
eliminate(names: Collection[str], *, cache: Cache | None = None) Self[source]

Keeps the dimensions, but eliminates constraints.

project_out(names: str | Collection[str], *, cache: Cache | None = None) Self[source]

Eliminates the dimensions and constraints.

project_out_except(names_to_keep: Collection[str], *, cache: Cache | None = None) Self[source]

Eliminates the dimensions and constraints.

gist(context: Self) Self[source]
remove_divs() Self[source]
__and__(other: Self) Self[source]
__or__(other: Self) Self[source]

Return self|value.

__sub__(other: Self) Self[source]
__eq__(other: object) bool[source]

This is intended to be cheap and strict, suitable mainly for hashing. Some subclasses (e.g. namedisl.Set) may provide a different, ‘mathematically exact’ notion of equality as a different method that is more expensive to check for.

equals(other: Self) bool[source]
__lt__(other: Self) bool[source]

Return self<value.

__le__(other: Self) bool[source]

Return self<=value.

namedisl.make_basic_map(src: str, ctx: Context | None = None) BasicMap[source]
namedisl.make_basic_map(src: BasicMap) BasicMap

General map

class namedisl.Map(_obj: IslObjectT_co, space: Space, _isl_names_ok: bool = False)[source]
complement() Map[source]
convex_hull() BasicMap[source]
get_basic_maps() list[BasicMap][source]
domain() Set[source]
range() Set[source]
intersect_domain(domain: Set) Self[source]
intersect_range(range: Set) Self[source]
apply_range(other: Self) Self[source]
apply_domain(other: Self) Self[source]
as_basic() BasicMap[source]

Will only succeed if self consists of a single piece. Try coalesce() if not.

as_set() Set[source]
domain_var_pw_affs

Returns a lazily-evaluated mapping from dimension names (or zero) to PwAffs for the domain variables of self

Note

Lazy evaluation means you do not pay for the creation of unused dimensions.

range_var_pw_affs

Returns a lazily-evaluated mapping from dimension names (or zero) to PwAffs for the domain variables of self

Note

Lazy evaluation means you do not pay for the creation of unused dimensions.

is_empty() bool[source]
plain_is_empty() bool[source]
plain_is_universe() bool[source]
universe_like_me() Self[source]
empty_like_me() Self[source]
fix_dim(name: str, value: Val | int) Self[source]
eliminate(names: Collection[str], *, cache: Cache | None = None) Self[source]

Keeps the dimensions, but eliminates constraints.

project_out(names: str | Collection[str], *, cache: Cache | None = None) Self[source]

Eliminates the dimensions and constraints.

project_out_except(names_to_keep: Collection[str], *, cache: Cache | None = None) Self[source]

Eliminates the dimensions and constraints.

gist(context: Self) Self[source]
remove_divs() Self[source]
__and__(other: Self) Self[source]
__or__(other: Self) Self[source]

Return self|value.

__sub__(other: Self) Self[source]
__eq__(other: object) bool[source]

This is intended to be cheap and strict, suitable mainly for hashing. Some subclasses (e.g. namedisl.Set) may provide a different, ‘mathematically exact’ notion of equality as a different method that is more expensive to check for.

equals(other: Self) bool[source]
__lt__(other: Self) bool[source]

Return self<value.

__le__(other: Self) bool[source]

Return self<=value.

equate_dims(names: Sequence[tuple[str, str]]) Self[source]
as_pw_multi_aff() PwMultiAff[source]
remove_redundancies()[source]
coalesce() Self[source]
active_dim_types: ClassVar[frozenset[DimType]] = frozenset({DimType.param, DimType.in_, DimType.out})
reverse() Self[source]
namedisl.make_map(src: str, ctx: Context | None = None) Map[source]
namedisl.make_map(src: Map) Map