aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Makefile: Add switch for picking number of parallel fuzz workersHEADmainEuAndreh2025-05-271-1/+2
|
* meta.capim: Add with :dependencies keyEuAndreh2025-05-231-0/+8
|
* src/pds.go: Aesthetic tweaks 💅EuAndreh2025-05-191-171/+193
|
* src/pds.go: Hoist type definitions, constants and global variablesEuAndreh2025-05-191-288/+291
|
* src/pds.go: Add leading slash on package commentEuAndreh2025-05-191-41/+41
|
* tests/fuzz/vector/pds.go: Implement first model for others to be made equivalentEuAndreh2025-05-151-0/+136
|
* tests/fuzz/: Add noop fuzz targetsEuAndreh2025-05-1532-0/+575
|
* Setup i18n with gotextEuAndreh2025-05-1521-122/+410
|
* src/pds.go: Add NewVectorOf()EuAndreh2025-01-221-0/+9
|
* src/pds.go: Use NewMapBuilder() in implementation of NewMapOf()EuAndreh2025-01-221-14/+16
|
* s/List/Vector/gEuAndreh2025-01-2224-420/+437
|
* tests/pds.go: Init removal of "testing" usageEuAndreh2025-01-221-15/+26
|
* tests/pds.go: Move benchmarks and examples to separate test filesEuAndreh2024-12-2760-720/+1364
|
* Add Makefile and move files to structured foldersEuAndreh2024-12-149-380/+612
|
* Remove extraneous filesEuAndreh2024-12-144-57/+0
|
* Merge pull request #49 from astef/masterBen Johnson2023-08-171-1/+1
|\ | | | | Link badge to pkg.go.dev (README)
| * Merge pull request #1 from astef/astef-patch-1Alexander Stefurishin2023-08-171-1/+1
|/| | | | | Link badge to pkg.go.dev
| * link badge to pkg.go.devAlexander Stefurishin2023-08-171-1/+1
|/
* Merge pull request #46 from d80tb7/f/chrisma/sortedsetbuilderBen Johnson2023-03-112-4/+37
|\ | | | | Expose sorted sets builder
| * expose sorted sets builderChris Martin2023-03-012-4/+37
|/
* Merge pull request #43 from infogulch/patch-1Ben Johnson2023-02-251-1/+1
|\ | | | | Fix typo in README NewMap -> NewSet
| * Fix typo in README NewMap -> NewSetJoe Taber2023-02-241-1/+1
|/
* Merge pull request #38 from BarrensZeppelin/masterBen Johnson2023-01-293-52/+51
|\ | | | | Widen key constraint to 'any' for maps and sets
| * Update documentationOskar Haarklou Veileborg2023-01-181-2/+2
| |
| * Widen key constraint to 'any' for maps and setsOskar Haarklou Veileborg2023-01-182-50/+49
|/
* Merge pull request #41 from benbjohnson/retract-v0.4.2Ben Johnson2023-01-171-0/+2
|\ | | | | Retract v0.4.2
| * Retract v0.4.2Ben Johnson2023-01-171-0/+2
|/
* Merge pull request #39 from BarrensZeppelin/fix-setsBen Johnson2023-01-175-83/+41
|\ | | | | Ensure immutability of sets, maps & lists
| * Fix random seed for TestRandomOskar Haarklou Veileborg2023-01-121-0/+1
| | | | | | | | | | | | The closure passed to t.Run captured the loop variable which would always be equal to `*randomN` once the tests started running. This meant that all of the runs used the same random seed.
| * list: fix Append & Prepend, remove varargs supportOskar Haarklou Veileborg2023-01-122-12/+17
| | | | | | | | Similar reason for the API change as the previous commit.
| * sets & maps: remove varargs APIs & SetMany variantsOskar Haarklou Veileborg2023-01-123-56/+21
| | | | | | | | | | The implementation behind the API is not more efficient than manually looping over a data structure and inserting elements one-by-one.
| * Ensure immutability of sets (and maps with SetMany)Oskar Haarklou Veileborg2023-01-094-30/+17
|/
* Merge pull request #35 from laher/sets-maps-append-multiBen Johnson2023-01-025-21/+212
|\ | | | | Sets & maps append-multi. Also docs and a fix for SortedSets
| * set/sorted-set: Items() to return slice of itemsAm Laher2022-12-281-0/+22
| |
| * SortedMap: set multiple items at onceAm Laher2022-12-281-0/+23
| |
| * Fix SortedSet.Set. NewMapOf. docsAm Laher2022-12-284-3/+125
| |
| * sets: varargsAm Laher2022-12-282-18/+42
|/
* Merge pull request #34 from laher/setsBen Johnson2022-12-262-0/+272
|\ | | | | Set + SortedSet with tests
| * Set + SortedSet with testAm Laher2022-12-242-0/+272
| |
* | Merge pull request #33 from laher/addmultiBen Johnson2022-12-261-7/+19
|\ \ | |/ |/| List: varargs for Append,Prepend,NewList
| * List: varargs for Append,Prepend,NewListAm Laher2022-12-241-7/+19
|/
* Merge pull request #30 from laher/masterBen Johnson2022-12-211-18/+9
|\ | | | | readme updates for latest changes
| * readme updates for latest changesAm Laher2022-12-221-18/+9
|/
* Merge pull request #29 from laher/map-keys-comparableBen Johnson2022-12-201-47/+81
|\ | | | | generics: widen map key constraint to 'comparable'
| * generic-widening: improve docsAm Laher2022-12-041-6/+6
| |
| * generics: widen map key constraint to 'comparable'Am Laher2022-12-041-42/+76
|/
* Merge pull request #28 from BarrensZeppelin/masterBen Johnson2022-12-022-30/+65
|\ | | | | Allow lists to contain non-comparable elements
| * Allow lists to contain non-comparable elementsOskar Haarklou Veileborg2022-11-172-30/+65
|/ | | | | | | | | | | | | | | | | The current design uses comparability of elements only to detect vacant entries in leaf node children lists, using the zero value of the element type as "vacant". The reason we care about vacant entries is to avoid copy operations in certain Slice calls. If the entries are not vacant, we have to "zero" the entries in the returned slice to remove references to allocated memory. Therefore, (hackily) treating the zero value as vacant works because the zero value for pointers is nil (it does not reference anything). However, requiring the list elements to be comparable is inconvenient. There shouldn't be a type bound on the elements of a general purpose list. With this change vacancy is kept track of with a bitset in list leaf nodes.
* Merge pull request #24 from banks/patch-1Ben Johnson2022-10-061-12/+19
|\ | | | | Remove references to []byte keys in README
| * Remove references to []byte keys in READMEPaul Banks2022-10-051-12/+19
|/ | | | | | | #23 added generic support (which is awesome) but noted the breaking change about no longer supporting `[]byte` keys due to the `Ordered` constraint. Ideally, this library would continue to support `[]byte` keys and use a custom interface to constrain key types instead. But until that happens, the README right now is a bit surprising as it talks explicitly about supporting `[]byte` keys still but they are actually a compile error! Here's a drive-by fix for the README for now - I _think_ I caught all the incorrect statements.