Releases: dds-bridge/dds
Releases · dds-bridge/dds
v2.2.3
- The 2.2.3 Mingw DLLs are about 5% faster than the 2.2.2 DLLs.
- An uninitialized variable used in move generation required that the compiler initialized it by setting it to zero. This is true for Visual C++ but might perhaps have caused a problem with some other compiler.
- The rel table missed initialization for
absRankandrelRankwhen all cards in a suit are missing. - Maximum number of threads is increased to 16.
- Other code improvements.
When using Mingw DDS DLLs, supporting DLLs need to be present in the same folder where the DDS DLL is situated. Those DLLs implement functions used by the DDS DLL. They are included in the Mingw C++ compiler package which can be downloaded from the Mingw main site.
For convenience, the "supporting DLLs" are available in this release as dds223-supporting-dlls.zip
- The "PBN plus" release has both PBN and SolveAllBoards, so the application program using the DLL needs to accept the SolveAllBoards interface addition.
- The "PBN" means the application program using the DLL needs to accept the interface change towards the DLL due to the addition of the PBN alternative functions.
v2.2.1
- Fixed fault in using the Windows function to detect RAM memory size that could cause DDS termination.
- Add clarification that DDS 2.2.1 is a 32-bit DLL, not capable of using more than 4 GB. Max threads are 8.
v2.2.0
- 2.2.0 is 10-15% faster than 2.1.2.
- Added function
SolveAllBoards. - DDS used a deficient function in Windows to detect RAM memory size, which could cause too few threads to be allocated. DDS now uses a correct Windows function to detect the RAM size.
- Corrected failure by DDS to detect PBN text coded card distributions with less than 52 cards.
- Fixed hang when a faulty card distribution was provided in the CalcDDtable call. (This fault was not present in the openMP alternative though.)
v2.1.2
- 2.1.2 is about 10% faster than 2.1.1.
- 2 new callable functions have been added:
SolveBoardPBNandCalcDDtablePBN. They both accept PBN format for the remaining cards in the deal information instead of the bit codes. - Code improvements have been done concerning quick tricks detection and move ordering.
v2.1.1
- The maximum number of threads is configurable depending on the size of the physical memory. The configuration is either done automatically by reading out the physical memory size by the operating system, or by supplying parameter values in
InitStart.
v2.1.0
- Added OpenMP as multi-thread support for
CalcDDtablewhen compiling with gcc 4.4.0 or later. - Added a similarity deals test function for reuse of the transposition table contents when the current deal is similar to the previous deal.
v2.0.1
- In 2.0.0, the contents of the transposition table could be erroneously be reused when the previous position contained a different number of cards. This was caused by an erroneous implementation of the deal similarity test. This bug was fixed by removing the similarity test.
- The DDS version number is defined by a #define statement in
dll.h.
v2.0.0
SolveBoardis now thread-safe.- The
SolveBoardparametermodeno longer needs to be set to 2. - DDS automatically detects situations when the transposition table contents can be reused.
- Used with a single thread, DDS 2.0.0 has about the same speed as DDS 1.1.9.
- Used with 2 parallel threads, DDS 2.0.0 is twice as fast as the single thread case.
- A new function
CalcDDtablehas been added.CalcDDtablecallsSolveBoardusing parallel threads. The number of - Parallel threads is the same as the number of processor cores.
CalcDDtablecalculates the double dummy values of the initial 52 cards for all the 20 trump suit/leading hand combinations.
v1.1.20
- "Plus" version has
CalcDDtable,CalcDDtablePBN,CalcParandCalcParPBNfunctions available. - "PBN" version means the application using the DLL may have to be adapted to handle the PBN alternative.
- "No PBN" version means previous DLL prior to 1.1.20 can be replaced by the 1.1.20 DLL without any further implications.
v1.1.18
- This release is licensed under Apache 2.0 instead of GPL for the previous releases.
- There is a slight change of the move ordering compared to 1.1.17.