Natools

Timeline
Login

127 check-ins using file src/natools-smaz_tools-gnat.ads version 9a4fff5268

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