diff --git a/source/isl/package.lisp b/source/isl/package.lisp index d2dd36ddb..e27bb71a2 100644 --- a/source/isl/package.lisp +++ b/source/isl/package.lisp @@ -80,6 +80,8 @@ #:create-space-set #:create-space-map #:space-dim + #:multi-aff-zero + #:set-from-multi-aff ;; Local Space #:local-space #:local-space-p @@ -120,6 +122,8 @@ #:union-access-info-set-schedule-map ;; Set #:set + #:set-from-union-set + #:set-get-space ;;#:setp #:set-from-str #:set-empty @@ -157,10 +161,12 @@ ;; Union set #:union-set #:union-set-p + #:union-set-is-empty #:union-set-from-str #:union-set-empty #:union-set-universe #:basic-set-union-set + #:union-set-from-set #:set-union-set #:union-set-intersect #:union-set-union @@ -200,6 +206,8 @@ #:basic-map-union-map #:map-union-map #:union-map-reverse + #:union-map-is-empty + #:union-map-deltas #:union-map-intersect #:union-map-union #:union-map-subtract @@ -366,6 +374,7 @@ #:schedule-node-get-children #:schedule-node-get-type #:schedule-node-insert-partial-schedule + #:schedule-node-band-get-partial-schedule-union-map #:schedule-node-get-schedule-depth #:schedule-node-get-child #:schedule-insert-sequence diff --git a/source/isl/schedule-node.lisp b/source/isl/schedule-node.lisp index b1a0bb68f..084672b49 100644 --- a/source/isl/schedule-node.lisp +++ b/source/isl/schedule-node.lisp @@ -76,6 +76,10 @@ (:give multi-union-pw-aff) (:keep schedule-node)) +(define-isl-function schedule-node-band-get-partial-schedule-union-map %isl-schedule-node-band-get-partial-schedule-union-map + (:give union-map) + (:keep schedule-node)) + (define-isl-function schedule-node-get-domain %isl-schedule-node-get-domain (:give union-set) (:keep schedule-node)) diff --git a/source/isl/set.lisp b/source/isl/set.lisp index 732ccd286..20331e569 100644 --- a/source/isl/set.lisp +++ b/source/isl/set.lisp @@ -23,3 +23,15 @@ (define-isl-function basic-set-set %isl-set-from-basic-set (:give set) (:take basic-set)) + +(define-isl-function set-from-union-set %isl-set-from-union-set + (:give set) + (:take union-set)) + +(define-isl-function set-get-space %isl-set-get-space + (:give space) + (:take set)) + +(define-isl-function set-from-multi-aff %isl-set-from-multi-aff + (:give set) + (:take multi-aff)) diff --git a/source/isl/space.lisp b/source/isl/space.lisp index 94ad0e9f9..5c9e9fcc5 100644 --- a/source/isl/space.lisp +++ b/source/isl/space.lisp @@ -4,6 +4,10 @@ :free %isl-space-free :copy %isl-space-copy) +(define-isl-object multi-aff + :free %isl-multi-aff-free + :copy %isl-multi-aff-copy) + (defmethod print-object ((value space) stream) (print-unreadable-object (value stream :type t) (write-string (%isl-space-to-str (space-handle value)) stream))) @@ -33,3 +37,7 @@ (defun space-dim (space dim-type) (%isl-space-dim (space-handle space) dim-type)) + +(define-isl-function multi-aff-zero %isl-multi-aff-zero + (:give multi-aff) + (:take space)) diff --git a/source/isl/union-map.lisp b/source/isl/union-map.lisp index 7f390b633..6d0cf074d 100644 --- a/source/isl/union-map.lisp +++ b/source/isl/union-map.lisp @@ -71,6 +71,10 @@ (:give union-set) (:take union-map domain)) +(define-isl-function union-map-deltas %isl-union-map-deltas + (:give union-set) + (:take union-map)) + (define-isl-function union-map-range %isl-union-map-range (:give union-set) (:take union-map range)) @@ -123,3 +127,7 @@ (:give union-map) (:take union-map) (:take union-map domain)) + +(define-isl-function union-map-is-empty %isl-union-map-is-empty + (:give boolean) + (:take union-map)) diff --git a/source/isl/union-set.lisp b/source/isl/union-set.lisp index bc828dcdf..9d0004f7f 100644 --- a/source/isl/union-set.lisp +++ b/source/isl/union-set.lisp @@ -26,6 +26,10 @@ (:give union-set) (:take basic-set)) +(define-isl-function union-set-from-set %isl-union-set-from-set + (:give union-set) + (:take set)) + (define-isl-function set-union-set %isl-set-from-basic-set (:give union-set) (:take set)) @@ -61,3 +65,7 @@ (:give union-set) (:take union-set) (:take set params)) + +(define-isl-function union-set-is-empty %isl-union-set-is-empty + (:give boolean) + (:take union-set))