Andy Wingo
|
7f6aafa5ae
|
Add bitvector->intset.
* module/language/cps/intset.scm (bitvector->intset): New interface.
|
2014-07-03 10:37:20 +02:00 |
|
Andy Wingo
|
4296c36ec8
|
Restrict intsets and maps to non-negative integers
* module/language/cps/intmap.scm (intmap-add):
* module/language/cps/intset.scm (intset-add): Restrict to only hold
non-negative integers.
|
2014-07-03 09:37:30 +02:00 |
|
Andy Wingo
|
41296769c7
|
Add intset-subtract.
* module/language/cps/intset.scm (intset-subtract): New interface.
|
2014-07-03 09:03:12 +02:00 |
|
Andy Wingo
|
93e838423c
|
Fix intset on 32-bit machines
* module/language/cps/intset.scm (*leaf-bits*): Define to 4 on 32-bit
machines, to stay in fixnum range.
|
2014-07-01 11:30:29 +02:00 |
|
Andy Wingo
|
793ca4c433
|
Result of intsect-intersect will share structure with A if it can
* module/language/cps/intset.scm (intset-intersect): Ensure that the
result shares structure with A if possible, as intmaps do.
|
2014-06-29 19:47:38 +02:00 |
|
Andy Wingo
|
257db78b6b
|
Fix an intset-intersect corner case
* module/language/cps/intset.scm (intset-intersect): Avoid creating
invalid intsets when lowering an intset with a higher shift.
|
2014-06-29 19:41:16 +02:00 |
|
Andy Wingo
|
b5cb1c77ff
|
Fix intset pruning for empty intsets
* module/language/cps/intset.scm (make-intset/prune): Fix empty intset
case.
|
2014-06-29 19:31:41 +02:00 |
|
Andy Wingo
|
b1103eb980
|
New module: (language cps intset)
* module/Makefile.am: Add to build.
* module/language/cps/intset.scm: New file.
|
2014-06-29 14:19:03 +02:00 |
|