-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sparse bitmask #44
base: master
Are you sure you want to change the base?
Sparse bitmask #44
Commits on Jan 8, 2019
-
A bitmask stored as a quadtree (or n-dimensional equivalent).
The tree is truncated such that it does not contain boolean value-nodes all the way to the leafs. Instead, leafs store bitmasks of a specified size. Also contains algorithms to efficiently compute the number and bounding box of set pixels in such bitmasks.
Configuration menu - View commit details
-
Copy full SHA for 21b2933 - Browse repository at this point
Copy the full SHA 21b2933View commit details -
A RandomAccessible<NativeBoolType> that grows on demand. SparseBitmask.tree() provides the underlying SparseBitmaskNTree. SparseBitmask.region() provides a view as IterableRegion, with efficient computation of bounding box and iteration of set pixels.
Configuration menu - View commit details
-
Copy full SHA for 933b6be - Browse repository at this point
Copy the full SHA 933b6beView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d53a1f - Browse repository at this point
Copy the full SHA 3d53a1fView commit details
Commits on Jan 9, 2019
-
The functionality of Bitmask is very much independent of the class Tree. It should be an independent class.
Configuration menu - View commit details
-
Copy full SHA for 64cfdcc - Browse repository at this point
Copy the full SHA 64cfdccView commit details -
WIP: add tiny tests + THERE'S A BUG
Only on bit of SparseBitmask is true. But SparseBitmask.region().cursor() seems to have two elements?
Configuration menu - View commit details
-
Copy full SHA for 5eb9114 - Browse repository at this point
Copy the full SHA 5eb9114View commit details -
Configuration menu - View commit details
-
Copy full SHA for e9e97ca - Browse repository at this point
Copy the full SHA e9e97caView commit details -
Configuration menu - View commit details
-
Copy full SHA for 525a222 - Browse repository at this point
Copy the full SHA 525a222View commit details
Commits on Jan 10, 2019
-
* numSet -> numberOfOnes (numSet is too ambiguous. Is it a set of numbers?) * leafDims -> dims * bytes -> data (The javadoc comment suggests this renaming.) Add method byteMask similar to byteIndex to reduce code duplication.
Configuration menu - View commit details
-
Copy full SHA for ad4ad4e - Browse repository at this point
Copy the full SHA ad4ad4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 388e956 - Browse repository at this point
Copy the full SHA 388e956View commit details -
Configuration menu - View commit details
-
Copy full SHA for 64ae2ae - Browse repository at this point
Copy the full SHA 64ae2aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 20f4377 - Browse repository at this point
Copy the full SHA 20f4377View commit details -
Configuration menu - View commit details
-
Copy full SHA for fee32f6 - Browse repository at this point
Copy the full SHA fee32f6View commit details -
The design of this class is specific to it's use in Tree this should be reflected by the name
Configuration menu - View commit details
-
Copy full SHA for f8f8d98 - Browse repository at this point
Copy the full SHA f8f8d98View commit details -
Configuration menu - View commit details
-
Copy full SHA for 643ac4a - Browse repository at this point
Copy the full SHA 643ac4aView commit details
Commits on Jan 11, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 76ed17a - Browse repository at this point
Copy the full SHA 76ed17aView commit details -
Add Benchmark against Labkit's sparse bitmaps.
The sparse bitmaps in Labkit use list's of coordinates to store only the white pixels.
Configuration menu - View commit details
-
Copy full SHA for d956e54 - Browse repository at this point
Copy the full SHA d956e54View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5f1381f - Browse repository at this point
Copy the full SHA 5f1381fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0778e5d - Browse repository at this point
Copy the full SHA 0778e5dView commit details
Commits on Jan 15, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 802463c - Browse repository at this point
Copy the full SHA 802463cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 49c2187 - Browse repository at this point
Copy the full SHA 49c2187View commit details -
Improve thread-safety of Tree.get and Tree.getNode
If a set operation sets NodeData.children or NodeData.bitmask to zero, get will return NodeData.value.
Configuration menu - View commit details
-
Copy full SHA for d58b8c4 - Browse repository at this point
Copy the full SHA d58b8c4View commit details -
Make tree a tree with fixed height
That way GrowableTree and Tree can be better distinguished. Also reading Tree becomes thread-safe. The tree can always be red in any thread, only the write operations need to be synchronized.
Configuration menu - View commit details
-
Copy full SHA for 87244a5 - Browse repository at this point
Copy the full SHA 87244a5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 34994a6 - Browse repository at this point
Copy the full SHA 34994a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for bc2b8f2 - Browse repository at this point
Copy the full SHA bc2b8f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for d4e2def - Browse repository at this point
Copy the full SHA d4e2defView commit details -
Configuration menu - View commit details
-
Copy full SHA for 820ea7a - Browse repository at this point
Copy the full SHA 820ea7aView commit details -
This has a huge performance improvement for cuncurrent reading.
Configuration menu - View commit details
-
Copy full SHA for 6dfc807 - Browse repository at this point
Copy the full SHA 6dfc807View commit details