dofile('utils.lua')
---
...
dofile('bitset.lua')
---
...
create_space()
---
...
------------------------------------------------------------------------------
-- BitsetIndex: insert/delete
------------------------------------------------------------------------------
test_insert_delete(128)
---
- - $       1$
...
------------------------------------------------------------------------------
-- BitsetIndex: ALL
------------------------------------------------------------------------------
clear()
---
...
fill(1, 128)
---
...
dump(box.index.BITS_ALL)
---
- - $       1$
  - $       2$
  - $       3$
  - $       4$
  - $       5$
  - $       6$
  - $       7$
  - $       8$
  - $       9$
  - $      10$
  - $      11$
  - $      12$
  - $      13$
  - $      14$
  - $      15$
  - $      16$
  - $      17$
  - $      18$
  - $      19$
  - $      20$
  - $      21$
  - $      22$
  - $      23$
  - $      24$
  - $      25$
  - $      26$
  - $      27$
  - $      28$
  - $      29$
  - $      30$
  - $      31$
  - $      32$
  - $      33$
  - $      34$
  - $      35$
  - $      36$
  - $      37$
  - $      38$
  - $      39$
  - $      40$
  - $      41$
  - $      42$
  - $      43$
  - $      44$
  - $      45$
  - $      46$
  - $      47$
  - $      48$
  - $      49$
  - $      50$
  - $      51$
  - $      52$
  - $      53$
  - $      54$
  - $      55$
  - $      56$
  - $      57$
  - $      58$
  - $      59$
  - $      60$
  - $      61$
  - $      62$
  - $      63$
  - $      64$
  - $      65$
  - $      66$
  - $      67$
  - $      68$
  - $      69$
  - $      70$
  - $      71$
  - $      72$
  - $      73$
  - $      74$
  - $      75$
  - $      76$
  - $      77$
  - $      78$
  - $      79$
  - $      80$
  - $      81$
  - $      82$
  - $      83$
  - $      84$
  - $      85$
  - $      86$
  - $      87$
  - $      88$
  - $      89$
  - $      90$
  - $      91$
  - $      92$
  - $      93$
  - $      94$
  - $      95$
  - $      96$
  - $      97$
  - $      98$
  - $      99$
  - $     100$
  - $     101$
  - $     102$
  - $     103$
  - $     104$
  - $     105$
  - $     106$
  - $     107$
  - $     108$
  - $     109$
  - $     110$
  - $     111$
  - $     112$
  - $     113$
  - $     114$
  - $     115$
  - $     116$
  - $     117$
  - $     118$
  - $     119$
  - $     120$
  - $     121$
  - $     122$
  - $     123$
  - $     124$
  - $     125$
  - $     126$
  - $     127$
  - $     128$
...
box.space.tweedledum.index.bitset:count()
---
- 128
...
------------------------------------------------------------------------------
-- BitsetIndex: BITS_ALL_SET (single bit)
------------------------------------------------------------------------------
dump(box.index.BITS_ALL_SET, 0)
---
- []
...
box.space.tweedledum.index.bitset:count(0, { iterator = box.index.BITS_ALL_SET})
---
- 128
...
dump(box.index.BITS_ALL_SET, 1)
---
- - $       1$
  - $       3$
  - $       5$
  - $       7$
  - $       9$
  - $      11$
  - $      13$
  - $      15$
  - $      17$
  - $      19$
  - $      21$
  - $      23$
  - $      25$
  - $      27$
  - $      29$
  - $      31$
  - $      33$
  - $      35$
  - $      37$
  - $      39$
  - $      41$
  - $      43$
  - $      45$
  - $      47$
  - $      49$
  - $      51$
  - $      53$
  - $      55$
  - $      57$
  - $      59$
  - $      61$
  - $      63$
  - $      65$
  - $      67$
  - $      69$
  - $      71$
  - $      73$
  - $      75$
  - $      77$
  - $      79$
  - $      81$
  - $      83$
  - $      85$
  - $      87$
  - $      89$
  - $      91$
  - $      93$
  - $      95$
  - $      97$
  - $      99$
  - $     101$
  - $     103$
  - $     105$
  - $     107$
  - $     109$
  - $     111$
  - $     113$
  - $     115$
  - $     117$
  - $     119$
  - $     121$
  - $     123$
  - $     125$
  - $     127$
...
box.space.tweedledum.index.bitset:count(1, { iterator = box.index.BITS_ALL_SET})
---
- 64
...
dump(box.index.BITS_ALL_SET, 2)
---
- - $       2$
  - $       3$
  - $       6$
  - $       7$
  - $      10$
  - $      11$
  - $      14$
  - $      15$
  - $      18$
  - $      19$
  - $      22$
  - $      23$
  - $      26$
  - $      27$
  - $      30$
  - $      31$
  - $      34$
  - $      35$
  - $      38$
  - $      39$
  - $      42$
  - $      43$
  - $      46$
  - $      47$
  - $      50$
  - $      51$
  - $      54$
  - $      55$
  - $      58$
  - $      59$
  - $      62$
  - $      63$
  - $      66$
  - $      67$
  - $      70$
  - $      71$
  - $      74$
  - $      75$
  - $      78$
  - $      79$
  - $      82$
  - $      83$
  - $      86$
  - $      87$
  - $      90$
  - $      91$
  - $      94$
  - $      95$
  - $      98$
  - $      99$
  - $     102$
  - $     103$
  - $     106$
  - $     107$
  - $     110$
  - $     111$
  - $     114$
  - $     115$
  - $     118$
  - $     119$
  - $     122$
  - $     123$
  - $     126$
  - $     127$
...
box.space.tweedledum.index.bitset:count(2, { iterator = box.index.BITS_ALL_SET})
---
- 64
...
dump(box.index.BITS_ALL_SET, 8)
---
- - $       8$
  - $       9$
  - $      10$
  - $      11$
  - $      12$
  - $      13$
  - $      14$
  - $      15$
  - $      24$
  - $      25$
  - $      26$
  - $      27$
  - $      28$
  - $      29$
  - $      30$
  - $      31$
  - $      40$
  - $      41$
  - $      42$
  - $      43$
  - $      44$
  - $      45$
  - $      46$
  - $      47$
  - $      56$
  - $      57$
  - $      58$
  - $      59$
  - $      60$
  - $      61$
  - $      62$
  - $      63$
  - $      72$
  - $      73$
  - $      74$
  - $      75$
  - $      76$
  - $      77$
  - $      78$
  - $      79$
  - $      88$
  - $      89$
  - $      90$
  - $      91$
  - $      92$
  - $      93$
  - $      94$
  - $      95$
  - $     104$
  - $     105$
  - $     106$
  - $     107$
  - $     108$
  - $     109$
  - $     110$
  - $     111$
  - $     120$
  - $     121$
  - $     122$
  - $     123$
  - $     124$
  - $     125$
  - $     126$
  - $     127$
...
box.space.tweedledum.index.bitset:count(8, { iterator = box.index.BITS_ALL_SET})
---
- 64
...
dump(box.index.BITS_ALL_SET, 128)
---
- - $     128$
...
box.space.tweedledum.index.bitset:count(128, { iterator = box.index.BITS_ALL_SET})
---
- 1
...
dump(box.index.BITS_ALL_SET, 1073741824)
---
- []
...
box.space.tweedledum.index.bitset:count(1073741824, { iterator = box.index.BITS_ALL_SET})
---
- 0
...
dump(box.index.BITS_ALL_SET, 2147483648)
---
- []
...
box.space.tweedledum.index.bitset:count(2147483648, { iterator = box.index.BITS_ALL_SET})
---
- 0
...
------------------------------------------------------------------------------
-- BitsetIndex: BITS_ALL_SET (multiple bit)
------------------------------------------------------------------------------
dump(box.index.BITS_ALL_SET, 3)
---
- - $       3$
  - $       7$
  - $      11$
  - $      15$
  - $      19$
  - $      23$
  - $      27$
  - $      31$
  - $      35$
  - $      39$
  - $      43$
  - $      47$
  - $      51$
  - $      55$
  - $      59$
  - $      63$
  - $      67$
  - $      71$
  - $      75$
  - $      79$
  - $      83$
  - $      87$
  - $      91$
  - $      95$
  - $      99$
  - $     103$
  - $     107$
  - $     111$
  - $     115$
  - $     119$
  - $     123$
  - $     127$
...
dump(box.index.BITS_ALL_SET, 7)
---
- - $       7$
  - $      15$
  - $      23$
  - $      31$
  - $      39$
  - $      47$
  - $      55$
  - $      63$
  - $      71$
  - $      79$
  - $      87$
  - $      95$
  - $     103$
  - $     111$
  - $     119$
  - $     127$
...
dump(box.index.BITS_ALL_SET, 31)
---
- - $      31$
  - $      63$
  - $      95$
  - $     127$
...
dump(box.index.BITS_ALL_SET, 5)
---
- - $       5$
  - $       7$
  - $      13$
  - $      15$
  - $      21$
  - $      23$
  - $      29$
  - $      31$
  - $      37$
  - $      39$
  - $      45$
  - $      47$
  - $      53$
  - $      55$
  - $      61$
  - $      63$
  - $      69$
  - $      71$
  - $      77$
  - $      79$
  - $      85$
  - $      87$
  - $      93$
  - $      95$
  - $     101$
  - $     103$
  - $     109$
  - $     111$
  - $     117$
  - $     119$
  - $     125$
  - $     127$
...
dump(box.index.BITS_ALL_SET, 10)
---
- - $      10$
  - $      11$
  - $      14$
  - $      15$
  - $      26$
  - $      27$
  - $      30$
  - $      31$
  - $      42$
  - $      43$
  - $      46$
  - $      47$
  - $      58$
  - $      59$
  - $      62$
  - $      63$
  - $      74$
  - $      75$
  - $      78$
  - $      79$
  - $      90$
  - $      91$
  - $      94$
  - $      95$
  - $     106$
  - $     107$
  - $     110$
  - $     111$
  - $     122$
  - $     123$
  - $     126$
  - $     127$
...
dump(box.index.BITS_ALL_SET, 27)
---
- - $      27$
  - $      31$
  - $      59$
  - $      63$
  - $      91$
  - $      95$
  - $     123$
  - $     127$
...
dump(box.index.BITS_ALL_SET, 341)
---
- []
...
dump(box.index.BITS_ALL_SET, 2147483649)
---
- []
...
dump(box.index.BITS_ALL_SET, 4294967295)
---
- []
...
------------------------------------------------------------------------------
-- BitsetIndex: BITS_ALL_NOT_SET (single bit)
------------------------------------------------------------------------------
dump(box.index.BITS_ALL_NOT_SET, 0)
---
- - $       1$
  - $       2$
  - $       3$
  - $       4$
  - $       5$
  - $       6$
  - $       7$
  - $       8$
  - $       9$
  - $      10$
  - $      11$
  - $      12$
  - $      13$
  - $      14$
  - $      15$
  - $      16$
  - $      17$
  - $      18$
  - $      19$
  - $      20$
  - $      21$
  - $      22$
  - $      23$
  - $      24$
  - $      25$
  - $      26$
  - $      27$
  - $      28$
  - $      29$
  - $      30$
  - $      31$
  - $      32$
  - $      33$
  - $      34$
  - $      35$
  - $      36$
  - $      37$
  - $      38$
  - $      39$
  - $      40$
  - $      41$
  - $      42$
  - $      43$
  - $      44$
  - $      45$
  - $      46$
  - $      47$
  - $      48$
  - $      49$
  - $      50$
  - $      51$
  - $      52$
  - $      53$
  - $      54$
  - $      55$
  - $      56$
  - $      57$
  - $      58$
  - $      59$
  - $      60$
  - $      61$
  - $      62$
  - $      63$
  - $      64$
  - $      65$
  - $      66$
  - $      67$
  - $      68$
  - $      69$
  - $      70$
  - $      71$
  - $      72$
  - $      73$
  - $      74$
  - $      75$
  - $      76$
  - $      77$
  - $      78$
  - $      79$
  - $      80$
  - $      81$
  - $      82$
  - $      83$
  - $      84$
  - $      85$
  - $      86$
  - $      87$
  - $      88$
  - $      89$
  - $      90$
  - $      91$
  - $      92$
  - $      93$
  - $      94$
  - $      95$
  - $      96$
  - $      97$
  - $      98$
  - $      99$
  - $     100$
  - $     101$
  - $     102$
  - $     103$
  - $     104$
  - $     105$
  - $     106$
  - $     107$
  - $     108$
  - $     109$
  - $     110$
  - $     111$
  - $     112$
  - $     113$
  - $     114$
  - $     115$
  - $     116$
  - $     117$
  - $     118$
  - $     119$
  - $     120$
  - $     121$
  - $     122$
  - $     123$
  - $     124$
  - $     125$
  - $     126$
  - $     127$
  - $     128$
...
box.space.tweedledum.index.bitset:count(0, { iterator = box.index.BITS_ALL_NOT_SET})
---
- 128
...
dump(box.index.BITS_ALL_NOT_SET, 2)
---
- - $       1$
  - $       4$
  - $       5$
  - $       8$
  - $       9$
  - $      12$
  - $      13$
  - $      16$
  - $      17$
  - $      20$
  - $      21$
  - $      24$
  - $      25$
  - $      28$
  - $      29$
  - $      32$
  - $      33$
  - $      36$
  - $      37$
  - $      40$
  - $      41$
  - $      44$
  - $      45$
  - $      48$
  - $      49$
  - $      52$
  - $      53$
  - $      56$
  - $      57$
  - $      60$
  - $      61$
  - $      64$
  - $      65$
  - $      68$
  - $      69$
  - $      72$
  - $      73$
  - $      76$
  - $      77$
  - $      80$
  - $      81$
  - $      84$
  - $      85$
  - $      88$
  - $      89$
  - $      92$
  - $      93$
  - $      96$
  - $      97$
  - $     100$
  - $     101$
  - $     104$
  - $     105$
  - $     108$
  - $     109$
  - $     112$
  - $     113$
  - $     116$
  - $     117$
  - $     120$
  - $     121$
  - $     124$
  - $     125$
  - $     128$
...
box.space.tweedledum.index.bitset:count(2, { iterator = box.index.BITS_ALL_NOT_SET})
---
- 64
...
dump(box.index.BITS_ALL_NOT_SET, 8)
---
- - $       1$
  - $       2$
  - $       3$
  - $       4$
  - $       5$
  - $       6$
  - $       7$
  - $      16$
  - $      17$
  - $      18$
  - $      19$
  - $      20$
  - $      21$
  - $      22$
  - $      23$
  - $      32$
  - $      33$
  - $      34$
  - $      35$
  - $      36$
  - $      37$
  - $      38$
  - $      39$
  - $      48$
  - $      49$
  - $      50$
  - $      51$
  - $      52$
  - $      53$
  - $      54$
  - $      55$
  - $      64$
  - $      65$
  - $      66$
  - $      67$
  - $      68$
  - $      69$
  - $      70$
  - $      71$
  - $      80$
  - $      81$
  - $      82$
  - $      83$
  - $      84$
  - $      85$
  - $      86$
  - $      87$
  - $      96$
  - $      97$
  - $      98$
  - $      99$
  - $     100$
  - $     101$
  - $     102$
  - $     103$
  - $     112$
  - $     113$
  - $     114$
  - $     115$
  - $     116$
  - $     117$
  - $     118$
  - $     119$
  - $     128$
...
box.space.tweedledum.index.bitset:count(8, { iterator = box.index.BITS_ALL_NOT_SET})
---
- 64
...
dump(box.index.BITS_ALL_NOT_SET, 128)
---
- - $       1$
  - $       2$
  - $       3$
  - $       4$
  - $       5$
  - $       6$
  - $       7$
  - $       8$
  - $       9$
  - $      10$
  - $      11$
  - $      12$
  - $      13$
  - $      14$
  - $      15$
  - $      16$
  - $      17$
  - $      18$
  - $      19$
  - $      20$
  - $      21$
  - $      22$
  - $      23$
  - $      24$
  - $      25$
  - $      26$
  - $      27$
  - $      28$
  - $      29$
  - $      30$
  - $      31$
  - $      32$
  - $      33$
  - $      34$
  - $      35$
  - $      36$
  - $      37$
  - $      38$
  - $      39$
  - $      40$
  - $      41$
  - $      42$
  - $      43$
  - $      44$
  - $      45$
  - $      46$
  - $      47$
  - $      48$
  - $      49$
  - $      50$
  - $      51$
  - $      52$
  - $      53$
  - $      54$
  - $      55$
  - $      56$
  - $      57$
  - $      58$
  - $      59$
  - $      60$
  - $      61$
  - $      62$
  - $      63$
  - $      64$
  - $      65$
  - $      66$
  - $      67$
  - $      68$
  - $      69$
  - $      70$
  - $      71$
  - $      72$
  - $      73$
  - $      74$
  - $      75$
  - $      76$
  - $      77$
  - $      78$
  - $      79$
  - $      80$
  - $      81$
  - $      82$
  - $      83$
  - $      84$
  - $      85$
  - $      86$
  - $      87$
  - $      88$
  - $      89$
  - $      90$
  - $      91$
  - $      92$
  - $      93$
  - $      94$
  - $      95$
  - $      96$
  - $      97$
  - $      98$
  - $      99$
  - $     100$
  - $     101$
  - $     102$
  - $     103$
  - $     104$
  - $     105$
  - $     106$
  - $     107$
  - $     108$
  - $     109$
  - $     110$
  - $     111$
  - $     112$
  - $     113$
  - $     114$
  - $     115$
  - $     116$
  - $     117$
  - $     118$
  - $     119$
  - $     120$
  - $     121$
  - $     122$
  - $     123$
  - $     124$
  - $     125$
  - $     126$
  - $     127$
...
box.space.tweedledum.index.bitset:count(128, { iterator = box.index.BITS_ALL_NOT_SET})
---
- 127
...
dump(box.index.BITS_ALL_NOT_SET, 1073741824)
---
- - $       1$
  - $       2$
  - $       3$
  - $       4$
  - $       5$
  - $       6$
  - $       7$
  - $       8$
  - $       9$
  - $      10$
  - $      11$
  - $      12$
  - $      13$
  - $      14$
  - $      15$
  - $      16$
  - $      17$
  - $      18$
  - $      19$
  - $      20$
  - $      21$
  - $      22$
  - $      23$
  - $      24$
  - $      25$
  - $      26$
  - $      27$
  - $      28$
  - $      29$
  - $      30$
  - $      31$
  - $      32$
  - $      33$
  - $      34$
  - $      35$
  - $      36$
  - $      37$
  - $      38$
  - $      39$
  - $      40$
  - $      41$
  - $      42$
  - $      43$
  - $      44$
  - $      45$
  - $      46$
  - $      47$
  - $      48$
  - $      49$
  - $      50$
  - $      51$
  - $      52$
  - $      53$
  - $      54$
  - $      55$
  - $      56$
  - $      57$
  - $      58$
  - $      59$
  - $      60$
  - $      61$
  - $      62$
  - $      63$
  - $      64$
  - $      65$
  - $      66$
  - $      67$
  - $      68$
  - $      69$
  - $      70$
  - $      71$
  - $      72$
  - $      73$
  - $      74$
  - $      75$
  - $      76$
  - $      77$
  - $      78$
  - $      79$
  - $      80$
  - $      81$
  - $      82$
  - $      83$
  - $      84$
  - $      85$
  - $      86$
  - $      87$
  - $      88$
  - $      89$
  - $      90$
  - $      91$
  - $      92$
  - $      93$
  - $      94$
  - $      95$
  - $      96$
  - $      97$
  - $      98$
  - $      99$
  - $     100$
  - $     101$
  - $     102$
  - $     103$
  - $     104$
  - $     105$
  - $     106$
  - $     107$
  - $     108$
  - $     109$
  - $     110$
  - $     111$
  - $     112$
  - $     113$
  - $     114$
  - $     115$
  - $     116$
  - $     117$
  - $     118$
  - $     119$
  - $     120$
  - $     121$
  - $     122$
  - $     123$
  - $     124$
  - $     125$
  - $     126$
  - $     127$
  - $     128$
...
box.space.tweedledum.index.bitset:count(1073741824, { iterator = box.index.BITS_ALL_NOT_SET})
---
- 128
...
dump(box.index.BITS_ALL_NOT_SET, 2147483648)
---
- - $       1$
  - $       2$
  - $       3$
  - $       4$
  - $       5$
  - $       6$
  - $       7$
  - $       8$
  - $       9$
  - $      10$
  - $      11$
  - $      12$
  - $      13$
  - $      14$
  - $      15$
  - $      16$
  - $      17$
  - $      18$
  - $      19$
  - $      20$
  - $      21$
  - $      22$
  - $      23$
  - $      24$
  - $      25$
  - $      26$
  - $      27$
  - $      28$
  - $      29$
  - $      30$
  - $      31$
  - $      32$
  - $      33$
  - $      34$
  - $      35$
  - $      36$
  - $      37$
  - $      38$
  - $      39$
  - $      40$
  - $      41$
  - $      42$
  - $      43$
  - $      44$
  - $      45$
  - $      46$
  - $      47$
  - $      48$
  - $      49$
  - $      50$
  - $      51$
  - $      52$
  - $      53$
  - $      54$
  - $      55$
  - $      56$
  - $      57$
  - $      58$
  - $      59$
  - $      60$
  - $      61$
  - $      62$
  - $      63$
  - $      64$
  - $      65$
  - $      66$
  - $      67$
  - $      68$
  - $      69$
  - $      70$
  - $      71$
  - $      72$
  - $      73$
  - $      74$
  - $      75$
  - $      76$
  - $      77$
  - $      78$
  - $      79$
  - $      80$
  - $      81$
  - $      82$
  - $      83$
  - $      84$
  - $      85$
  - $      86$
  - $      87$
  - $      88$
  - $      89$
  - $      90$
  - $      91$
  - $      92$
  - $      93$
  - $      94$
  - $      95$
  - $      96$
  - $      97$
  - $      98$
  - $      99$
  - $     100$
  - $     101$
  - $     102$
  - $     103$
  - $     104$
  - $     105$
  - $     106$
  - $     107$
  - $     108$
  - $     109$
  - $     110$
  - $     111$
  - $     112$
  - $     113$
  - $     114$
  - $     115$
  - $     116$
  - $     117$
  - $     118$
  - $     119$
  - $     120$
  - $     121$
  - $     122$
  - $     123$
  - $     124$
  - $     125$
  - $     126$
  - $     127$
  - $     128$
...
box.space.tweedledum.index.bitset:count(2147483648, { iterator = box.index.BITS_ALL_NOT_SET})
---
- 128
...
------------------------------------------------------------------------------
-- BitsetIndex: BITS_ALL_NOT_SET (multiple bit)
------------------------------------------------------------------------------
dump(box.index.BITS_ALL_NOT_SET, 3)
---
- - $       4$
  - $       8$
  - $      12$
  - $      16$
  - $      20$
  - $      24$
  - $      28$
  - $      32$
  - $      36$
  - $      40$
  - $      44$
  - $      48$
  - $      52$
  - $      56$
  - $      60$
  - $      64$
  - $      68$
  - $      72$
  - $      76$
  - $      80$
  - $      84$
  - $      88$
  - $      92$
  - $      96$
  - $     100$
  - $     104$
  - $     108$
  - $     112$
  - $     116$
  - $     120$
  - $     124$
  - $     128$
...
box.space.tweedledum.index.bitset:count(3, { iterator = box.index.BITS_ALL_NOT_SET})
---
- 32
...
dump(box.index.BITS_ALL_NOT_SET, 7)
---
- - $       8$
  - $      16$
  - $      24$
  - $      32$
  - $      40$
  - $      48$
  - $      56$
  - $      64$
  - $      72$
  - $      80$
  - $      88$
  - $      96$
  - $     104$
  - $     112$
  - $     120$
  - $     128$
...
box.space.tweedledum.index.bitset:count(7, { iterator = box.index.BITS_ALL_NOT_SET})
---
- 16
...
dump(box.index.BITS_ALL_NOT_SET, 10)
---
- - $       1$
  - $       4$
  - $       5$
  - $      16$
  - $      17$
  - $      20$
  - $      21$
  - $      32$
  - $      33$
  - $      36$
  - $      37$
  - $      48$
  - $      49$
  - $      52$
  - $      53$
  - $      64$
  - $      65$
  - $      68$
  - $      69$
  - $      80$
  - $      81$
  - $      84$
  - $      85$
  - $      96$
  - $      97$
  - $     100$
  - $     101$
  - $     112$
  - $     113$
  - $     116$
  - $     117$
  - $     128$
...
box.space.tweedledum.index.bitset:count(10, { iterator = box.index.BITS_ALL_NOT_SET})
---
- 32
...
dump(box.index.BITS_ALL_NOT_SET, 27)
---
- - $       4$
  - $      32$
  - $      36$
  - $      64$
  - $      68$
  - $      96$
  - $     100$
  - $     128$
...
box.space.tweedledum.index.bitset:count(27, { iterator = box.index.BITS_ALL_NOT_SET})
---
- 8
...
dump(box.index.BITS_ALL_NOT_SET, 85)
---
- - $       2$
  - $       8$
  - $      10$
  - $      32$
  - $      34$
  - $      40$
  - $      42$
  - $     128$
...
box.space.tweedledum.index.bitset:count(85, { iterator = box.index.BITS_ALL_NOT_SET})
---
- 8
...
dump(box.index.BITS_ALL_NOT_SET, 4294967295)
---
- []
...
box.space.tweedledum.index.bitset:count(4294967295, { iterator = box.index.BITS_ALL_NOT_SET})
---
- 0
...
------------------------------------------------------------------------------
-- BitsetIndex: BITS_ANY_SET (single bit)
------------------------------------------------------------------------------
dump(box.index.BITS_ANY_SET, 0)
---
- []
...
box.space.tweedledum.index.bitset:count(0, { iterator = box.index.BITS_ANY_SET})
---
- 0
...
dump(box.index.BITS_ANY_SET, 16)
---
- - $      16$
  - $      17$
  - $      18$
  - $      19$
  - $      20$
  - $      21$
  - $      22$
  - $      23$
  - $      24$
  - $      25$
  - $      26$
  - $      27$
  - $      28$
  - $      29$
  - $      30$
  - $      31$
  - $      48$
  - $      49$
  - $      50$
  - $      51$
  - $      52$
  - $      53$
  - $      54$
  - $      55$
  - $      56$
  - $      57$
  - $      58$
  - $      59$
  - $      60$
  - $      61$
  - $      62$
  - $      63$
  - $      80$
  - $      81$
  - $      82$
  - $      83$
  - $      84$
  - $      85$
  - $      86$
  - $      87$
  - $      88$
  - $      89$
  - $      90$
  - $      91$
  - $      92$
  - $      93$
  - $      94$
  - $      95$
  - $     112$
  - $     113$
  - $     114$
  - $     115$
  - $     116$
  - $     117$
  - $     118$
  - $     119$
  - $     120$
  - $     121$
  - $     122$
  - $     123$
  - $     124$
  - $     125$
  - $     126$
  - $     127$
...
box.space.tweedledum.index.bitset:count(16, { iterator = box.index.BITS_ANY_SET})
---
- 64
...
dump(box.index.BITS_ANY_SET, 128)
---
- - $     128$
...
box.space.tweedledum.index.bitset:count(128, { iterator = box.index.BITS_ANY_SET})
---
- 1
...
------------------------------------------------------------------------------
-- BitsetIndex: BITS_ANY_SET (multiple bit)
------------------------------------------------------------------------------
dump(box.index.BITS_ANY_SET, 7)
---
- - $       1$
  - $       2$
  - $       3$
  - $       4$
  - $       5$
  - $       6$
  - $       7$
  - $       9$
  - $      10$
  - $      11$
  - $      12$
  - $      13$
  - $      14$
  - $      15$
  - $      17$
  - $      18$
  - $      19$
  - $      20$
  - $      21$
  - $      22$
  - $      23$
  - $      25$
  - $      26$
  - $      27$
  - $      28$
  - $      29$
  - $      30$
  - $      31$
  - $      33$
  - $      34$
  - $      35$
  - $      36$
  - $      37$
  - $      38$
  - $      39$
  - $      41$
  - $      42$
  - $      43$
  - $      44$
  - $      45$
  - $      46$
  - $      47$
  - $      49$
  - $      50$
  - $      51$
  - $      52$
  - $      53$
  - $      54$
  - $      55$
  - $      57$
  - $      58$
  - $      59$
  - $      60$
  - $      61$
  - $      62$
  - $      63$
  - $      65$
  - $      66$
  - $      67$
  - $      68$
  - $      69$
  - $      70$
  - $      71$
  - $      73$
  - $      74$
  - $      75$
  - $      76$
  - $      77$
  - $      78$
  - $      79$
  - $      81$
  - $      82$
  - $      83$
  - $      84$
  - $      85$
  - $      86$
  - $      87$
  - $      89$
  - $      90$
  - $      91$
  - $      92$
  - $      93$
  - $      94$
  - $      95$
  - $      97$
  - $      98$
  - $      99$
  - $     100$
  - $     101$
  - $     102$
  - $     103$
  - $     105$
  - $     106$
  - $     107$
  - $     108$
  - $     109$
  - $     110$
  - $     111$
  - $     113$
  - $     114$
  - $     115$
  - $     116$
  - $     117$
  - $     118$
  - $     119$
  - $     121$
  - $     122$
  - $     123$
  - $     124$
  - $     125$
  - $     126$
  - $     127$
...
dump(box.index.BITS_ANY_SET, 84)
---
- - $       4$
  - $       5$
  - $       6$
  - $       7$
  - $      12$
  - $      13$
  - $      14$
  - $      15$
  - $      16$
  - $      17$
  - $      18$
  - $      19$
  - $      20$
  - $      21$
  - $      22$
  - $      23$
  - $      24$
  - $      25$
  - $      26$
  - $      27$
  - $      28$
  - $      29$
  - $      30$
  - $      31$
  - $      36$
  - $      37$
  - $      38$
  - $      39$
  - $      44$
  - $      45$
  - $      46$
  - $      47$
  - $      48$
  - $      49$
  - $      50$
  - $      51$
  - $      52$
  - $      53$
  - $      54$
  - $      55$
  - $      56$
  - $      57$
  - $      58$
  - $      59$
  - $      60$
  - $      61$
  - $      62$
  - $      63$
  - $      64$
  - $      65$
  - $      66$
  - $      67$
  - $      68$
  - $      69$
  - $      70$
  - $      71$
  - $      72$
  - $      73$
  - $      74$
  - $      75$
  - $      76$
  - $      77$
  - $      78$
  - $      79$
  - $      80$
  - $      81$
  - $      82$
  - $      83$
  - $      84$
  - $      85$
  - $      86$
  - $      87$
  - $      88$
  - $      89$
  - $      90$
  - $      91$
  - $      92$
  - $      93$
  - $      94$
  - $      95$
  - $      96$
  - $      97$
  - $      98$
  - $      99$
  - $     100$
  - $     101$
  - $     102$
  - $     103$
  - $     104$
  - $     105$
  - $     106$
  - $     107$
  - $     108$
  - $     109$
  - $     110$
  - $     111$
  - $     112$
  - $     113$
  - $     114$
  - $     115$
  - $     116$
  - $     117$
  - $     118$
  - $     119$
  - $     120$
  - $     121$
  - $     122$
  - $     123$
  - $     124$
  - $     125$
  - $     126$
  - $     127$
...
dump(box.index.BITS_ANY_SET, 113)
---
- - $       1$
  - $       3$
  - $       5$
  - $       7$
  - $       9$
  - $      11$
  - $      13$
  - $      15$
  - $      16$
  - $      17$
  - $      18$
  - $      19$
  - $      20$
  - $      21$
  - $      22$
  - $      23$
  - $      24$
  - $      25$
  - $      26$
  - $      27$
  - $      28$
  - $      29$
  - $      30$
  - $      31$
  - $      32$
  - $      33$
  - $      34$
  - $      35$
  - $      36$
  - $      37$
  - $      38$
  - $      39$
  - $      40$
  - $      41$
  - $      42$
  - $      43$
  - $      44$
  - $      45$
  - $      46$
  - $      47$
  - $      48$
  - $      49$
  - $      50$
  - $      51$
  - $      52$
  - $      53$
  - $      54$
  - $      55$
  - $      56$
  - $      57$
  - $      58$
  - $      59$
  - $      60$
  - $      61$
  - $      62$
  - $      63$
  - $      64$
  - $      65$
  - $      66$
  - $      67$
  - $      68$
  - $      69$
  - $      70$
  - $      71$
  - $      72$
  - $      73$
  - $      74$
  - $      75$
  - $      76$
  - $      77$
  - $      78$
  - $      79$
  - $      80$
  - $      81$
  - $      82$
  - $      83$
  - $      84$
  - $      85$
  - $      86$
  - $      87$
  - $      88$
  - $      89$
  - $      90$
  - $      91$
  - $      92$
  - $      93$
  - $      94$
  - $      95$
  - $      96$
  - $      97$
  - $      98$
  - $      99$
  - $     100$
  - $     101$
  - $     102$
  - $     103$
  - $     104$
  - $     105$
  - $     106$
  - $     107$
  - $     108$
  - $     109$
  - $     110$
  - $     111$
  - $     112$
  - $     113$
  - $     114$
  - $     115$
  - $     116$
  - $     117$
  - $     118$
  - $     119$
  - $     120$
  - $     121$
  - $     122$
  - $     123$
  - $     124$
  - $     125$
  - $     126$
  - $     127$
...
drop_space()
---
...
------------------------------------------------------------------------------
-- Misc
------------------------------------------------------------------------------
-- gh-1467: invalid iterator type
space = box.schema.space.create('test')
---
...
_ = space:create_index('primary', { type = 'hash', parts = {1, 'num'}, unique = true })
---
...
_ = space:create_index('bitset', { type = 'bitset', parts = {2, 'num'}, unique = false })
---
...
space.index.bitset:select({1}, { iterator = 'OVERLAPS'})
---
- error: Index 'bitset' (BITSET) of space 'test' (memtx) does not support requested
    iterator type
...
space:drop()
---
...
space = nil
---
...
-- gh-1549: BITSET index with inappropriate types crashes in debug build
space = box.schema.space.create('test')
---
...
_ = space:create_index('primary', { type = 'hash', parts = {1, 'num'}, unique = true })
---
...
_ = space:create_index('bitset', { type = 'bitset', parts = {2, 'number'}, unique = false })
---
- error: 'Can''t create or modify index ''bitset'' in space ''test'': NUMBER field
    type is not supported'
...
space:drop()
---
...
space = nil
---
...
-- https://github.com/tarantool/tarantool/issues/1896 wrong countspace = box.schema.space.create('test')
s = box.schema.space.create('test')
---
...
_ = s:create_index('primary', { type = 'hash', parts = {1, 'num'}, unique = true })
---
...
i = s:create_index('bitset', { type = 'bitset', parts = {2, 'num'}, unique = false })
---
...
s:insert{1, 0}
---
- [1, 0]
...
s:insert{2, 0}
---
- [2, 0]
...
s:insert{3, 0}
---
- [3, 0]
...
s:insert{4, 2}
---
- [4, 2]
...
s:insert{5, 2}
---
- [5, 2]
...
s:insert{6, 3}
---
- [6, 3]
...
s:insert{7, 4}
---
- [7, 4]
...
s:insert{8, 5}
---
- [8, 5]
...
s:insert{9, 8}
---
- [9, 8]
...
#i:select(7, {iterator = box.index.BITS_ANY_SET})
---
- 5
...
i:count(7, {iterator = box.index.BITS_ANY_SET})
---
- 5
...
s:drop()
---
...
s = nil
---
...