%%Creator: utopia:margo (& Seltzer,608-13E,8072,)
%%CreationDate: Tue Dec 11 15:06:45 1990
% @(#)psdit.pro 1.3 4/15/88
% lib/psdit.pro -- prolog for psdit (ditroff) files
% Copyright (c) 1984, 1985 Adobe Systems Incorporated. All Rights Reserved.
% last edit: shore Sat Nov 23 20:28:03 1985
% RCSID: $Header: psdit.pro,v 2.1 85/11/24 12:19:43 shore Rel $
% Changed by Edward Wang (edward@ucbarpa.berkeley.edu) to handle graphics,
/$DITroff 140 dict def $DITroff begin
/fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def
/xi{0 72 11 mul translate 72 resolution div dup neg scale 0 0 moveto
/fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def F
/PB{save /psv exch def currentpoint translate
resolution 72 div dup neg scale 0 0 moveto}def
/arctoobig 90 def /arctoosmall .05 def
/m1 matrix def /m2 matrix def /m3 matrix def /oldmat matrix def
/tan{dup sin exch cos div}def
/point{resolution 72 div mul}def
/dround {transform round exch round exch itransform}def
/xT{/devname exch def}def
/xr{/mh exch def /my exch def /resolution exch def}def
/xs{docsave restore end}def
/xf{/fontname exch def /slotno exch def fontnames slotno get fontname eq not
{fonts slotno fontname findfont put fontnames slotno fontname put}if}def
/xH{/fontheight exch def F}def
/xS{/fontslant exch def F}def
/s{/fontsize exch def /fontheight fontsize def F}def
/f{/fontnum exch def F}def
/F{fontheight 0 le{/fontheight fontsize def}if
fonts fontnum get fontsize point 0 0 fontheight point neg 0 0 m1 astore
fontslant 0 ne{1 0 fontslant tan 1 0 0 m2 astore m3 concatmatrix}if
makefont setfont .04 fontsize point mul 0 dround pop setlinewidth}def
/X{exch currentpoint exch pop moveto show}def
/N{3 1 roll moveto show}def
/Y{exch currentpoint pop exch moveto show}def
/ditpush{}def/ditpop{}def
/AX{3 -1 roll currentpoint exch pop moveto 0 exch ashow}def
/AN{4 2 roll moveto 0 exch ashow}def
/AY{3 -1 roll currentpoint pop exch moveto 0 exch ashow}def
/MX{currentpoint exch pop moveto}def
/MY{currentpoint pop exch moveto}def
/cb{pop}def % action on unknown char -- nothing for now
/p{pop showpage pagesave restore /pagesave save def}def
/Dt{/Dlinewidth exch def}def 1 Dt
/Ds{/Ddash exch def}def -1 Ds
/Di{/Dstipple exch def}def 1 Di
/Dsetlinewidth{2 Dlinewidth mul setlinewidth}def
/Dsetdash{Ddash 4 eq{[8 12]}{Ddash 16 eq{[32 36]}
{Ddash 20 eq{[32 12 8 12]}{[]}ifelse}ifelse}ifelse 0 setdash}def
/Dstroke{gsave Dsetlinewidth Dsetdash 1 setlinecap stroke grestore
currentpoint newpath moveto}def
/arcellipse{/diamv exch def /diamh exch def oldmat currentmatrix pop
currentpoint translate 1 diamv diamh div scale /rad diamh 2 div def
currentpoint exch rad add exch rad -180 180 arc oldmat setmatrix}def
/Dc{dup arcellipse Dstroke}def
/De{arcellipse Dstroke}def
/Da{/endv exch def /endh exch def /centerv exch def /centerh exch def
/cradius centerv centerv mul centerh centerh mul add sqrt def
/eradius endv endv mul endh endh mul add sqrt def
/endang endv endh atan def
/startang centerv neg centerh neg atan def
/sweep startang endang sub dup 0 lt{360 add}if def
{/midang startang sweep 2 div sub def /midrad cradius eradius add 2 div def
/midh midang cos midrad mul def /midv midang sin midrad mul def
midh neg midv neg endh endv centerh centerv midh midv Da
{/controldelt 1 sweep 2 div cos sub 3 sweep 2 div sin mul div 4 mul def
centerv neg controldelt mul centerh controldelt mul
endv neg controldelt mul centerh add endh add
endh controldelt mul centerv add endv add
centerh endh add centerv endv add rcurveto Dstroke}
{centerh endh add centerv endv add rlineto Dstroke}
[32<00000040000000c00000004000000040000000e0000000000000000000000000>]
[32<00000000000060000000900000002000000040000000f0000000000000000000>]
[32<000000000000000000e0000000100000006000000010000000e0000000000000>]
[32<00000000000000002000000060000000a0000000f00000002000000000000000>]
[32<0000000e0000000000000000000000000000000f000000080000000e00000001>]
[32<0000090000000600000000000000000000000000000007000000080000000e00>]
[32<00010000000200000004000000040000000000000000000000000000000f0000>]
[32<0900000006000000090000000600000000000000000000000000000006000000>]]
[16<07c00f801f003e007c00f800f001e003c007800f001f003e007c00f801f003e0>]
[16<1f000f8007c003e001f000f8007c003e001f800fc007e003f001f8007c003e00>]
[16<0040008001000200040008001000200040008000000100020004000800100020>]
[16<0040002000100008000400020001800040002000100008000400020001000080>]
[16<1fc03fe07df0f8f8f07de03fc01f800fc01fe03ff07df8f87df03fe01fc00f80>]
[8<08040201804020100800020180002010>]
transform /maxy exch def /maxx exch def
transform /miny exch def /minx exch def
minx maxx gt{/minx maxx /maxx minx def def}if
miny maxy gt{/miny maxy /maxy miny def def}if
Dpatterns Dstipple 1 sub get exch 1 sub get
aload pop /stip exch def /stipw exch def /stiph 128 def
/imatrix[stipw 0 0 stiph 0 0]def
/tmatrix[stipw 0 0 stiph 0 0]def
/minx minx cvi stiph idiv stiph mul def
/miny miny cvi stipw idiv stipw mul def
tmatrix exch 4 exch put tmatrix setmatrix
stipw stiph true imatrix {stip} imagemask
/DP{Dfill currentpoint newpath moveto}def
/nfonts 60 def % NFONTS makedev/ditroff dependent!
/fonts[nfonts{0}repeat]def
/fontnames[nfonts{()}repeat]def
/pswid exch def /cc exch def /name exch def
/ditwid pswid fontsize mul resolution mul 72000 div def
/ditsiz fontsize resolution mul 72 div def
ocprocs name known{ocprocs name get exec}{name cb}ifelse
/fractm [.65 0 0 .6 0 0] def
/fden exch def /fnum exch def gsave /cf currentfont def
cf fractm makefont setfont 0 .3 dm 2 copy neg rmoveto
fnum show rmoveto currentfont cf setfont(\244)show setfont fden show
grestore ditwid 0 rmoveto
/oce{grestore ditwid 0 rmoveto}def
/ocprocs 50 dict def ocprocs begin
(sr){gsave 0 .06 dm rmoveto(\326)show oce}def
(is){gsave 0 .15 dm rmoveto(\362)show oce}def
(->){gsave 0 .02 dm rmoveto(\256)show oce}def
(<-){gsave 0 .02 dm rmoveto(\254)show oce}def
(==){gsave 0 .05 dm rmoveto(\272)show oce}def
(uc){gsave currentpoint 400 .009 dm mul add translate
8 -8 scale ucseal oce}def
% an attempt at a PostScript FONT to implement ditroff special chars
% cache the little buggers
% generate faster, more compact PS out of psdit
% confuse everyone (including myself)!
/FontMatrix [.001 0 0 .001 0 0] def
/FontBBox [-260 -260 900 900] def% a lie but ...
0 1 255{Encoding exch /.notdef put}for
dup 8#040/space put %space
dup 8#110/rc put %right ceil
dup 8#111/lt put %left top curl
dup 8#112/bv put %bold vert
dup 8#113/lk put %left mid curl
dup 8#114/lb put %left bot curl
dup 8#115/rt put %right top curl
dup 8#116/rk put %right mid curl
dup 8#117/rb put %right bot curl
dup 8#120/rf put %right floor
dup 8#121/lf put %left floor
dup 8#122/lc put %left ceil
dup 8#143/br put %box rule
dup 8#144/rn put %root extender
dup 8#145/vr put %vertical rule
dup 8#146/ob put %outline bullet
dup 8#151/ul put %underline
/cc exch def /fd exch def
/charname fd /Encoding get cc get def
/charwid fd /Metrics get charname get def
/charproc fd /CharProcs get charname get def
charwid 0 fd /FontBBox get aload pop setcachedevice
2 setlinejoin 40 setlinewidth
newpath 0 0 moveto gsave charproc grestore
/BuildChar load 0 DITfd put
/rn{0 840 moveto 500 0 rls}def
/vr{0 800 moveto 0 -770 rls}def
/bv{0 800 moveto 0 -1000 rls}def
/br{0 840 moveto 0 -1000 rls}def
/ul{0 -140 moveto 500 0 rls}def
/ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def
/bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def
/sq{80 0 rmoveto currentpoint dround newpath moveto
640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def
/bx{80 0 rmoveto currentpoint dround newpath moveto
640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def
/ci{500 360 rmoveto currentpoint newpath 333 0 360 arc
50 setlinewidth stroke}def
/lt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 add exch s4 a4p stroke}def
/lb{0 800 moveto 0 -550 rlineto currx -200 2cx s4 add exch s4 a4p stroke}def
/rt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 sub exch s4 a4p stroke}def
/rb{0 800 moveto 0 -500 rlineto currx -200 2cx s4 sub exch s4 a4p stroke}def
/lk{0 800 moveto 0 300 -300 300 s4 arcto pop pop 1000 sub
0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def
/rk{0 800 moveto 0 300 s2 300 s4 arcto pop pop 1000 sub
0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def
/lf{0 800 moveto 0 -1000 rlineto s4 0 rls}def
/rf{0 800 moveto 0 -1000 rlineto s4 neg 0 rls}def
/lc{0 -200 moveto 0 1000 rlineto s4 0 rls}def
/rc{0 -200 moveto 0 1000 rlineto s4 neg 0 rls}def
/Metrics 50 dict def Metrics begin
/s2 500 def /s4 250 def /s3 333 def
/a4p{arcto pop pop pop pop}def
/currx{currentpoint pop}def
/dround{transform round exch round exch itransform} def
/DIThacks exch definefont pop
4(Times-BoldItalic)xf 4 f
1152 1574(shortcomings.)N
2706 2304(functionality)N
2706 2744(representation,)N
2706 3184(buddy-in-waiting.)N
3797 0.1645(interface-compatible)AX
2684 -0.4038(calchash\(key\);)AX
2646 -0.4018(\(isbitset\(\(hash)AX
720 890 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
720 2922 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
986 -0.4038(calchash\(key\);)AX
910 4743 -0.4018(isbitset\(tbit\);)AN
1654 -0.4219(hbit++\)\)\))AX
2706 2557(representation)N
2706 2733 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
2706 4209 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
698 -0.4038(calchash\(key\);)AX
698 -0.4018(maskvec[depth];)AX
774 -0.4038(directory[hash)AX
546 -0.4038(\(store\(bucket,)AX
1024 -0.4167(getpage\(\);)AX
720 4585 -0.4000(bucket->depth++;)AN
720 4673 -0.4091(newbl->depth)AN
1290 -0.4038(bucket->depth;)AX
834 -0.4038(\(bucket->depth)AX
1388 -0.4219(directory)AX
2994 538 -0.4219(directory)AN
3450 -0.3971(double\(directory\);)AX
2706 714 -0.3958(splitbucket\(bucket,)AN
872 -0.4038(calchash\(key\);)AX
1214 -0.4167(high_mask;)AX
1252 -0.4167(max_bucket)AX
1502 -0.4219(low_mask;)AX
720 4717 -0.4018(return\(bucket\);)AN
736 -0.4125(nhdr_pages;)AX
736 -0.4125(spares[32];)AX
736 -0.3929(BUCKET_TO_PAGE\(bucket\))AX
926 -0.4167(nhdr_pages)AX
584 4497 -0.3894(\(bucket?spares[logs2\(bucket)AN
736 -0.3947(OADDR_TO_PAGE\(oaddr\))AX
584 4761 -0.3984(BUCKET_TO_PAGE\(\(1)AN
1382 -0.4091(\(oaddr>>11\)\))AX
432 5614(implementation,)N
2418 1418 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
closepath 3 3349 2740 3482 2873 Dp
closepath 3 3482 2275 3615 2408 Dp
closepath 3 3349 2275 3482 2408 Dp
closepath 3 3216 2275 3349 2408 Dp
closepath 3 2817 2275 2950 2408 Dp
closepath 3 2684 2275 2817 2408 Dp
2418 3489 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
2754 0.4028(referenced)AX
2418 4831(requirements,)N
720 2412 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
closepath 19 1402 3851 1471 3920 Dp
closepath 19 2171 3471 2448 3609 Dp
closepath 3 1756 3609 2033 3747 Dp
closepath 19 1480 3471 1756 3609 Dp
closepath 19 789 3471 1065 3609 Dp
closepath 14 849 3851 918 3920 Dp
closepath 14 1756 3194 1895 3471 Dp
closepath 14 2171 3056 2309 3333 Dp
closepath 14 1480 3056 1618 3333 Dp
closepath 14 789 3056 927 3333 Dp
closepath 3 1990 3851 2059 3920 Dp
720 4624 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
2994 -0.3938(\(\(average_pair_length)AX
432 802 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
432 3234 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
2418 1946 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
2418 4638 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
720 1330 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
closepath 21 1895 2778 1950 2833 Dp
closepath 14 1342 2778 1397 2833 Dp
closepath 3 900 2778 955 2833 Dp
closepath 14 2283 2211 2379 2252 Dp
closepath 14 1992 2211 2089 2252 Dp
closepath 14 1702 2211 1799 2252 Dp
closepath 14 1411 2252 1508 2294 Dp
closepath 3 2283 2252 2379 2612 Dp
closepath 3 1992 2252 2089 2612 Dp
closepath 3 1702 2252 1799 2612 Dp
closepath 3 1411 2294 1508 2612 Dp
closepath 21 2158 2238 2255 2252 Dp
closepath 21 1868 2238 1965 2280 Dp
closepath 21 1577 2238 1674 2308 Dp
closepath 21 1287 2280 1384 2308 Dp
closepath 14 2158 2252 2255 2280 Dp
closepath 14 1868 2280 1965 2308 Dp
closepath 14 1577 2308 1674 2335 Dp
closepath 14 1287 2308 1384 2363 Dp
closepath 3 2158 2280 2255 2612 Dp
closepath 3 1868 2308 1965 2612 Dp
closepath 3 1577 2335 1674 2612 Dp
closepath 3 1287 2363 1384 2612 Dp
closepath 21 1121 2066 1224 2080 Dp
closepath 14 1121 2080 1218 2273 Dp
closepath 3 1121 2273 1218 2612 Dp
closepath 21 997 1589 1093 1644 Dp
closepath 14 997 1644 1093 2280 Dp
closepath 3 997 2280 1093 2612 Dp
720 3708 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
2706 3301 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
2418 1712(implementation)N
2798 -0.4219(\(old_time)AX
3254 -0.4219(new_time\))AX
2418 4412(memory-resident)N
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
927(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
930(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
930(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
930(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
930(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
720 3262 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2913(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2916(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2916(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2916(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2916(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
2706 3746 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
3296(HSEARCH\(BA_LIB\),)X
604 1770(Communications)N
1328(comp.unix.questions)X
720 1330 0.1953(Harvard/Radcliffe)AN