| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Added cornersx solver | Sebastiano Tronto | 2025-12-23 | 4 | -1/+79 |
| | | |||||
| * | Add coordinate solvers for cornersh48-corner-estimate | Sebastiano Tronto | 2025-12-19 | 5 | -0/+87 |
| | | |||||
| * | Fix duplicate solutions, overflow in maxsols and improve symmetry reduction ↵ | Sebastiano Tronto | 2025-11-24 | 2 | -8/+10 |
| | | | | | | | | | | | | | 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. | ||||
| * | Added HTR solver | Sebastiano Tronto | 2025-08-06 | 12 | -68/+164 |
| | | |||||
| * | Added DRFIN solver | Sebastiano Tronto | 2025-08-05 | 11 | -74/+522 |
| | | |||||
| * | 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 | 1 | -22/+58 |
| | | |||||
| * | Fixed bug with counting solutions for coordinate solver | Sebastiano Tronto | 2025-07-30 | 1 | -7/+3 |
| | | |||||
| * | added drslice coordinate | Sebastiano Tronto | 2025-07-30 | 11 | -52/+197 |
| | | |||||
| * | All coordinates unsigned | Sebastiano Tronto | 2025-07-29 | 4 | -11/+7 |
| | | |||||
| * | Cleanup some TODOs | Sebastiano Tronto | 2025-07-29 | 2 | -10/+2 |
| | | |||||
| * | Make failed assert exit immediately | Sebastiano Tronto | 2025-07-28 | 1 | -1/+1 |
| | | |||||
| * | 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 |
| | | |||||
| * | Removed VLA notation from function parameters. | Sebastiano Tronto | 2025-05-27 | 4 | -16/+15 |
| | | | | | | 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. | ||||
| * | Do all loggin in main thread | Sebastiano Tronto | 2025-05-23 | 1 | -3/+2 |
| | | | | | | | | | | | | | | | | | | 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 | 9 | -19/+123 |
| | | | | | | | | | 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 | 3 | -48/+34 |
| | | |||||
| * | Added stop / pause / resume solve to API | Sebastiano Tronto | 2025-04-29 | 1 | -5/+9 |
| | | |||||
| * | NISS | Sebastiano Tronto | 2025-04-25 | 4 | -4/+4 |
| | | |||||
| * | Adjusted solvers, fixed bug | Sebastiano Tronto | 2025-04-23 | 1 | -8/+9 |
| | | |||||
| * | Always use unsigned char * for data buffers | Sebastiano Tronto | 2025-04-21 | 7 | -87/+95 |
| | | | | | | Before this commit I was inconsistently using one of void *, char * and uint8_t *. | ||||
| * | Improved logging, especially for solve | Sebastiano Tronto | 2025-04-19 | 3 | -19/+22 |
| | | |||||
| * | Small rework of optimal vs maxsols | Sebastiano Tronto | 2025-04-17 | 1 | -6/+7 |
| | | | | | | | | | | | | | | | I wanted to make the "optimal" and "maxsolutions" options mutually exclusive, but in the end I decided there is value in keeping both (e.g. for specifying a limit to the number of solutions when asking for "all" optimal"). Now optimal cannot be negative anymore, for the same reason of maxsolutions. The interface user (shell, UI) will have to take care of handling this in a way that makes sense for the user. Usually this means setting the maximum number of solutions to UINT_MAX (or a similar very high number) when the user wants "all optimal". | ||||
| * | Log solutions as they are found | Sebastiano Tronto | 2025-04-15 | 1 | -2/+2 |
| | | |||||
| * | Some minor changes to the interface. | Sebastiano Tronto | 2025-04-08 | 2 | -3/+3 |
| | | | | | | | | | | - Simplified logger to accept only a string, not a variadic list of args like printf(). This can still use some improvement, but now it is easier to use from other languages. - Fixed some misuses of the logger (wrong types etc) - Renamed some constants - Fixed some typos in comments. | ||||
| * | Added dreo coordinate solver | Sebastiano Tronto | 2025-04-02 | 9 | -14/+168 |
| | | |||||
| * | Make single-use struct field anonymous | Sebastiano Tronto | 2025-04-01 | 1 | -12/+10 |
| | | |||||
| * | Make symcoord logic generic | Sebastiano Tronto | 2025-04-01 | 4 | -115/+191 |
| | | |||||
| * | Fix mismatched type in function prototype and implementation | Sebastiano Tronto | 2025-04-01 | 2 | -2/+2 |
| | | |||||
| * | simplified allowedmoves logic | Sebastiano Tronto | 2025-04-01 | 1 | -2/+12 |
| | | |||||
| * | Optimize genptable for coordinate solve (20x speedup) | Sebastiano Tronto | 2025-03-29 | 2 | -19/+99 |
| | | |||||
| * | DR coordinate solver | Sebastiano Tronto | 2025-03-28 | 6 | -14/+231 |
| | | |||||
| * | More safety with pointers using VLA function parameters | Sebastiano Tronto | 2025-03-25 | 2 | -9/+26 |
| | | |||||
| * | Added NISS to coord solver | Sebastiano Tronto | 2025-03-25 | 7 | -95/+272 |
| | | |||||
| * | Big cleanup for appendsolution() | Sebastiano Tronto | 2025-03-24 | 1 | -96/+51 |
| | | | | | | | | | | | 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 | ||||
| * | Some safety with move arrays, small refactor appendchar | Sebastiano Tronto | 2025-03-22 | 4 | -51/+41 |
| | | |||||
| * | Filter solutions for coordinate solver and fix ordering | Sebastiano Tronto | 2025-03-19 | 3 | -3/+7 |
| | | |||||
| * | Bugfix | Sebastiano Tronto | 2025-03-14 | 1 | -4/+14 |
| | | |||||
| * | Added checkdata for coord EO | Sebastiano Tronto | 2025-03-14 | 1 | -0/+24 |
| | | |||||
| * | Replaced datasize with solverinfo | Sebastiano Tronto | 2025-03-14 | 2 | -1/+19 |
| | | |||||
| * | Revert API change | Sebastiano Tronto | 2025-03-12 | 3 | -10/+25 |
| | | |||||
