Natools

Timeline
Login

93 check-ins using file src/natools-smaz-tools.ads version c61bcb756f

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
2016-11-23
21:10
smaz_tools: add a dictionary-independent version of the dynamic hashes check-in: 24c6ae742e user: nat tags: trunk
2016-11-22
20:04
smaz_tools: new package for dictionary-independent tools check-in: b87eafd22c user: nat tags: trunk
2016-11-21
20:40
tools/smaz: fix direct dictionaries ignoring variable-length config check-in: b141a142f0 user: nat tags: trunk
2016-11-20
20:20
smaz-tools: fix computation of the first score in Worst_Index check-in: 18a2c1690b user: nat tags: trunk
2016-11-19
21:35
smaz-tools: refactor scoring in To_Scored_Word check-in: 25e91595e4 user: nat tags: trunk
2016-11-18
22:43
smaz-tools: add dictionary-independent scoring functions check-in: ebefb3c832 user: nat tags: trunk