aboutsummaryrefslogtreecommitdiff
path: root/tools (unfollow)
Commit message (Collapse)AuthorFilesLines
2025-12-23Added cornersx solverSebastiano Tronto2-0/+38
2025-12-17Fix alignmentSebastiano Tronto1-2/+9
2025-12-17CleanupSebastiano Tronto1-1/+1
2025-11-24Fix duplicate solutions, overflow in maxsols and improve symmetry reduction ↵Sebastiano Tronto3-1/+28
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.
2025-08-13More build.bat optionsSebastiano Tronto1-0/+36
2025-08-07Added solver aliasesSebastiano Tronto19-19/+19
2025-08-06Added HTR solverSebastiano Tronto2-0/+93
2025-08-05Added build target to run solvetestsSebastiano Tronto1-4/+5
2025-08-05Shortened name for solvetestsSebastiano Tronto36-0/+0
2025-08-05Added solvetests for DRFINSebastiano Tronto6-0/+711
2025-08-05Added DRFIN solverSebastiano Tronto2-2/+2
2025-08-01Added tools solvetest dreoSebastiano Tronto12-0/+1276
2025-08-01Specified default solver for coordinate solvetestSebastiano Tronto11-4/+15
2025-08-01Added solvetests for DRSLICESebastiano Tronto6-0/+1574
This also changes the rotation axes for DRSLICE, so that the move U gets transformed to R and F instead of L and B.
2025-07-31Fixed bug and added testsSebastiano Tronto7-1564/+671
2025-07-31Added solvetest tools, found bug in DRSebastiano Tronto6-0/+2463
2025-07-31Fixed table name in toolsSebastiano Tronto6-23/+17
2025-07-31Fixed multisolve tool for EO, but found bug in coord solverSebastiano Tronto2-25/+74
2025-07-31Added solvetest for EO (broken for now)Sebastiano Tronto5-26/+320
2025-06-19Added benchmarks for all solutionsSebastiano Tronto1-1/+1
2025-06-19Small fixesSebastiano Tronto1-0/+2
2025-06-17Adapted solve tool to find multiple solutionsSebastiano Tronto1-7/+16
2025-05-23Do all loggin in main threadSebastiano Tronto2-1/+90
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.
2025-05-19Refactored checkdataSebastiano Tronto6-429/+9
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.
2025-05-18Refactor solver dispatch and checkdataSebastiano Tronto4-4/+4
2025-05-16Remove configure + make build system.Sebastiano Tronto1-40/+0
This commit also updates the README, cleans up some stuff and fixes some oopsies.
2025-05-09Other minor fixesSebastiano Tronto1-1/+1
2025-05-09Add wasmtest target to build script; minor fixes in tools and testsSebastiano Tronto1-3/+3
2025-04-29Added stop / pause / resume solve to APISebastiano Tronto4-5/+10
2025-04-22Removed old scripts and updated public APISebastiano Tronto4-4/+4
2025-04-21Always use unsigned char * for data buffersSebastiano Tronto9-23/+29
Before this commit I was inconsistently using one of void *, char * and uint8_t *.
2025-04-17Restore logging to stderr for toolsSebastiano Tronto8-10/+10
2025-04-15Better logging functionSebastiano Tronto9-20/+13
Now it is possible to provide some data together with the logging function. This is useful for example in C++, where I can now provide an arbitrary callable object as data, and a simple wrapper function that call the callable object as logging function.
2025-04-08Some minor changes to the interface.Sebastiano Tronto8-27/+18
- 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.
2025-04-02Added dreo coordinate solverSebastiano Tronto1-0/+16
2025-03-29Optimize genptable for coordinate solve (20x speedup)Sebastiano Tronto1-0/+18
2025-03-25More safety with pointers using VLA function parametersSebastiano Tronto1-2/+2
2025-03-24Big cleanup for appendsolution()Sebastiano Tronto1-0/+1
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
2025-03-14Added checkdata for coord EOSebastiano Tronto1-8/+37
2025-03-14Replaced datasize with solverinfoSebastiano Tronto7-24/+30
2025-03-12Revert "Temporary fix for tools"Sebastiano Tronto4-5/+5
This reverts commit 4d0e55e9def2ba1eaca5b2289ca5b30e951f4d97.
2025-03-09Temporary fix for toolsSebastiano Tronto4-5/+5
2024-12-20Added known distribution for larger tablesSebastiano Tronto1-8/+24
2024-12-15Added more scrambles, found bugSebastiano Tronto2-31/+69
2024-12-15Added tool to check for correctnes of H48 solver. TODO: add more scrambles.Sebastiano Tronto1-6/+16
2024-12-15Fixed constant that I rarely used until todaySebastiano Tronto1-0/+133
2024-12-14Allow choosing number of threads when calling solve()Sebastiano Tronto3-3/+3
2024-12-07Merge the "solver-experiments" branch that I have been working on forSebastiano Tronto3-117/+137
a few weeks. This include mainly three things: 1. Various tweaks for a total performance gain of around 30%. 2. Take into account symmetries and avoid repeated work. This required a re-work of the splitting into tasks before the solve. 3. Add a second fallback table (eoesep). This gives huge performance gains for particular scrambles (e.g. superflip). After merging this commit, remove and re-generate all pruning tables. Squashed commit of the following: commit 60f0705d2d69050e6a30581a2810f686d6f69b80 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Sat Dec 7 16:06:48 2024 +0100 Fix indentation commit cc5d489a251812b6188c0ba264ac6cb2236f1afe Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Sat Dec 7 15:56:19 2024 +0100 Updated documentation commit a3f605dd628546e52564f82b139feb473b0725f3 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Sat Dec 7 14:01:11 2024 +0100 use eoesep table as second fallback commit c75e43c9116c64f97e92b0fe038be8a032925a72 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Fri Dec 6 16:13:23 2024 +0100 First commit for gendata_eoesep commit fea7688ab8bdc5ae0c3480622e2510a3bcd39248 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Tue Dec 3 17:31:00 2024 +0100 Add scramble to tool commit 66866cb71dea4ca8278ecb9e90ff4295771feb42 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Tue Dec 3 17:22:59 2024 +0100 Added tool to check multiple solutions commit ef65611c772c3996bddca8d181da3538e0af1674 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Tue Dec 3 17:16:20 2024 +0100 Write all solutions for symmetric positions commit e3ded26db7d7d4ae7c0e2488151ed14f581f7b8e Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Tue Nov 26 09:14:54 2024 +0100 Added symmetry filter (TODO: print excluded solutions) commit 864c437a9751c58d58562650ca9eba4a9e6ad3eb Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Mon Nov 25 14:51:13 2024 +0100 Improved task split commit b88926d36d7ab0c64c5fe3bb954fd15d41267fba Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Fri Nov 22 19:06:41 2024 +0100 Reworked tasks for multi-threading in view of symmetry filter commit 26fa653f97df8cd601aecb80eaf89f0a00e9ba9f Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Thu Oct 31 15:37:43 2024 +0100 Added transform move commit 19f655ef94d658eaa2fefb5cea3c167a3ec58db6 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Thu Oct 31 09:29:15 2024 +0100 Clarified doc commit 3b0fe1e5ef8b628854e30f0f0067300e2763c954 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Thu Oct 31 08:36:58 2024 +0100 Handle solved cube correctly commit 57705cbc4982e3abe97a36ed64871738d4f721c0 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Thu Oct 31 08:24:30 2024 +0100 Close file commit fc7d462b58bcf3d3a3fbf26c1f3bd04c640a4898 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Tue Oct 29 15:05:48 2024 +0100 Removed stats tool commit 359bf7cb49ef405ee76ed662207d47cb2abcc5a9 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Tue Oct 29 15:01:51 2024 +0100 Updated theory doc commit 39c315af562bc4ce896f41004388a4c34d475d37 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Tue Oct 29 14:51:40 2024 +0100 Remove unused constants commit 57a5d24538aa59a4df9221dad2f99e9f0286bd9d Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Tue Oct 29 10:20:38 2024 +0100 Add tool to solve scrambles from file commit 07e2918c216636891b1fa6adecc9756086a901e9 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Mon Oct 28 17:00:00 2024 +0100 Add make table to tool commit f5e5266c654eb027a5a35c57cc618555246f5e5e Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Mon Oct 28 09:35:49 2024 +0100 Remove old solver, other small things commit a1ec78025b7959dbb845213f7f4e6851ecebc204 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Sun Oct 27 02:00:29 2024 +0200 Improvements commit 8eea23dbe888d923e662e24ae969130e2c67b999 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Sat Oct 26 12:24:19 2024 +0200 Makefile fix commit 3fc3927beacc78971cefeb42da8d71fe6c015fc1 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Fri Oct 25 18:25:09 2024 +0200 More performance gains commit 7b4efa1f9af9722de1ab9ccfc27899825a0d12c4 Author: Sebastiano Tronto <sebastiano@tronto.net> Date: Fri Oct 25 15:53:20 2024 +0200 Alternative solver implementation, small performance gain
2024-10-18Add node and fallback benchmarkingSebastiano Tronto2-7/+15
2024-10-14Fallback tablesSebastiano Tronto1-2/+2

Generated with cgit - Back to sebastiano.tronto.net