1%! 2%%BoundingBox: 33 728 211 777 3%%Title: lambda-diagram3 4%%CreationDate: Wed Mar 8 14:33:49 1995 5%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) 6% 7% Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1 8% 9 10/tgifdict 132 dict def 11tgifdict begin 12 13% 14% Using a zero value radius for an ellipse or an arc would result 15% in a non-invertible CTM matrix which causes problem when this 16% when this PostScript is wrapped inside other routines, such as 17% the multi.ps package from 18% ftp.ucc.su.oz.au:/pub/ps_printing/multi. You can overcome such 19% error by uncommenting the sole line of the procedure below: 20% 21/tgif_min_radius 22 { 23% dup 0.01 lt { pop 0.01 } if 24 } bind def 25 26/tgifellipsedict 6 dict def 27tgifellipsedict /mtrx matrix put 28 29/tgifellipse 30 { tgifellipsedict begin 31 /yrad exch def 32 /xrad exch def 33 /y exch def 34 /x exch def 35 /savematrix mtrx currentmatrix def 36 x y translate 37 xrad yrad scale 38 0 0 1 0 360 arc 39 savematrix setmatrix 40 end 41 } def 42 43/tgifarrowtipdict 8 dict def 44tgifarrowtipdict /mtrx matrix put 45 46/tgifarrowtip 47 { tgifarrowtipdict begin 48 /dy exch def 49 /dx exch def 50 /h exch def 51 /w exch def 52 /y exch def 53 /x exch def 54 /savematrix mtrx currentmatrix def 55 x y translate 56 dy dx atan rotate 57 0 0 moveto 58 w neg h lineto 59 w neg h neg lineto 60 savematrix setmatrix 61 end 62 } def 63 64/tgifarcdict 8 dict def 65tgifarcdict /mtrx matrix put 66 67/tgifarcn 68 { tgifarcdict begin 69 /endangle exch def 70 /startangle exch def 71 /yrad exch def 72 /xrad exch def 73 /y exch def 74 /x exch def 75 /savematrix mtrx currentmatrix def 76 x y translate 77 xrad yrad scale 78 0 0 1 startangle endangle arc 79 savematrix setmatrix 80 end 81 } def 82 83/tgifarc 84 { tgifarcdict begin 85 /endangle exch def 86 /startangle exch def 87 /yrad exch def 88 /xrad exch def 89 /y exch def 90 /x exch def 91 /savematrix mtrx currentmatrix def 92 x y translate 93 xrad yrad scale 94 0 0 1 startangle endangle arcn 95 savematrix setmatrix 96 end 97 } def 98 99/tgifsetuserscreendict 22 dict def 100tgifsetuserscreendict begin 101 /tempctm matrix def 102 /temprot matrix def 103 /tempscale matrix def 104 105 /concatprocs 106 { /proc2 exch cvlit def 107 /proc1 exch cvlit def 108 /newproc proc1 length proc2 length add array def 109 newproc 0 proc1 putinterval 110 newproc proc1 length proc2 putinterval 111 newproc cvx 112 } def 113 /resmatrix matrix def 114 /findresolution 115 { 72 0 resmatrix defaultmatrix dtransform 116 /yres exch def /xres exch def 117 xres dup mul yres dup mul add sqrt 118 } def 119end 120 121/tgifsetuserscreen 122 { tgifsetuserscreendict begin 123 /spotfunction exch def 124 /screenangle exch def 125 /cellsize exch def 126 127 /m tempctm currentmatrix def 128 /rm screenangle temprot rotate def 129 /sm cellsize dup tempscale scale def 130 131 sm rm m m concatmatrix m concatmatrix pop 132 133 1 0 m dtransform /y1 exch def /x1 exch def 134 135 /veclength x1 dup mul y1 dup mul add sqrt def 136 /frequency findresolution veclength div def 137 138 /newscreenangle y1 x1 atan def 139 140 m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt 141 142 {{neg} /spotfunction load concatprocs 143 /spotfunction exch def 144 } if 145 146 frequency newscreenangle /spotfunction load setscreen 147 end 148 } def 149 150/tgifsetpatterndict 18 dict def 151tgifsetpatterndict begin 152 /bitison 153 { /ybit exch def /xbit exch def 154 /bytevalue bstring ybit bwidth mul xbit 8 idiv add get def 155 156 /mask 1 7 xbit 8 mod sub bitshift def 157 bytevalue mask and 0 ne 158 } def 159end 160 161/tgifbitpatternspotfunction 162 { tgifsetpatterndict begin 163 /y exch def /x exch def 164 165 /xindex x 1 add 2 div bpside mul cvi def 166 /yindex y 1 add 2 div bpside mul cvi def 167 168 xindex yindex bitison 169 { /onbits onbits 1 add def 1 } 170 { /offbits offbits 1 add def 0 } 171 ifelse 172 end 173 } def 174 175/tgifsetpattern 176 { tgifsetpatterndict begin 177 /cellsz exch def 178 /angle exch def 179 /bwidth exch def 180 /bpside exch def 181 /bstring exch def 182 183 /onbits 0 def /offbits 0 def 184 cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen 185 {} settransfer 186 offbits offbits onbits add div setgray 187 end 188 } def 189 190/tgifxpmdict 4 dict def 191/tgifbwpicstr 1 string def 192/tgifcolorpicstr 3 string def 193 194/tgifsetpixels { tgifxpmdict begin /pixels exch def end } def 195 196/tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def 197 198/tgifbwspot 199 { tgifxpmdict begin 200 /index exch def 201 tgifbwpicstr 0 202 pixels index 3 mul 3 getinterval aload pop 203 255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add 204 cvi put 205 tgifbwpicstr 206 end 207 } def 208 209/tgifcolorspot 210 { tgifxpmdict begin 211 /index exch def 212 pixels index 3 mul 3 getinterval aload pop 213 255 mul cvi tgifcolorpicstr 2 3 -1 roll put 214 255 mul cvi tgifcolorpicstr 1 3 -1 roll put 215 255 mul cvi tgifcolorpicstr 0 3 -1 roll put 216 tgifcolorpicstr 217 end 218 } def 219 220/tgifnewcolorspot 221 { tgifxpmdict begin 222 /index exch def 223 pixels index 3 mul 3 getinterval aload pop setrgbcolor 224 end 225 } def 226 227/tgifcolordict 4 dict def 228 229/colorimage where 230 { pop } 231 { /colorimage 232 { tgifcolordict begin 233 pop pop pop pop pop 234 /ih exch def 235 /iw exch def 236 /x 0 def 237 /y 0 def 238 1 1 ih 239 { pop 1 1 iw 240 { pop currentfile 241 tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot 242 x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto 243 closepath fill 244 /x x 1 add def 245 } for 246 /y y 1 add def 247 /x 0 def 248 } for 249 end 250 } def 251 } ifelse 252 253/tgifpatdict 10 dict def 254 255/tgifpatbyte 256 { currentdict /retstr get exch 257 pat i cellsz mod get put 258 } def 259 260/tgifpatproc 261 { 0 1 widthlim {tgifpatbyte} for retstr 262 /i i 1 add def 263 } def 264 265/tgifpatfill 266 { tgifpatdict begin 267 /h exch def 268 /w exch def 269 /lty exch def 270 /ltx exch def 271 /cellsz exch def 272 /pat exch def 273 274 /widthlim w cellsz div cvi 1 sub def 275 /retstr widthlim 1 add string def 276 /i 0 def 277 278 ltx lty translate 279 w h true [1 0 0 1 0 0] {tgifpatproc} imagemask 280 ltx neg lty neg translate 281 end 282 } def 283 284/pat1 <ffffffffffffffff> def 285/pat2 <0000000000000000> def 286/pat3 <8000000008000000> def 287/pat4 <8800000022000000> def 288/pat5 <8800220088002200> def 289/pat6 <8822882288228822> def 290/pat7 <aa55aa55aa55aa55> def 291/pat8 <77dd77dd77dd77dd> def 292/pat9 <77ffddff77ffddff> def 293/pat10 <77ffffff77ffffff> def 294/pat11 <7fffffff7fffffff> def 295/pat12 <8040200002040800> def 296/pat13 <40a00000040a0000> def 297/pat14 <ff888888ff888888> def 298/pat15 <ff808080ff080808> def 299/pat16 <f87422478f172271> def 300/pat17 <038448300c020101> def 301/pat18 <081c22c180010204> def 302/pat19 <8080413e080814e3> def 303/pat20 <8040201008040201> def 304/pat21 <8844221188442211> def 305/pat22 <77bbddee77bbddee> def 306/pat23 <c1e070381c0e0783> def 307/pat24 <7fbfdfeff7fbfdfe> def 308/pat25 <3e1f8fc7e3f1f87c> def 309/pat26 <0102040810204080> def 310/pat27 <1122448811224488> def 311/pat28 <eeddbb77eeddbb77> def 312/pat29 <83070e1c3870e0c1> def 313/pat30 <fefdfbf7efdfbf7f> def 314/pat31 <7cf8f1e3c78f1f3e> def 315 316/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def 317 318/tgifrighttext { dup stringwidth pop neg 0 rmoveto } def 319 320/tgifreencsmalldict 12 dict def 321/tgifReEncodeSmall 322 { tgifreencsmalldict begin 323 /newcodesandnames exch def 324 /newfontname exch def 325 /basefontname exch def 326 327 /basefontdict basefontname findfont def 328 /newfont basefontdict maxlength dict def 329 330 basefontdict 331 { exch dup /FID ne 332 { dup /Encoding eq 333 { exch dup length array copy newfont 3 1 roll put } 334 { exch newfont 3 1 roll put } 335 ifelse 336 } 337 { pop pop } 338 ifelse 339 } 340 forall 341 342 newfont /FontName newfontname put 343 newcodesandnames aload pop 344 345 newcodesandnames length 2 idiv 346 { newfont /Encoding get 3 1 roll put} 347 repeat 348 349 newfontname newfont definefont pop 350 end 351 } def 352 353/tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def 354 355/tgifboxdict 6 dict def 356/tgifboxstroke 357 { tgifboxdict begin 358 /pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def 359 1.415 setmiterlimit 360 w 1 eq { w setlinewidth } if 361 pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if 362 newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath 363 pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse 364 pat pat1 ne pat pat2 ne and { grestore } if 365 w 1 eq { 1 setlinewidth } if 366 1 setmiterlimit 367 end 368 } def 369/tgifboxfill 370 { tgifboxdict begin 371 /pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def 372 pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if 373 newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath 374 pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse 375 pat pat1 ne pat pat2 ne and { grestore } if 376 end 377 } def 378 379end 380 381%%PageBoundingBox: 33 728 211 777 382tgifdict begin 383/tgifsavedpage save def 384 3851 setmiterlimit 3861 setlinewidth 387 3880 setgray 389 39072 0 mul 72 11.00 mul translate 39172 128 div 100 mul 100 div dup neg scale 392 393gsave 394 395% TEXT 3960 setgray 397/Courier findfont [17 0 0 -17 0 0] makefont setfont 398 gsave 399 63 43 moveto (\(\(lambda \(arg\) \(/ arg 50\)\) 100\)) show 400 grestore 401 402% POLY/OPEN-SPLINE 403gsave 404 newpath 405 80 48 moveto 406 96 64 lineto 407 284 64 lineto 408 299 48 lineto 409 stroke 410grestore 411 412% POLY/OPEN-SPLINE 413gsave 414 newpath 415 332 86 moveto 416 -25 0 atan dup cos 8 mul 332 exch sub 417 exch sin 8 mul 61 exch sub lineto 418 stroke 419grestore 420gsave 421 newpath 422 332 61 8 3 0 -25 tgifarrowtip 423 closepath fill 424grestore 425 426% POLY/OPEN-SPLINE 427gsave 428 newpath 429 199 70 moveto 430 199 86 lineto 431 stroke 432grestore 433 434% TEXT 4350 setgray 436/Courier findfont [17 0 0 -17 0 0] makefont setfont 437 gsave 438 101 106 moveto (anonymous function) show 439 grestore 440 441% TEXT 4420 setgray 443/Courier findfont [17 0 0 -17 0 0] makefont setfont 444 gsave 445 293 106 moveto (argument) show 446 grestore 447 448grestore 449tgifsavedpage restore 450end 451%MatchingCreationDate: Wed Mar 8 14:33:49 1995 452