aboutsummaryrefslogtreecommitdiff
path: root/src/solvers/distribution.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Make the project build with Microsoft's broken C compiler.Sebastiano Tronto2026-04-061-7/+7
| | | | | | | | | | | | | 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.
* Improve Windows build support.Sebastiano Tronto2026-03-011-5/+5
| | | | | | | - Use multithreading (works with a sufficiently recent version of the Microsoft developer tools / C SDK). - Detect CPU architecture and use AVX2 or NEON when appropriate. - Automatically detect python installation path.
* Intertwined table seems to workSebastiano Tronto2025-12-141-6/+0
|
* Wrapped pthread use in custom APISebastiano Tronto2025-08-111-3/+3
|
* Do all loggin in main threadSebastiano Tronto2025-05-231-1/+4
| | | | | | | | | | | | | | | | | Before this committ, the solver (via the generic solution-appender routines in src/solve/solutions.h) and the H48 data generator did some logging in the worker threads, without using any locks. This was not nice, but in practice it did not cause any problem, because the log messages were rare. However, this turned out to be a problem when building to WASM, because web workers do not have access to the main JS memory, and therefore they cannot call functions from the main JS. This includes not only the callback functions for logging, but also those for polling the status of the solver (run / pause / stop). This commit fixes this at the cost or being somewhat inelegant: the solutions are not logged as they are found, but only every 500ms.
* Refactored checkdataSebastiano Tronto2025-05-191-0/+27
| | | | | | | | Relevant changes include: - Changed the signature of nissy_checkdata(). - Removed expected_distribution.h from tools; this data is now included in each solver's src/ code. - Removed distribution check for cocsep; may add back later.
* Refactor solver dispatch and checkdataSebastiano Tronto2025-05-181-0/+77

Generated with cgit - Back to sebastiano.tronto.net