| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Minor improvement | Sebastiano Tronto | 2025-12-19 | 1 | -2/+7 |
| | | | | | | | | | | Add a trivial check to H48 solver. The benchmarks show, surprisingly, a more noticeable improvement for larger solvers (h10, h11). I was expecting it to be more noticeable for smaller solvers. It is likely that this change is irrelevant to performance and all changes in the benchmark results are just random chance. | ||||
| * | Add coordinate solvers for cornersh48-corner-estimate | Sebastiano Tronto | 2025-12-19 | 7 | -1/+89 |
| | | |||||
| * | Improve pruning value fetching and re-do benchmarks | Sebastiano Tronto | 2025-12-17 | 2 | -20/+37 |
| | | |||||
| * | Move some checks around, small improvement | Sebastiano Tronto | 2025-12-17 | 1 | -11/+9 |
| | | |||||
| * | Swap bit pairs in pval_min | Sebastiano Tronto | 2025-12-16 | 1 | -5/+4 |
| | | |||||
| * | Update comments | Sebastiano Tronto | 2025-12-14 | 2 | -5/+7 |
| | | |||||
| * | Cleanup, update documentation, fix examples | Sebastiano Tronto | 2025-12-14 | 6 | -235/+157 |
| | | |||||
| * | Bye bye h0k4 | Sebastiano Tronto | 2025-12-14 | 5 | -310/+27 |
| | | |||||
| * | Intertwined table seems to work | Sebastiano Tronto | 2025-12-14 | 9 | -34/+178 |
| | | |||||
| * | Fix duplicate solutions, overflow in maxsols and improve symmetry reduction ↵ | Sebastiano Tronto | 2025-11-24 | 5 | -118/+203 |
| | | | | | | | | | | | | | for H48. This commit fixes two bugs: - A bug that caused duplicates solutions for symmetric scrambles. - An overflow in the maxsols parameter for the H48 solver, which caused it to find much fewer solutions than existed. Moreover, the H48 solvers has been improved by reducing by symmetry not only from the starting position, but also up to the first 4 moves. | ||||
| * | Made H48 solver safer for 32bit size_t | Sebastiano Tronto | 2025-08-11 | 1 | -2/+9 |
| | | |||||
| * | Wrapped pthread use in custom API | Sebastiano Tronto | 2025-08-11 | 5 | -60/+69 |
| | | |||||
| * | Added solver aliases | Sebastiano Tronto | 2025-08-07 | 1 | -7/+39 |
| | | |||||
| * | Added API function for solution variations | Sebastiano Tronto | 2025-08-07 | 2 | -5/+5 |
| | | |||||
| * | Added HTR solver | Sebastiano Tronto | 2025-08-06 | 12 | -68/+164 |
| | | |||||
| * | Added DRFIN solver | Sebastiano Tronto | 2025-08-05 | 14 | -75/+543 |
| | | |||||
| * | Move is_eo_even to more appropriate module | Sebastiano Tronto | 2025-08-01 | 1 | -14/+0 |
| | | |||||
| * | Added CPEPE coordinate in preparation of full DRFIN solver | Sebastiano Tronto | 2025-08-01 | 1 | -0/+86 |
| | | |||||
| * | Fixed nasty bug | Sebastiano Tronto | 2025-08-01 | 1 | -0/+2 |
| | | |||||
| * | Reworked coordinate solver axis specification | Sebastiano Tronto | 2025-08-01 | 10 | -61/+24 |
| | | |||||
| * | Added solvetests for DRSLICE | Sebastiano Tronto | 2025-08-01 | 1 | -2/+2 |
| | | | | | | This also changes the rotation axes for DRSLICE, so that the move U gets transformed to R and F instead of L and B. | ||||
| * | Fixed bug and added tests | Sebastiano Tronto | 2025-07-31 | 1 | -32/+25 |
| | | |||||
| * | Fix switch logic in coord solver | Sebastiano Tronto | 2025-07-31 | 1 | -0/+8 |
| | | |||||
| * | Fix bug | Sebastiano Tronto | 2025-07-31 | 2 | -23/+58 |
| | | |||||
| * | Fixed bug with counting solutions for coordinate solver | Sebastiano Tronto | 2025-07-30 | 2 | -8/+3 |
| | | |||||
| * | added drslice coordinate | Sebastiano Tronto | 2025-07-30 | 11 | -52/+197 |
| | | |||||
| * | All coordinates unsigned | Sebastiano Tronto | 2025-07-29 | 12 | -85/+81 |
| | | |||||
| * | Cleanup some TODOs | Sebastiano Tronto | 2025-07-29 | 7 | -20/+8 |
| | | |||||
| * | Make failed assert exit immediately | Sebastiano Tronto | 2025-07-28 | 3 | -7/+5 |
| | | |||||
| * | Renamed drslice drfinnoe | Sebastiano Tronto | 2025-07-17 | 3 | -26/+26 |
| | | |||||
| * | Comments for drslice | Sebastiano Tronto | 2025-07-17 | 1 | -4/+15 |
| | | |||||
| * | Small optimization for coord gendata | Sebastiano Tronto | 2025-07-17 | 1 | -5/+10 |
| | | |||||
| * | Working drslice (same results as nissy-classic) | Sebastiano Tronto | 2025-07-17 | 4 | -0/+137 |
| | | |||||
| * | Small fixes | Sebastiano Tronto | 2025-06-19 | 1 | -2/+2 |
| | | |||||
| * | Trick fix | Sebastiano Tronto | 2025-06-18 | 1 | -6/+21 |
| | | |||||
| * | Change min depth for H48 tasks heuristic sort | Sebastiano Tronto | 2025-06-18 | 1 | -1/+1 |
| | | |||||
| * | Big speedup for H48 solver (heuristic sort of tasks) | Sebastiano Tronto | 2025-06-18 | 1 | -19/+46 |
| | | |||||
| * | More improvements to web solver | Sebastiano Tronto | 2025-05-30 | 1 | -8/+8 |
| | | |||||
| * | Fix small build error with clang | Sebastiano Tronto | 2025-05-28 | 1 | -1/+2 |
| | | |||||
| * | Removed VLA notation from function parameters. | Sebastiano Tronto | 2025-05-27 | 9 | -38/+38 |
| | | | | | | 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. | ||||
| * | Avoid pausing for logging only if poll_status() is null (h48 solver). | Sebastiano Tronto | 2025-05-26 | 1 | -10/+7 |
| | | | | | | | | | | | | | This is a small amendment to c6a77f30f64be73a5e55e06336975f2ecfbb2324, which changed the way we log solutions while the h48 solver is running. With the method recently introduced, the main thread checks for solutions to log every 0.5 seconds, resulting in a possible slowdown of at most 0.5s per solve. The solutions are also logged when all worker threads are completed. With this new method, when the poll_status() callback function is NULL, which likely means nissy is not run interactively, we rely only on the final log on completion of the worker threads. This means less frequent logging, but at no performance cost. | ||||
| * | Cleanup | Sebastiano Tronto | 2025-05-25 | 1 | -1/+2 |
| | | |||||
| * | Quick fix for bug | Sebastiano Tronto | 2025-05-25 | 1 | -9/+8 |
| | | |||||
| * | Do all loggin in main thread | Sebastiano Tronto | 2025-05-23 | 6 | -92/+122 |
| | | | | | | | | | | | | | | | | | | 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 checkdata | Sebastiano Tronto | 2025-05-19 | 15 | -112/+392 |
| | | | | | | | | | 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 checkdata | Sebastiano Tronto | 2025-05-18 | 12 | -134/+287 |
| | | |||||
| * | Other minor fixes | Sebastiano Tronto | 2025-05-09 | 1 | -2/+2 |
| | | |||||
| * | Added build script | Sebastiano Tronto | 2025-05-07 | 1 | -1/+1 |
| | | |||||
| * | Added stop / pause / resume solve to API | Sebastiano Tronto | 2025-04-29 | 2 | -10/+73 |
| | | |||||
| * | NISS | Sebastiano Tronto | 2025-04-25 | 5 | -20/+19 |
| | | |||||
