File: dds.6

package info (click to toggle)
dds 2.1.2%2Bddd105-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 1,896 kB
  • sloc: cpp: 8,095; ansic: 281; python: 89; makefile: 87
file content (158 lines) | stat: -rw-r--r-- 5,341 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
.TH DDS 6
.SH NAME
dds \- double dummy solver frontend
.SH SYNOPSIS
.B dds
.I file
[
.I options
]
.SH DESCRIPTION
This program is a command line interface for
Bo Haglund's Double Dummy Solver (DDS).
.PP
It has four useful stand-alone options:
.IP 1.
Option \fB\-playdd\fP, to play any deal double dummy.
.IP 2.
Option \fB\-giblib\fP. For any deal, to get maximum trick values
for all possible contracts and leaders
(these are the 20 trick values as for giblib).
.IP 3.
Option \fB\-tricks\fP. For specified deal, to get maximum trick values
for all possible contracts and leaders
(these are the 20 trick values as for giblib).
.IP 4.
Option \fB\-gen\fP. This is to generate deals,
without or with up to 20 possible trick values.
.SH OPTIONS
.BR \fIfile\fP
path for 'giblib' input file
.TP
Optional arguments [\fIoptions\fP] are one or more of: 
.TP
.BR \-v
verbose where applicable
.TP
.BR \-target=\fId\fP
\-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. 
.TP
.BR \-sol=\fId\fP
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.
.TP
.BR \-mode=\fId\fP
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.
.\"
.\"mode=2:  As for mode=1, but the transposition table contents is reused from the
.\"preceding SolveBoard call. Requires that target is the same as for the
.\"preceding call and is not target=\-1. The parameter solutions must be set to 1,
.\"deal must be the same, except that deal.first for the second call is partner to
.\"deal.first in the first call.
.\"Example:
.\"1st call:  SolveBoard(deal, 10, 1, 1, &fut1),  deal.first=1, i.e. East leads.
.\"2nd call:  SolveBoard(deal, 10, 1, 2, &fut2),  deal.first=3, i.e. West leads.  
.TP
.BR \-trumps=\fIt\fP
s/h/d/c/n, this overrides the file (default=n) 
.TP
.BR \-leader=\fIl\fP
w/n/e/s, this overrides the file (default=w) 
but used only when no cards have been played 
.TP
.BR \-deal=\fId\fP
1/2/... deal number in giblib file.
Only one of \fB\-deal\fP or \fB\-name\fP should be specified.
.TP
.BR \-name=\fIstr\fP
deal with 'name=str' in giblib file.
Only one of \fB\-deal\fP or \fB\-name\fP should be specified.
.TP
.BR \-playdd
play deal choosing between DDS alternatives 
.TP
.BR \-timeall
time all deals in file for sol=1/2/3, print stats 
.TP
.BR \-timeg=\fIxcn\fP
 \fIx\fP - hex digit, total tricks by n-s 
 \fIc\fP - contract s/h/d/c/n 
 \fIn\fP - 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.
.TP
.BR \-giblib=\fId1\fP\-\fId2\fP[\-all]
validate all deals from d1 to d2 in giblib file 
for target=\-1 sol=1 mode=1.
1. if \fB\-all\fP is given, this is done for all of
the 20 trick values even if some of them are '\-'.
2. if \fB\-all\fP is not given, this is done only for 
those trick values which are not '\-'.
.TP
.BR \-tricks
like \fB\-giblib\fP, but for single deal specified 
by \fB\-name\fP=str \fB\-deal\fP=d or option 
.TP
Generate deals: 
.TP
.BR \-gen=\fIn\fP
(required) n=number of deals to generate.
output is written to a file (see below) 
.TP
.BR \-genseed=\fIs\fP
(default 0) seed for random generator 
.TP
.BR \-gencards=\fIc\fP
(default=52) number of cards generated per deal,
must be multiple of 4 
.TP
.BR \-gentricks=\fIt\fP
0,1,...,20 (default 1), number of tricks values to set randomly
.TP
Generate output is written to a file:
gen\-\fIgenseed\fP\-\fIndeal\fP\-\fIgencards\fP\-\fIgentricks\fP.txt 
.SH 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.
.SH "SEE ALSO"
dealer(6), deal(6).