# Functions
ApplyFilter applies a filter to our UIDList.
Difference returns the difference of two lists.
IndexOf performs a binary search on the uids slice and returns the index at which it finds the uid, else returns -1.
IntersectCompressedWith intersects a packed list of UIDs with another list and writes the output to o.
IntersectCompressedWithBin is based on the paper "Fast Intersection Algorithms for Sorted Sequences" https://link.springer.com/chapter/10.1007/978-3-642-12476-1_3.
IntersectCompressedWithLinJump performs the intersection linearly.
IntersectSorted calculates the intersection of multiple lists and performs the intersections from the smallest to the largest list.
IntersectWith intersects u with v.
IntersectWithBin is based on the paper "Fast Intersection Algorithms for Sorted Sequences" https://link.springer.com/chapter/10.1007/978-3-642-12476-1_3.
IntersectWithJump performs the intersection linearly but jumping jump steps between iterations.
IntersectWithLin performs the intersection linearly.
MergeSorted merges sorted lists.
ToUintsListForTest converts to list of uints for testing purpose only.