My bridge double dummy solver include source code as well as DLL executables. The program is free, licensed under an open source license Apache 2.0 .
DDS has been implemented for Windows, Linux and MacOSX. Initial work on porting from Windows to Linux and MacOSX has been done by Alex Martelli, here is the link to Alex bridge site. More recent porting and a dds/ddd package for Linux in Debian which includes a Python extension has been assembled by Christoph Berg, look here and his bridge hand viewer/editor application "tenace" here.
There is a published .net wrapper around DDS by Andrew Orsich here.
The DLL executables are for Windows. They can be freely used for any purpose without charge. However, if you use a DLL for your own program, I would like that you give a reference concerning its origination.
The DLLs are compiled both using GCC/MinGW ("dll-mingw") and using Visual C++ ("dll-vcc"). The GCC/MinGW alternative is fastest and should normally be selected. The Visual C++ alternative is included as a solution if an upgrade using the MinGW dds.dll fails, perhaps because the existing .lib file can't handle the MinGW dds.dll.
The Multi-thread version of DDS
The current version is 2.5.1.
The SolveBoard function is thread-safe, making it possible to call SolveBoard from several threads in parallel.
The Multi-thread DDS interface is compatible with the Single-thread DDS interface (the "plus" Single-thread DDS version must then be used).
Multi-thread DDS includes:
- The function CalcDDtable which uses multi-thread calls to SolveBoard for calculating the double dummy values of the 20 trump suit / declarer hand combinations.
- The SolveAllChunks function which solves a bunch of boards using the multi-thread support. The boards are grouped in chunks, where a chunk contains a number of boards handled by the same thread.
- The CalcAllTables function which solves a bunch of "DD tables".
- Par calculation functions.
Multi-thread DDS also allows a PBN format for the cards in the deal information. For this purpose the SolveBoard, CalcDDtable and CalcAllTables functions each has an alternative function definition for calling with the PBN format.
Thread-safe SolveBoard for Windows requires XP or later. CalcDDtable, CalcAllTables and SolveAllChunks for Windows require Vista or later. Thread-safe SolveBoard, CalcDDtable, SolveAllChunks and CalcAllTables require MinGW version 4.4.0 or later release or Visual C++ 2005 or later.
For Windows, DDS uses the Windows API for the multi-thread support .
For non-Windows users, DDS needs OpenMP for the multi-thread support.
The bridge double dummy solver DLL function descriptions can be seen here for DDS 2.5.1.
Current version is 1.1.19. The DLL function description for the "plus" version can be seen here and for the pbn/no pbn versions here.
Usage of DDS
The Multi-thread DDS companion program by Bob Richardson provides a very attractive GUI. Bob's program DD Solver 10 is also free and can be downloaded from his website.
A bridge deals simulation program for Windows, Bridge Deals Simulator, uses Thomas Andrew's Deal 3.0/3.1 to calculate the probability to make a contract based on the double dummy results from a number of generated deals. It requires that the Windows version of Deal 3 has been installed, latest release is Deal 3.1.9.
Deal 3.1 includes a built-in double dummy solver, based on source code from DDS.The double dummy driver (DDD) program provides a command line interface for testing and using DDS. DDD 1.0.5 supports DDS 1.1. It provides functions to get maximum trick values of deals stored in an extended GIB DD data base format and also to play through deals double dummy. It also includes a deal generator. DDD is written by Flip Cronje. The program is free under GPL. A Windows/XP executable (ddd.exe) together with the source code files can be downloaded here.
Other users of the DDS DLL: Gerard Joyez with the program Bridge Moniteur, Lorne Anderson with Bridge Analyser, Ray Spalding with BridgeComposer, Tomas Brenning with Magic Contest / Ruter, Andre de Ruiter with B-Bridge, Alexis Maugat with Master Bridge Analyser, Dirk Willecke with RuderSyv, Matthew Kidd with ACBLmerge and Lead Solver, Dealer4, Andre Scholberg with BridgeThink, Ted Muller Bridge Software, Karl Petreczek with BridgeDDS and Bridge4Scorer, Antony Lee with redeal and John Goacher with Bridge Solver.
Edward Marzo uses an adapted version of DDS in Dealmaster Pro.SUDOKU
The Sudoku programs are combined Sudoku solvers/helpers/puzzle generators for 9x9 and 16x16 puzzle sizes. Sudoku Generator 1.1.1 also have support for the diagonal Sudoku version ("Sudoku X"). Big Sudoku Creator 0.5.1 is a program for 16x16 puzzle sizes, it is similar to Sudoku Creator 1.1.1 in functionality and look and feel. In this release there are no support for the diagonal version and symmetric puzzles. Included files are the program and its DLL, a User's Guide, news compared to the previous release and a short description of the functions available through the DLL.
The Sudoku DLL function description can be seen here for the 9x9 puzzle size, The Sudoku DLL function description can be seen here for the 16x16 puzzle size.
All of my programs are free with no cost. If any problems occur with the programs, please contact me so I can make a correction. I can be reached on the address: email@example.com
Bridge SW Downloads
Double Dummy Solver 2.5.1 with PBN, SolveAllBoards, SolveAllChunks, CalcAllTables, CalcAllTablesPBN and PAR calculation - DLL
Double Dummy Solver 2.5.1 with PBN - DLL
Double Dummy Solver 2.5.1 without PBN - DLLDouble Dummy Solver 2.5.1 - Source code Check the readme file for compile instructions.
Double Dummy Solver 1.1.19 with PBN - DLLThe application using the DLL may have to be adapted to handle the PBN alternative.
Double Dummy Solver 1.1.19 without PBN - DLLA previous DLL prior to 1.1.19 can be replaced by the 1.1.19 DLL without any further implications.
Double Dummy Solver 1.1.19 plus version, compatible with 2.5.1 - DLLsThe CalcDDtable and CalcDDtablePBN functions are available.
Double Dummy Solver 1.1.19 - Source codeBridge Deals Simulator
At installation, the destination folder must be the same as where the deal.exe resides (deal31x). The bds.exe file must be situated in the same (sub)folder as deal.exe. Only a version 1 dds.dll can be used.
Double Dummy Driver (DDD)
Contains a Windows executable (ddd.exe) together with the source code files.
Double Dummy Data Base
A data base storing DD results for 100000 deals. The format follows the GIB DD data base format, described in the giblib.h file in the DDD package.Sudoku SW Downloads
Sudoku Generator 1.1.1 swedish version.Sudoku Generator 1.1.1 english version. Big Sudoku Generator 0.5.1 english version. The DLL must be kept in the same directory as the program executable.