summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/comp-cstr.el
Commit message (Expand)AuthorAgeFilesLines
* Do not add unnecesary arg constraints (bug#45812 bug#45705 bug#45751).Andrea Corallo2021-01-191-0/+3
* Fix type inference for bug#45635Andrea Corallo2021-01-041-0/+16
* Fix `functionp' contraining (bug#45576)Andrea Corallo2021-01-021-5/+1
* * Fix two predicates for missing negation handlingAndrea Corallo2021-01-011-5/+7
* * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Better `comp-value-to-cstr'.Andrea Corallo2020-12-291-4/+7
* Constrain mvars under compare and branch with built-in predicatesAndrea Corallo2020-12-291-0/+11
* * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Better `comp-type-to-cstr'.Andrea Corallo2020-12-291-1/+10
* Add 1+ 1- integer range propagation supportAndrea Corallo2020-12-271-0/+4
* Add sum/subtraction integer range propagation supportAndrea Corallo2020-12-271-0/+63
* * lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range): Improve.Andrea Corallo2020-12-271-1/+4
* * Add comp-cstr-greatest-in-range comp-cstr-smallest-in-rangeAndrea Corallo2020-12-271-4/+12
* Fix missing float handling into `comp-cstr-set-cmp-range'Andrea Corallo2020-12-261-1/+1
* Enable integer range narrowing under compare and branchAndrea Corallo2020-12-261-0/+68
* * Memoize `comp-subtype-p'Andrea Corallo2020-12-241-1/+8
* Symplify (not t) => nil and (not nil) => tAndrea Corallo2020-12-241-4/+21
* Negate only values while constraining variables (bug#45376)Andrea Corallo2020-12-231-0/+14
* * Fix non range cstr union operationAndrea Corallo2020-12-231-8/+10
* Make input constraints into memoization hash immutable (bug#45376)Andrea Corallo2020-12-231-2/+2
* * lisp/emacs-lisp/comp-cstr.el (comp-cstr-copy): Tweak for perf.Andrea Corallo2020-12-231-3/+3
* Simplify correctly (or (integer 1 1) (not (integer 1 1))) as tAndrea Corallo2020-12-211-6/+11
* * Allow for overlapping src and dst in cstr set operationsAndrea Corallo2020-12-211-185/+185
* Symplify type specifier (not t) as nilAndrea Corallo2020-12-211-0/+9
* * Improve constraint simplification logic in comp-cstr.elAndrea Corallo2020-12-211-113/+131
* * Memoize `comp-cstr-intersection'Andrea Corallo2020-12-131-24/+44
* * Add initial negated non-negegated intersection supportAndrea Corallo2020-12-131-21/+93
* Normalize cstrs for cache hint effectiveness and test stabilityAndrea Corallo2020-12-121-15/+42
* * Add `comp-split-pos-neg' functionAndrea Corallo2020-12-121-86/+91
* * Code rework add `comp-cstrs-homogeneous'Andrea Corallo2020-12-121-12/+19
* * Unify common fallback exit point in `comp-cstr-union-1-no-mem'.Andrea Corallo2020-12-061-112/+106
* Couple of `comp-cstr-union-1-no-mem' improvements for mixed neg pos unionAndrea Corallo2020-12-061-9/+23
* * Memoize `comp-cstr-union-1'Andrea Corallo2020-12-051-7/+42
* More improvements to `comp-cstr-union-1' for mixed positive/negative casesAndrea Corallo2020-12-051-34/+54
* * Fix `comp-cstr-to-type-spec'Andrea Corallo2020-12-051-41/+44
* Fix union of homogeneously negated input constraintsAndrea Corallo2020-12-051-0/+2
* * Add `with-comp-cstr-accessors' macro.Andrea Corallo2020-12-051-79/+94
* Initial support for union of negated constraintsAndrea Corallo2020-12-051-15/+118
* * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-no-range): Cosmetic.Andrea Corallo2020-12-051-20/+20
* Initial constraint negation supportAndrea Corallo2020-12-051-17/+48
* Add intersection support into comp-cstr.elAndrea Corallo2020-11-271-7/+73
* Add comp-cstr.el and comp-cstr-tests.elAndrea Corallo2020-11-261-0/+363