Commit Graph

20 Commits

Author SHA1 Message Date
caf5bda249 add next/prev values to ordered-range-value building
put the previous value on the start boundaries and a the next
value on the end boundaries
2026-01-11 16:58:34 -06:00
98a9fd43fe walk sequence of range boundaries values for source and filter ranges
add lower level logic for walking the boundary markers of sets
but distinguish between a source range and a filter range when
looking at the start and end boundary behavior
2026-01-11 16:58:10 -06:00
211efb5d16 move form deftype to defrecord for easier set comparison
deftype gives different object instances which causes comparisons
of sets with different instances to fail, as it check the instance
equality instead of value equality, which can be provided by
using defrecord instead of deftype
2026-01-11 16:17:50 -06:00
d0c78810f0 add transducer step to combine abutting ranges
ranges have previously been consolidated by having overlapping ranges be
combined, resuting in a (possibly) consolidated set of ranges, which
are now ordered by start and end dates.

Add a transducer step to walk those ranges and find any pairs of ranges
where the pair of ranges abutt each other, and combine them into
a single range.
2026-01-10 18:34:09 -06:00
98761a79ea consolidate overlapping ranges
transduce over the ordered range values starts and ends and do the
stack push/pop matching over the start and end values to consolidate
the overlapping ranges and result in a new set of consolidated and
sorted range values.
2026-01-10 18:04:33 -06:00
725906c2e8 create ordered sequence of the given ranges' start and end values 2026-01-10 17:21:22 -06:00
2f654bc1e2 start of protocol for discrete value ranges 2026-01-10 17:08:52 -06:00
Chris Hapgood
d908c5c656 Correct test performance numbers 2026-01-08 08:55:17 -05:00
lwhorton
0bf150f662 Update docs, dependencies for 2026 hiring 2026-01-07 22:17:51 -05:00
Chris Hapgood
c037bc9b90 Fix typo in README example
Corrected terminology from 'data range' to 'date range' for clarity.
2026-01-07 16:09:00 -05:00
Chris Hapgood
73731422c2 Add bonus test for unbounded ranges 2024-06-12 23:01:27 -04:00
Chris Hapgood
f6270d1991 Tweak README to indicate the suitability of leaning on external libs 2024-06-12 15:56:53 -04:00
Chris Hapgood
af7d20bc30 Update README with hints about efficient solution 2024-06-11 09:17:08 -04:00
Chris Hapgood
c5014411e7 Remove empty file 2024-06-09 19:11:15 -04:00
Chris Hapgood
e0a1de2619 Fix typo in README 2024-06-06 21:19:50 -04:00
Chris Hapgood
bd1b55a461 Update README for clarity and even more examples 2024-06-06 19:18:54 -04:00
Chris Hapgood
4238fb82a2 Update README.md with more hints and typo corrections 2024-06-06 18:25:39 -04:00
Chris Hapgood
7a9cd81fb6 Add README and example test 2024-06-06 17:29:49 -04:00
Chris Hapgood
44aa7c8efd Add the performance test
It takes ~12 seconds to complete the performance test on a 2023 MacBook Pro
with an Apple M2 Pro processor and 32G of RAM.
2024-06-06 17:01:14 -04:00
Chris Hapgood
92f61a3b69 Create initial project structure with tests and reader 2024-06-06 15:38:31 -04:00