viiite 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. data/CHANGELOG.md +70 -0
  2. data/Gemfile +2 -9
  3. data/Gemfile.lock +11 -32
  4. data/README.md +42 -123
  5. data/examples/bench_attr_vs_method-1.8.7.jpeg +0 -0
  6. data/examples/bench_attr_vs_method-1.9.3.jpeg +0 -0
  7. data/examples/bench_attr_vs_method.rb +18 -0
  8. data/examples/bench_iteration.rb +2 -4
  9. data/examples/bench_sort.rb +2 -7
  10. data/lib/viiite.rb +40 -18
  11. data/lib/viiite/bdb.rb +28 -0
  12. data/lib/viiite/bdb/cached.rb +63 -0
  13. data/lib/viiite/bdb/immediate.rb +46 -0
  14. data/lib/viiite/bdb/utils.rb +16 -0
  15. data/lib/viiite/benchmark.rb +35 -0
  16. data/lib/viiite/benchmark/runner.rb +50 -0
  17. data/lib/viiite/command.rb +33 -2
  18. data/lib/viiite/command/commons.rb +22 -0
  19. data/lib/viiite/command/help.rb +4 -5
  20. data/lib/viiite/command/plot.rb +44 -44
  21. data/lib/viiite/command/plot/to_gnuplot.rb +65 -0
  22. data/lib/viiite/command/{graph_style.rash → plot/to_gnuplot_graph.rash} +0 -0
  23. data/lib/viiite/command/{serie_style.rash → plot/to_gnuplot_serie.rash} +0 -0
  24. data/lib/viiite/command/plot/to_highcharts.rb +38 -0
  25. data/lib/viiite/command/plot/to_highcharts_graph.rb +29 -0
  26. data/lib/viiite/command/plot/to_text.rb +30 -0
  27. data/lib/viiite/command/report.rb +32 -10
  28. data/lib/viiite/command/run.rb +30 -7
  29. data/lib/viiite/errors.rb +5 -0
  30. data/lib/viiite/loader.rb +2 -2
  31. data/lib/viiite/tms.rb +21 -31
  32. data/lib/viiite/version.rb +5 -5
  33. data/spec/fixtures/bdb/Array/bench_sort.rb +7 -0
  34. data/spec/fixtures/{bench_iteration.rb → bdb/bench_iteration.rb} +2 -4
  35. data/spec/fixtures/command/bench_iteration.rb +3 -0
  36. data/spec/fixtures/saved/Array/bench_sort.rash +12 -0
  37. data/spec/fixtures/saved/bench_iteration.rash +18 -0
  38. data/spec/integration/plot/plot_1.cmd +1 -0
  39. data/spec/integration/plot/plot_1.stdout +64 -0
  40. data/spec/integration/plot/plot_2.cmd +1 -0
  41. data/spec/integration/plot/plot_2.stdout +37 -0
  42. data/spec/integration/plot/plot_3.cmd +1 -0
  43. data/spec/integration/plot/plot_3.stdout +64 -0
  44. data/spec/integration/plot/plot_4.cmd +1 -0
  45. data/spec/integration/plot/plot_4.stdout +1 -0
  46. data/spec/integration/report/viiite_report_1.cmd +1 -1
  47. data/spec/integration/report/viiite_report_1.stdout +7 -7
  48. data/spec/integration/report/viiite_report_2.cmd +1 -1
  49. data/spec/integration/report/viiite_report_2.stdout +22 -10
  50. data/spec/integration/report/viiite_report_3.cmd +1 -1
  51. data/spec/integration/report/viiite_report_3.stdout +46 -18
  52. data/spec/integration/report/viiite_report_4.cmd +1 -1
  53. data/spec/integration/report/viiite_report_4.stdout +34 -22
  54. data/spec/integration/report/viiite_report_5.cmd +1 -0
  55. data/spec/integration/report/viiite_report_5.stdout +7 -0
  56. data/spec/integration/report/viiite_report_6.cmd +1 -0
  57. data/spec/integration/report/viiite_report_6.stdout +7 -0
  58. data/spec/integration/report/viiite_report_7.cmd +1 -0
  59. data/spec/integration/report/viiite_report_7.stdout +7 -0
  60. data/spec/integration/report/viiite_report_8.cmd +1 -0
  61. data/spec/integration/report/viiite_report_8.stdout +16 -0
  62. data/spec/integration/report/viiite_report_9.cmd +1 -0
  63. data/spec/integration/report/viiite_report_9.stdout +88 -0
  64. data/spec/integration/test_command.rb +19 -23
  65. data/spec/integration/viiite/viiite_help.stdout +6 -0
  66. data/spec/spec_helper.rb +11 -17
  67. data/spec/unit/bdb/cached/test_dataset.rb +68 -0
  68. data/spec/unit/bdb/immediate/test_benchmark.rb +31 -0
  69. data/spec/unit/bdb/immediate/test_dataset.rb +31 -0
  70. data/spec/unit/bdb/immediate/test_enumerable.rb +20 -0
  71. data/spec/unit/bdb/immediate/test_pattern.rb +25 -0
  72. data/spec/unit/bdb/test_new.rb +44 -0
  73. data/spec/unit/bdb/utils/test_bench_file.rb +24 -0
  74. data/spec/unit/bdb/utils/test_replace_extension.rb +21 -0
  75. data/spec/unit/benchmark/bench_add.rb +3 -0
  76. data/spec/unit/benchmark/test_new.rb +28 -0
  77. data/spec/unit/command/commons/existing.rash +1 -0
  78. data/spec/unit/command/commons/test_single_source.rb +64 -0
  79. data/spec/unit/{formatter/plot → command/plot/gnuplot_utils}/test_to_data.rb +4 -4
  80. data/spec/unit/{formatter/plot → command/plot/gnuplot_utils}/test_to_dataset.rb +5 -5
  81. data/spec/unit/{formatter/plot → command/plot/gnuplot_utils}/test_to_plot.rb +4 -4
  82. data/spec/unit/command/test_run.rb +25 -12
  83. data/spec/unit/{test_runner.rb → test_benchmark.rb} +30 -11
  84. data/spec/unit/test_viiite.rb +17 -4
  85. data/spec/unit/tms/test_attributes.rb +11 -0
  86. data/spec/unit/tms/test_coerce.rb +11 -23
  87. data/spec/unit/tms/test_conversions.rb +23 -0
  88. data/spec/unit/tms/test_operations.rb +22 -0
  89. data/tasks/clean.rake +1 -1
  90. data/tasks/debug_mail.rake +13 -13
  91. data/tasks/gem.rake +13 -13
  92. data/tasks/integration_test.rake +3 -3
  93. data/tasks/spec_test.rake +9 -9
  94. data/tasks/unit_test.rake +9 -10
  95. data/tasks/yard.rake +13 -13
  96. data/viiite.gemspec +26 -29
  97. data/viiite.noespec +4 -7
  98. metadata +335 -235
  99. data/examples/bench_sort.eps +0 -816
  100. data/examples/bench_sort.rash +0 -100
  101. data/examples/raw.rash +0 -6
  102. data/lib/viiite/formatter.rb +0 -5
  103. data/lib/viiite/formatter/plot.rb +0 -38
  104. data/lib/viiite/runner.rb +0 -59
  105. data/lib/viiite/viiite_file.rb +0 -20
  106. data/spec/integration/raw_data.rash +0 -6
  107. data/spec/unit/tms/test_divide.rb +0 -26
  108. data/spec/unit/tms/test_minus.rb +0 -26
  109. data/spec/unit/tms/test_plus.rb +0 -34
  110. data/spec/unit/tms/test_times.rb +0 -26
  111. data/spec/unit/tms/test_to_a.rb +0 -11
  112. data/spec/unit/tms/test_to_ruby_literal.rb +0 -11
  113. data/spec/unit/tms/test_to_s.rb +0 -11
@@ -1,816 +0,0 @@
1
- %!PS-Adobe-2.0
2
- %%Creator: gnuplot 4.2 patchlevel 3
3
- %%CreationDate: Sat Aug 20 14:30:19 2011
4
- %%DocumentFonts: (atend)
5
- %%BoundingBox: 50 50 554 770
6
- %%Orientation: Landscape
7
- %%Pages: (atend)
8
- %%EndComments
9
- %%BeginProlog
10
- /gnudict 256 dict def
11
- gnudict begin
12
- %
13
- % The following 6 true/false flags may be edited by hand if required
14
- % The unit line width may also be changed
15
- %
16
- /Color false def
17
- /Blacktext false def
18
- /Solid false def
19
- /Dashlength 1 def
20
- /Landscape true def
21
- /Level1 false def
22
- /Rounded false def
23
- /TransparentPatterns false def
24
- /gnulinewidth 5.000 def
25
- /userlinewidth gnulinewidth def
26
- %
27
- /vshift -46 def
28
- /dl1 {
29
- 10.0 Dashlength mul mul
30
- Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if
31
- } def
32
- /dl2 {
33
- 10.0 Dashlength mul mul
34
- Rounded { currentlinewidth 0.75 mul add } if
35
- } def
36
- /hpt_ 31.5 def
37
- /vpt_ 31.5 def
38
- /hpt hpt_ def
39
- /vpt vpt_ def
40
- Level1 {} {
41
- /SDict 10 dict def
42
- systemdict /pdfmark known not {
43
- userdict /pdfmark systemdict /cleartomark get put
44
- } if
45
- SDict begin [
46
- /Title ()
47
- /Subject (gnuplot plot)
48
- /Creator (gnuplot 4.2 patchlevel 3 )
49
- /Author (LAMBEAU Bernard,,,)
50
- % /Producer (gnuplot)
51
- % /Keywords ()
52
- /CreationDate (Sat Aug 20 14:30:19 2011)
53
- /DOCINFO pdfmark
54
- end
55
- } ifelse
56
- %
57
- % Gnuplot Prolog Version 4.2 (August 2006)
58
- %
59
- /M {moveto} bind def
60
- /L {lineto} bind def
61
- /R {rmoveto} bind def
62
- /V {rlineto} bind def
63
- /N {newpath moveto} bind def
64
- /Z {closepath} bind def
65
- /C {setrgbcolor} bind def
66
- /f {rlineto fill} bind def
67
- /vpt2 vpt 2 mul def
68
- /hpt2 hpt 2 mul def
69
- /Lshow {currentpoint stroke M 0 vshift R
70
- Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
71
- /Rshow {currentpoint stroke M dup stringwidth pop neg vshift R
72
- Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
73
- /Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R
74
- Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
75
- /UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
76
- /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def
77
- /DL {Color {setrgbcolor Solid {pop []} if 0 setdash}
78
- {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def
79
- /BL {stroke userlinewidth 2 mul setlinewidth
80
- Rounded {1 setlinejoin 1 setlinecap} if} def
81
- /AL {stroke userlinewidth 2 div setlinewidth
82
- Rounded {1 setlinejoin 1 setlinecap} if} def
83
- /UL {dup gnulinewidth mul /userlinewidth exch def
84
- dup 1 lt {pop 1} if 10 mul /udl exch def} def
85
- /PL {stroke userlinewidth setlinewidth
86
- Rounded {1 setlinejoin 1 setlinecap} if} def
87
- % Default Line colors
88
- /LCw {1 1 1} def
89
- /LCb {0 0 0} def
90
- /LCa {0 0 0} def
91
- /LC0 {1 0 0} def
92
- /LC1 {0 1 0} def
93
- /LC2 {0 0 1} def
94
- /LC3 {1 0 1} def
95
- /LC4 {0 1 1} def
96
- /LC5 {1 1 0} def
97
- /LC6 {0 0 0} def
98
- /LC7 {1 0.3 0} def
99
- /LC8 {0.5 0.5 0.5} def
100
- % Default Line Types
101
- /LTw {PL [] 1 setgray} def
102
- /LTb {BL [] LCb DL} def
103
- /LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def
104
- /LT0 {PL [] LC0 DL} def
105
- /LT1 {PL [4 dl1 2 dl2] LC1 DL} def
106
- /LT2 {PL [2 dl1 3 dl2] LC2 DL} def
107
- /LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def
108
- /LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def
109
- /LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def
110
- /LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def
111
- /LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def
112
- /LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def
113
- /Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def
114
- /Dia {stroke [] 0 setdash 2 copy vpt add M
115
- hpt neg vpt neg V hpt vpt neg V
116
- hpt vpt V hpt neg vpt V closepath stroke
117
- Pnt} def
118
- /Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V
119
- currentpoint stroke M
120
- hpt neg vpt neg R hpt2 0 V stroke
121
- } def
122
- /Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
123
- 0 vpt2 neg V hpt2 0 V 0 vpt2 V
124
- hpt2 neg 0 V closepath stroke
125
- Pnt} def
126
- /Crs {stroke [] 0 setdash exch hpt sub exch vpt add M
127
- hpt2 vpt2 neg V currentpoint stroke M
128
- hpt2 neg 0 R hpt2 vpt2 V stroke} def
129
- /TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M
130
- hpt neg vpt -1.62 mul V
131
- hpt 2 mul 0 V
132
- hpt neg vpt 1.62 mul V closepath stroke
133
- Pnt} def
134
- /Star {2 copy Pls Crs} def
135
- /BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M
136
- 0 vpt2 neg V hpt2 0 V 0 vpt2 V
137
- hpt2 neg 0 V closepath fill} def
138
- /TriUF {stroke [] 0 setdash vpt 1.12 mul add M
139
- hpt neg vpt -1.62 mul V
140
- hpt 2 mul 0 V
141
- hpt neg vpt 1.62 mul V closepath fill} def
142
- /TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
143
- hpt neg vpt 1.62 mul V
144
- hpt 2 mul 0 V
145
- hpt neg vpt -1.62 mul V closepath stroke
146
- Pnt} def
147
- /TriDF {stroke [] 0 setdash vpt 1.12 mul sub M
148
- hpt neg vpt 1.62 mul V
149
- hpt 2 mul 0 V
150
- hpt neg vpt -1.62 mul V closepath fill} def
151
- /DiaF {stroke [] 0 setdash vpt add M
152
- hpt neg vpt neg V hpt vpt neg V
153
- hpt vpt V hpt neg vpt V closepath fill} def
154
- /Pent {stroke [] 0 setdash 2 copy gsave
155
- translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
156
- closepath stroke grestore Pnt} def
157
- /PentF {stroke [] 0 setdash gsave
158
- translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
159
- closepath fill grestore} def
160
- /Circle {stroke [] 0 setdash 2 copy
161
- hpt 0 360 arc stroke Pnt} def
162
- /CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def
163
- /C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def
164
- /C1 {BL [] 0 setdash 2 copy moveto
165
- 2 copy vpt 0 90 arc closepath fill
166
- vpt 0 360 arc closepath} bind def
167
- /C2 {BL [] 0 setdash 2 copy moveto
168
- 2 copy vpt 90 180 arc closepath fill
169
- vpt 0 360 arc closepath} bind def
170
- /C3 {BL [] 0 setdash 2 copy moveto
171
- 2 copy vpt 0 180 arc closepath fill
172
- vpt 0 360 arc closepath} bind def
173
- /C4 {BL [] 0 setdash 2 copy moveto
174
- 2 copy vpt 180 270 arc closepath fill
175
- vpt 0 360 arc closepath} bind def
176
- /C5 {BL [] 0 setdash 2 copy moveto
177
- 2 copy vpt 0 90 arc
178
- 2 copy moveto
179
- 2 copy vpt 180 270 arc closepath fill
180
- vpt 0 360 arc} bind def
181
- /C6 {BL [] 0 setdash 2 copy moveto
182
- 2 copy vpt 90 270 arc closepath fill
183
- vpt 0 360 arc closepath} bind def
184
- /C7 {BL [] 0 setdash 2 copy moveto
185
- 2 copy vpt 0 270 arc closepath fill
186
- vpt 0 360 arc closepath} bind def
187
- /C8 {BL [] 0 setdash 2 copy moveto
188
- 2 copy vpt 270 360 arc closepath fill
189
- vpt 0 360 arc closepath} bind def
190
- /C9 {BL [] 0 setdash 2 copy moveto
191
- 2 copy vpt 270 450 arc closepath fill
192
- vpt 0 360 arc closepath} bind def
193
- /C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
194
- 2 copy moveto
195
- 2 copy vpt 90 180 arc closepath fill
196
- vpt 0 360 arc closepath} bind def
197
- /C11 {BL [] 0 setdash 2 copy moveto
198
- 2 copy vpt 0 180 arc closepath fill
199
- 2 copy moveto
200
- 2 copy vpt 270 360 arc closepath fill
201
- vpt 0 360 arc closepath} bind def
202
- /C12 {BL [] 0 setdash 2 copy moveto
203
- 2 copy vpt 180 360 arc closepath fill
204
- vpt 0 360 arc closepath} bind def
205
- /C13 {BL [] 0 setdash 2 copy moveto
206
- 2 copy vpt 0 90 arc closepath fill
207
- 2 copy moveto
208
- 2 copy vpt 180 360 arc closepath fill
209
- vpt 0 360 arc closepath} bind def
210
- /C14 {BL [] 0 setdash 2 copy moveto
211
- 2 copy vpt 90 360 arc closepath fill
212
- vpt 0 360 arc} bind def
213
- /C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
214
- vpt 0 360 arc closepath} bind def
215
- /Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
216
- neg 0 rlineto closepath} bind def
217
- /Square {dup Rec} bind def
218
- /Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def
219
- /S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def
220
- /S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def
221
- /S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
222
- /S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def
223
- /S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
224
- /S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill
225
- exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
226
- /S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def
227
- /S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
228
- 2 copy vpt Square fill Bsquare} bind def
229
- /S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def
230
- /S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def
231
- /S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
232
- Bsquare} bind def
233
- /S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
234
- Bsquare} bind def
235
- /S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def
236
- /S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
237
- 2 copy vpt Square fill Bsquare} bind def
238
- /S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
239
- 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
240
- /S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def
241
- /D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def
242
- /D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def
243
- /D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def
244
- /D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def
245
- /D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def
246
- /D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def
247
- /D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def
248
- /D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def
249
- /D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def
250
- /D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def
251
- /D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def
252
- /D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def
253
- /D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def
254
- /D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def
255
- /D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def
256
- /D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def
257
- /DiaE {stroke [] 0 setdash vpt add M
258
- hpt neg vpt neg V hpt vpt neg V
259
- hpt vpt V hpt neg vpt V closepath stroke} def
260
- /BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M
261
- 0 vpt2 neg V hpt2 0 V 0 vpt2 V
262
- hpt2 neg 0 V closepath stroke} def
263
- /TriUE {stroke [] 0 setdash vpt 1.12 mul add M
264
- hpt neg vpt -1.62 mul V
265
- hpt 2 mul 0 V
266
- hpt neg vpt 1.62 mul V closepath stroke} def
267
- /TriDE {stroke [] 0 setdash vpt 1.12 mul sub M
268
- hpt neg vpt 1.62 mul V
269
- hpt 2 mul 0 V
270
- hpt neg vpt -1.62 mul V closepath stroke} def
271
- /PentE {stroke [] 0 setdash gsave
272
- translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
273
- closepath stroke grestore} def
274
- /CircE {stroke [] 0 setdash
275
- hpt 0 360 arc stroke} def
276
- /Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def
277
- /DiaW {stroke [] 0 setdash vpt add M
278
- hpt neg vpt neg V hpt vpt neg V
279
- hpt vpt V hpt neg vpt V Opaque stroke} def
280
- /BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M
281
- 0 vpt2 neg V hpt2 0 V 0 vpt2 V
282
- hpt2 neg 0 V Opaque stroke} def
283
- /TriUW {stroke [] 0 setdash vpt 1.12 mul add M
284
- hpt neg vpt -1.62 mul V
285
- hpt 2 mul 0 V
286
- hpt neg vpt 1.62 mul V Opaque stroke} def
287
- /TriDW {stroke [] 0 setdash vpt 1.12 mul sub M
288
- hpt neg vpt 1.62 mul V
289
- hpt 2 mul 0 V
290
- hpt neg vpt -1.62 mul V Opaque stroke} def
291
- /PentW {stroke [] 0 setdash gsave
292
- translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
293
- Opaque stroke grestore} def
294
- /CircW {stroke [] 0 setdash
295
- hpt 0 360 arc Opaque stroke} def
296
- /BoxFill {gsave Rec 1 setgray fill grestore} def
297
- /Density {
298
- /Fillden exch def
299
- currentrgbcolor
300
- /ColB exch def /ColG exch def /ColR exch def
301
- /ColR ColR Fillden mul Fillden sub 1 add def
302
- /ColG ColG Fillden mul Fillden sub 1 add def
303
- /ColB ColB Fillden mul Fillden sub 1 add def
304
- ColR ColG ColB setrgbcolor} def
305
- /BoxColFill {gsave Rec PolyFill} def
306
- /PolyFill {gsave Density fill grestore grestore} def
307
- /h {rlineto rlineto rlineto gsave closepath fill grestore} bind def
308
- %
309
- % PostScript Level 1 Pattern Fill routine for rectangles
310
- % Usage: x y w h s a XX PatternFill
311
- % x,y = lower left corner of box to be filled
312
- % w,h = width and height of box
313
- % a = angle in degrees between lines and x-axis
314
- % XX = 0/1 for no/yes cross-hatch
315
- %
316
- /PatternFill {gsave /PFa [ 9 2 roll ] def
317
- PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
318
- PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
319
- gsave 1 setgray fill grestore clip
320
- currentlinewidth 0.5 mul setlinewidth
321
- /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
322
- 0 0 M PFa 5 get rotate PFs -2 div dup translate
323
- 0 1 PFs PFa 4 get div 1 add floor cvi
324
- {PFa 4 get mul 0 M 0 PFs V} for
325
- 0 PFa 6 get ne {
326
- 0 1 PFs PFa 4 get div 1 add floor cvi
327
- {PFa 4 get mul 0 2 1 roll M PFs 0 V} for
328
- } if
329
- stroke grestore} def
330
- %
331
- /languagelevel where
332
- {pop languagelevel} {1} ifelse
333
- 2 lt
334
- {/InterpretLevel1 true def}
335
- {/InterpretLevel1 Level1 def}
336
- ifelse
337
- %
338
- % PostScript level 2 pattern fill definitions
339
- %
340
- /Level2PatternFill {
341
- /Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8}
342
- bind def
343
- /KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def
344
- << Tile8x8
345
- /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke}
346
- >> matrix makepattern
347
- /Pat1 exch def
348
- << Tile8x8
349
- /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke
350
- 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke}
351
- >> matrix makepattern
352
- /Pat2 exch def
353
- << Tile8x8
354
- /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L
355
- 8 8 L 8 0 L 0 0 L fill}
356
- >> matrix makepattern
357
- /Pat3 exch def
358
- << Tile8x8
359
- /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L
360
- 0 12 M 12 0 L stroke}
361
- >> matrix makepattern
362
- /Pat4 exch def
363
- << Tile8x8
364
- /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L
365
- 0 -4 M 12 8 L stroke}
366
- >> matrix makepattern
367
- /Pat5 exch def
368
- << Tile8x8
369
- /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L
370
- 0 12 M 8 -4 L 4 12 M 10 0 L stroke}
371
- >> matrix makepattern
372
- /Pat6 exch def
373
- << Tile8x8
374
- /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L
375
- 0 -4 M 8 12 L 4 -4 M 10 8 L stroke}
376
- >> matrix makepattern
377
- /Pat7 exch def
378
- << Tile8x8
379
- /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L
380
- 12 0 M -4 8 L 12 4 M 0 10 L stroke}
381
- >> matrix makepattern
382
- /Pat8 exch def
383
- << Tile8x8
384
- /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L
385
- -4 0 M 12 8 L -4 4 M 8 10 L stroke}
386
- >> matrix makepattern
387
- /Pat9 exch def
388
- /Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def
389
- /Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def
390
- /Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def
391
- /Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def
392
- /Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def
393
- /Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def
394
- /Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def
395
- } def
396
- %
397
- %
398
- %End of PostScript Level 2 code
399
- %
400
- /PatternBgnd {
401
- TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
402
- } def
403
- %
404
- % Substitute for Level 2 pattern fill codes with
405
- % grayscale if Level 2 support is not selected.
406
- %
407
- /Level1PatternFill {
408
- /Pattern1 {0.250 Density} bind def
409
- /Pattern2 {0.500 Density} bind def
410
- /Pattern3 {0.750 Density} bind def
411
- /Pattern4 {0.125 Density} bind def
412
- /Pattern5 {0.375 Density} bind def
413
- /Pattern6 {0.625 Density} bind def
414
- /Pattern7 {0.875 Density} bind def
415
- } def
416
- %
417
- % Now test for support of Level 2 code
418
- %
419
- Level1 {Level1PatternFill} {Level2PatternFill} ifelse
420
- %
421
- /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
422
- dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
423
- currentdict end definefont pop
424
- end
425
- %%EndProlog
426
- %%Page: 1 1
427
- gnudict begin
428
- gsave
429
- 50 50 translate
430
- 0.100 0.100 scale
431
- 90 rotate
432
- 0 -5040 translate
433
- 0 setgray
434
- newpath
435
- (Helvetica) findfont 140 scalefont setfont
436
- 1.000 UL
437
- LTb
438
- 658 280 M
439
- 63 0 V
440
- 6241 0 R
441
- -63 0 V
442
- 574 280 M
443
- ( 0) Rshow
444
- 1.000 UL
445
- LTb
446
- 658 900 M
447
- 63 0 V
448
- 6241 0 R
449
- -63 0 V
450
- 574 900 M
451
- ( 0.05) Rshow
452
- 1.000 UL
453
- LTb
454
- 658 1520 M
455
- 63 0 V
456
- 6241 0 R
457
- -63 0 V
458
- -6325 0 R
459
- ( 0.1) Rshow
460
- 1.000 UL
461
- LTb
462
- 658 2140 M
463
- 63 0 V
464
- 6241 0 R
465
- -63 0 V
466
- -6325 0 R
467
- ( 0.15) Rshow
468
- 1.000 UL
469
- LTb
470
- 658 2760 M
471
- 63 0 V
472
- 6241 0 R
473
- -63 0 V
474
- -6325 0 R
475
- ( 0.2) Rshow
476
- 1.000 UL
477
- LTb
478
- 658 3380 M
479
- 63 0 V
480
- 6241 0 R
481
- -63 0 V
482
- -6325 0 R
483
- ( 0.25) Rshow
484
- 1.000 UL
485
- LTb
486
- 658 4000 M
487
- 63 0 V
488
- 6241 0 R
489
- -63 0 V
490
- -6325 0 R
491
- ( 0.3) Rshow
492
- 1.000 UL
493
- LTb
494
- 658 4620 M
495
- 63 0 V
496
- 6241 0 R
497
- -63 0 V
498
- -6325 0 R
499
- ( 0.35) Rshow
500
- 1.000 UL
501
- LTb
502
- 658 280 M
503
- 0 63 V
504
- 0 4277 R
505
- 0 -63 V
506
- 658 140 M
507
- ( 100) Cshow
508
- 1.000 UL
509
- LTb
510
- 1446 280 M
511
- 0 63 V
512
- 0 4277 R
513
- 0 -63 V
514
- 0 -4417 R
515
- ( 150) Cshow
516
- 1.000 UL
517
- LTb
518
- 2234 280 M
519
- 0 63 V
520
- 0 4277 R
521
- 0 -63 V
522
- 0 -4417 R
523
- ( 200) Cshow
524
- 1.000 UL
525
- LTb
526
- 3022 280 M
527
- 0 63 V
528
- 0 4277 R
529
- 0 -63 V
530
- 0 -4417 R
531
- ( 250) Cshow
532
- 1.000 UL
533
- LTb
534
- 3810 280 M
535
- 0 63 V
536
- 0 4277 R
537
- 0 -63 V
538
- 0 -4417 R
539
- ( 300) Cshow
540
- 1.000 UL
541
- LTb
542
- 4598 280 M
543
- 0 63 V
544
- 0 4277 R
545
- 0 -63 V
546
- 0 -4417 R
547
- ( 350) Cshow
548
- 1.000 UL
549
- LTb
550
- 5386 280 M
551
- 0 63 V
552
- 0 4277 R
553
- 0 -63 V
554
- 0 -4417 R
555
- ( 400) Cshow
556
- 1.000 UL
557
- LTb
558
- 6174 280 M
559
- 0 63 V
560
- 0 4277 R
561
- 0 -63 V
562
- 0 -4417 R
563
- ( 450) Cshow
564
- 1.000 UL
565
- LTb
566
- 6962 280 M
567
- 0 63 V
568
- 0 4277 R
569
- 0 -63 V
570
- 0 -4417 R
571
- ( 500) Cshow
572
- 1.000 UL
573
- LTb
574
- 1.000 UL
575
- LTb
576
- 658 4620 N
577
- 658 280 L
578
- 6304 0 V
579
- 0 4340 V
580
- -6304 0 V
581
- Z stroke
582
- 3810 4830 M
583
- (ruby 1.8.7) Cshow
584
- 1.000 UP
585
- 1.000 UL
586
- LTb
587
- 1.000 UP
588
- 1.000 UL
589
- LT0
590
- LTb
591
- 6311 4487 M
592
- (bubblesort) Rshow
593
- LT0
594
- 658 454 Pls
595
- 2234 974 Pls
596
- 3810 1743 Pls
597
- 5386 2785 Pls
598
- 6962 4174 Pls
599
- 6594 4487 Pls
600
- 1.000 UP
601
- 1.000 UL
602
- LT1
603
- LTb
604
- 6311 4347 M
605
- (quicksort) Rshow
606
- LT1
607
- 658 280 Crs
608
- 2234 280 Crs
609
- 3810 305 Crs
610
- 5386 379 Crs
611
- 6962 404 Crs
612
- 6594 4347 Crs
613
- 1.000 UL
614
- LTb
615
- 658 4620 N
616
- 658 280 L
617
- 6304 0 V
618
- 0 4340 V
619
- -6304 0 V
620
- Z stroke
621
- 1.000 UP
622
- 1.000 UL
623
- LTb
624
- stroke
625
- grestore
626
- end
627
- showpage
628
- %%Page: 2 2
629
- gnudict begin
630
- gsave
631
- 50 50 translate
632
- 0.100 0.100 scale
633
- 90 rotate
634
- 0 -5040 translate
635
- 0 setgray
636
- newpath
637
- (Helvetica) findfont 140 scalefont setfont
638
- 1.000 UL
639
- LTb
640
- 658 280 M
641
- 63 0 V
642
- 6241 0 R
643
- -63 0 V
644
- 574 280 M
645
- ( 0) Rshow
646
- 1.000 UL
647
- LTb
648
- 658 1148 M
649
- 63 0 V
650
- 6241 0 R
651
- -63 0 V
652
- -6325 0 R
653
- ( 0.02) Rshow
654
- 1.000 UL
655
- LTb
656
- 658 2016 M
657
- 63 0 V
658
- 6241 0 R
659
- -63 0 V
660
- -6325 0 R
661
- ( 0.04) Rshow
662
- 1.000 UL
663
- LTb
664
- 658 2884 M
665
- 63 0 V
666
- 6241 0 R
667
- -63 0 V
668
- -6325 0 R
669
- ( 0.06) Rshow
670
- 1.000 UL
671
- LTb
672
- 658 3752 M
673
- 63 0 V
674
- 6241 0 R
675
- -63 0 V
676
- -6325 0 R
677
- ( 0.08) Rshow
678
- 1.000 UL
679
- LTb
680
- 658 4620 M
681
- 63 0 V
682
- 6241 0 R
683
- -63 0 V
684
- -6325 0 R
685
- ( 0.1) Rshow
686
- 1.000 UL
687
- LTb
688
- 658 280 M
689
- 0 63 V
690
- 0 4277 R
691
- 0 -63 V
692
- 658 140 M
693
- ( 100) Cshow
694
- 1.000 UL
695
- LTb
696
- 1446 280 M
697
- 0 63 V
698
- 0 4277 R
699
- 0 -63 V
700
- 0 -4417 R
701
- ( 150) Cshow
702
- 1.000 UL
703
- LTb
704
- 2234 280 M
705
- 0 63 V
706
- 0 4277 R
707
- 0 -63 V
708
- 0 -4417 R
709
- ( 200) Cshow
710
- 1.000 UL
711
- LTb
712
- 3022 280 M
713
- 0 63 V
714
- 0 4277 R
715
- 0 -63 V
716
- 0 -4417 R
717
- ( 250) Cshow
718
- 1.000 UL
719
- LTb
720
- 3810 280 M
721
- 0 63 V
722
- 0 4277 R
723
- 0 -63 V
724
- 0 -4417 R
725
- ( 300) Cshow
726
- 1.000 UL
727
- LTb
728
- 4598 280 M
729
- 0 63 V
730
- 0 4277 R
731
- 0 -63 V
732
- 0 -4417 R
733
- ( 350) Cshow
734
- 1.000 UL
735
- LTb
736
- 5386 280 M
737
- 0 63 V
738
- 0 4277 R
739
- 0 -63 V
740
- 0 -4417 R
741
- ( 400) Cshow
742
- 1.000 UL
743
- LTb
744
- 6174 280 M
745
- 0 63 V
746
- 0 4277 R
747
- 0 -63 V
748
- 0 -4417 R
749
- ( 450) Cshow
750
- 1.000 UL
751
- LTb
752
- 6962 280 M
753
- 0 63 V
754
- 0 4277 R
755
- 0 -63 V
756
- 0 -4417 R
757
- ( 500) Cshow
758
- 1.000 UL
759
- LTb
760
- 1.000 UL
761
- LTb
762
- 658 4620 N
763
- 658 280 L
764
- 6304 0 V
765
- 0 4340 V
766
- -6304 0 V
767
- Z stroke
768
- 3810 4830 M
769
- (ruby 1.9.2p136) Cshow
770
- 1.000 UP
771
- 1.000 UL
772
- LTb
773
- 1.000 UP
774
- 1.000 UL
775
- LT0
776
- LTb
777
- 6311 4487 M
778
- (bubblesort) Rshow
779
- LT0
780
- 658 367 Pls
781
- 2234 1061 Pls
782
- 3810 1929 Pls
783
- 5386 3318 Pls
784
- 6962 4620 Pls
785
- 6594 4487 Pls
786
- 1.000 UP
787
- 1.000 UL
788
- LT1
789
- LTb
790
- 6311 4347 M
791
- (quicksort) Rshow
792
- LT1
793
- 658 280 Crs
794
- 2234 367 Crs
795
- 3810 367 Crs
796
- 5386 280 Crs
797
- 6962 540 Crs
798
- 6594 4347 Crs
799
- 1.000 UL
800
- LTb
801
- 658 4620 N
802
- 658 280 L
803
- 6304 0 V
804
- 0 4340 V
805
- -6304 0 V
806
- Z stroke
807
- 1.000 UP
808
- 1.000 UL
809
- LTb
810
- stroke
811
- grestore
812
- end
813
- showpage
814
- %%Trailer
815
- %%DocumentFonts: Helvetica
816
- %%Pages: 2