## SYNOPSIS

dds file [ options ]

## DESCRIPTION

This program is a command line interface for Bo Haglund's Double Dummy Solver (DDS).

It has four useful stand-alone options:

1.

Option -playdd, to play any deal double dummy.

2.

Option -giblib. For any deal, to get maximum trick values for all possible contracts and leaders (these are the 20 trick values as for giblib).

3.

Option -tricks. For specified deal, to get maximum trick values for all possible contracts and leaders (these are the 20 trick values as for giblib).

4.

Option -gen. This is to generate deals, without or with up to 20 possible trick values.

## OPTIONS

file path for 'giblib' input file

Optional arguments [options] are one or more of:

-v

verbose where applicable

-target=d

-1-13 (default -1). Number of tricks to be won by the side to play, -1 means that the program shall find the maximum number. For equivalent cards only the highest is returned.

-sol=d

solution 1/2/3 (default 3). How many card solutions SolveBoard returns:

target=1-13, solutions=1: Returns only one of the cards. Its returned score is the same as target when target or higher tricks can be won. Otherwise, score -1 is returned if target cannot be reached, or score 0 if no tricks can be won.

target=-1, solutions=1: Returns only one of the optimum cards and its score.

target=0, solutions=1: Returns only one of the cards legal to play with score set to 0.

target=1-13, solutions=2: Return all cards meeting target. Their returned scores are the same as target when target or higher tricks can be won. Otherwise, only one card is returned with score -1 if target cannot be reached, or score 0 for all cards legal to play if no tricks can be won.

target=-1, solutions=2: Return all optimum cards with their scores.

target=0, solutions=2: Return all cards legal to play with scores set to 0.

target irrelevant, solutions=3: Return all cards that can be legally played with their scores in descending order.

-mode=d

0/1 (default 1). DLL mode of operation. This mode does not affect the DLL if there are multiple choices for cards to play. If there is just one card to play, or multiple cards that are all equivalent, this mode determines whether or not the DLL will search to find the score.

mode=0: Do not search to find the score if the hand to play has only one card, including its equivalents, to play. Score is set to -2 for this card, indicating that there are no alternative cards. This mode is very fast.

mode=1: Always search to find the score. Even when the hand to play has only one card, with possible equivalents, to play.

-trumps=t

s/h/d/c/n, this overrides the file (default=n)

w/n/e/s, this overrides the file (default=w) but used only when no cards have been played

-deal=d

1/2/... deal number in giblib file. Only one of -deal or -name should be specified.

-name=str

deal with 'name=str' in giblib file. Only one of -deal or -name should be specified.

-playdd

play deal choosing between DDS alternatives

-timeall

time all deals in file for sol=1/2/3, print stats

-timeg=xcn

x - hex digit, total tricks by n-s c - contract s/h/d/c/n n - number of deals

time the first n deals in the giblib file, having total tricks x at contract c, for target=-1 sol=1 mode=1 and for the specified/default leader, each deal is validated.

-giblib=d1-d2[-all]

validate all deals from d1 to d2 in giblib file for target=-1 sol=1 mode=1. 1. if -all is given, this is done for all of the 20 trick values even if some of them are '-'. 2. if -all is not given, this is done only for those trick values which are not '-'.

-tricks

like -giblib, but for single deal specified by -name=str -deal=d or option

Generate deals:

-gen=n

(required) n=number of deals to generate. output is written to a file (see below)

-genseed=s

(default 0) seed for random generator

-gencards=c

(default=52) number of cards generated per deal, must be multiple of 4

-gentricks=t

0,1,...,20 (default 1), number of tricks values to set randomly

Generate output is written to a file:

gen-genseed-ndeal-gencards-gentricks.txt

## NOTES

The program was named ddd by its author. As there is already some other ddd package in Debian (the gdb frontend) it was renamed to dds, the name of the library used.