<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nissy-core/src/solvers/tables.h, branch master</title>
<subtitle>The "engine" of nissy, including the H48 optimal solver.</subtitle>
<id>https://git.tronto.net/nissy-core/atom?h=master</id>
<link rel='self' href='https://git.tronto.net/nissy-core/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.tronto.net/nissy-core/'/>
<updated>2026-04-06T13:55:33Z</updated>
<entry>
<title>Make the project build with Microsoft's broken C compiler.</title>
<updated>2026-04-06T13:55:33Z</updated>
<author>
<name>Sebastiano Tronto</name>
<email>sebastiano@tronto.net</email>
</author>
<published>2026-04-06T13:55:33Z</published>
<link rel='alternate' type='text/html' href='https://git.tronto.net/nissy-core/commit/?id=fc41f7917531693680b5baf71ffe38c47333fe84'/>
<id>urn:sha1:fc41f7917531693680b5baf71ffe38c47333fe84</id>
<content type='text'>
MSVC is not fully C11-compliant, even when compiling with /std:c11.
Some changes were needed to make the codebase compatible. Notably, the
notation a[static N] and a[n] for function parameters of array type is
not supported, so that had to be hidden behind a macro.  Atomic types
are also an experimental feature, apparently, but at least they work
with the correct compiler flag.

One thing that MSVC does well, however, is warning on integer conversions
on /W4 level. I am not sure if Clang and GCC have something similar,
so I took this chance to fix some of these.
</content>
</entry>
<entry>
<title>Added DRFIN solver</title>
<updated>2025-08-05T07:04:00Z</updated>
<author>
<name>Sebastiano Tronto</name>
<email>sebastiano@tronto.net</email>
</author>
<published>2025-08-05T07:04:00Z</published>
<link rel='alternate' type='text/html' href='https://git.tronto.net/nissy-core/commit/?id=3e7bb9b87ef9b47d8f643dbcae19a64ddbc81dbb'/>
<id>urn:sha1:3e7bb9b87ef9b47d8f643dbcae19a64ddbc81dbb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Removed VLA notation from function parameters.</title>
<updated>2025-05-27T07:03:51Z</updated>
<author>
<name>Sebastiano Tronto</name>
<email>sebastiano@tronto.net</email>
</author>
<published>2025-05-27T07:03:51Z</published>
<link rel='alternate' type='text/html' href='https://git.tronto.net/nissy-core/commit/?id=7c934801f88c640970ad41b5ddd39f4e39609f28'/>
<id>urn:sha1:7c934801f88c640970ad41b5ddd39f4e39609f28</id>
<content type='text'>
I found out that this gives undefined behavior when then size is 0.
Better not to have it at all, it is confusing for other developers anyway.
</content>
</entry>
<entry>
<title>Other minor fixes</title>
<updated>2025-05-09T16:36:24Z</updated>
<author>
<name>Sebastiano Tronto</name>
<email>sebastiano@tronto.net</email>
</author>
<published>2025-05-09T16:36:24Z</published>
<link rel='alternate' type='text/html' href='https://git.tronto.net/nissy-core/commit/?id=5bb2b50a3f92c727ddf468df16bbc60a173d3115'/>
<id>urn:sha1:5bb2b50a3f92c727ddf468df16bbc60a173d3115</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Always use unsigned char * for data buffers</title>
<updated>2025-04-21T12:44:07Z</updated>
<author>
<name>Sebastiano Tronto</name>
<email>sebastiano@tronto.net</email>
</author>
<published>2025-04-21T12:33:01Z</published>
<link rel='alternate' type='text/html' href='https://git.tronto.net/nissy-core/commit/?id=510a7471348788fccba6b7c4b9f7b7cc9aee6ba9'/>
<id>urn:sha1:510a7471348788fccba6b7c4b9f7b7cc9aee6ba9</id>
<content type='text'>
Before this commit I was inconsistently using one of void *, char *
and uint8_t *.
</content>
</entry>
<entry>
<title>More safety with pointers using VLA function parameters</title>
<updated>2025-03-25T17:35:47Z</updated>
<author>
<name>Sebastiano Tronto</name>
<email>sebastiano@tronto.net</email>
</author>
<published>2025-03-25T17:35:47Z</published>
<link rel='alternate' type='text/html' href='https://git.tronto.net/nissy-core/commit/?id=56048d13b73ec6e6a9c59d62e82f41e69a3994bd'/>
<id>urn:sha1:56048d13b73ec6e6a9c59d62e82f41e69a3994bd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Big cleanup for appendsolution()</title>
<updated>2025-03-24T22:09:26Z</updated>
<author>
<name>Sebastiano Tronto</name>
<email>sebastiano@tronto.net</email>
</author>
<published>2025-03-24T22:09:26Z</published>
<link rel='alternate' type='text/html' href='https://git.tronto.net/nissy-core/commit/?id=d45e1595ec1cffeab83ac6602b748250b66bea03'/>
<id>urn:sha1:d45e1595ec1cffeab83ac6602b748250b66bea03</id>
<content type='text'>
With this PR the appendsolution routine is extracted from the h48
solver and the new coordinate solver and made generic. This has
many advantages:
- less repetition (even if the two versions are different enough that
  *for now* it was not a big deal)
- smaller h48/solve.h file, which is already a big beast
- easier to test the appendsolution() routine separately
</content>
</entry>
<entry>
<title>Finished Python module</title>
<updated>2024-10-19T17:17:13Z</updated>
<author>
<name>Sebastiano Tronto</name>
<email>sebastiano@tronto.net</email>
</author>
<published>2024-10-19T17:17:13Z</published>
<link rel='alternate' type='text/html' href='https://git.tronto.net/nissy-core/commit/?id=a3a477870cdbdb4b9c4c8b403c09b13502291234'/>
<id>urn:sha1:a3a477870cdbdb4b9c4c8b403c09b13502291234</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make gendata and co safer by checking buffer size</title>
<updated>2024-10-12T14:23:05Z</updated>
<author>
<name>Sebastiano Tronto</name>
<email>sebastiano@tronto.net</email>
</author>
<published>2024-10-12T14:23:05Z</published>
<link rel='alternate' type='text/html' href='https://git.tronto.net/nissy-core/commit/?id=182e2d45678d0487be71370c37b88daca3d2c54b'/>
<id>urn:sha1:182e2d45678d0487be71370c37b88daca3d2c54b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed tableinfo alignment issues</title>
<updated>2024-10-10T12:06:00Z</updated>
<author>
<name>Sebastiano Tronto</name>
<email>sebastiano@tronto.net</email>
</author>
<published>2024-10-10T12:06:00Z</published>
<link rel='alternate' type='text/html' href='https://git.tronto.net/nissy-core/commit/?id=1ad46eda510e9709eaada046168811532929b9cb'/>
<id>urn:sha1:1ad46eda510e9709eaada046168811532929b9cb</id>
<content type='text'>
</content>
</entry>
</feed>
