131 check-ins using file src/natools-smaz_tools.ads version 1553a02b12
2019-04-11
| ||
17:43 | s_expressions-generic_caches: add a cheaper-when-possible alternative to Move Leaf check-in: 60c4462e44 user: nat tags: trunk | |
2019-04-10
| ||
19:49 | s_expressions-enumeration_io-tests: test Value of invalid enum atoms check-in: b63c559d17 user: nat tags: trunk | |
2019-04-09
| ||
18:56 | s_expressions-enumeration_io: improve argument names of the new Value primitive check-in: c7fcf14363 user: nat tags: trunk | |
2019-04-08
| ||
21:24 | s_expressions-enumeration_io: add a Value primitive with default check-in: a5f4c35865 user: nat tags: trunk | |
2017-07-10
| ||
20:33 | s_expressions-file_rw_tests: update to test Open_Or_Create primitives check-in: f3f5729400 user: nat tags: trunk | |
2017-07-09
| ||
21:04 | cron-tests: re-tune to achieve full coverage check-in: 5b22a3626b user: nat tags: trunk | |
2017-07-08
| ||
21:30 | cron: fix event order when extending an event list check-in: 7064962d3b user: nat tags: trunk | |
2017-07-07
| ||
20:11 | cron-tests: add a test for event list extension by a single event check-in: 757553b10d user: nat tags: trunk | |
2017-07-06
| ||
20:51 | cron-tests: fix argument order in calls to Check check-in: d1dd5bc62e user: nat tags: trunk | |
2017-07-05
| ||
20:57 | s_expressions-parsers-tests: improve coverage of Close_Current_List check-in: b150b39643 user: nat tags: trunk | |
2017-06-26
| ||
20:11 | s_expressions-file_writers: add primitive to open or create when needed check-in: c30800d3c3 user: nat tags: trunk | |
2017-06-25
| ||
21:14 | smaz_implementations-base_64: fix encoding issue with with multiblock check-in: 418ab16bcf user: nat tags: trunk | |
2017-06-24
| ||
21:03 | smaz_tests: new test showing a bug in multiblock base-64 encoding check-in: 84e2f2a874 user: nat tags: trunk | |
2017-06-23
| ||
20:00 | cron: fix fusion of even list check-in: 215f7beb0c user: nat tags: trunk | |
2017-06-22
| ||
21:10 | cron-tests: add a test showing a bug in event list fusion check-in: 908d0e14c9 user: nat tags: trunk | |
2017-06-21
| ||
19:51 | constant_indefinite_ordered_map_tests: test the new Rank primitive check-in: d01e18ba8f user: nat tags: trunk | |
2017-06-20
| ||
21:40 | constant_indefinite_ordered_maps: add a Rank cursor primitive check-in: e76c115fef user: nat tags: trunk | |
2017-06-19
| ||
21:20 | s_expressions-parsers-tests: add a test for Close_Current_List primitive check-in: 38b822e5a1 user: nat tags: trunk | |
2017-06-18
| ||
21:35 | s_expressions-conditionals-strings-tests: test the new equality test check-in: e21eaeef3f user: nat tags: trunk | |
2017-06-17
| ||
19:33 | s_expressions-conditionals-strings: add an equality test check-in: 87228b7a84 user: nat tags: trunk | |
2017-06-16
| ||
21:17 | tools/smaz: remove debug trace left over check-in: fe798b80fc user: nat tags: trunk | |
2017-06-15
| ||
19:23 | string_slice_tests: test the new callback-based constructor check-in: 4b6433de7a user: nat tags: trunk | |
2017-06-14
| ||
20:58 | string_slices: new callback-based constructor check-in: cd40fb63c6 user: nat tags: trunk | |
2017-06-13
| ||
19:15 | string_slices-slice_sets: drop uneeded mutability of string references check-in: 7521b2a2e6 user: nat tags: trunk | |
2017-06-12
| ||
19:15 | string_slices: use an immutable reference to protect from overwriting check-in: 74bf50894a user: nat tags: trunk | |
2017-05-26
| ||
20:02 | smaz_generic-tools: use Dict_Entry_Length when possible check-in: b6557bf0ac user: nat tags: trunk | |
2017-05-25
| ||
21:11 | tools/smaz: allow Optimization_Round to increase dictionary size check-in: 44c74c875f user: nat tags: trunk | |
2017-05-24
| ||
21:29 | tools/smaz: add support for not adding worst word to pending list check-in: d41ee1b20d user: nat tags: trunk | |
2017-05-23
| ||
20:15 | tools/smaz: allow Optimization_Round to reduce dictionary size check-in: c3f4498cb8 user: nat tags: trunk | |
2017-05-22
| ||
19:45 | tools/smaz: add a dictionary Length accessor check-in: 46f6fa15e8 user: nat tags: trunk | |
2017-05-21
| ||
20:44 | tools/smaz: add support for not removing from pending list in a round check-in: 0423da4c74 user: nat tags: trunk | |
2017-05-20
| ||
19:25 | tools/smaz: move log-message construction of Optimization_Round check-in: 032d847343 user: nat tags: trunk | |
2017-05-19
| ||
21:04 | tools/smaz: add command-line options for min and max dictionary size check-in: ecae1e85f4 user: nat tags: trunk | |
2017-05-18
| ||
21:13 | tools/smaz: implement forced words for optimized dictionary generation check-in: 014ca1d01b user: nat tags: trunk | |
2017-05-17
| ||
21:44 | tools/smaz: use the new version of Worst_Index check-in: 6eaac2a01c user: nat tags: trunk | |
2017-05-16
| ||
21:25 | smaz-tools: new version of Worst_Index limited to a range check-in: 5388213f83 user: nat tags: trunk | |
2017-05-15
| ||
21:34 | smaz_generic-tools: new version of Worst_Index limited to a range check-in: 579aa9f314 user: nat tags: trunk | |
2017-05-14
| ||
20:16 | tools/smaz: implement forced words for unoptimized dictionary generation check-in: bb325e8d12 user: nat tags: trunk | |
2017-05-13
| ||
20:47 | tools/smaz: refactor word count construction check-in: b2dbec1810 user: nat tags: trunk | |
2017-05-12
| ||
22:26 | tools/smaz: move Adjust_Dictionary call into To_Dictionary function check-in: 3b85da8290 user: nat tags: trunk | |
2017-05-10
| ||
20:59 | tools/smaz: add a new action for dedicated dictionary modification check-in: 9ab0cc7cbf user: nat tags: trunk | |
2017-05-09
| ||
20:45 | tools/smaz: implement the new forced words feature check-in: e252a053ef user: nat tags: trunk | |
2017-05-08
| ||
21:48 | tools/smaz: add a command-line option for a list of forced words check-in: 95e42d23fe user: nat tags: trunk | |
2017-05-07
| ||
20:27 | smaz-tools: new primitive for in-place element replacement check-in: 7fb143f443 user: nat tags: trunk | |
2017-05-06
| ||
21:05 | smaz_generic-tools: new primitive for in-place element replacement check-in: df71bfedf6 user: nat tags: trunk | |
2017-05-05
| ||
19:50 | s_expressions-parsers-tests: fix alphabetical ordering of tests check-in: a76936f058 user: nat tags: trunk | |
2017-04-13
| ||
20:30 | cron: fix incorrect concurrent access to Event_List internals check-in: ffb7e43a74 user: nat tags: trunk | |
2017-04-12
| ||
20:54 |
cron-tests: new test to show an issue with unsafe access to Event_List
Thanks to OpenBSD for providing an environment where this issue could happen accidentally. Now to find a fix... check-in: 3267d1247d user: nat tags: trunk | |
2017-04-11
| ||
21:28 | s_expressions-parsers-tests: test the new memory-backed parser check-in: 35261eb800 user: nat tags: trunk | |
2017-04-10
| ||
21:30 | s_expressions-parsers: add a memory-backed parser check-in: 1b11361e94 user: nat tags: trunk | |
2017-03-03
| ||
20:02 | smaz_implementations-base_64_tools: remove unneeded funct. Symbol_Count check-in: aaf366bd15 user: nat tags: trunk | |
2017-03-02
| ||
20:56 | smaz_tests: add a test for base-4096 input with non-base-64 characters check-in: 605bfd603c user: nat tags: trunk | |
2017-03-01
| ||
21:38 | smaz_tests: add a test for base-64 input with non-base-64 characters check-in: 8c5686ece7 user: nat tags: trunk | |
2017-02-28
| ||
20:13 | smaz_implementations-base_4096: check end-of-input in Read_Code check-in: 3b9dae1e75 user: nat tags: trunk | |
2017-02-27
| ||
21:27 | smaz_implementations-base_64: check end-of-input in Read_Code check-in: 6c1f9bd682 user: nat tags: trunk | |
2017-02-26
| ||
21:43 | smaz_implementations-base_64_tools: new primitive to check end of input check-in: b05bcfb847 user: nat tags: trunk | |
2017-02-25
| ||
20:45 | smaz_generic: update semantics of Read_Code to signal end-of-input check-in: b9f0155723 user: nat tags: trunk | |
2017-02-24
| ||
20:21 | smaz_tests: check constraint error in hash-to-code conversion check-in: ec0159cb57 user: nat tags: trunk | |
2017-02-23
| ||
22:37 | smaz_tests: test base-256 multi-block verbatim sequence check-in: c707170a93 user: nat tags: trunk | |
2017-02-22
| ||
22:45 | smaz-tests: add a test of multi-block verbatim sequence check-in: 3b0fbf12a9 user: nat tags: trunk | |
2017-02-21
| ||
21:11 | smaz_implementations-base_256: fix exception on 1-byte non-VLV blocks check-in: baef3cc8be user: nat tags: trunk | |
2017-02-20
| ||
20:16 | smaz_implementations-base_256: fix off-by-one error in Verbatim_Size check-in: 1183e8ca09 user: nat tags: trunk | |
2017-02-19
| ||
21:06 | smaz_tests: copy base-256 non-VLV tests from retired smaz test suite check-in: d389660384 user: nat tags: trunk | |
2017-02-18
| ||
22:14 | smaz_tests: rename base-256 sample string test for consistency check-in: beb52edfa5 user: nat tags: trunk | |
2017-02-17
| ||
21:33 | smaz: fix off-by-one error in Verbatim_Size check-in: 1f3ace98c0 user: nat tags: trunk | |
2017-02-16
| ||
20:56 | smaz-tests: add sample strings without variable-length verbatim check-in: f1bcc5d576 user: nat tags: trunk | |
2017-02-15
| ||
22:57 | coverage.sh: use gprbuild instead of gnatmake check-in: 89d897146c user: nat tags: trunk | |
2017-02-14
| ||
21:04 | smaz_generic-tools: fix the precondition of To_Dictionary check-in: 8458c28c3c user: nat tags: trunk | |
2017-02-13
| ||
21:12 | smaz_tests: add multi-block base-4096 verbatim, to reach full coverage check-in: 3110e5329d user: nat tags: trunk | |
2017-02-12
| ||
21:52 | smaz_tests: add base-4096 variable-length verbatim sample string test check-in: cf6b7c828f user: nat tags: trunk | |
2017-02-11
| ||
20:52 |
smaz_tests: fix verbatim parts of expected base-4096 streams
Why didn't just use standard base-64!? check-in: 0d15ccca30 user: nat tags: trunk | |
2017-02-10
| ||
20:58 | smaz_tests: update base-4096 expected streams for the new dictionaries check-in: 541596303a user: nat tags: trunk | |
2017-02-09
| ||
22:57 | smat_tests: add 256 digraphs to the base-4096 dictionaries check-in: 26569a2ae1 user: nat tags: trunk | |
2017-02-08
| ||
22:23 | smaz_tests: remove unneeded exception caused by byte-4096 hash function check-in: b2360c3935 user: nat tags: trunk | |
2017-02-07
| ||
20:48 | smaz_tests: remove 1-byte entries from 4096 dictionaries check-in: 61cc0370b5 user: nat tags: trunk | |
2017-02-06
| ||
22:09 | smaz_generic: add a description and an important warning check-in: 5793080d7d user: nat tags: trunk | |
2017-02-05
| ||
22:42 | smaz_tests: fix a mistake in a hand-made expected base-4096 stream check-in: 18dc02b3a0 user: nat tags: trunk | |
2017-02-04
| ||
22:25 | smaz_tests: fix endianness of the hand-encoded base-4096 streams check-in: 97980e3f18 user: nat tags: trunk | |
2017-02-03
| ||
21:08 | smaz_tests: fix base-4096 sample string test by actually calling it check-in: b4e3aec058 user: nat tags: trunk | |
2017-02-02
| ||
20:16 | smaz_tests: check base-4096 roundtrip of a few sample strings check-in: 46b1fe3862 user: nat tags: trunk | |
2017-02-01
| ||
21:37 | smaz_tests: add a base-4096 test harness check-in: 1d5eb501bc user: nat tags: trunk | |
2017-01-31
| ||
22:33 | tools/smaz: add support for base-4096 variant check-in: e6f252142c user: nat tags: trunk | |
2017-01-30
| ||
21:33 | smaz_4096: new instance of generic Smaz, base-64 and large dictionary check-in: c57a785ddb user: nat tags: trunk | |
2017-01-29
| ||
21:32 | tools/timekey: add CLI option to configure numer of subsecond digits check-in: b40ac98134 user: nat tags: trunk | |
2017-01-28
| ||
20:09 | tools/timekey: refactor the number of displayed subsecond digits check-in: f4f3b7b682 user: nat tags: trunk | |
2017-01-27
| ||
20:44 | tools/timekey: refactor command-line argument processing check-in: f9d3f1aa38 user: nat tags: trunk | |
2017-01-07
| ||
22:53 |
smaz_implementations-base_64: rewrite variable-length verbatim code
At some point in the development I changed the base-64 scheme, but failed to propagate it everywhere. Mostly I intend to use only one mode in base-64, and the other one is merely a place-holder, which explains how it got neglected. Now at least it works, even if it's useless. check-in: 210677c061 user: nat tags: trunk | |
2017-01-06
| ||
22:44 | smaz_tests: add a test for base-64 variable-length verbatim check-in: 3e04c004e7 user: nat tags: trunk | |
2017-01-05
| ||
22:56 | Add an ignore file check-in: 1877439212 user: nat tags: trunk | |
2017-01-04
| ||
23:07 | smaz_implementations-base_64_tools: fix exception on non-ASCII character check-in: a3ae81e9c1 user: nat tags: trunk | |
2017-01-03
| ||
20:41 | smaz_tests: add a check with non-ASCII characters check-in: 03f59a962d user: nat tags: trunk | |
2017-01-02
| ||
20:22 | smaz_tests: ASCIIfy the base-64 dictionary, to make it more portable check-in: 8f0534e6a4 user: nat tags: trunk | |
2017-01-01
| ||
21:43 | smaz_implementations-base_64: fix multi-block verbatim size computation check-in: c49fad3790 user: nat tags: trunk | |
2016-12-31
| ||
16:57 | smaz_tests: add a check to show a bug in long verbatim size computation check-in: 4f0ae7072f user: nat tags: trunk | |
2016-12-30
| ||
22:11 | smaz_generic-tools: fix removal of the first item of a dictionary check-in: dd10a5bea1 user: nat tags: trunk | |
2016-12-29
| ||
21:47 | smaz_implementations-base_64: fix index update in encoding 3n+2 vrbtim check-in: ebba07e9a7 user: nat tags: trunk | |
2016-12-28
| ||
22:29 |
smaz_implementations-base_64: fix reading of 3n+2 verbatim length
A sign error caused a direct constraint error, and using the wrong type caused overlong reads (now 4 is hardcoded just like it is in encoding code). check-in: 23d16059bd user: nat tags: trunk | |
2016-12-27
| ||
21:28 | smaz_tests: fix message of exceptions during decompression roundtrip check-in: 77d59bd0f4 user: nat tags: trunk | |
2016-12-26
| ||
20:00 | smaz_tests: add tests to fully cover non-variable-verbatim code check-in: c0e42e8031 user: nat tags: trunk | |
2016-12-25
| ||
21:39 | smaz_tests: add dictionary validity tests check-in: bc33d2a603 user: nat tags: trunk | |
2016-12-24
| ||
15:51 | smaz_tests: output base-64 stream directly, for more legibility check-in: 80ce774782 user: nat tags: trunk | |
2016-12-23
| ||
20:39 | smaz_tests: add a very basic test for base-64 Smaz check-in: a277512ddf user: nat tags: trunk | |
2016-12-22
| ||
20:47 | smaz_tests: update to make base-256-ness explicit check-in: 1a7b497cb0 user: nat tags: trunk | |
2016-12-21
| ||
20:24 | smaz_test_base_64_hash: sample generated base-64 smaz hash for tests check-in: d43e8f04d9 user: nat tags: trunk | |
2016-12-20
| ||
21:55 | tools/smaz: add support for base-64 variant check-in: 9de1423410 user: nat tags: trunk | |
2016-12-19
| ||
20:18 | smaz_64: new instance of generic smaz, outputs directly base-64 symbols check-in: 091a96ec6c user: nat tags: trunk | |
2016-12-18
| ||
21:16 | smaz_implementations-base_64_tools: new package for paddingless base-64 check-in: fd2ccb00b9 user: nat tags: trunk | |
2016-12-17
| ||
22:48 | tools/smaz: add a roundtrip check option to help debug new code check-in: f44feb5e3e user: nat tags: trunk | |
2016-12-16
| ||
20:55 |
smaz_generic: optimize compression
For some reason it seems even with -O3, calling Dict_Entry involves a string copy, which makes `memcpy` the larger time consumer of the copmpression algorithm. Inlining it manually improves performance a lot. check-in: 674fadc74b user: nat tags: trunk | |
2016-12-15
| ||
20:12 | tools/smaz: use the new validation function instead of ad-hoc code check-in: 3a95d52c86 user: nat tags: trunk | |
2016-12-14
| ||
20:01 |
smaz_generic: brind the predicate back as a separate function
Since Smaz dictionaries are meant to be global hard-coded constant objects, it makes sense to check the precondition only once, e.g. in a test suite, and not for each and every subprogram call. check-in: ec19d3153c user: nat tags: trunk | |
2016-12-13
| ||
22:09 | smaz_generic: remove the too-costly dynamic predicate check-in: 7ae85f4e93 user: nat tags: trunk | |
2016-12-12
| ||
22:18 | tools/smaz: fix the validation of retired dictionaries check-in: c291af061e user: nat tags: trunk | |
2016-12-11
| ||
21:36 | tools/smaz: work around a bugbox in GNAT 6.2 check-in: d23d8fc3b6 user: nat tags: trunk | |
2016-12-10
| ||
22:30 | tools/smaz: instantiate the old code to make it available check-in: 53a6d91b09 user: nat tags: trunk | |
2016-12-09
| ||
21:06 | tools/smaz: new command line option to select the old implementation check-in: 0f8f66819b user: nat tags: trunk | |
2016-12-08
| ||
22:29 | tools/smaz: genericize Process check-in: cfdc0a7979 user: nat tags: trunk | |
2016-12-07
| ||
21:36 | tools/smaz: partially genericize Print_Dictionary check-in: 966f7e5239 user: nat tags: trunk | |
2016-12-06
| ||
22:40 | tools/smaz: refactor dictionary holder inside the generic package check-in: 1eac1c8b76 user: nat tags: trunk | |
2016-12-05
| ||
21:01 | tools/smaz: genericize To_Dictionary check-in: 1dce15910c user: nat tags: trunk | |
2016-12-04
| ||
20:06 | tools/smaz: genericize Optimize_Dictionary check-in: 5c617d9676 user: nat tags: trunk | |
2016-12-03
| ||
22:29 | tools/smaz: genericize Evaluate_Dictionary check-in: bc86bc41ee user: nat tags: trunk | |
2016-12-02
| ||
21:12 | tools/smaz: genericize Parallel_Evaluate_Dictionary check-in: 79a36ec957 user: nat tags: trunk | |
2016-12-01
| ||
20:10 | tools/smaz: refactor dictionary processing in a dedicated procedure check-in: ef7006737f user: nat tags: trunk | |
2016-11-30
| ||
22:30 | natools.gpr: add a profiling mode to the build check-in: 2a24860505 user: nat tags: trunk | |
2016-11-29
| ||
20:37 | tools/smaz: basic adaptation to use the generic framework check-in: ab9c060396 user: nat tags: trunk | |
2016-11-28
| ||
22:31 | smaz_tools-gnat: duplication of GNAT tools for generic-based tree check-in: 29b53deb6d user: nat tags: trunk | |
2016-11-27
| ||
22:32 | smaz_generic-tools: add conversion from dictionary to word list check-in: 00a41d7915 user: nat tags: trunk | |
2016-11-26
| ||
22:48 | smaz_generic-tools: add dictionary evalution subprograms check-in: d7fe38e744 user: nat tags: trunk | |
2016-11-25
| ||
22:59 | smaz_generic-tools: new package for dictionary-dependent tools check-in: f85a938c62 user: nat tags: trunk | |
2016-11-24
| ||
21:01 | smaz_tools: add a Dummy_Hash function for dictionary-specific tools check-in: 4aa72a0c16 user: nat tags: trunk | |