Jeroen van Rijn and GitHub
14bf20320a
Merge pull request #1764 from Kelimion/xxh3_tests
...
[xxhash] For the streaming tests, randomly select the size to use.
2022-05-02 19:30:40 +02:00
Jeroen van Rijn
b99940f33a
[xxhash] For the streaming tests, randomly select the size to use.
...
Randomize size used with `update`.
It'll print "Using user-selected seed {18109872483301276539,2000259725719371} for update size randomness."
If a streaming test then fails, you can repeat it using:
`odin run . -define:RAND_STATE=18109872483301276539 -define:RAND_INC=2000259725719371`
2022-05-02 19:20:25 +02:00
Jeroen van Rijn and GitHub
81495068b9
Merge pull request #1763 from Kelimion/xxh3_tests
...
[xxhash] Add tests for large inputs
2022-05-02 17:57:48 +02:00
Jeroen van Rijn
6985181961
[xxhash] Add tests for large inputs
...
Test XXH32, XXH64, XXH3-64 and XXH3-128 for large inputs, with both all-at-once and streaming APIs.
XXH32_create_state and XXH64_create_state now implicitly call their "reset state" variants to simplify the streaming API to 3 steps:
- create state / defer destroy
- update
- digest (finalize)
These are tested with an array of 1, 2, 4, 8 and 16 megabytes worth of zeroes.
All return the same hashes as do both the one-shot version, as well as that of the official xxhsum tool.
3778/3778 tests successful.
2022-05-02 17:51:39 +02:00
Jeroen van Rijn and GitHub
18463d68d4
Merge pull request #1762 from WalterPlinge/netpbm-doc-fix
...
Fixed incorrect values in the docs for the Netpbm package
2022-05-01 22:39:15 +02:00
Jeroen van Rijn and GitHub
df233aee94
Merge pull request #1760 from Kelimion/xxh3_fix
...
[xxh3] Fix flaws in streaming implementation
2022-05-01 12:54:20 +02:00
Jeroen van Rijn
335b724209
[xxh3] Fix flaws in streaming implementation
2022-05-01 12:47:05 +02:00
Jeroen van Rijn
6ade9acc4d
[pbm] Remove stray comment.
2022-04-30 22:54:53 +02:00
Jeroen van Rijn
2081f8fcd6
[tests/core/image] Remove old crappy PPM writer.
2022-04-30 22:04:47 +02:00
Jeroen van Rijn and GitHub
964ab4814c
Merge pull request #1726 from WalterPlinge/image-netpbm
...
Add Netpbm image format support
2022-04-30 22:01:22 +02:00
Jeroen van Rijn
7a032cf9f9
[pbm] Also test PFM formats.
2022-04-30 21:57:14 +02:00
Jeroen van Rijn
694c13fe86
Merge branch 'master' into pr/1726
2022-04-30 21:01:04 +02:00
Jeroen van Rijn
8bd16c32f3
[pbm] Fixes.
2022-04-30 21:00:32 +02:00
Jeroen van Rijn
234d529867
[pbm] WIP unit tests. part deux.
2022-04-30 19:25:16 +02:00
Jeroen van Rijn
dd8b71e353
[pbm] WIP unit tests.
2022-04-30 17:52:23 +02:00
Jeroen van Rijn and GitHub
41a18f078d
Merge pull request #1757 from Kelimion/xml
...
[xml] Add `parse_from_string` overload.
2022-04-30 14:51:46 +02:00
Jeroen van Rijn
3978e7e1ca
[xml] Add parse_from_string overload.
...
`parse` now takes either a `[]u8` slice or a string.
`load_from_file` takes a path string.
2022-04-30 14:43:58 +02:00
Jeroen van Rijn
d6a8216ce4
[pbm] Normalize some errors, correct .depth
2022-04-30 14:34:07 +02:00
Jeroen van Rijn and GitHub
7cc759a855
Merge pull request #1756 from ftphikari/master
...
sys/windows: add a couple of procedures and types
2022-04-30 12:46:11 +02:00
Jeroen van Rijn
ae3deea153
Merge branch 'master' into pr/1726
2022-04-30 12:29:28 +02:00
Jeroen van Rijn
9c9c2b483c
[i18n] Enable *nix tests again.
2022-04-29 18:41:21 +02:00
Jeroen van Rijn
819345caa6
Disable i18n test for *nix for now.
2022-04-29 18:28:42 +02:00
Jeroen van Rijn and GitHub
11ceb3973d
Merge pull request #1754 from Kelimion/i18n
...
[i18n] Fix segfault on cleanup on Linux
2022-04-29 18:20:54 +02:00
Jeroen van Rijn
36263399a0
[i18n] Enable i18n test on Linux.
2022-04-29 18:13:46 +02:00
Jeroen van Rijn
ff0f0c447f
[i18n] Fix segfault on destroy on Linux
...
Forgot to intern the section string in QT TS loader.
2022-04-29 18:10:13 +02:00
Jeroen van Rijn and GitHub
aa681932a9
Merge pull request #1336 from Kelimion/i18n
...
[i18n] Initial i18n support.
2022-04-29 16:27:28 +02:00
Jeroen van Rijn
09e1c0fa27
[i18n] Add tests.
2022-04-29 16:19:13 +02:00
Jeroen van Rijn
957ef8e8fe
[i18n/xml] Move I18N XML files to their own assets directory.
2022-04-29 13:16:30 +02:00
Jeroen van Rijn
2e11a8da5b
[i18n] Move to core:text/i18n.
2022-04-29 13:02:40 +02:00
Jeroen van Rijn and GitHub
0297db6f2e
Merge pull request #1752 from sduman/patch-1
...
Add missing result parameter names
2022-04-29 01:21:35 +02:00
Jeroen van Rijn
1289c96e2c
[i18n] QT Linguist TS reader.
2022-04-29 00:29:55 +02:00
Jeroen van Rijn
ba23bfb7b9
[i18n] Allow multiple sections.
2022-04-28 20:12:32 +02:00
Jeroen van Rijn
2fae6eda23
[i18n] Initial i18n support.
...
- Add initial GetText .MO parser
- Add translation struct and helpers
- Pluralized lookup
TODO:
- Support for more translation catalog file formats.
2022-04-28 18:58:49 +02:00
Jeroen van Rijn
e53ba3b116
Allow -error-pos-style:default as an alias for odin
2022-04-28 18:18:25 +02:00
Jeroen van Rijn
1ed84a064b
Make -error-pos-style case-insensitive.
2022-04-28 18:12:55 +02:00
Jeroen van Rijn and GitHub
79019c7a09
Merge pull request #1751 from Kelimion/error-pos-style
...
Fix -error-pos-style:unix
2022-04-28 17:52:47 +02:00
Jeroen van Rijn
a1002e6960
Fix -error-pos-style:unix
2022-04-28 17:46:36 +02:00
Jeroen van Rijn and GitHub
62139cb5a4
Merge pull request #1342 from Kelimion/xml
...
Initial version of `core:encoding/xml`.
2022-04-28 15:54:28 +02:00
Jeroen van Rijn
127b0ba65e
[xml] Enable tests.
2022-04-28 15:46:36 +02:00
Jeroen van Rijn
80878264b6
[xml] Speedup.
2022-04-28 15:29:00 +02:00
Jeroen van Rijn
6df21d6a9f
Merge branch 'master' into xml
2022-04-27 16:13:47 +02:00
Jeroen van Rijn and GitHub
c5982e52d5
Merge pull request #1748 from Kelimion/test-assets
...
Move Odin CI test assets over to its own repository.
2022-04-27 16:04:15 +02:00
Jeroen van Rijn
da0f722aad
Move Odin CI test assets over to its own repository.
2022-04-27 15:56:45 +02:00
Jeroen van Rijn
c4e0d1efa1
Merge branch 'master' into xml
2022-04-27 14:37:15 +02:00
Jeroen van Rijn
d262eda91c
Update Makefile
2022-04-26 15:10:31 +02:00
Jeroen van Rijn
40f0f5ad8d
Update CI for math library.
2022-04-26 15:01:09 +02:00
Jeroen van Rijn
1c03e68057
Update CI.
2022-04-26 14:56:28 +02:00
Jeroen van Rijn and GitHub
f1c1cfb6d2
Merge pull request #1747 from Kelimion/filename-merge
...
Filename generation
2022-04-26 14:52:58 +02:00
Jeroen van Rijn
ba5e33bc35
Update CI workflow.
2022-04-26 14:51:16 +02:00
Jeroen van Rijn
b68ab0dd6d
Merge branch 'master' into filename-merge
2022-04-26 14:45:00 +02:00
Jeroen van Rijn
5e11ad2e1e
Update test paths.
2022-04-26 14:23:23 +02:00
Jeroen van Rijn
a5342a0126
Address edge cases.
2022-04-26 13:14:09 +02:00
Jeroen van Rijn
63331ef731
Revert "Merge pull request #1702 from Kelimion/filename_generation"
...
This reverts commit a40a53b104 , reversing
changes made to 5422a3b17e .
2022-04-24 19:53:36 +02:00
Jeroen van Rijn and GitHub
a40a53b104
Merge pull request #1702 from Kelimion/filename_generation
...
Compiler: Add early error for output path being a directory.
2022-04-24 15:15:51 +02:00
Jeroen van Rijn
9f8d90f466
Update CI paths for issue tests.
2022-04-24 14:28:00 +02:00
Jeroen van Rijn
3d2856db31
Update tests to use new filename generation code.
2022-04-24 14:19:25 +02:00
Jeroen van Rijn
f4723aea4c
Remove redundant bit for non-Windows.
2022-04-24 13:37:26 +02:00
Jeroen van Rijn
76d48b38d3
Compiler: Allow -out: to not have an extension on *nix for executables (only).
2022-04-24 13:37:26 +02:00
Jeroen van Rijn
3cab2592c3
Compiler: Add early error for output path being a directory.
...
- Introduce new `Path` type and an array of build paths on the build context.
- Resolve input and output paths/files early (before parsing).
- Error early if inputs are missing or outputs are directories.
- Plumb new file path generation into linker stage instead of its adhoc method.
TODO:
- Remove more adhoc file path generation in parser and linker stage.
- Make intermediate object file generation use new path system.
- Round out and robustify Path helper functions.
2022-04-24 13:37:26 +02:00
Jeroen van Rijn and GitHub
5422a3b17e
Merge pull request #1743 from Tetralux/filepath-stems
...
[path/filepath] Add file stem and long-extension procedures
2022-04-23 22:33:31 +02:00
Jeroen van Rijn and GitHub
849efff070
Merge pull request #1741 from Kelimion/shoco
...
Add Shoco short string compression.
2022-04-22 18:06:31 +02:00
Jeroen van Rijn
b022167df1
Remove unused fmt.
2022-04-22 17:56:34 +02:00
Jeroen van Rijn
ac9a358c65
[shoco] Replace 2D slices in model with 1D slices.
2022-04-22 17:52:38 +02:00
Jeroen van Rijn
e799476f90
[compress/shoco] Add short string compressor.
2022-04-22 16:55:47 +02:00
Jeroen van Rijn and GitHub
b4f8efcbe6
Merge pull request #1739 from ftphikari/master
...
strings: add levenshtein_distance procedure
2022-04-21 20:31:11 +02:00
Jeroen van Rijn and GitHub
3dd9da1b66
Merge pull request #1733 from ftphikari/master
...
sys/windows: add some procedures
2022-04-19 20:41:32 +02:00
Jeroen van Rijn and GitHub
e8c0be23f2
Merge pull request #1737 from Kelimion/fix_json_unmarshal
...
[json/unmarshal] Fix quoted strings.
2022-04-19 20:40:40 +02:00
Jeroen van Rijn
a30b9b17b3
[json/unmarshal] Fix quoted strings.
2022-04-19 20:32:22 +02:00
Jeroen van Rijn
29b2c04766
Revert "Fix unmarshal for escaped strings."
...
This reverts commit 581255bf23 .
2022-04-19 20:11:02 +02:00
Jeroen van Rijn and GitHub
d869ba7bcd
Merge pull request #1736 from Kelimion/fix_json_unmarshal
...
Fix unmarshal for escaped strings.
2022-04-19 20:05:04 +02:00
Jeroen van Rijn
581255bf23
Fix unmarshal for escaped strings.
2022-04-19 20:04:38 +02:00
Jeroen van Rijn and GitHub
b51358a01c
Merge pull request #1734 from hanabi1224/lru-alloc-fix
...
[core:container/lru] Avoid unnecessary allocations
2022-04-19 15:04:49 +02:00
Jeroen van Rijn
323e7a2d02
Add JSON unmarshal test.
2022-04-19 15:03:09 +02:00
Jeroen van Rijn
7654afc2db
Revert "Update mem.nil_allocator to match the same in runtime"
...
The change broke JSON unmarshaling.
This reverts commit 4484a3433d .
2022-04-19 15:01:54 +02:00
Jeroen van Rijn and GitHub
d99ba9c073
Merge pull request #1731 from Kelimion/targa
...
[image/tga] Writer for RGB(A) 8-bit images.
2022-04-18 23:36:45 +02:00
Jeroen van Rijn
fdd24f787f
[image/tga] Writer for RGB(A) 8-bit images.
2022-04-18 23:28:34 +02:00
Jeroen van Rijn
df4a0c62ad
Delete accidentally added test artefact.
2022-04-18 19:10:53 +02:00
Jeroen van Rijn and GitHub
e3e3309a9b
Merge pull request #1728 from Tetralux/more-slice-helpers
...
Duplicate some basic slice procedures from core:mem into core:slice
2022-04-18 19:05:20 +02:00
Jeroen van Rijn and GitHub
20b70c3b7b
Merge pull request #1727 from hanabi1224/fix-lru
...
Fix bugs in core:container/lru
2022-04-18 13:39:23 +02:00
Jeroen van Rijn and GitHub
e738e93da0
Merge pull request #1723 from ftphikari/master
...
sys/windows: add timeEndPeriod
2022-04-17 18:27:07 +02:00
Jeroen van Rijn
939973acd7
[QOI] Add to examples/all.
2022-04-17 12:35:34 +02:00
Jeroen van Rijn and GitHub
70cbffd58b
Merge pull request #1722 from Kelimion/varint_streamed
...
[LEB128] Add byte-at-a-time ILEB decoder.
2022-04-16 18:19:38 +02:00
Jeroen van Rijn
6d0ba8d189
[LEB128] Add byte-at-a-time ILEB decoder.
2022-04-16 18:14:01 +02:00
Jeroen van Rijn and GitHub
b6f3fa6ee1
Merge pull request #1719 from ftphikari/precise_sleep
...
time: add accurate sleep procedure
2022-04-16 16:52:46 +02:00
Jeroen van Rijn
91037766d2
Update time.odin
...
Add caveats.
2022-04-16 16:48:08 +02:00
Jeroen van Rijn and GitHub
8e7ddccf00
Merge pull request #1717 from ftphikari/master
...
sys/windows: add procedures and types
2022-04-16 12:38:39 +02:00
Jeroen van Rijn and GitHub
a5773f1657
Merge pull request #1718 from Kelimion/varint_streamed
...
Add uleb128 byte-at-a-time decoder.
2022-04-16 02:20:07 +02:00
Jeroen van Rijn
44316401c9
Add uleb128 byte-at-a-time decoder.
2022-04-16 02:07:57 +02:00
Jeroen van Rijn and GitHub
f6fa553572
Merge pull request #1708 from Kelimion/varint_doc
...
[varint] Clear up doc.odin.
2022-04-13 00:03:58 +02:00
Jeroen van Rijn
8310436350
[varint] Clear up doc.odin.
2022-04-13 00:03:36 +02:00
Jeroen van Rijn and GitHub
f92ffe60e7
Merge pull request #1699 from ftphikari/master
...
mem: replace size procedures with constants
2022-04-12 20:12:05 +02:00
Jeroen van Rijn and GitHub
de72754d7a
Merge pull request #1707 from Kelimion/qoi
...
[image] Add QOI load/save.
2022-04-12 19:33:11 +02:00
Jeroen van Rijn
bf712e9355
[QOI] Add support for RGB images (previously loader always output RGBA).
...
Also add QOI to CI test suite by roundtripping 8-bit RGB(A) through QOI and checking the hashes match.
2022-04-12 19:23:48 +02:00
Jeroen van Rijn
ab9457346d
[PNG] Remove debug printf.
2022-04-12 18:26:10 +02:00
Jeroen van Rijn
15b440c4f1
[image] Add QOI load/save.
...
Additionally:
- Firm up PNG loader with some additional checks.
- Add helper functions to `core:image` to expand grayscale to RGB(A), and so on.
TODO: Possibly replace PNG's post-processing steps with calls to the new helper functions.
2022-04-12 18:14:09 +02:00
Jeroen van Rijn and GitHub
50b9c48609
Merge pull request #1697 from Kelimion/build_file
...
Give build/run/check/test/doc a `-file` flag.
2022-04-05 20:52:28 +02:00
Jeroen van Rijn
767ed21bfe
-file for tests\issues.
2022-04-05 20:47:37 +02:00
Jeroen van Rijn
bb9165edd2
Add -help to CI tests.
2022-04-05 20:45:00 +02:00
Jeroen van Rijn
ad0a413b40
Give build/run/check/test/doc a -file flag.
...
A package has canonically always been a directory, but odin allowing you to build a single-file package confused newcomers who didn't understand why they could then not access variables and procedures from another file in the same directory.
This change disallows building single-file packages by default, requiring the `-file` flag to acknowledge you understand the nuance.
`-help` for these commands also clarifies the difference.
```
W:\Odin>odin build -help
odin is a tool for managing Odin source code
Usage:
odin build [arguments]
build Compile directory of .odin files as an executable.
One must contain the program's entry point, all must be in the same package.
Use `-file` to build a single file instead.
Examples:
odin build . # Build package in current directory
odin build <dir> # Build package in <dir>
odin build filename.odin -file # Build single-file package, must contain entry point.
Flags
-file
Tells `odin build` to treat the given file as a self-contained package.
This means that `<dir>/a.odin` won't have access to `<dir>/b.odin`'s contents.
```
```
W:\Odin>odin run examples\demo\demo.odin
ERROR: `odin run` takes a package as its first argument.
Did you mean `odin run examples\demo\demo.odin -file`?
The `-file` flag tells it to treat a file as a self-contained package.
```
2022-04-05 20:26:18 +02:00
Jeroen van Rijn and GitHub
e7dc00b758
Merge pull request #1695 from ftphikari/master
...
sys/windows: add Dwmapi.lib binding
2022-04-05 13:10:52 +02:00