]> AND Private Git Repository - book_gpu.git/blob - BookGPU/Chapters/chapter8/figures/johnson_with_lags.eps
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
ch19
[book_gpu.git] / BookGPU / Chapters / chapter8 / figures / johnson_with_lags.eps
1 %!PS-Adobe-2.0 EPSF-2.0
2 %%Title: F:\My_Work\Papers\GPU_11\figures\Johnson_With_Lags.fig
3 %%Creator: fig2dev.exe Version 3.2 Patchlevel 4
4 %%CreationDate: Wed Jun 22 13:05:57 2011
5 %%For: Bendjoudi@MOHANDOKACI (MOHANDOKACI)
6 %%BoundingBox: 0 0 549 243
7 %%Magnification: 1.0000
8 %%EndComments
9 /MyAppDict 100 dict dup begin def
10 /$F2psDict 200 dict def
11 $F2psDict begin
12 $F2psDict /mtrx matrix put
13 /col-1 {0 setgray} bind def
14 /col0 {0.000 0.000 0.000 srgb} bind def
15 /col1 {0.000 0.000 1.000 srgb} bind def
16 /col2 {0.000 1.000 0.000 srgb} bind def
17 /col3 {0.000 1.000 1.000 srgb} bind def
18 /col4 {1.000 0.000 0.000 srgb} bind def
19 /col5 {1.000 0.000 1.000 srgb} bind def
20 /col6 {1.000 1.000 0.000 srgb} bind def
21 /col7 {1.000 1.000 1.000 srgb} bind def
22 /col8 {0.000 0.000 0.560 srgb} bind def
23 /col9 {0.000 0.000 0.690 srgb} bind def
24 /col10 {0.000 0.000 0.820 srgb} bind def
25 /col11 {0.530 0.810 1.000 srgb} bind def
26 /col12 {0.000 0.560 0.000 srgb} bind def
27 /col13 {0.000 0.690 0.000 srgb} bind def
28 /col14 {0.000 0.820 0.000 srgb} bind def
29 /col15 {0.000 0.560 0.560 srgb} bind def
30 /col16 {0.000 0.690 0.690 srgb} bind def
31 /col17 {0.000 0.820 0.820 srgb} bind def
32 /col18 {0.560 0.000 0.000 srgb} bind def
33 /col19 {0.690 0.000 0.000 srgb} bind def
34 /col20 {0.820 0.000 0.000 srgb} bind def
35 /col21 {0.560 0.000 0.560 srgb} bind def
36 /col22 {0.690 0.000 0.690 srgb} bind def
37 /col23 {0.820 0.000 0.820 srgb} bind def
38 /col24 {0.500 0.190 0.000 srgb} bind def
39 /col25 {0.630 0.250 0.000 srgb} bind def
40 /col26 {0.750 0.380 0.000 srgb} bind def
41 /col27 {1.000 0.500 0.500 srgb} bind def
42 /col28 {1.000 0.630 0.630 srgb} bind def
43 /col29 {1.000 0.750 0.750 srgb} bind def
44 /col30 {1.000 0.880 0.880 srgb} bind def
45 /col31 {1.000 0.840 0.000 srgb} bind def
46
47 end
48 save
49 newpath 0 243 moveto 0 0 lineto 549 0 lineto 549 243 lineto closepath clip newpath
50 -4.8 368.9 translate
51 1 -1 scale
52
53 % This junk string is used by the show operators
54 /PATsstr 1 string def
55 /PATawidthshow {        % cx cy cchar rx ry string
56   % Loop over each character in the string
57   {  % cx cy cchar rx ry char
58     % Show the character
59     dup                         % cx cy cchar rx ry char char
60     PATsstr dup 0 4 -1 roll put % cx cy cchar rx ry char (char)
61     false charpath              % cx cy cchar rx ry char
62     /clip load PATdraw
63     % Move past the character (charpath modified the
64     % current point)
65     currentpoint                        % cx cy cchar rx ry char x y
66     newpath
67     moveto                      % cx cy cchar rx ry char
68     % Reposition by cx,cy if the character in the string is cchar
69     3 index eq {                        % cx cy cchar rx ry
70       4 index 4 index rmoveto
71     } if
72     % Reposition all characters by rx ry
73     2 copy rmoveto              % cx cy cchar rx ry
74   } forall
75   pop pop pop pop pop           % -
76   currentpoint
77   newpath
78   moveto
79 } bind def
80 /PATcg {
81   7 dict dup begin
82     /lw currentlinewidth def
83     /lc currentlinecap def
84     /lj currentlinejoin def
85     /ml currentmiterlimit def
86     /ds [ currentdash ] def
87     /cc [ currentrgbcolor ] def
88     /cm matrix currentmatrix def
89   end
90 } bind def
91 % PATdraw - calculates the boundaries of the object and
92 % fills it with the current pattern
93 /PATdraw {                      % proc
94   save exch
95     PATpcalc                    % proc nw nh px py
96     5 -1 roll exec              % nw nh px py
97     newpath
98     PATfill                     % -
99   restore
100 } bind def
101 % PATfill - performs the tiling for the shape
102 /PATfill { % nw nh px py PATfill -
103   PATDict /CurrentPattern get dup begin
104     setfont
105     % Set the coordinate system to Pattern Space
106     PatternGState PATsg
107     % Set the color for uncolored pattezns
108     PaintType 2 eq { PATDict /PColor get PATsc } if
109     % Create the string for showing
110     3 index string              % nw nh px py str
111     % Loop for each of the pattern sources
112     0 1 Multi 1 sub {           % nw nh px py str source
113         % Move to the starting location
114         3 index 3 index         % nw nh px py str source px py
115         moveto                  % nw nh px py str source
116         % For multiple sources, set the appropriate color
117         Multi 1 ne { dup PC exch get PATsc } if
118         % Set the appropriate string for the source
119         0 1 7 index 1 sub { 2 index exch 2 index put } for pop
120         % Loop over the number of vertical cells
121         3 index                 % nw nh px py str nh
122         {                       % nw nh px py str
123           currentpoint          % nw nh px py str cx cy
124           2 index oldshow       % nw nh px py str cx cy
125           YStep add moveto      % nw nh px py str
126         } repeat                % nw nh px py str
127     } for
128     5 { pop } repeat
129   end
130 } bind def
131
132 % PATkshow - kshow with the current pattezn
133 /PATkshow {                     % proc string
134   exch bind                     % string proc
135   1 index 0 get                 % string proc char
136   % Loop over all but the last character in the string
137   0 1 4 index length 2 sub {
138                                 % string proc char idx
139     % Find the n+1th character in the string
140     3 index exch 1 add get      % string proc char char+1
141     exch 2 copy                 % strinq proc char+1 char char+1 char
142     % Now show the nth character
143     PATsstr dup 0 4 -1 roll put % string proc chr+1 chr chr+1 (chr)
144     false charpath              % string proc char+1 char char+1
145     /clip load PATdraw
146     % Move past the character (charpath modified the current point)
147     currentpoint newpath moveto
148     % Execute the user proc (should consume char and char+1)
149     mark 3 1 roll               % string proc char+1 mark char char+1
150     4 index exec                % string proc char+1 mark...
151     cleartomark                 % string proc char+1
152   } for
153   % Now display the last character
154   PATsstr dup 0 4 -1 roll put   % string proc (char+1)
155   false charpath                % string proc
156   /clip load PATdraw
157   neewath
158   pop pop                       % -
159 } bind def
160 % PATmp - the makepattern equivalent
161 /PATmp {                        % patdict patmtx PATmp patinstance
162   exch dup length 7 add         % We will add 6 new entries plus 1 FID
163   dict copy                     % Create a new dictionary
164   begin
165     % Matrix to install when painting the pattern
166     TilingType PATtcalc
167     /PatternGState PATcg def
168     PatternGState /cm 3 -1 roll put
169     % Check for multi pattern sources (Level 1 fast color patterns)
170     currentdict /Multi known not { /Multi 1 def } if
171     % Font dictionary definitions
172     /FontType 3 def
173     % Create a dummy encoding vector
174     /Encoding 256 array def
175     3 string 0 1 255 {
176       Encoding exch dup 3 index cvs cvn put } for pop
177     /FontMatrix matrix def
178     /FontBBox BBox def
179     /BuildChar {
180         mark 3 1 roll           % mark dict char
181         exch begin
182         Multi 1 ne {PaintData exch get}{pop} ifelse  % mark [paintdata]
183           PaintType 2 eq Multi 1 ne or
184           { XStep 0 FontBBox aload pop setcachedevice }
185           { XStep 0 setcharwidth } ifelse
186           currentdict           % mark [paintdata] dict
187           /PaintProc load       % mark [paintdata] dict paintproc
188         end
189         gsave
190           false PATredef exec true PATredef
191         grestore
192         cleartomark             % -
193     } bind def
194     currentdict
195   end                           % newdict
196   /foo exch                     % /foo newlict
197   definefont                    % newfont
198 } bind def
199 % PATpcalc - calculates the starting point and width/height
200 % of the tile fill for the shape
201 /PATpcalc {     % - PATpcalc nw nh px py
202   PATDict /CurrentPattern get begin
203     gsave
204         % Set up the coordinate system to Pattern Space
205         % and lock down pattern
206         PatternGState /cm get setmatrix
207         BBox aload pop pop pop translate
208         % Determine the bounding box of the shape
209         pathbbox                        % llx lly urx ury
210     grestore
211     % Determine (nw, nh) the # of cells to paint width and height
212     PatHeight div ceiling               % llx lly urx qh
213     4 1 roll                            % qh llx lly urx
214     PatWidth div ceiling                % qh llx lly qw
215     4 1 roll                            % qw qh llx lly
216     PatHeight div floor                 % qw qh llx ph
217     4 1 roll                            % ph qw qh llx
218     PatWidth div floor                  % ph qw qh pw
219     4 1 roll                            % pw ph qw qh
220     2 index sub cvi abs                 % pw ph qs qh-ph
221     exch 3 index sub cvi abs exch       % pw ph nw=qw-pw nh=qh-ph
222     % Determine the starting point of the pattern fill
223     %(px, py)
224     4 2 roll                            % nw nh pw ph
225     PatHeight mul                       % nw nh pw py
226     exch                                % nw nh py pw
227     PatWidth mul exch                   % nw nh px py
228   end
229 } bind def
230
231 % Save the original routines so that we can use them later on
232 /oldfill        /fill load def
233 /oldeofill      /eofill load def
234 /oldstroke      /stroke load def
235 /oldshow        /show load def
236 /oldashow       /ashow load def
237 /oldwidthshow   /widthshow load def
238 /oldawidthshow  /awidthshow load def
239 /oldkshow       /kshow load def
240
241 % These defs are necessary so that subsequent procs don't bind in
242 % the originals
243 /fill      { oldfill } bind def
244 /eofill    { oldeofill } bind def
245 /stroke    { oldstroke } bind def
246 /show      { oldshow } bind def
247 /ashow     { oldashow } bind def
248 /widthshow { oldwidthshow } bind def
249 /awidthshow { oldawidthshow } bind def
250 /kshow     { oldkshow } bind def
251 /PATredef {
252   MyAppDict begin
253     {
254     /fill { /clip load PATdraw newpath } bind def
255     /eofill { /eoclip load PATdraw newpath } bind def
256     /stroke { PATstroke } bind def
257     /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def
258     /ashow { 0 0 null 6 3 roll PATawidthshow }
259     bind def
260     /widthshow { 0 0 3 -1 roll PATawidthshow }
261     bind def
262     /awidthshow { PATawidthshow } bind def
263     /kshow { PATkshow } bind def
264   } {
265     /fill   { oldfill } bind def
266     /eofill { oldeofill } bind def
267     /stroke { oldstroke } bind def
268     /show   { oldshow } bind def
269     /ashow  { oldashow } bind def
270     /widthshow { oldwidthshow } bind def
271     /awidthshow { oldawidthshow } bind def
272     /kshow  { oldkshow } bind def
273     } ifelse
274   end
275 } bind def
276 false PATredef
277 % Conditionally define setcmykcolor if not available
278 /setcmykcolor where { pop } {
279   /setcmykcolor {
280     1 sub 4 1 roll
281     3 {
282         3 index add neg dup 0 lt { pop 0 } if 3 1 roll
283     } repeat
284     setrgbcolor - pop
285   } bind def
286 } ifelse
287 /PATsc {                % colorarray
288   aload length          % c1 ... cn length
289     dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor
290   } ifelse } ifelse
291 } bind def
292 /PATsg {                % dict
293   begin
294     lw setlinewidth
295     lc setlinecap
296     lj setlinejoin
297     ml setmiterlimit
298     ds aload pop setdash
299     cc aload pop setrgbcolor
300     cm setmatrix
301   end
302 } bind def
303
304 /PATDict 3 dict def
305 /PATsp {
306   true PATredef
307   PATDict begin
308     /CurrentPattern exch def
309     % If it's an uncolored pattern, save the color
310     CurrentPattern /PaintType get 2 eq {
311       /PColor exch def
312     } if
313     /CColor [ currentrgbcolor ] def
314   end
315 } bind def
316 % PATstroke - stroke with the current pattern
317 /PATstroke {
318   countdictstack
319   save
320   mark
321   {
322     currentpoint strokepath moveto
323     PATpcalc                            % proc nw nh px py
324     clip newpath PATfill
325     } stopped {
326         (*** PATstroke Warning: Path is too complex, stroking
327           with gray) =
328     cleartomark
329     restore
330     countdictstack exch sub dup 0 gt
331         { { end } repeat } { pop } ifelse
332     gsave 0.5 setgray oldstroke grestore
333   } { pop restore pop } ifelse
334   newpath
335 } bind def
336 /PATtcalc {             % modmtx tilingtype PATtcalc tilematrix
337   % Note: tiling types 2 and 3 are not supported
338   gsave
339     exch concat                                 % tilingtype
340     matrix currentmatrix exch                   % cmtx tilingtype
341     % Tiling type 1 and 3: constant spacing
342     2 ne {
343         % Distort the pattern so that it occupies
344         % an integral number of device pixels
345         dup 4 get exch dup 5 get exch           % tx ty cmtx
346         XStep 0 dtransform
347         round exch round exch                   % tx ty cmtx dx.x dx.y
348         XStep div exch XStep div exch           % tx ty cmtx a b
349         0 YStep dtransform
350         round exch round exch                   % tx ty cmtx a b dy.x dy.y
351         YStep div exch YStep div exch           % tx ty cmtx a b c d
352         7 -3 roll astore                        % { a b c d tx ty }
353     } if
354   grestore
355 } bind def
356 /PATusp {
357   false PATredef
358   PATDict begin
359     CColor PATsc
360   end
361 } bind def
362
363 % right45
364 11 dict begin
365 /PaintType 1 def
366 /PatternType 1 def
367 /TilingType 1 def
368 /BBox [0 0 1 1] def
369 /XStep 1 def
370 /YStep 1 def
371 /PatWidth 1 def
372 /PatHeight 1 def
373 /Multi 2 def
374 /PaintData [
375   { clippath } bind
376   { 20 20 true [ 20 0 0 -20 0 20 ]
377         {<0040100080200100400200800401000802001004
378         0020080040100080200000401000802001004002
379         0080040100080200100400200800401000802000>}
380      imagemask } bind
381 ] def
382 /PaintProc {
383         pop
384         exec fill
385 } def
386 currentdict
387 end
388 /P5 exch def
389
390 /cp {closepath} bind def
391 /ef {eofill} bind def
392 /gr {grestore} bind def
393 /gs {gsave} bind def
394 /sa {save} bind def
395 /rs {restore} bind def
396 /l {lineto} bind def
397 /m {moveto} bind def
398 /rm {rmoveto} bind def
399 /n {newpath} bind def
400 /s {stroke} bind def
401 /sh {show} bind def
402 /slc {setlinecap} bind def
403 /slj {setlinejoin} bind def
404 /slw {setlinewidth} bind def
405 /srgb {setrgbcolor} bind def
406 /rot {rotate} bind def
407 /sc {scale} bind def
408 /sd {setdash} bind def
409 /ff {findfont} bind def
410 /sf {setfont} bind def
411 /scf {scalefont} bind def
412 /sw {stringwidth} bind def
413 /tr {translate} bind def
414 /tnt {dup dup currentrgbcolor
415   4 -2 roll dup 1 exch sub 3 -1 roll mul add
416   4 -2 roll dup 1 exch sub 3 -1 roll mul add
417   4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
418   bind def
419 /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
420   4 -2 roll mul srgb} bind def
421 /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
422 /$F2psEnd {$F2psEnteredState restore end} def
423
424 $F2psBegin
425 10 setmiterlimit
426 0 slj 0 slc
427  0.06000 0.06000 sc
428 %
429 % Fig objects follow
430 %
431
432 % here starts figure with depth 50
433 /Times-Italic ff 240.00 scf sf
434 4534 5502 m
435 gs 1 -1 sc (l   =          p) col0 sh gr
436 /Times-Italic ff 195.00 scf sf
437 4648 5559 m
438 gs 1 -1 sc (j) col0 sh gr
439 /Symbol ff 360.00 scf sf
440 5084 5532 m
441 gs 1 -1 sc (S) col0 sh gr
442 /Times-Italic ff 195.00 scf sf
443 4896 5720 m
444 gs 1 -1 sc (k <   < l) col0 sh gr
445 /Symbol ff 180.00 scf sf
446 5195 5685 m
447 gs 1 -1 sc (m) col0 sh gr
448 /Times-Italic ff 195.00 scf sf
449 5639 5592 m
450 gs 1 -1 sc (j,) col0 sh gr
451 /Symbol ff 180.00 scf sf
452 5750 5583 m
453 gs 1 -1 sc (m) col0 sh gr
454 % Polyline
455 7.500 slw
456 n 2127 4725 m 3077 4725 l 3077 5200 l 2127 5200 l
457  cp gs col0 s gr 
458 % Polyline
459  [15 60] 60 sd
460 n 3077 4250 m 4490 4250 l 4490 4725 l 3077 4725 l
461  cp gs col0 s gr  [] 0 sd
462 % Polyline
463  [15 60] 60 sd
464 n 4490 3775 m 4965 3775 l 4965 4250 l 4490 4250 l
465  cp gs col0 s gr  [] 0 sd
466 % Polyline
467  [15 60] 60 sd
468 n 4965 3313 m 5915 3313 l 5915 3775 l 4965 3775 l
469  cp gs col0 s gr  [] 0 sd
470 % Polyline
471 n 7563 2355 m 8975 2355 l 8975 2830 l 7563 2830 l
472  cp gs col0 s gr 
473 % Polyline
474  [15 60] 60 sd
475 n 5909 2830 m 7568 2830 l 7568 3307 l 5909 3307 l
476  cp gs col0 s gr  [] 0 sd
477 % Polyline
478 n 1420 2125 m 1420 6136 l
479  9216 6136 l gs col0 s gr 
480 % Polyline
481 n 1420 4966 m
482  1182 4966 l gs col0 s gr 
483 % Polyline
484 n 1408 2602 m
485  1170 2602 l gs col0 s gr 
486 % Polyline
487 n 1409 5909 m
488  1171 5909 l gs col0 s gr 
489 % Polyline
490 45.000 slw
491  [15 150] 150 sd
492 n 818 2909 m
493  818 4545 l gs col0 s gr  [] 0 sd
494 % Polyline
495  [15 150] 150 sd
496 n 830 5193 m
497  830 5670 l gs col0 s gr  [] 0 sd
498 % Polyline
499 7.500 slw
500  [60] 0 sd
501 n 3077 4727 m 7568 4727 l 7568 5200 l 3077 5200 l
502  cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def
503 15.00 15.00 sc P5 [16 0 0 -16 205.13 315.13] PATmp PATsp ef gr PATusp gs col0 s gr  [] 0 sd
504 /Times-Italic ff 240.00 scf sf
505 80 2614 m
506 gs 1 -1 sc (M   =   M) col0 sh gr
507 /Times-Italic ff 240.00 scf sf
508 91 4966 m
509 gs 1 -1 sc (M   =   M) col0 sh gr
510 /Times-Italic ff 240.00 scf sf
511 739 5943 m
512 gs 1 -1 sc (M) col0 sh gr
513 /Times-Italic ff 240.00 scf sf
514 2125 5432 m
515 gs 1 -1 sc (p    =    p) col0 sh gr
516 /Times-Italic ff 240.00 scf sf
517 7784 3068 m
518 gs 1 -1 sc (p    =    p) col0 sh gr
519 /Times-Italic ff 195.00 scf sf
520 261 2773 m
521 gs 1 -1 sc (2) col0 sh gr
522 /Times-Italic ff 195.00 scf sf
523 284 5068 m
524 gs 1 -1 sc (1) col0 sh gr
525 /Times-Italic ff 195.00 scf sf
526 920 6091 m
527 gs 1 -1 sc (0) col0 sh gr
528 /Times-Italic ff 195.00 scf sf
529 2170 5557 m
530 gs 1 -1 sc (j,1) col0 sh gr
531 /Times-Italic ff 195.00 scf sf
532 7841 3182 m
533 gs 1 -1 sc (j,2) col0 sh gr
534 /Times-Italic ff 195.00 scf sf
535 1000 2773 m
536 gs 1 -1 sc (l) col0 sh gr
537 /Times-Italic ff 195.00 scf sf
538 977 5102 m
539 gs 1 -1 sc (k) col0 sh gr
540 /Times-Italic ff 195.00 scf sf
541 2920 5534 m
542 gs 1 -1 sc (j,k) col0 sh gr
543 /Times-Italic ff 195.00 scf sf
544 8614 3205 m
545 gs 1 -1 sc (j,l) col0 sh gr
546 % here ends figure;
547 $F2psEnd
548 rs
549 end
550 showpage