Skip to content

Releases: c-blake/adix

A few doc gen links, better on newer Nim's, working non-BMI2 nsort

22 Oct 16:20
ed727ad
Compare
Choose a tag to compare

The subject line mostly covers the details.

One notable feature of "newer Nim's" is the parameter name change of default to def in std/tables getOrDefault which the tables here (lptabz, ditab, oats) track to retain drop-in compatibility / compile-time duck-typing.

Rely on `std/sysrand` (around since 2021) & clean-ups

27 Sep 18:30
62c9bc6
Compare
Choose a tag to compare

Make fall-back to true-randomized hash salting much more system-portable.

Also some minor clean-ups with 4 adix/oats test/demo programs & std/ qualified imports.

Fix `nsort`; Make compile-able with stricter style

07 Sep 09:11
dbb9571
Compare
Choose a tag to compare

Just a few fixes:

  • nsort needed an alloca decl for newer glibc/gcc on Linux
  • passc & dSize were mis-spelled (undetected before since styleCheck=usages only works with hint[Name]=on)
  • make topk.nim work back to nim-1.6

Add `adix/topk` and employ in various `topByVal`

30 Jul 09:31
b347364
Compare
Choose a tag to compare

..as well as in tests & the lfreq utility program.

Very minor changes

25 Jul 20:19
23b1356
Compare
Choose a tag to compare

Make data ranges for tests/ucl.nim more applicable

Uncomment more of the needed static duck typing in adix/oats.nim

cligen verison depencency update & hashData->hash(openArray[byte])

23 Jun 17:45
ab12d9e
Compare
Choose a tag to compare

hashData was only in tests/wf.nim, though.

Minor bug fix release for lptabs.setCap

05 Jun 20:02
18db2c0
Compare
Choose a tag to compare

Table size anticipation must be pretty rare for this bug to last this long. Oh well.

Add fast flexible formatting to `lfreq`

06 May 15:47
eecd1a2
Compare
Choose a tag to compare

In spite of the easy tests/lfreq.awk awk 1..2-liner, for which lfreq is mostly just an optimization / demo of adix/oats, maybe given how many people seem surprised at uniq -c and sort-based histogramming, Unix was always missing this slightly more specific utility. So, make this particular realization a little nicer with fairly general user formats of output.

This could be used, for example, to do git log --author=WHOEVER --date=raw | awk '{print int($2/86400/91)}' | lfreq -n0 -f@k,@c { maybe also piped to a chart/plot program after lfreq } to assess quarterly git activity of some author.

Workaround Nim generics bug in non-nimPreviewSlimSystem mode

23 Apr 10:51
8a999a1
Compare
Choose a tag to compare

That shows up in an external consumer like bu/niom.nim.

Minor fix for adix/bist.nim

22 Apr 09:21
c30ff2d
Compare
Choose a tag to compare

Add promotion from SomeInteger to int, a need discovered while testing/timing BISTs as a top-k alternative. (Spoiler alert - need 2 or more quantiles to improve enough upon topk batch-quick-select, but then again (median,interquartile range) is "a thing" and is also 3 quantiles.)

Also added bist.clear to zero out counters with the same re-used memory.