# macro translation meaning # constants # --------- ; [^:]* OFF :D0 ME 1 PARD 2 US 3 LHO 4 RHO 8 THEM 12 OTHERS 14 ALL 15 CLUBS 3 DIAMONDS 2 HEARTS 1 SPADES 0 HCP 4 ; HCP (pointsf) LP 13 ; Lindelof point feature (lindf in bidding.h) HP 9 ; HCP in suit (hcp_suitf) QUAL 5 ; quality in suit NTYPE D(5[CD]|4.)..[34].[23] SNTYPE D2C2D2H2S:d5C5D4H4S SSNTYPE D2C2D2H2S:d5C5D4H~5+SSHOW~S BAL D(5.3|4.[34])...[23] SBAL D2C2D2H2S:d5C5D5H5S SBALM D2C2D2H2S:d5C5D5H5S:d~7-VAL(PARD,H)~H~7-VAL(PARD,S)~S MPWK M~.<21-MVAL(PARD,HCP)~ MPSO M~.<23-VAL(PARD,HCP)~ MPINV M~.+VAL(PARD,HCP)[23,24]~ MPINVP M~.+VAL(PARD,HCP)>=24~ MPSINV M~.+VAL(PARD,HCP)[31,32]~ MPSPOSS M~.+MVAL(PARD,HCP)>31~ MPGF M~.>24-VAL(PARD,HCP)~ MPGONLY M~(h=.)+MVAL(PARD,HCP)<31&&h+VAL(PARD,HCP)>24~ SMPWK m~20-MVAL(PARD,HCP)~ SMPSO m~22-VAL(PARD,HCP)~ SMPINV m~24-VAL(PARD,HCP)~:M~24-VAL(PARD,HCP)~ SMPINVP M~24-VAL(PARD,HCP)~ SMPSINV m~32-VAL(PARD,HCP)~:M~31-VAL(PARD,HCP)~ SMPSPOSS M~31-MVAL(PARD,HCP)~ SMPGF M~25-VAL(PARD,HCP)~ SMPGONLY m~30-MVAL(PARD,HCP)~:M~25-VAL(PARD,HCP)~ SO :M~.<24-MVAL(PARD,LP)~ INV :M~.+VAL(PARD,LP)[23,24]~ GF :M~.>24-VAL(PARD,LP)~ SHOULDX P~.>23-VAL(PARD,HCP)~:M~.>25-VAL(PARD,LP)~ SX P~24-VAL(PARD,HCP)~:M~26-VAL(PARD,LP)~ SSO m~22-MVAL(PARD,LP)~ SINV m~24-VAL(PARD,LP)~:M~24-VAL(PARD,LP)~ SGF M~25-VAL(PARD,LP)~ PSO P~.<25-MVAL(PARD,HCP)~ PINV P~.+VAL(PARD,HCP)==24~ PINVP P~.+VAL(PARD,HCP)>23~ PSINV P~.+VAL(PARD,HCP)[29,30]~ PGF P~.>24-VAL(PARD,HCP)~ SPSO p~22-MVAL(PARD,HCP)~ SPINV p~24-VAL(PARD,HCP)~:P~24-VAL(PARD,HCP)~ SPINVP P~24-VAL(PARD,HCP)~ SPSINV p~31-VAL(PARD,HCP)~:P~30-VAL(PARD,HCP)~ SPGF P~25-VAL(PARD,HCP)~ SLAM_POSS :M~(d=.)>=31-VAL(PARD,LP)&&d>=33-MVAL(PARD,LP)&&LOSERS(0,b)<2~ SLAM_INV :M~(d=.)>=32-VAL(PARD,LP)&&d>=33-MVAL(PARD,LP)&&LOSERS(0,b)<2~ SSLAM_POSS M~31-VAL(PARD,LP)~ SSLAM_INV M~32-VAL(PARD,LP)~ PMIN P~.VAL(ME,HCP)+1~ SPMIN p~VAL(ME,HCP)+1~ SPMAX P~VAL(ME,HCP)+2~ MIN :M~.VAL(ME,LP)+1~ SMIN m~VAL(ME,LP)+1~ SMAX M~VAL(ME,LP)+2~ PRE_OK H+c..#b~(c>4&&c!=8)&&VAL(THEM,b)<4~ VADJ 2*SYS(AGR2)+OVUL-VUL MYFREE (13-VAL(ME,C)-VAL(ME,D)-VAL(ME,H)-VAL(ME,S)) LOOKING VAL(US,LP)>10&&((a<4&&b!=FIT)||FIT<0)&&VAL(PARD,b)<3&&VAL(THEM,b)<4 SUITOK ((FIT<0&&MVAL(ME,b)+VAL(PARD,b)>7&&VAL(THEM,b)<4)||b==FIT)||(VAL(PARD,b)>3&&FITVAL(ME,LP)+3~ SSUPER M~VAL(ME,LP)+4~ RUND (VAL(PARD,d)>2||VAL(ME,d)>4) PFIT VAL(THEM,b)<4&&VAL(PARD,b)>2 COMBS .+VAL(PARD,LP)>=SVALUES COMBN .+VAL(PARD,HCP)>=NVALUES SCOMBS -VAL(PARD,LP)+SVALUES SCOMBN -VAL(PARD,HCP)+NVALUES SLEVA :M~.+VAL(PARD,LP)[SVALUES(a),SVALUES(a+1)-1]~ SSLEVA M~SVALUES(a)-VAL(PARD,LP)~:m~SVALUES(a+1)-1-VAL(PARD,LP)~ NLEVA P~.+VAL(PARD,HCP)[NVALUES(a),NVALUES(a+1)-1]~ SNLEVA P~NVALUES(a)-VAL(PARD,HCP)~:m~NVALUES(a+1)-1-VAL(PARD,HCP)~ OPENONE0 P~.>10~:M~.>12~ OPENONE1 P~.>9~:M~.>12~ OPENONE2 P~.>11~ OPENMIN P~.>9~:M~.[12,17]~ NEWSTR (c[PXR]|.c.):(d.|d[1-7].):(a[1-3]b[^N]|a4b[HS])~(d!=X||b!=c)&&LOOKING NEWSTS (c[PXR]|.c.):(d.|d[1-7].):a[1-3]b[^N]~(d!=X||b!=c)&&SUITY(a)&&LOOKING BAIL VAL(US,b)<6&&(c==a||(c==a+1&&d9~ # 0-ary # ----- FIT #0 ; Returns highest suit in which best fit has been shown UFIT #1 ; Returns highest suit in which best fit exists based on ; your cards. WORRY #2 ; Returns a suit they've shown and which you haven't ; shown a control in VUL #3 ; returns 1 if you're vulnerable STOPPERS #4 ; returns 1 if you've got their suits stopped, or all ; suits stopped if they don't have any SSHOW #5 ; modify specs to show stops RX #6 ; responsive double in suits other than a (4+ in major, ; 3+ in minor) 1NLO #7 ; lower bound of 1N opening 1NHI #8 ; upper bound of 1N opening 2NLO #9 ; lower bound of 2N opening 2NHI #10 ; upper bound of 2N opening GERB_OK #11 ; Gerber is reasonable in terms of controls GERB_OK2 #12 ; you have all the aces; ask for Ks reasonable UNBID #13 ; returns suit no one has shown OVUL #14 ; returns 1 if they're vulnerable CLEAR #15 ; erase current beliefs about your hand KINGS #16 ; number of kings 1NRBLO #17 ; lower bound of 1N rebid 1NRBHI #18 ; upper bound of 1N rebid 1NMX #19 ; max of 1NRBHI and 1NHI # 1-ary # ----- HOLD #0 ; returns your holding in given feature SYS #1 ; Is current bidder playing this? OPP #2 ; they've got length in this suit, below given one (or 0) HIM #3 ; pard has length in this suit, below given one NOCUE #4 ; no ace in any suit other than arg OM #5 ; 4 in other major QINC #6 ; increment # of controls shown by n ACES #7 ; number of aces with arg trumps BLACK_OK #8 ; Blackwood is reasonable in terms of fit and controls BLACK_OK2 #9 ; you have all the aces; ask for Ks reasonable QASK #10 ; reasonable to ask for Q of trump? REFIT #11 ; returns either suit of known fit, or b HCUE #12 ; you have the values to cue bid in given suit SUITY #13 ; reasonable to start looking for a fit at this level? NVALUES #14 ; combined HCP needed to bid n NT SVALUES #15 ; combined LP needed to bid n of a suit # binary # ------ VAL #0 ; first arg is 0-F bitwise: 1 = me, 2 = pard, 4 = LHO, ; 8 = RHO. 2nd arg is feature. Return combined ; minimum shown by set of players in given feature MVAL #1 ; first arg is 0-F bitwise: 1 = me, 2 = pard, 4 = LHO, ; 8 = RHO. 2nd arg is feature. Return combined ; maximum shown by set of players in given feature SCUE #2 ; first arg is last call, 2nd is current call ; adjusts for what cue bid shows (denying intermediate ; cue bids, etc) and returns -1 LOSERS #3 ; if 0 arg, min #losers; if 1 arg, max #. 2nd arg trumps # ternary # ------- NEWSUIT #0 ; first arg is level force is to, 2nd is strain, ; 3rd is quality shown CHECKSUIT #1 ; same but see if you have it RUNOUT #2 ; given suit/level is best place to run to with no fit UNT #3 ; args suit1, suit2, len; you have len in *other* suits # conventions # ----------- ADV_JACOBY 0 AGR0 1 AGR1 2 AGR2 3 ASTRO 4 BLACKWOOD 5 BR3N 6 CAP 7 CHEAPER_MINOR 8 CR 9 CS 10 CUE_LRB 11 DONT 12 DRURY 13 ESCAPE_NT 14 FLANNERY 15 FORCING_NT 16 FSF 17 GAMB 18 GERBER 19 GF21 20 GSF 21 INVERTED 22 JACOBY 23 JACOBY_2NT 24 LEBEN1 25 LEBEN2 26 LIM2N 27 LIMIT_MAJOR 28 LSGT 29 MAJ5 30 MICHAELS 31 MSS 32 MST 33 MUID 34 NAMYATS 35 NEGX 36 NMF 37 RESPX 38 REV_DRURY 39 RKCB 40 SOLOWAY 41 SPLINTER 42 SSGT 43 STAYMAN 44 STRONG_CLUB 45 STRONG_CUE 46 SUPPORTX 47 TEXAS 48 TRUSCOTT 49 TRUSCOTT_VSP 50 UNUSUAL_NT 51 UVU 52 W3C 53 WALSH 54 WEAK2 55 WESTERN 56 WJO 57