Commit Graph

149 Commits

Author SHA1 Message Date
Mattia Giambirtone b4d2c5cbef Add heavy tests. Fix minor bugs. Initial work on UCI interface 2024-04-24 10:41:01 +02:00
Mattia Giambirtone 9ffe08400d Minor (hopefully last) movegen bugfix 2024-04-23 20:42:57 +02:00
Mattia Giambirtone b80f71c1cb Minor fixups. Require nim 2.0.4 or higher to build 2024-04-23 20:17:07 +02:00
Mattia Giambirtone fe34788817 Merge branch 'master' into performance 2024-04-23 18:58:54 +02:00
Mattia Giambirtone bc9ff4c3ed Final bug fixes. Test suite is passing 2024-04-23 18:57:38 +02:00
Mattia Giambirtone 46142496ec More movegen bug fixes and minor improvements to the test suite 2024-04-23 11:48:11 +02:00
Mattia Giambirtone e42c1fd95d Make test suite optionally parallel. Many bug fixes 2024-04-23 01:50:56 +02:00
Mattia Giambirtone fbb21f19d1 Add nim.cfg and various bugfixes to movegen 2024-04-21 15:58:31 +02:00
Mattia Giambirtone 9b3264b68b Add missing license headers 2024-04-21 11:11:28 +02:00
Mattia Giambirtone bb9eea4ef8 Add missing license headers 2024-04-21 11:09:12 +02:00
Mattia Giambirtone cb8064a833 Further improve modularity 2024-04-21 11:07:15 +02:00
Mattia Giambirtone d6dcacc8de Refactor package structure 2024-04-21 10:51:11 +02:00
Mattia Giambirtone 9969f9abaa Bug fixes to checks, pins and more. Reworking pawn movegen 2024-04-20 23:47:57 +02:00
Mattia Giambirtone 29cc592a56 Bug fixes and huge performance improvement. Initial work on pins 2024-04-20 17:48:18 +02:00
Mattia Giambirtone c66fa99340 Refactoring, cleanup, improve modularity 2024-04-20 14:52:45 +02:00
Mattia Giambirtone 78b2d95497 Refactoring, cleanup, improve modularity 2024-04-20 14:51:50 +02:00
Mattia Giambirtone 70e938d6c0 Fix crashes 2024-04-20 13:33:42 +02:00
Mattia Giambirtone 272a370549 Make position bitboard management more idiomatic 2024-04-20 13:28:14 +02:00
Mattia Giambirtone 56cfcfc730 More work on attack handling and some bug fixes 2024-04-19 23:28:46 +02:00
Mattia Giambirtone 32d729f9cf Speedups 2024-04-19 21:43:56 +02:00
Mattia Giambirtone c51be9bcda More bug fixes. Still borked. Improve modularity 2024-04-19 21:00:52 +02:00
Mattia Giambirtone b8b60ca137 Fix bugs in move handling 2024-04-19 17:05:22 +02:00
Mattia Giambirtone fdbc41ab2a Fixed package errors and embedded magics into the build 2024-04-19 15:50:51 +02:00
Mattia Giambirtone 031e3bb075 Add move generation for bishops and queens as well as attack tracking 2024-04-19 14:38:35 +02:00
Mattia Giambirtone bca32ce5d2 Refactor directory structure. Fix magic bitboard generation and add utilities to dump them to disk 2024-04-19 13:40:58 +02:00
Mattia Giambirtone 9e7ce5640e Magic bitboards can now be found (untested) 2024-04-19 00:03:19 +02:00
Mattia Giambirtone e3225bb4bc Work on magic bitboard generation 2024-04-18 21:17:29 +02:00
Mattia Giambirtone eede621bb6 Added knight movegen. Updated attack tracking. Fix bugs 2024-04-17 20:27:39 +02:00
Mattia Giambirtone 5842d15cd0 Add king move generation 2024-04-17 16:50:55 +02:00
Mattia Giambirtone ac14dd9bde Fix bugs with pawn movegen and add promotions 2024-04-17 11:54:45 +02:00
Mattia Giambirtone 8f54603d08 Refactoring of Square handling, removed old code. Initial move generation work on pawns 2024-04-16 23:45:32 +02:00
Mattia Giambirtone 3e35794ab9 Add MoveList implementation 2024-04-16 16:29:21 +02:00
Mattia Giambirtone 415ab1285f Improve modularity and add bitboard tests 2024-04-16 15:24:48 +02:00
Mattia Giambirtone 7b902b5fbb Switch to static move list and print nps after perft completion 2024-04-16 09:05:35 +02:00
Mattia Giambirtone 52bd08b9bd Drop old attack tracking system in preparation for bitboards 2024-04-16 08:50:42 +02:00
Mattia Giambirtone 7aa3faaf4c Add more positions to the test 2024-04-15 17:05:41 +02:00
Mattia Giambirtone 1cfa34646a Improve bitboard interface 2024-04-15 12:45:47 +02:00
Mattia Giambirtone f9b9dccb08 Refactoring and more work on bitboard handling 2024-04-15 12:04:50 +02:00
Mattia Giambirtone f4799a4ee7 Remove unnecessary call to updateBoard() 2024-04-15 10:11:50 +02:00
Mattia Giambirtone d0c5a4c230 Minor changes, add more tests 2024-04-13 21:23:12 +02:00
Mattia Giambirtone 22e5fa7c49 Add draw by 50 move rule. Initial work on draw by insufficient material (currently borked) 2024-04-13 19:59:54 +02:00
Mattia Giambirtone c3eed095e7 Added test suite 2024-04-13 16:29:40 +02:00
Mattia Giambirtone d7191e3e19 Fix promotion bugs: all test positions from the wiki are now passing 2024-04-13 14:56:08 +02:00
Mattia Giambirtone 032435e10e Fix bugs with en passant and king movement 2024-04-12 17:03:45 +02:00
Mattia Giambirtone 3f1109307b Fix bugs with en passant 2024-04-12 16:05:01 +02:00
Mattia Giambirtone dac3bf8460 More movegen bug fixes (close!) 2024-04-10 13:45:29 +02:00
Mattia Giambirtone 52c9cd3196 More bug fixing 2024-04-09 19:55:08 +02:00
Mattia Giambirtone c62ba6cc2b Update .gitignore 2024-04-09 17:57:51 +02:00
Mattia Giambirtone 274af2f3df Initial work for UCI mode 2024-04-09 17:55:12 +02:00
Mattia Giambirtone cb002ce5b0 Several bug fixes and minor improvements/additions 2024-04-09 17:46:30 +02:00