Skip to content

Commit

Permalink
start Stockfish
Browse files Browse the repository at this point in the history
not working and not working on
  • Loading branch information
jan-patrick committed Aug 7, 2018
1 parent 45afbf0 commit 7834b93
Show file tree
Hide file tree
Showing 92 changed files with 21,049 additions and 2 deletions.
4 changes: 3 additions & 1 deletion README.md
Expand Up @@ -19,6 +19,8 @@
<br>
<h4 align="center">Attribution</h4>
<p align="center">
<a href="https://github.com/nmrugg/stockfish.js">Stockfish.jsi</a>
<br>
<a href="https://github.com/lhartikk/simple-chess-ai">simple-chess-ai</a>
<br>
<a href="https://github.com/oakmac/chessboardjs">chessboardjs</a>
Expand All @@ -31,4 +33,4 @@
<p align="center">As an open source project, attribution is critical from a legal, practical and motivational perspective. Please give us credits! Common places for attribution are for example: to mention us in your project README, the 'About' section or the footer on a website/in mobile apps. </p>
<br><br>
<h4 align="center">License</h4>
<p align="center">This work is licensed under the GNU General Public License v3.0 license. View LICENSE.txt for details.</p>
<p align="center">This work is licensed under the GNU General Public License v3.0 license. View LICENSE.txt for details.</p>
4 changes: 3 additions & 1 deletion index.html
Expand Up @@ -192,11 +192,13 @@
<h1>sense-chess by <br> Marcus Schoch & Jan Schneider</h1>


<h2><a href="https://github.com/sense-chess">GitHub</a></h2>
<h2><a href="https://sense-chess.de">project site</a> or <a href="https://github.com/sense-chess">GitHub</a></h2>


<p>sense-chess is a project at HfG Schwäbisch Gmünd by Marcus Schoch and Jan Schneider with Prof. Michael Schuster and Benjamin Thomsen in the third semester, the summer semester 2018.</p>

<p><a href="/stockfish/">stockfish</a></p>

<p><a href="/sense-chess/">sense-chess</a></p>

<p><a href="/slider/">slider</a></p>
Expand Down
67 changes: 67 additions & 0 deletions stockfish/.gitattributes
@@ -0,0 +1,67 @@
# Set default behaviour, in case users don't have core.autocrlf set.
* text=auto

# Explicitly declare text files we want to always be normalized and converted
# to native line endings on checkout.
.gitignore text
.htaccess text
*.cache text
*.cgi text
*.ci text
*.css text
*.csv text
*.dist text
*.htm text
*.html text
*.inc text
*.ini text
*.java text
*.js text
*.json text
*.less text
*.lock text
*.log text
*.markdown text
*.md text
*.meta text
*.phar text
*.php text
*.pl text
*.rb text
*.sh text
*.tpl text
*.twig text
*.txt text
*.xml text
*.yml text
# app/console text
behat text
Capfile text
console text
deps text
Vagrantfile text
vendors text

# Explicitly declare text files should maintain CRLF in all environments.
*.bat text eol=crlf
*.cmd text eol=crlf

# Explicitly declare text files should maintain LF in all environments.
bin/* text eol=lf
*.sh text eol=lf
.profile text eol=lf

# Denote all files that are truly binary and should not be modified.
*.db binary
*.fla binary
*.gif binary
*.ico binary
*.jar binary
*.jpeg binary
*.jpg binary
*.png binary
*.psd binary
*.swf binary
*.swz binary
.gitkeep binary
composer.phar binary
11 changes: 11 additions & 0 deletions stockfish/.gitignore
@@ -0,0 +1,11 @@
src/stockfish
src/.depend
*.o

# Stockfish.js
stockfish
src/stockfish.js.map
src/stockfish.js.mem
*~
etc/
merged_data.json
28 changes: 28 additions & 0 deletions stockfish/.npmignore
@@ -0,0 +1,28 @@
.cproject
.depend
.project
.settings/
*.o
stockfish
src/stockfish.js.map
src/stockfish.js.mem
node_modules/
*~
etc/
merged_data.json
example/
src/*.cpp
src/*.h
src/post.js
src/pre.js
src/Makefile
.gitignore
build.sh
clean.sh
create_branch_at.js
engine-interface.txt
merged_data.json
rolling_merge.js
startup_tester.js
tester.js
test_load_engine.js
63 changes: 63 additions & 0 deletions stockfish/.travis.yml
@@ -0,0 +1,63 @@
language: cpp
sudo: required
dist: trusty

matrix:
include:
- os: linux
compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-6', 'g++-6-multilib', 'g++-multilib', 'valgrind', 'expect']
env:
- COMPILER=g++-6
- COMP=gcc

- os: linux
compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['clang', 'g++-multilib', 'valgrind', 'expect']
env:
- COMPILER=clang++
- COMP=clang

- os: osx
compiler: gcc
env:
- COMPILER=g++
- COMP=gcc

- os: osx
compiler: clang
env:
- COMPILER=clang++ V='Apple LLVM 6.0' # Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
- COMP=clang

branches:
only:
- master

before_script:
- cd src

script:
- make clean && make build ARCH=x86-64 && ./stockfish bench 2>&1 >/dev/null | grep 'Nodes searched' | tee bench1
- make clean && make build ARCH=x86-32 && ./stockfish bench 2>&1 >/dev/null | grep 'Nodes searched' | tee bench2
- echo "Checking for same bench numbers..."
- diff bench1 bench2 > result
- test ! -s result
# verify perft numbers (positions from https://chessprogramming.wikispaces.com/Perft+Results)
- printf ' set timeout 10\n lassign $argv pos depth result\n spawn ./stockfish\n send "position $pos\\n perft $depth\\n"\n expect "Nodes searched ? $result" {} timeout {exit 1} \n send "quit\\n"\n expect eof\n' > perft.exp
- expect perft.exp startpos 5 4865609 > /dev/null
- expect perft.exp "fen r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -" 5 193690690 > /dev/null
- expect perft.exp "fen 8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - -" 6 11030083 > /dev/null
- expect perft.exp "fen r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq - 0 1" 5 15833292 > /dev/null
- expect perft.exp "fen rnbq1k1r/pp1Pbppp/2p5/8/2B5/8/PPP1NnPP/RNBQK2R w KQ - 1 8" 5 89941194 > /dev/null
- expect perft.exp "fen r4rk1/1pp1qppp/p1np1n2/2b1p1B1/2B1P1b1/P1NP1N2/1PP1QPPP/R4RK1 w - - 0 10" 5 164075551 > /dev/null
# if valgrind is available check the build is without error, reduce depth to speedup testing, but not too shallow to catch more cases.
- if [ -x "$(command -v valgrind )" ] ; then make clean && make ARCH=x86-64 debug=yes build && valgrind --error-exitcode=42 ./stockfish bench 128 1 10 default depth 1>/dev/null ; fi
# use g++-6 as a proxy for having sanitizers ... might need revision as they become available for more recent versions of clang/gcc than trusty provides
- if [[ "$COMPILER" == "g++-6" ]]; then make clean && make ARCH=x86-64 sanitize=yes build && ! ./stockfish bench 2>&1 | grep "runtime error:" ; fi
98 changes: 98 additions & 0 deletions stockfish/AUTHORS
@@ -0,0 +1,98 @@
# Generated with 'git shortlog -sn | cut -c8-', which sorts by commits, manually ordered the first four authors, merged duplicates

Tord Romstad
Marco Costalba (mcostalba)
Joona Kiiski (zamar)
Gary Linscott (glinscott)
Lucas Braesch (lucasart)
Bill Henry (VoyagerOne)
mstembera
Stéphane Nicolet (Stephane Nicolet, snicolet)
Stefan Geschwentner
Alain SAVARD (Rocky640)
Jörg Oster (Joerg Oster, joergoster)
Reuven Peleg
Chris Caino (Chris Cain, ceebo)
Jean-Francois Romang
homoSapiensSapiens
Leonid Pechenik
Stefano Cardanobile (Stefano80)
Arjun Temurnikar
Uri Blass (uriblass)
jundery
Ajith (ajithcj)
hxim
Ralph Stößer (Ralph Stoesser)
Guenther Demetz
Jonathan Calovski (Mysseno)
Tom Vijlbrief
mbootsector
Daylen Yang
ElbertoOne
Henri Wiechers
loco-loco
Joost VandeVondele (Joost Vandevondele)
Ronald de Man (syzygy)
DU-jdto
David Zar
Eelco de Groot
Jerry Donald
NicklasPersson
Ryan Schmitt
Alexander Kure
Dan Schmidt
H. Felix Wittmann
Jacques
Joseph R. Prostko
Justin Blanchard
Linus Arver
Luca Brivio
Lyudmil Antonov
Rodrigo Exterckötter Tjäder
Ron Britvich
RyanTaker
Vince Negri
erbsenzaehler
Joseph Hellis (jhellis3)
shane31
Andrew Grant
Andy Duplain
Auguste Pop
Balint Pfliegel
Dariusz Orzechowski
DiscanX
Ernesto Gatti
Gregor Cramer
Hiraoka Takuya (HiraokaTakuya)
Hongzhi Cheng
IIvec
Kelly Wilson
Ken T Takusagawa
Kojirion
Krgp
Matt Sullivan
Matthew Lai
Matthew Sullivan
Michel Van den Bergh
Niklas Fiekas
Oskar Werkelin Ahlin
Pablo Vazquez
Pascal Romaret
Raminder Singh
Richard Lloyd
Ryan Takker
Thanar2
absimaldata
atumanian
braich
fanon
gamander
gguliash
kinderchocolate
pellanda
ppigazzini
renouve
sf-x
thaspel
unknown

0 comments on commit 7834b93

Please sign in to comment.