Behdad Esfahbod
|
84c2a30214
|
[bit-set-invertible] Second try fixing previous()
|
2021-08-19 16:33:48 -06:00 |
Behdad Esfahbod
|
8f88747a5e
|
[bit-set-invertible] Fix previous() iteration
|
2021-08-19 16:31:01 -06:00 |
Garret Rieger
|
3f2cc582f2
|
[set] add basic and iteration set inverion tests.
|
2021-08-19 15:05:10 -07:00 |
Behdad Esfahbod
|
1d832693e1
|
[set] Protect against immutible null set with invertible addition
|
2021-08-19 16:02:30 -06:00 |
Behdad Esfahbod
|
7115af23eb
|
[util] Fix glib deprecation warning re g_memdup()
|
2021-08-19 15:55:21 -06:00 |
Behdad Esfahbod
|
dc800ffd6c
|
[bit-set] Remove TODO items we don't intend to finish
|
2021-08-19 15:41:27 -06:00 |
Behdad Esfahbod
|
92908c122b
|
[bit-set-invertible] Remove extra check
We don't expect immutable / null set in this code.
|
2021-08-19 15:28:26 -06:00 |
Behdad Esfahbod
|
1babe80ed2
|
[bit-set-invertible] Fix last remaining corner-case
|
2021-08-19 15:18:32 -06:00 |
Behdad Esfahbod
|
e8911d137c
|
[bit-set-invertible] Implement a couple other missing corner cases
Also, in bit-set, don't compute population in is_equal/is_subset()
if we don't have it computed already.
|
2021-08-19 15:00:33 -06:00 |
Behdad Esfahbod
|
2579dc648f
|
[bit-set-invertible] Move code around
|
2021-08-19 14:48:27 -06:00 |
Behdad Esfahbod
|
2dfc104236
|
[bit-set-invertible] Implement is_empty() for inverted case as well
|
2021-08-19 14:47:33 -06:00 |
Behdad Esfahbod
|
ec4812a7d4
|
[bit-page] Remove unused inverted code
|
2021-08-19 13:32:44 -06:00 |
Behdad Esfahbod
|
87885e6f02
|
[bit-set-invertible] Fix next/previous() logic
|
2021-08-19 13:26:25 -06:00 |
Behdad Esfahbod
|
ee4e331a6e
|
[bit-set] Remove unused get_min(inverted)
|
2021-08-19 13:24:15 -06:00 |
Behdad Esfahbod
|
eec1a25e71
|
[bit-set-invertible] Rewrite get_min/max() in terms of next/previous()
|
2021-08-19 13:24:00 -06:00 |
Behdad Esfahbod
|
f09d5ed0f5
|
[algs] Remove hb_bitwise_non()
|
2021-08-19 13:06:10 -06:00 |
Behdad Esfahbod
|
f4fd7baf7e
|
[bit-set-invertible] Fix subtract() logic
|
2021-08-19 13:05:12 -06:00 |
Behdad Esfahbod
|
f317d8e426
|
[bit-set-invertible] Fix intersect() logic
|
2021-08-19 13:01:07 -06:00 |
Behdad Esfahbod
|
b21038d91d
|
[bit-set-invertible] Rewrite next/previous_range() in terms of s.next/previous()
|
2021-08-19 11:24:17 -06:00 |
Behdad Esfahbod
|
eb98bc1e32
|
[bit-set-invertible] Rewrite next/previous() using s.next/previous_range()
|
2021-08-19 11:19:24 -06:00 |
Behdad Esfahbod
|
248ad3bce5
|
[bit-set-invertible] Implement next/previous
This makes invertible set functionality complete.
|
2021-08-19 10:17:51 -06:00 |
Behdad Esfahbod
|
c27f5b1288
|
[bit-set-invertible] Plug in next_range()/previous_range()
|
2021-08-19 10:01:24 -06:00 |
Behdad Esfahbod
|
f6aa37159b
|
[bit-set-invertible] Fix process logic for inverted
[# On branch set-invert
|
2021-08-19 01:12:25 -06:00 |
Behdad Esfahbod
|
060de189ec
|
[bit-page] Fix sanitizer error
This essentially reverts 9449cfeefd
Problem was dereferencing pointer at end of array...
|
2021-08-19 00:58:34 -06:00 |
Behdad Esfahbod
|
b119b48079
|
[bit-set-invertible] Add unlikely() around inverted checks
|
2021-08-19 00:51:24 -06:00 |
Behdad Esfahbod
|
b94f24ec79
|
[bit-set-invertible] Implement set algebra
|
2021-08-19 00:48:00 -06:00 |
Behdad Esfahbod
|
6afefe1dc3
|
[algs] Remove unnecessary struct tag names
|
2021-08-19 00:27:03 -06:00 |
Behdad Esfahbod
|
8aa92ff8f0
|
[bit-set-invertible] Implement get_min/max
|
2021-08-18 23:01:06 -06:00 |
Behdad Esfahbod
|
18f50275ed
|
[bit-set] Restructure get_min/max() in prep for adding inverted
|
2021-08-18 22:08:06 -06:00 |
Behdad Esfahbod
|
669b97d949
|
[bit-set-invertible] Implement iterator
|
2021-08-18 21:39:04 -06:00 |
Behdad Esfahbod
|
c66894d7c9
|
[bit-set-invertible] Write a subset branch as dagger
|
2021-08-18 21:24:29 -06:00 |
Behdad Esfahbod
|
c39d2f7a76
|
[bit-set-invertible] Implement add_array / add_sorted_array / intersects
|
2021-08-18 21:20:54 -06:00 |
Behdad Esfahbod
|
0efa614c04
|
[bit-set] Add del_array/del_sorted_array()
|
2021-08-18 21:18:32 -06:00 |
Behdad Esfahbod
|
48ad9eef1e
|
[bit-set] Merge page_for_insert() into page_for()
|
2021-08-18 21:05:21 -06:00 |
Behdad Esfahbod
|
f0c3804fa2
|
[set] Add hb_bit_set_invertible_t and resurrect hb_set_invert()
Implementation is NOT complete yet.
|
2021-08-17 19:53:43 -06:00 |
Behdad Esfahbod
|
b5cdbdc030
|
[set] Turn hb_set_t into instance of template taking implementation t
|
2021-08-17 10:53:08 -06:00 |
Behdad Esfahbod
|
fad452bffb
|
[set] Move main functionality into hb_bit_set_t
To add inversion on top in hb_invertible_set_t and use that as hb_set_t.
|
2021-08-17 10:47:18 -06:00 |
Behdad Esfahbod
|
9cc4da962f
|
[object] Remove hb_object_is_inert()
|
2021-08-16 20:17:53 -06:00 |
Behdad Esfahbod
|
2d5ef05d67
|
Use !g_object_is_valid() instead of g_object_is_inert()
|
2021-08-16 20:13:58 -06:00 |
Behdad Esfahbod
|
f6d6eff6a2
|
[object] Remove unused HB_REFERENCE_COUNT_INIT
|
2021-08-16 19:41:44 -06:00 |
Behdad Esfahbod
|
f245dc4db8
|
[set] Whitespace
|
2021-08-15 18:59:58 -06:00 |
Behdad Esfahbod
|
9b390f8c40
|
[set] Move page_t into hb-bit-page.hh
|
2021-08-15 18:59:58 -06:00 |
Behdad Esfahbod
|
0c3e02ee2d
|
[set] Add "inverted" to page_t::is_empty()
|
2021-08-15 18:59:58 -06:00 |
Behdad Esfahbod
|
9bd64fa077
|
[set] Add "inverted" to page_t::next/prev()
|
2021-08-15 18:59:58 -06:00 |
Behdad Esfahbod
|
c88e7ec935
|
[set] Add page_t::elt_maybe_invert()
|
2021-08-15 18:59:58 -06:00 |
Behdad Esfahbod
|
9449cfeefd
|
[set] Simplify page_t::next/prev()
|
2021-08-15 18:59:58 -06:00 |
Behdad Esfahbod
|
4394ee1f1d
|
[set] Add inverted to page_t::get_min/max()
|
2021-08-15 18:59:58 -06:00 |
Behdad Esfahbod
|
0dcd9b15d9
|
[set] Add page_t::set_range()
|
2021-08-15 18:59:58 -06:00 |
Behdad Esfahbod
|
cb273fd17c
|
[set] Add page_t::set()
|
2021-08-15 18:59:58 -06:00 |
Behdad Esfahbod
|
32bbf53d9c
|
[set] Minor rewrite one cmp() in term of other
|
2021-08-15 18:59:58 -06:00 |