Îõ³h$Bµ@ƒë      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab c d e f g h i j (c) 2008-2011 Dan DoelDan Doel ExperimentalPortableNone?É×Ùgvector-algorithms9A type of comparisons between two values of a given type.klmno(c) 2008-2010 Dan DoelDan Doel ExperimentalPortableNone£vector-algorithms$Sorts the elements at the positions off8 and 'off + 1' in the given array using the comparison.vector-algorithmsšSorts the elements at the two given indices using the comparison. This is essentially a compare-and-swap, although the first index is assumed to be the lower of the two.vector-algorithmsÃSorts the three elements starting at the given offset in the array.vector-algorithmsìSorts the elements at the three given indices. The indices are assumed to be given from lowest to highest, so if 'l < m < u' then 'sort3ByIndex cmp a m l u' essentially sorts the median of three into the lowest position in the array.vector-algorithms0Sorts the four elements beginning at the offset.vector-algorithmsÖSorts the elements at the four given indices. Like the 2 and 3 element versions, this assumes that the indices are given in increasing order, so it can be used to sort medians into particular positions and so on.(c) 2008-2010 Dan DoelDan Doel ExperimentalPortableNoneÉ× vector-algorithms?Sorts an entire array using the default comparison for the typevector-algorithms A variant on * that returns a vector of unique elements. vector-algorithms.Sorts an entire array using a given comparison vector-algorithms A variant on  + which returns a vector of unique elements. vector-algorithms0Sorts the portion of an array delimited by [l,u) vector-algorithmsåSorts the portion of the array delimited by [l,u) under the assumption that [l,m) is already sorted.  (c) 2008-2011 Dan DoelDan Doel  ExperimentalPortableNoneÉ× É vector-algorithms,Sorts an array using the default comparison.vector-algorithms A variant on  * that returns a vector of unique elements.vector-algorithms)Sorts an array using a custom comparison.vector-algorithms A variant on + which returns a vector of unique elements.  (c) 2011 Dan DoelDan Doel  Experimental4Non-portable (FlexibleContexts, ScopedTypeVariables)None?É×Ùò vector-algorithmsñThe methods of this class specify the information necessary to sort arrays using the default ordering. The name â is meant to convey that index should return results in a similar way to indexing into a string.vector-algorithmsÄComputes the length of a representative of a stripe. It should take n" passes to sort values of extent n?. The extent may not be uniform across all values of the type.vector-algorithms5The size of the bucket array necessary for sorting esvector-algorithmsÓDetermines which bucket a given element should inhabit for a particular iteration.vector-algorithmsêGiven a representative of a stripe and an index number, this function determines whether to stop sorting.vector-algorithms§Sorts an array using the default ordering. Both Lexicographic and Ord are necessary because the algorithm falls back to insertion sort for sufficiently small arrays.vector-algorithms A variant on * that returns a vector of unique elements.vector-algorithmsÃA fully parameterized version of the sorting algorithm. Again, this function takes both radix information and a comparison, because the algorithms falls back to insertion sort for small arrays.vector-algorithms A variant on + which returns a vector of unique elements.vector-algorithms,a comparison for the insertion sort flalbackvector-algorithms'determines whether a stripe is completevector-algorithmsthe number of buckets necessaryvector-algorithmsthe big-endian radix functionvector-algorithmsthe array to be sortedvector-algorithms,a comparison for the insertion sort flalbackvector-algorithms'determines whether a stripe is completevector-algorithmsthe number of buckets necessaryvector-algorithmsthe big-endian radix functionvector-algorithmsthe array to be sorted  (c) 2008-2015 Dan DoelDan Doel  ExperimentalNon-portable (type operators)NoneÉÖ×",'vector-algorithms1Sorts an entire array using the default ordering.(vector-algorithms A variant on '* that returns a vector of unique elements.)vector-algorithms.Sorts an entire array using a custom ordering.*vector-algorithms A variant on )+ which returns a vector of unique elements.+vector-algorithms9Sorts a portion of an array [l,u) using a custom ordering,vector-algorithmsäMoves the lowest k elements to the front of the array. The elements will be in no particular order.-vector-algorithms„Moves the lowest (as defined by the comparison) k elements to the front of the array. The elements will be in no particular order..vector-algorithms Moves the lowestø k elements in the portion [l,u) of the array into the positions [l,k+l). The elements will be in no particular order./vector-algorithms>Moves the lowest k elements to the front of the array, sorted.ÁThe remaining values of the array will be in no particular order.0vector-algorithmsÞMoves the lowest k elements (as defined by the comparison) to the front of the array, sorted.ÁThe remaining values of the array will be in no particular order.1vector-algorithmsÞMoves the lowest k elements in the portion [l,u) of the array into positions [l,k+l), sorted.ñThe remaining values in [l,u) will be in no particular order. Values outside the range [l,u) will be unaffected.2vector-algorithmsÌConstructs a heap in a portion of an array [l, u), using the values therein.Note: 2÷ is more efficient than constructing a heap by repeated insertion. Repeated insertion has complexity O(n*log n) while 2Õ is able to construct a heap in O(n), where n is the number of elements in the heap.3vector-algorithmsûGiven a heap stored in a portion of an array [l,u), swaps the top of the heap with the element at u and rebuilds the heap.4vector-algorithms„Given a heap stored in a portion of an array [l,u) swaps the top of the heap with the element at position t, and rebuilds the heap.5vector-algorithms‘Given a heap stored in a portion of an array [l,u), sorts the highest values into [m,u). The elements in [l,m) are not in any particular order.6vector-algorithms†Given a heap stored in a portion of an array [l,u) and an element e, inserts the element into the heap, resulting in a heap in [l,u].âNote: it is best to only use this operation when incremental construction of a heap is required. 2Ý is capable of building a heap in O(n) time, while repeated insertion takes O(n*log n) time. +vector-algorithmslower index, lvector-algorithmsupper index, u,vector-algorithmsnumber of elements to select, k-vector-algorithmsnumber of elements to select, k.vector-algorithmsnumber of elements to select, kvector-algorithmslower index, lvector-algorithmsupper index, u/vector-algorithmsnumber of elements to sort, k0vector-algorithmsnumber of elements to sort, k1vector-algorithmsnumber of elements to sort, kvector-algorithmslower index, lvector-algorithmsupper index, u2vector-algorithmslower index, lvector-algorithmsupper index, u3vector-algorithmslower heap index, lvector-algorithmsupper heap index, u4vector-algorithmslower heap index, lvector-algorithmsupper heap index, uvector-algorithmsindex to pop to, t5vector-algorithmslower heap index, lvector-algorithms&lower bound of final sorted portion, mvector-algorithmsupper heap index, u6vector-algorithmslower heap index, lvector-algorithmsupper heap index, uvector-algorithmselement to be inserted, e'()*+,-./0123456'()*+,-./0123456(c) 2008-2015 Dan DoelDan Doel  Experimental,Non-portable (type operators, bang patterns)NoneÉÖ×Ù)r 7vector-algorithms1Sorts an entire array using the default ordering.8vector-algorithms A variant on 7* that returns a vector of unique elements.9vector-algorithms A variant on 9+ which returns a vector of unique elements.:vector-algorithmsÙSorts an entire array using a custom ordering returning a vector of the unique elements.;vector-algorithms9Sorts a portion of an array [l,u) using a custom ordering<vector-algorithmsÍMoves the least k elements to the front of the array in no particular order.=vector-algorithmsìMoves the least k elements (as defined by the comparison) to the front of the array in no particular order.>vector-algorithmsâMoves the least k elements in the interval [l,u) to the positions [l,k+l) in no particular order.?vector-algorithms=Moves the least k elements to the front of the array, sorted.@vector-algorithmsÝMoves the least k elements (as defined by the comparison) to the front of the array, sorted.Avector-algorithmsÓMoves the least k elements in the interval [l,u) to the positions [l,k+l), sorted.;vector-algorithmslower index, lvector-algorithmsupper index, u<vector-algorithmsnumber of elements to select, k=vector-algorithmsnumber of elements to select, k>vector-algorithmsnumber of elements to select, kvector-algorithmslower bound, lvector-algorithmsupper bound, u?vector-algorithmsnumber of elements to sort, k@vector-algorithmsnumber of elements to sort, kAvector-algorithmsnumber of elements to sort, kvector-algorithmslower index, lvector-algorithmsupper index, u 789:;<=>?@A 789:;<=>?@A(c) 2008-2011 Dan DoelDan Doel  Experimental3Non-portable (scoped type variables, bang patterns)NoneÉÖ×Ù-QCvector-algorithms5The number of passes necessary to sort an array of esDvector-algorithmsThe size of an auxiliary arrayEvector-algorithms4The radix function parameterized by the current passFvector-algorithms+Sorts an array based on the Radix instance.Gvector-algorithmsÃRadix sorts an array using custom radix information requires the number of passes to fully sort the array, the size of of auxiliary arrays necessary (should be one greater than the maximum value returned by the radix function), and a radix function, which takes the pass and an element, and returns the relevant radix.Gvector-algorithmsthe number of passesvector-algorithmsthe size of auxiliary arraysvector-algorithmsthe radix functionvector-algorithmsthe array to be sortedBDECFGFGBDEC((c) 2009-2015 Dan Doel, 2015 Tim BaumannDan Doel  ExperimentalNon-portable (bang patterns)NoneÉ×<Svector-algorithms…Finds an index in a given sorted vector at which the given element could be inserted while maintaining the sortedness of the vector.Tvector-algorithms¾Finds an index in a given vector, which must be sorted with respect to the given comparison function, at which the given element could be inserted while preserving the vector's sortedness.Uvector-algorithmsºGiven a vector sorted with respect to a given comparison function in indices in [l,u), finds an index in [l,u] at which the given element could be inserted while preserving sortedness.Vvector-algorithmsÿFinds the lowest index in a given sorted vector at which the given element could be inserted while maintaining the sortedness.Wvector-algorithms½Finds the lowest index in a given vector, which must be sorted with respect to the given comparison function, at which the given element could be inserted while preserving the sortedness.Xvector-algorithmsÂGiven a vector sorted with respect to a given comparison function on indices in [l,u), finds the lowest index in [l,u] at which the given element could be inserted while preserving sortedness.Yvector-algorithmsýFinds the greatest index in a given sorted vector at which the given element could be inserted while maintaining sortedness.Zvector-algorithms¿Finds the greatest index in a given vector, which must be sorted with respect to the given comparison function, at which the given element could be inserted while preserving the sortedness.[vector-algorithmsÆGiven a vector sorted with respect to the given comparison function on indices in [l,u), finds the greatest index in [l,u] at which the given element could be inserted while preserving sortedness.\vector-algorithmsÐGiven a predicate that is guaranteed to be monotone on the given vector, finds the first index at which the predicate returns True, or the length of the array if the predicate is false for the entire array.]vector-algorithmsÔGiven a predicate that is guaranteed to be monotone on the indices [l,u) in a given vector, finds the index in [l,u] at which the predicate turns from False to True (yielding u if the entire interval is False).^vector-algorithmsîGiven a predicate that is guaranteed to be monotone on the vector elements in order, finds the index at which the predicate turns from False to True. The length of the vector is returned if the predicate is False for the entire vector.ÍBegins searching at the start of the vector, in increasing steps of size 2^n._vector-algorithmsîGiven a predicate that is guaranteed to be monotone on the vector elements in order, finds the index at which the predicate turns from False to True. The length of the vector is returned if the predicate is False for the entire vector.ËBegins searching at the end of the vector, in increasing steps of size 2^n.`vector-algorithms“Given a predicate that is guaranteed to be monotone on the indices [l,u) in a given vector, finds the index in [l,u] at which the predicate turns from False to True (yielding u if the entire interval is False). Begins searching at l, going right in increasing (2^n)-steps.avector-algorithms’Given a predicate that is guaranteed to be monotone on the indices [l,u) in a given vector, finds the index in [l,u] at which the predicate turns from False to True (yielding u if the entire interval is False). Begins searching at u, going left in increasing (2^n)-steps.`vector-algorithmslvector-algorithmsuavector-algorithmslvector-algorithmsuSTUVWXYZ[\]^_`aSTUVWXYZ[\]^`_a NoneÔÙ>°bvector-algorithmsThe b9 function which removes duplicate elements from a vector.cvector-algorithms A version of b$ with a custom comparison predicate.Note: This function makes use of  sortByUniq! using the intro sort algorithm.dvector-algorithmsThe d˜ function takes in an in-place sort algorithm and uses it to do a de-deduplicated sort. It then uses this to remove duplicate elements from the input.Note:‡ Since this algorithm needs the original input and so copies before sorting in-place. As such, it is safe to use on immutable inputs.bcdbcd ((c) 2013-2015 Dan Doel, 2015 Tim BaumannDan Doel  ExperimentalNon-portable (bang patterns)None@wevector-algorithms,Sorts an array using the default comparison.fvector-algorithms A variant on e* that returns a vector of unique elements.gvector-algorithms)Sorts an array using a custom comparison.hvector-algorithms A variant on g+ which returns a vector of unique elements.efghefghð    !"#$%&'()*+,-./012345+,-./06789:;<=>?@ABCDEFGHIJKLMNOPQR S T U     V W X Y Z [ \Ý/vector-algorithms-0.9.0.1-8Ti2uSHOjuYPRFCnB0mclData.Vector.Algorithms.Optimal Data.Vector.Algorithms.InsertionData.Vector.Algorithms.Merge#Data.Vector.Algorithms.AmericanFlagData.Vector.Algorithms.HeapData.Vector.Algorithms.IntroData.Vector.Algorithms.RadixData.Vector.Algorithms.SearchData.Vector.AlgorithmsData.Vector.Algorithms.TimData.Vector.Algorithms.Common Comparison sort2ByOffset sort2ByIndex sort3ByOffset sort3ByIndex sort4ByOffset sort4ByIndexsortsortUniqsortBy sortUniqBy sortByBounds sortByBounds' Lexicographicextentsizeindex terminate$fLexicographicEither$fLexicographic(,)$fLexicographicByteString$fLexicographicInt$fLexicographicInt64$fLexicographicInt32$fLexicographicInt16$fLexicographicInt8$fLexicographicWord$fLexicographicWord64$fLexicographicWord32$fLexicographicWord16$fLexicographicWord8selectselectByselectByBounds partialSort partialSortBypartialSortByBoundsheapifypoppopTosortHeap heapInsertRadixpassesradix $fRadix(,) $fRadixWord64 $fRadixWord32 $fRadixWord16 $fRadixWord8 $fRadixWord $fRadixInt64 $fRadixInt32 $fRadixInt16 $fRadixInt8 $fRadixInt binarySearchbinarySearchBybinarySearchByBounds binarySearchLbinarySearchLBybinarySearchLByBounds binarySearchRbinarySearchRBybinarySearchRByBounds binarySearchPbinarySearchPBoundsgallopingSearchLeftPgallopingSearchRightPgallopingSearchLeftPBoundsgallopingSearchRightPBoundsnubnubBynubByMut $fEqOrder $fShowOrder copyOffsetinc countLoopmidPointuniqueMutableBy