galaaz 0.4.10 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/LICENSE +0 -0
  4. data/README.md +3123 -882
  5. data/Rakefile +62 -41
  6. data/bin/galaaz-bootstrap +137 -0
  7. data/bin/galaaz-jruby +14 -0
  8. data/bin/galaaz_jruby_env.inc.sh +6 -0
  9. data/bin/gbookdown +64 -0
  10. data/bin/gknit +223 -6
  11. data/bin/gknit-draft +105 -0
  12. data/bin/gknit-draft.rb +28 -0
  13. data/bin/gknit_Rscript +127 -0
  14. data/bin/grun +27 -1
  15. data/bin/gstudio +49 -4
  16. data/bin/{gstudio.rb → gstudio_irb.rb} +0 -0
  17. data/bin/gstudio_pry.rb +7 -0
  18. data/bin/install-tinytex +6 -0
  19. data/bin/run_all_rspec +43 -0
  20. data/bin/run_example +14 -0
  21. data/bin/run_old_rspec +19 -0
  22. data/bin/run_rspec +23 -0
  23. data/bin/run_rspec_subset +38 -0
  24. data/bin/run_slow_rspec +19 -0
  25. data/blogs/R-on-Rails-Planning-Document.md +940 -0
  26. data/blogs/README.md +100 -0
  27. data/blogs/galaaz_ggplot/galaaz_ggplot.Rmd +38 -66
  28. data/blogs/galaaz_ggplot/galaaz_ggplot.log +754 -0
  29. data/blogs/galaaz_ggplot/galaaz_ggplot.md +364 -0
  30. data/blogs/galaaz_ggplot/galaaz_ggplot.tex +607 -0
  31. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-html/midwest_rb.png +0 -0
  32. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-html/scatter_plot_rb.png +0 -0
  33. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-markdown_github/midwest_rb.png +0 -0
  34. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-markdown_github/scatter_plot_rb.png +0 -0
  35. data/blogs/galaaz_ggplot/midwest.Rmd +3 -3
  36. data/blogs/galaaz_ggplot/midwest_external_png +0 -0
  37. data/blogs/gknit/gknit.Rmd +52 -55
  38. data/blogs/gknit/gknit.md +94 -94
  39. data/blogs/gknit/gknit_files/figure-html/bubble-1.png +0 -0
  40. data/blogs/gknit/gknit_files/figure-html/diverging_bar.png +0 -0
  41. data/blogs/gknit/lst.rds +0 -0
  42. data/blogs/gknit/model.rb +1 -1
  43. data/blogs/gknit/stats.bib +0 -0
  44. data/blogs/manual/include_model_local_repro.Rmd +14 -0
  45. data/blogs/manual/include_model_local_repro.md +75 -0
  46. data/blogs/manual/lst.rds +0 -0
  47. data/blogs/manual/manual.Rmd +1582 -196
  48. data/blogs/manual/manual.log +1786 -0
  49. data/blogs/manual/manual.md +3107 -890
  50. data/blogs/manual/manual.tex +3018 -1086
  51. data/blogs/manual/manual_files/figure-html/bubble-1.png +0 -0
  52. data/blogs/manual/manual_files/figure-html/diverging_bar.png +0 -0
  53. data/blogs/manual/manual_files/figure-latex/bubble-1.png +0 -0
  54. data/blogs/manual/model.rb +41 -0
  55. data/blogs/nse_dplyr/nse_dplyr.Rmd +277 -151
  56. data/blogs/nse_dplyr/nse_dplyr.log +928 -0
  57. data/blogs/nse_dplyr/nse_dplyr.md +457 -293
  58. data/blogs/oh_my/not_so.rb +0 -0
  59. data/blogs/oh_my/oh_my.Rmd +1234 -25
  60. data/blogs/oh_my/oh_my.log +804 -0
  61. data/blogs/oh_my/oh_my.md +1808 -228
  62. data/blogs/oh_my/oh_my.tex +821 -0
  63. data/blogs/oh_my/old.Rmd +15 -14
  64. data/blogs/ruby_plot/ruby_plot.Rmd +58 -82
  65. data/blogs/ruby_plot/ruby_plot.log +885 -0
  66. data/blogs/ruby_plot/ruby_plot.md +71 -103
  67. data/blogs/ruby_plot/ruby_plot.tex +940 -0
  68. data/blogs/ruby_plot/ruby_plot_files/figure-html/dose_len.png +0 -0
  69. data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_delivery.png +0 -0
  70. data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_dose.png +0 -0
  71. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color.png +0 -0
  72. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color2.png +0 -0
  73. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_decorations.png +0 -0
  74. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_jitter.png +0 -0
  75. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_points.png +0 -0
  76. data/blogs/ruby_plot/ruby_plot_files/figure-html/final_box_plot.png +0 -0
  77. data/blogs/ruby_plot/ruby_plot_files/figure-html/final_violin_plot.png +0 -0
  78. data/blogs/ruby_plot/ruby_plot_files/figure-html/violin_with_jitter.png +0 -0
  79. data/blogs/ruby_plot/ruby_plot_files/figure-latex/dose_len.png +0 -0
  80. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facet_by_delivery.png +0 -0
  81. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facet_by_dose.png +0 -0
  82. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_by_delivery_color.png +0 -0
  83. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_by_delivery_color2.png +0 -0
  84. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_decorations.png +0 -0
  85. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_jitter.png +0 -0
  86. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_points.png +0 -0
  87. data/blogs/ruby_plot/ruby_plot_files/figure-latex/final_box_plot.png +0 -0
  88. data/blogs/ruby_plot/ruby_plot_files/figure-latex/final_violin_plot.png +0 -0
  89. data/blogs/ruby_plot/ruby_plot_files/figure-latex/violin_with_jitter.png +0 -0
  90. data/blogs/test/test.Rmd +14 -0
  91. data/examples/50Plots_MasterList/Images/midwest-scatterplot.PNG +0 -0
  92. data/examples/50Plots_MasterList/ScatterPlot.rb +0 -0
  93. data/examples/50Plots_MasterList/scatter_plot.rb +0 -0
  94. data/examples/Bibliography/master.bib +50 -0
  95. data/examples/Bibliography/stats.bib +72 -0
  96. data/examples/R/calc.R +0 -0
  97. data/examples/R/java_interop.R +0 -0
  98. data/examples/bioconductor_deseq2_airway/Documentation/DESeq2-airway-walkthrough.md +56 -0
  99. data/examples/bioconductor_deseq2_airway/bench_galaaz_three_same_process.rb +53 -0
  100. data/examples/bioconductor_deseq2_airway/bench_r_three_same_process.R +34 -0
  101. data/examples/bioconductor_deseq2_airway/deseq2_airway_galaaz.rb +33 -0
  102. data/examples/bioconductor_deseq2_airway/deseq2_airway_galaaz_optimized.rb +34 -0
  103. data/examples/bioconductor_deseq2_airway/deseq2_airway_minimal.R +30 -0
  104. data/examples/bioconductor_deseq2_airway/deseq2_airway_pipeline_for_bench.R +36 -0
  105. data/examples/islr/all.rb +13 -0
  106. data/examples/islr/ch2.spec.rb +37 -7
  107. data/examples/islr/ch3.spec.rb +11 -2
  108. data/examples/islr/ch3_boston.rb +27 -0
  109. data/examples/islr/ch3_multiple_regression.rb +0 -0
  110. data/examples/islr/ch6.spec.rb +24 -1
  111. data/examples/islr/x_y_rnorm.jpg +0 -0
  112. data/examples/latex_templates/Test-acm_article/Makefile +16 -0
  113. data/examples/latex_templates/Test-acm_article/Test-acm_article.Rmd +65 -0
  114. data/examples/latex_templates/Test-acm_article/acm_proc_article-sp.cls +1670 -0
  115. data/examples/latex_templates/Test-acm_article/sensys-abstract.cls +703 -0
  116. data/examples/latex_templates/Test-acm_article/sigproc.bib +59 -0
  117. data/examples/latex_templates/Test-acs_article/Test-acs_article.Rmd +260 -0
  118. data/examples/latex_templates/Test-acs_article/acs-Test-acs_article.bib +11 -0
  119. data/examples/latex_templates/Test-acs_article/acs-my_output.bib +11 -0
  120. data/examples/latex_templates/Test-acs_article/acstest.bib +17 -0
  121. data/examples/latex_templates/Test-aea_article/AEA.cls +1414 -0
  122. data/{blogs/gknit/marshal.dump → examples/latex_templates/Test-aea_article/BibFile.bib} +0 -0
  123. data/examples/latex_templates/Test-aea_article/Test-aea_article.Rmd +108 -0
  124. data/examples/latex_templates/Test-aea_article/aea.bst +1269 -0
  125. data/examples/latex_templates/Test-aea_article/multicol.sty +853 -0
  126. data/examples/latex_templates/Test-aea_article/references.bib +0 -0
  127. data/examples/latex_templates/Test-aea_article/setspace.sty +546 -0
  128. data/examples/latex_templates/Test-amq_article/Test-amq_article.Rmd +256 -0
  129. data/examples/latex_templates/Test-amq_article/Test-amq_article.pdfsync +3397 -0
  130. data/examples/latex_templates/Test-ams_article/Test-ams_article.Rmd +215 -0
  131. data/examples/latex_templates/Test-ams_article/amstest.bib +436 -0
  132. data/examples/latex_templates/Test-asa_article/Test-asa_article.Rmd +153 -0
  133. data/examples/latex_templates/Test-asa_article/agsm.bst +1353 -0
  134. data/examples/latex_templates/Test-asa_article/bibliography.bib +233 -0
  135. data/examples/latex_templates/Test-ieee_article/IEEEtran.bst +2409 -0
  136. data/examples/latex_templates/Test-ieee_article/IEEEtran.cls +6346 -0
  137. data/examples/latex_templates/Test-ieee_article/Test-ieee_article.Rmd +175 -0
  138. data/examples/latex_templates/Test-ieee_article/mybibfile.bib +20 -0
  139. data/examples/latex_templates/Test-rjournal_article/RJournal.sty +335 -0
  140. data/examples/latex_templates/Test-rjournal_article/RJreferences.bib +18 -0
  141. data/examples/latex_templates/Test-rjournal_article/Test-rjournal_article.Rmd +52 -0
  142. data/examples/latex_templates/Test-springer_article/Test-springer_article.Rmd +65 -0
  143. data/examples/latex_templates/Test-springer_article/bibliography.bib +26 -0
  144. data/examples/latex_templates/Test-springer_article/spbasic.bst +1658 -0
  145. data/examples/latex_templates/Test-springer_article/spmpsci.bst +1512 -0
  146. data/examples/latex_templates/Test-springer_article/spphys.bst +1443 -0
  147. data/examples/latex_templates/Test-springer_article/svglov3.clo +113 -0
  148. data/examples/latex_templates/Test-springer_article/svjour3.cls +1431 -0
  149. data/examples/misc/baseball.csv +0 -0
  150. data/examples/misc/ggplot.rb +3 -2
  151. data/examples/misc/moneyball.rb +0 -0
  152. data/examples/misc/subsetting.rb +0 -0
  153. data/examples/multithread_shards_to_r/shards_to_r.rb +67 -0
  154. data/examples/rmarkdown/svm-rmarkdown-anon-ms-example/svm-rmarkdown-anon-ms-example.Rmd +73 -0
  155. data/examples/rmarkdown/svm-rmarkdown-article-example/svm-rmarkdown-article-example.Rmd +382 -0
  156. data/examples/rmarkdown/svm-rmarkdown-beamer-example/svm-rmarkdown-beamer-example.Rmd +164 -0
  157. data/examples/rmarkdown/svm-rmarkdown-cv/svm-rmarkdown-cv.Rmd +92 -0
  158. data/examples/rmarkdown/svm-rmarkdown-syllabus-example/attend-grade-relationships.csv +482 -0
  159. data/examples/rmarkdown/svm-rmarkdown-syllabus-example/svm-rmarkdown-syllabus-example.Rmd +280 -0
  160. data/examples/rmarkdown/svm-xaringan-example/svm-xaringan-example.Rmd +386 -0
  161. data/examples/sthda_ggplot/README.md +0 -0
  162. data/examples/sthda_ggplot/RUN.md +41 -0
  163. data/examples/sthda_ggplot/all.rb +0 -0
  164. data/examples/sthda_ggplot/one_variable_continuous/density_gg.rb +0 -0
  165. data/examples/sthda_ggplot/one_variable_continuous/geom_area.rb +0 -0
  166. data/examples/sthda_ggplot/one_variable_continuous/geom_density.rb +2 -0
  167. data/examples/sthda_ggplot/one_variable_continuous/geom_dotplot.rb +0 -0
  168. data/examples/sthda_ggplot/one_variable_continuous/geom_freqpoly.rb +0 -0
  169. data/examples/sthda_ggplot/one_variable_continuous/geom_histogram.rb +0 -0
  170. data/examples/sthda_ggplot/one_variable_continuous/histogram_density.rb +0 -0
  171. data/examples/sthda_ggplot/one_variable_continuous/stat.rb +0 -0
  172. data/examples/sthda_ggplot/one_variable_discrete/bar.rb +0 -0
  173. data/examples/sthda_ggplot/qplots/box_violin_dot.rb +0 -0
  174. data/examples/sthda_ggplot/qplots/scatter_plots.rb +0 -0
  175. data/examples/sthda_ggplot/scatter_gg.rb +0 -0
  176. data/examples/sthda_ggplot/two_variables_cont_bivariate/geom_bin2d.rb +0 -0
  177. data/examples/sthda_ggplot/two_variables_cont_bivariate/geom_density2d.rb +0 -0
  178. data/examples/sthda_ggplot/two_variables_cont_bivariate/geom_hex.rb +0 -0
  179. data/examples/sthda_ggplot/two_variables_cont_cont/geom_point.rb +0 -0
  180. data/examples/sthda_ggplot/two_variables_cont_cont/geom_smooth.rb +0 -0
  181. data/examples/sthda_ggplot/two_variables_cont_cont/misc.rb +0 -0
  182. data/examples/sthda_ggplot/two_variables_cont_function/geom_area.rb +4 -3
  183. data/examples/sthda_ggplot/two_variables_disc_cont/geom_bar.rb +0 -0
  184. data/examples/sthda_ggplot/two_variables_disc_cont/geom_boxplot.rb +0 -0
  185. data/examples/sthda_ggplot/two_variables_disc_cont/geom_dotplot.rb +0 -0
  186. data/examples/sthda_ggplot/two_variables_disc_cont/geom_jitter.rb +0 -0
  187. data/examples/sthda_ggplot/two_variables_disc_cont/geom_line.rb +0 -0
  188. data/examples/sthda_ggplot/two_variables_disc_cont/geom_violin.rb +0 -0
  189. data/examples/sthda_ggplot/two_variables_disc_disc/geom_jitter.rb +0 -0
  190. data/examples/sthda_ggplot/two_variables_error/geom_crossbar.rb +0 -0
  191. data/ext/new_bridge/Makefile +46 -0
  192. data/ext/new_bridge/galaaz_gatekeeper_phase0.cpp +12 -0
  193. data/ext/new_bridge/galaaz_gatekeeper_phase1.cpp +1639 -0
  194. data/lib/R_interface/galaaz_device.R +20 -0
  195. data/lib/R_interface/include_engine.R +109 -0
  196. data/lib/R_interface/new_bridge_adapter.rb +824 -0
  197. data/lib/R_interface/r.rb +177 -25
  198. data/lib/R_interface/r_arrow.rb +113 -0
  199. data/lib/R_interface/r_libs.R +4 -4
  200. data/lib/R_interface/r_methods.rb +13 -116
  201. data/lib/R_interface/r_module_s.rb +0 -0
  202. data/lib/R_interface/rbinary_operators.rb +20 -2
  203. data/lib/R_interface/rclosure.rb +5 -1
  204. data/lib/R_interface/rdata_frame.rb +34 -70
  205. data/lib/R_interface/rdevice.rb +125 -0
  206. data/lib/R_interface/rdevices.R +0 -0
  207. data/lib/R_interface/renvironment.rb +10 -4
  208. data/lib/R_interface/rexpression.rb +5 -1
  209. data/lib/R_interface/rindexed_object.rb +41 -13
  210. data/lib/R_interface/rlanguage.rb +20 -62
  211. data/lib/R_interface/rlist.rb +115 -25
  212. data/lib/R_interface/rlogical_operators.rb +0 -0
  213. data/lib/R_interface/rmatrix.rb +2 -11
  214. data/lib/R_interface/rmd_indexed_object.rb +5 -1
  215. data/lib/R_interface/robject.rb +348 -290
  216. data/lib/R_interface/rpkg.rb +1 -0
  217. data/lib/R_interface/rsupport.rb +610 -331
  218. data/lib/R_interface/rsupport_scope.rb +2 -1
  219. data/lib/R_interface/rsymbol.rb +50 -0
  220. data/lib/R_interface/ruby_callback.rb +2 -3
  221. data/lib/R_interface/ruby_extensions.rb +225 -175
  222. data/lib/R_interface/runary_operators.rb +0 -0
  223. data/lib/R_interface/rvector.rb +147 -31
  224. data/lib/galaaz.rb +0 -0
  225. data/lib/galaaz_jruby.rb +22 -0
  226. data/lib/gknit/diagnostics.rb +50 -0
  227. data/lib/gknit/draft.rb +111 -0
  228. data/lib/gknit/include_engine.rb +15 -7
  229. data/lib/gknit/knitr_engine.rb +223 -107
  230. data/lib/gknit/rb_engine.rb +3 -3
  231. data/lib/gknit/ruby_engine.rb +0 -0
  232. data/lib/gknit.rb +3 -0
  233. data/lib/new_bridge/bootstrap/windows_bootstrap.rb +285 -0
  234. data/lib/new_bridge/envelope.rb +51 -0
  235. data/lib/new_bridge/eval_result.rb +26 -0
  236. data/lib/new_bridge/framing.rb +39 -0
  237. data/lib/new_bridge/instance_pool_client.rb +38 -0
  238. data/lib/new_bridge/r_instance_manager.rb +404 -0
  239. data/lib/new_bridge/session_client.rb +530 -0
  240. data/lib/new_bridge/tcp_framed.rb +44 -0
  241. data/lib/new_bridge.rb +9 -0
  242. data/lib/util/exec_ruby.rb +95 -46
  243. data/lib/util/inline_file.rb +35 -30
  244. data/new_bridge_specs/benchmark_phase5_5_unboxing_spec.rb +96 -0
  245. data/new_bridge_specs/eval_r_async_spec.rb +113 -0
  246. data/new_bridge_specs/integration_phase5_1_concurrent_spec.rb +50 -0
  247. data/new_bridge_specs/integration_phase5_1_eval_spec.rb +16 -0
  248. data/new_bridge_specs/integration_phase5_1_r_api_spec.rb +25 -0
  249. data/new_bridge_specs/integration_phase5_1_smoke_spec.rb +31 -0
  250. data/new_bridge_specs/integration_phase5_2_dataframe_unboxing_spec.rb +19 -0
  251. data/new_bridge_specs/integration_phase5_2_handle_eval_unboxing_spec.rb +25 -0
  252. data/new_bridge_specs/integration_phase5_3_callback_args_spec.rb +28 -0
  253. data/new_bridge_specs/integration_phase5_3_callback_error_spec.rb +22 -0
  254. data/new_bridge_specs/integration_phase5_3_callback_timeout_spec.rb +28 -0
  255. data/new_bridge_specs/integration_phase5_3_callbacks_smoke_spec.rb +22 -0
  256. data/new_bridge_specs/integration_phase5_3_edge_cases_spec.rb +52 -0
  257. data/new_bridge_specs/integration_phase5_3_nested_spec.rb +30 -0
  258. data/new_bridge_specs/integration_phase5_4_concurrent_sessions_spec.rb +53 -0
  259. data/new_bridge_specs/integration_phase5_4_nested_session_callbacks_spec.rb +49 -0
  260. data/new_bridge_specs/integration_phase5_4_session_routing_spec.rb +38 -0
  261. data/new_bridge_specs/integration_phase5_5_stress_concurrency_spec.rb +52 -0
  262. data/new_bridge_specs/integration_phase5_5_unbox_walk_spec.rb +46 -0
  263. data/new_bridge_specs/phase0_protocol_spec.rb +96 -0
  264. data/new_bridge_specs/phase1_req_ret_spec.rb +66 -0
  265. data/new_bridge_specs/phase2_multi_instance_spec.rb +67 -0
  266. data/new_bridge_specs/phase3_callbacks_spec.rb +71 -0
  267. data/new_bridge_specs/phase4_2_hardening_spec.rb +252 -0
  268. data/new_bridge_specs/phase4_3_r_instance_manager_spec.rb +85 -0
  269. data/new_bridge_specs/phase4_nested_callbacks_spec.rb +123 -0
  270. data/r_requires/ggplot.rb +0 -0
  271. data/r_requires/knitr.rb +0 -0
  272. data/specs/all.rb +15 -11
  273. data/specs/arrow_from_ruby_batches_spec.rb +50 -0
  274. data/specs/arrow_semantics_spec.rb +64 -0
  275. data/specs/bridge_concurrent_spec.rb +46 -0
  276. data/specs/bridge_nested_spec.rb +25 -0
  277. data/specs/dataframe_semantics_spec.rb +122 -0
  278. data/specs/dataframe_single_index_logical_filter_spec.rb +21 -0
  279. data/specs/dispatch_probe_cache_spec.rb +38 -0
  280. data/specs/dispatch_probe_error_class_fallback_spec.rb +20 -0
  281. data/specs/dispatch_probe_fallback_spec.rb +18 -0
  282. data/specs/environment_semantics_spec.rb +89 -0
  283. data/specs/field_access_spec.rb +31 -0
  284. data/specs/figures/bg.jpeg +0 -0
  285. data/specs/figures/bg.png +0 -0
  286. data/specs/figures/bg.svg +168 -57
  287. data/specs/figures/dose_len.png +0 -0
  288. data/specs/figures/no_args.jpeg +0 -0
  289. data/specs/figures/no_args.png +0 -0
  290. data/specs/figures/no_args.svg +168 -57
  291. data/specs/figures/width_height.jpeg +0 -0
  292. data/specs/figures/width_height.png +0 -0
  293. data/specs/figures/width_height_units1.jpeg +0 -0
  294. data/specs/figures/width_height_units1.png +0 -0
  295. data/specs/figures/width_height_units2.jpeg +0 -0
  296. data/specs/figures/width_height_units2.png +0 -0
  297. data/specs/formula_semantics_spec.rb +81 -0
  298. data/specs/galaaz_util_exec_ruby_spec.rb +85 -0
  299. data/specs/galaaz_util_inline_file_spec.rb +54 -0
  300. data/specs/gknit_cli_option_permutation_spec.rb +24 -0
  301. data/specs/gknit_include_engine_spec.rb +72 -0
  302. data/specs/gknit_install_timeout_report_spec.rb +69 -0
  303. data/specs/gknit_internal_error_report_spec.rb +57 -0
  304. data/specs/gknit_vector_map_output_spec.rb +59 -0
  305. data/specs/globalenv_guardrail_spec.rb +52 -0
  306. data/specs/language_expression_semantics_spec.rb +145 -0
  307. data/specs/list_semantics_spec.rb +111 -0
  308. data/specs/new_bridge_bulk_dataframe_transfer_spec.rb +44 -0
  309. data/specs/new_bridge_bulk_vector_transfer_spec.rb +73 -0
  310. data/specs/new_bridge_callback_timeout_spec.rb +69 -0
  311. data/specs/new_bridge_eval_r_fallback_spec.rb +55 -0
  312. data/specs/nil_null_spec.rb +42 -0
  313. data/specs/object_build_phase2_spec.rb +53 -0
  314. data/specs/phase1_callback_bridge_spec.rb +84 -0
  315. data/specs/phase2_gknit_generic_rendering_guardrail_spec.rb +46 -0
  316. data/specs/phase2_gknit_no_raw_code_leakage_spec.rb +43 -0
  317. data/specs/phase3_gknit_generic_graphics_capture_spec.rb +71 -0
  318. data/specs/plot_device_semantics_spec.rb +28 -0
  319. data/specs/plot_snapshot_semantics_spec.rb +58 -0
  320. data/specs/protocol_result_spec.rb +236 -0
  321. data/specs/r_batch_fail_fast_spec.rb +47 -0
  322. data/specs/r_bridge_bootstrap_spec.rb +11 -0
  323. data/specs/r_devices.spec.rb +1 -1
  324. data/specs/r_eval.spec.rb +16 -18
  325. data/specs/r_function.spec.rb +1 -1
  326. data/specs/r_instance_manager_spec.rb +285 -0
  327. data/specs/r_list_apply.spec.rb +15 -15
  328. data/specs/r_matrix.spec.rb +0 -0
  329. data/specs/r_nse.spec.rb +5 -5
  330. data/specs/r_object_send_dispatch_spec.rb +13 -0
  331. data/specs/r_vector_comparator_spec.rb +8 -0
  332. data/specs/r_vector_creation.spec.rb +0 -0
  333. data/specs/r_vector_functions.spec.rb +0 -0
  334. data/specs/r_vector_object.spec.rb +0 -0
  335. data/specs/r_vector_operators.spec.rb +0 -0
  336. data/specs/r_vector_structured_scalar_reads_spec.rb +35 -0
  337. data/specs/r_vector_subsetting.spec.rb +0 -0
  338. data/specs/range_helper_spec.rb +21 -0
  339. data/specs/rsupport_scope_spec.rb +28 -0
  340. data/specs/rsupport_var_name_thread_safety_spec.rb +24 -0
  341. data/specs/scalar_character_spec.rb +44 -0
  342. data/specs/scoped_symbol_dsl_refinement_spec.rb +40 -0
  343. data/specs/session_env_bridge_spec.rb +25 -0
  344. data/specs/simplecov_bootstrap_spec.rb +10 -0
  345. data/specs/spec_helper.rb +10 -0
  346. data/specs/tmp.rb +41 -20
  347. data/specs/unboxing_recursion_regression_spec.rb +30 -0
  348. data/specs/unboxing_spec.rb +49 -0
  349. data/specs/verify_callbacks.rb +42 -0
  350. data/sty/galaaz.sty +0 -0
  351. data/version.rb +1 -1
  352. metadata +239 -71
  353. data/blogs/galaaz_ggplot/galaaz_ggplot.aux +0 -41
  354. data/blogs/galaaz_ggplot/galaaz_ggplot.html +0 -705
  355. data/blogs/galaaz_ggplot/galaaz_ggplot.out +0 -10
  356. data/blogs/galaaz_ggplot/galaaz_ggplot.pdf +0 -0
  357. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-latex/midwest_rb.pdf +0 -0
  358. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-latex/scatter_plot_rb.pdf +0 -0
  359. data/blogs/galaaz_ggplot/midwest.html +0 -188
  360. data/blogs/gknit/gknit.html +0 -2266
  361. data/blogs/gknit/gknit.pdf +0 -0
  362. data/blogs/gknit/gknit.tex +0 -1358
  363. data/blogs/manual/graph.rb +0 -29
  364. data/blogs/manual/manual.html +0 -2995
  365. data/blogs/manual/manual.pdf +0 -0
  366. data/blogs/manual/manual_files/figure-latex/diverging_bar.pdf +0 -0
  367. data/blogs/nse_dplyr/nse_dplyr.html +0 -960
  368. data/blogs/nse_dplyr/nse_dplyr.pdf +0 -0
  369. data/blogs/nse_dplyr/nse_dplyr.tex +0 -1373
  370. data/blogs/oh_my/oh_my.html +0 -680
  371. data/blogs/ruby_plot/ruby_plot.Rmd_external_figs +0 -662
  372. data/blogs/ruby_plot/ruby_plot.html +0 -729
  373. data/blogs/ruby_plot/ruby_plot.pdf +0 -0
  374. data/blogs/ruby_plot/ruby_plot_files/figure-html/dose_len.svg +0 -57
  375. data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_delivery.svg +0 -106
  376. data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_dose.svg +0 -110
  377. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color.svg +0 -174
  378. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color2.svg +0 -236
  379. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_jitter.svg +0 -296
  380. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_points.svg +0 -236
  381. data/blogs/ruby_plot/ruby_plot_files/figure-html/final_box_plot.svg +0 -218
  382. data/blogs/ruby_plot/ruby_plot_files/figure-html/final_violin_plot.svg +0 -128
  383. data/blogs/ruby_plot/ruby_plot_files/figure-html/violin_with_jitter.svg +0 -150
  384. data/examples/paper/paper.rb +0 -36
  385. data/specs/r_dataframe.spec.rb +0 -379
  386. data/specs/r_environment.spec.rb +0 -140
  387. data/specs/r_formula.spec.rb +0 -232
  388. data/specs/r_language.spec.rb +0 -112
  389. data/specs/r_list.spec.rb +0 -293
  390. data/specs/r_plots.spec.rb +0 -72
  391. data/specs/ruby_expression.spec.rb +0 -315
@@ -0,0 +1,703 @@
1
+ \NeedsTeXFormat{LaTeX2e}[1995/12/01]
2
+ \ProvidesClass{sensys-abstract}
3
+ [2002/06/21 v1.4
4
+ Document Class]
5
+
6
+ %\ProvidesClass{sigplan-proc-varsize}
7
+
8
+ % This file has a long and troubled history:
9
+
10
+ % The original (LaTeX 2.09) document style for this purpose was by
11
+ % Olin Shivers (1991).
12
+ % Ken Traub and Kevin Theobald added some new features in 1993.
13
+ % Back then, it was called acmconf.sty.
14
+ % Mike Sperber converted it to an LaTeX2e document class called
15
+ % acmconf.cls in 1994.
16
+ % From 1999 on, G.K.M. Tobin and Gerry Murray took Traub's style,
17
+ % and modified it extensively.
18
+ % This version was called acm_proc_article-sp.cls, V2.01SP
19
+ % In 2002, Mike Sperber <sperber@informatik.uni-tuebingen.de>
20
+ % wrote this file, intended to be compatible with
21
+ % acm_proc_article-sp.cls V2.01SP, but with layout parameters
22
+ % matching ACM's guidelines at
23
+ % http://www.acm.org/sig_volunteer_info/conference_manual/6-5PROC.HTM
24
+ % It contains code from all previous versions, but is much shortened
25
+ % to avoid redundancies with the standard LaTeX2e styles.
26
+
27
+ % Here are the main changes to acm_proc_article-sp.cls, as far as the
28
+ % interface is concerned:
29
+
30
+ % It doesn't load any of the utility packages, specifically, it
31
+ % doesn't load epsfig, amssymb, amsmath, and amsfont.
32
+
33
+ % It depends on David Carlisle's pslatex package, found on any CTAN
34
+ % host, say at
35
+ % ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/pslatex/
36
+
37
+ % There's once again a preprint document-class option. (Just like in
38
+ % Olin's original style file.) Unlike Olin's style, it has no
39
+ % influence whether the \toappear information is printed. It only
40
+ % switches off explicitly doing \pagestyle{empty}, allowing you to
41
+ % have page numbers, for example.
42
+
43
+ % There's also a nocopyrightspace document-class option which prevents
44
+ % the reservation of space at the bottom left of the title page for
45
+ % the copyright notice.
46
+
47
+ % It conforms to LaTeX2e's NFSS2, so there aren't any silly
48
+ % font-changing commands specific to section headers, like \secit{}
49
+ % etc.
50
+
51
+ %
52
+ % hacked 31-Mar-05 by johnh@isi.edu to 10pt-ness.
53
+ % (renamed sigplan-proc-varsize.cls)
54
+ % original from http://www.cs.indiana.edu/icfp04/sigplan-proc.cls
55
+ % options:
56
+ % 9pt or 10pt
57
+ % indentedparagraphs or noindentedparagraphs
58
+ %
59
+
60
+ % hacked 18-Aug-07 by adam@sics.se to reduce space for copyright
61
+ % notice and to remove the word ``copyright'' on the front page for
62
+ % ACM SenSys poster and demo abstracts for which copyright
63
+ % is retained by the author. Renamed to sensys-abstract.cls
64
+
65
+ \DeclareOption{a5paper}
66
+ {\ClassError{proc}{Option `a5paper' not supported}{}}
67
+ \DeclareOption{b5paper}
68
+ {\ClassError{proc}{Option `b5paper' not supported}{}}
69
+ % johnh
70
+ %\DeclareOption{9pt}
71
+ % {\ClassError{proc}{Option `9pt' not supported}{}}
72
+ %\DeclareOption{10pt}
73
+ % {\ClassError{proc}{Option `10pt' not supported}{}}
74
+ \newif\ifissizeixpt \issizeixpttrue % default
75
+ \newif\ifissizexpt \issizexptfalse
76
+ \DeclareOption{9pt}{\issizeixpttrue \issizexptfalse }
77
+ \DeclareOption{10pt}{\issizexpttrue \issizeixptfalse }
78
+ \newif\ifindentedparagraphs \indentedparagraphstrue
79
+ \DeclareOption{indentedparagraphs}{\indentedparagraphstrue }
80
+ \DeclareOption{noindentedparagraphs}{\indentedparagraphsfalse }
81
+ \DeclareOption{12pt}
82
+ {\ClassError{proc}{Option `12pt' not supported}{}}
83
+ \DeclareOption{onecolumn}%
84
+ {\ClassError{proc}{Option `onecolumn' not supported}{}}
85
+ \DeclareOption{titlepage}%
86
+ {\ClassError{proc}{Option `titlepage' not supported}{}}
87
+ \newif\ifpreprint
88
+ \preprintfalse
89
+ \DeclareOption{preprint}{\preprinttrue}
90
+ \newif\ifnocopyrightspace
91
+ \nocopyrightspacefalse
92
+ \DeclareOption{nocopyrightspace}{\nocopyrightspacetrue}
93
+ \PassOptionsToClass{twocolumn}{article}
94
+ \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
95
+ \ProcessOptions
96
+ \LoadClass{article}
97
+
98
+ \def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not
99
+ allowed in the `sigplan-proc-varsize' document style.}\@eha}
100
+
101
+ \RequirePackage{pslatex}
102
+
103
+ % Page parameters
104
+ % ===============
105
+
106
+ \setlength{\marginparwidth}{0pt}
107
+ \setlength{\marginparsep}{11pt}
108
+ \setlength{\marginparpush}{5pt}
109
+ \setlength{\topmargin}{0pt}
110
+ \addtolength{\topmargin}{-\headsep}
111
+ \addtolength{\topmargin}{-\headheight}
112
+
113
+ \setlength{\textheight}{9in}
114
+
115
+ \setlength{\textwidth}{7in}
116
+ \setlength{\columnsep}{.33in}
117
+ \setlength{\hoffset}{0pt}
118
+ % 1 inch gets added by LaTeX
119
+ \setlength{\evensidemargin}{-0.25in}
120
+ \setlength{\oddsidemargin}{-0.25in}
121
+
122
+ % Utility macro from original Sheridan class
123
+
124
+ \newcommand{\balancecolumns}{%
125
+ \vfill\eject
126
+ \global\@colht=\textheight
127
+ \global\ht\@cclv=\textheight}
128
+
129
+ % johnh hack for use indented paragraphs rather than blank lines
130
+ \ifindentedparagraphs
131
+ % xxx: bug: this doesn't correctly do \noindent at the beginning
132
+ % of \section (etc.). It's not obvious how article.cls does that! -johnh
133
+ \setlength{\parskip}{0pt plus 1pt}
134
+ \setlength{\parindent}{12pt}
135
+ \else
136
+ \setlength{\parskip}{10pt}
137
+ \setlength{\parindent}{0pt}
138
+ \fi
139
+ \setlength{\topsep}{-0.5ex}
140
+ \setlength{\parsep}{1ex}
141
+ \setlength{\itemsep}{0pt}
142
+
143
+ \setlength{\footnotesep}{5.6pt}
144
+ \setlength{\skip\footins}{8.1pt plus 4pt minus 2pt}
145
+
146
+ % Page Style
147
+ % ==========
148
+
149
+ \ifpreprint
150
+ \if@twoside
151
+ \def\ps@headings{
152
+ \def\@oddfoot{}
153
+ \def\@evenfoot{}
154
+ \def\@evenhead{\textnormal{\thepage}\hfil \textnormal{\textsl{\leftmark}}}
155
+ \def\@oddhead{\hbox{}\textnormal{\textsl{\rightmark}}
156
+ \hfil
157
+ \textnormal\textrm{\thepage}}
158
+ \def\sectionmark##1{\markboth {\uppercase{\ifnum\c@secnumdepth>\z@
159
+ \thesection \hskip 1em\relax \fi ##1}}{}}
160
+ \def\subsectionmark##1
161
+ {\markright {\ifnum \c@secnumdepth >\@ne \thesubsection
162
+ \hskip 1em\relax \fi ##1}}}
163
+
164
+ \else
165
+ \def\ps@headings{
166
+ \def\@oddfoot{}
167
+ \def\@evenfoot{}
168
+ \def\@oddhead{\hbox{}\textnormal{\textsl{\rightmark}}
169
+ \hfil
170
+ \textnormal{\textrm{\thepage}}}
171
+ \def\sectionmark##1{\markright{\uppercase{\ifnum \c@secnumdepth >\z@
172
+ \thesection\hskip 1em\relax \fi ##1}}}}
173
+ \fi
174
+
175
+ \def\ps@myheadings{\def\@oddhead{\hbox{}\textnormal{\textsl{\rightmark}}
176
+ \hfil
177
+ \textnormal{\textrm{\thepage}}}%
178
+ \def \@evenhead{\textnormal{\textrm{\thepage}}
179
+ \hfil
180
+ \textnormal{\textsl{\leftmark}}\hbox{}}%
181
+ \def\@oddfoot{}%
182
+ \def\@evenfoot{}%
183
+ \def\sectionmark##1{}%
184
+ \def\subsectionmark##1{}}
185
+
186
+ \else % preprint off -- all \pagestyle commands ==> \pagestyle{empty}.
187
+ \let\ps@plain\ps@empty
188
+ \let\ps@headings\ps@empty
189
+ \let\ps@myheadings\ps@empty
190
+ \ps@empty
191
+ \fi
192
+
193
+ % Text Body
194
+ % =========
195
+
196
+ % We need to redefine those because the LaTeX versions
197
+ % set the various \*sep's to fixed values.
198
+
199
+ \def\@listi{\leftmargin\leftmargini}
200
+ \let\@listI=\@listi
201
+ \def\@listii {\leftmargin\leftmarginii
202
+ \labelwidth\leftmarginii
203
+ \advance\labelwidth-\labelsep}
204
+ \def\@listiii{\leftmargin\leftmarginiii
205
+ \labelwidth\leftmarginiii
206
+ \advance\labelwidth-\labelsep}
207
+ \def\@listiv {\leftmargin\leftmarginiv
208
+ \labelwidth\leftmarginiv
209
+ \advance\labelwidth-\labelsep}
210
+ \def\@listv {\leftmargin\leftmarginv
211
+ \labelwidth\leftmarginv
212
+ \advance\labelwidth-\labelsep}
213
+ \def\@listvi {\leftmargin\leftmarginvi
214
+ \labelwidth\leftmarginvi
215
+ \advance\labelwidth-\labelsep}
216
+
217
+ % Fonts and Sizes
218
+ % ===============
219
+
220
+ \renewcommand{\normalsize}{%
221
+ % johnh hack to 10pt
222
+ \ifissizeixpt
223
+ \@setfontsize\normalsize\@ixpt{10\p@}
224
+ \else
225
+ \ifissizexpt
226
+ \@setfontsize\normalsize\@xpt{11\p@}
227
+ \else
228
+ \typeout{error, no point size specified}
229
+ \fi
230
+ \fi
231
+ \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@
232
+ \belowdisplayskip \abovedisplayskip
233
+ \abovedisplayshortskip 6\p@ \@minus 3\p@
234
+ \belowdisplayshortskip 6\p@ \@minus 3\p@
235
+ }
236
+
237
+ \renewcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt{8\p@}}
238
+ \renewcommand{\tiny}{\@setfontsize\tiny\@vpt{6\p@}}
239
+ \renewcommand{\large}{\@setfontsize\large\@xiipt{14\p@}}
240
+ \renewcommand{\Large}{\@setfontsize\Large\@xivpt{18\p@}}
241
+ \renewcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{20\p@}}
242
+ \renewcommand{\huge}{\@setfontsize\huge\@xxpt{25\p@}}
243
+ \renewcommand{\Huge}{\@setfontsize\Huge\@xxvpt{30\p@}}
244
+ \def\small{\@setsize\small{9pt}\viiipt\@viiipt
245
+ \abovedisplayskip 7.6pt plus 3pt minus 4pt%
246
+ \belowdisplayskip \abovedisplayskip
247
+ \abovedisplayshortskip \z@ plus2pt%
248
+ \belowdisplayshortskip 3.6pt plus2pt minus 2pt}
249
+
250
+ \def\footnotesize{\@setsize\footnotesize{10pt}\ixpt\@ixpt
251
+ \abovedisplayskip 6.4pt plus 2pt minus 4pt%
252
+ \belowdisplayskip \abovedisplayskip
253
+ \abovedisplayshortskip \z@ plus 1pt%
254
+ \belowdisplayshortskip 2.7pt plus 1pt minus 2pt}
255
+
256
+ % Section Headers
257
+ % ===============
258
+
259
+ \setcounter{secnumdepth}{4}
260
+
261
+ \renewcommand{\section}{\@startsection%
262
+ {section}%
263
+ {1}%
264
+ {\z@}%
265
+ {2\p@ \@plus 4\p@}%
266
+ {1pt}%
267
+ {\normalfont\fontsize{12\p@}{12\p@}\bfseries\selectfont}%
268
+ }
269
+
270
+ \renewcommand{\subsection}{\@startsection%
271
+ {subsection}%
272
+ {2}%
273
+ {\z@}%
274
+ {1\p@ \@plus 4\p@}%
275
+ {0.1pt}%
276
+ {\normalfont\fontsize{12\p@}{12\p@}\bfseries\selectfont}%
277
+ }
278
+
279
+ \renewcommand{\subsubsection}{\@startsection%
280
+ {subsubsection}%
281
+ {3}%
282
+ {\z@}%
283
+ {1\p@ \@plus 4\p@}%
284
+ {0.1pt}%
285
+ {\normalfont\fontsize{11\p@}{11\p@}\itshape\selectfont}%
286
+ }
287
+
288
+ \renewcommand{\paragraph}{\@startsection%
289
+ {paragraph}%
290
+ {4}%
291
+ {\z@}%
292
+ {1\p@ \@plus 4\p@}%
293
+ {0.1pt}%
294
+ {\normalfont\fontsize{11\p@}{11\p@}\itshape\selectfont}%
295
+ }
296
+
297
+ % Captions
298
+ % ========
299
+
300
+ \long\def\@makecaption#1#2{
301
+ \setbox\@tempboxa\hbox{\textbf{#1. #2}}
302
+ \ifdim \wd\@tempboxa >\hsize % IF longer than one line:
303
+ \textbf{#1. #2}\par % THEN set as ordinary paragraph.
304
+ \else % ELSE center.
305
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}\par
306
+ \fi}
307
+
308
+
309
+ % Title Page
310
+ % ==========
311
+
312
+ \newcount\aucount
313
+ \newcount\originalaucount
314
+ \newdimen\auwidth
315
+ \auwidth=\textwidth
316
+ \newdimen\auskip
317
+ \newcount\auskipcount
318
+ \newdimen\auskip
319
+ \global\auskip=1pc
320
+ \newdimen\allauboxes
321
+ \allauboxes=\auwidth
322
+ \newtoks\addauthors
323
+ \newcount\addauflag
324
+ \global\addauflag=0 %Haven't shown additional authors yet
325
+
326
+ \newtoks\subtitletext
327
+ \gdef\subtitle#1{\subtitletext={#1}}
328
+
329
+ \gdef\additionalauthors#1{\addauthors={#1}}
330
+
331
+ \gdef\numberofauthors#1{\global\aucount=#1
332
+ \ifnum\aucount>3\global\originalaucount=\aucount \global\aucount=3\fi
333
+ \global\auskipcount=\aucount\global\advance\auskipcount by 1
334
+ \global\multiply\auskipcount by 2
335
+ \global\multiply\auskip by \auskipcount
336
+ \global\advance\auwidth by -\auskip
337
+ \global\divide\auwidth by \aucount}
338
+
339
+ % \and was modified to count the number of authors. GKMT 12 Aug 1999
340
+ \def\alignauthor{% % \begin{tabular}
341
+ \end{tabular}%
342
+ \begin{tabular}[t]{p{\auwidth}}\centering}%
343
+
344
+ \newcommand{\email}[1]{{\vspace{4pt}\sffamily\fontsize{12\p@}{12\p@}\selectfont #1}}
345
+
346
+ \newcommand{\affaddr}{\normalfont\sffamily\fontsize{10\p@}{10\p@}\selectfont}
347
+
348
+ \def\addauthorsection{\ifnum\originalaucount>3
349
+ \section{Additional Authors}\the\addauthors
350
+ \fi}
351
+
352
+ \newtoks\titleboxnotes
353
+ \newcount\titleboxnoteflag
354
+
355
+ \def\maketitle{\par
356
+ \begingroup
357
+ \def\thefootnote{\fnsymbol{footnote}}
358
+ \def\@makefnmark{\hbox
359
+ to 0pt{$^{\@thefnmark}$\hss}}
360
+ \twocolumn[\@maketitle]
361
+ \@thanks
362
+ \endgroup
363
+ \setcounter{footnote}{0}
364
+ \let\maketitle\relax
365
+ \let\@maketitle\relax
366
+ \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@subtitle{}\let\thanks\relax
367
+ \ifnocopyrightspace\else\@copyrightspace\fi
368
+ }
369
+
370
+ % make aubox hsize/number of authors up to 3, less gutter
371
+ % then showbox gutter showbox gutter showbox -- GKMT Aug 99
372
+ \newbox\@acmtitlebox
373
+ \def\@maketitle{\newpage
374
+ \null
375
+ \setbox\@acmtitlebox\vbox{%
376
+ \baselineskip 20pt
377
+ \vskip 2em % Vertical space above title.
378
+ \begin{center}
379
+ {\normalfont\sffamily\bfseries\fontsize{18\p@}{18\p@}\selectfont
380
+ \@title\par} % Title set in 18pt Helvetica (Arial) bold size.
381
+ \vskip 1.5em % Vertical space after title.
382
+ {\normalfont\sffamily\fontsize{14\p@}{14\p@}\selectfont
383
+ \the\subtitletext\par}\vskip 1.25em%\fi
384
+ { \normalfont\sffamily\fontsize{12\p@}{12\p@}\selectfont
385
+ \lineskip .5em % tabular environment
386
+ \begin{tabular}[t]{c}
387
+ \@author
388
+ \end{tabular}
389
+ \par}
390
+ \vskip 1.5em % Vertical space after author.
391
+ \end{center}}
392
+ \dimen0=\ht\@acmtitlebox
393
+ \advance\dimen0 by -12.75pc\relax % Increased space for title box -- KBT
394
+ \unvbox\@acmtitlebox
395
+ \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi}
396
+
397
+ \long\def\@maketntext#1{\noindent #1}
398
+
399
+ \long\def\@maketitlenotetext#1#2{\noindent
400
+ \hbox to 1.8em{\hss$^{#1}$}#2}
401
+
402
+ \newcount\titlenotecount
403
+ \global\titlenotecount=0
404
+ \newtoks\tntoks
405
+ \newtoks\tntokstwo
406
+ \newtoks\tntoksthree
407
+ \newtoks\tntoksfour
408
+ \newtoks\tntoksfive
409
+
410
+ \def\titlenote{\@ifnextchar[\@xtitlenote{\stepcounter\@mpfn
411
+ \global\advance\titlenotecount by 1
412
+ \ifnum\titlenotecount=1
413
+ \raisebox{9pt}{$\ast$}
414
+ \fi
415
+ \ifnum\titlenotecount=2
416
+ \raisebox{9pt}{$\dagger$}
417
+ \fi
418
+ \ifnum\titlenotecount=3
419
+ \raisebox{9pt}{$\ddagger$}
420
+ \fi
421
+ \ifnum\titlenotecount=4
422
+ \raisebox{9pt}{$\S$}
423
+ \fi
424
+ \ifnum\titlenotecount=5
425
+ \raisebox{9pt}{$\P$}
426
+ \fi
427
+ \@titlenotetext
428
+ }}
429
+
430
+ \long\def\@titlenotetext#1{\insert\footins{%
431
+ \ifnum\titlenotecount=1\global\tntoks={#1}\fi
432
+ \ifnum\titlenotecount=2\global\tntokstwo={#1}\fi
433
+ \ifnum\titlenotecount=3\global\tntoksthree={#1}\fi
434
+ \ifnum\titlenotecount=4\global\tntoksfour={#1}\fi
435
+ \ifnum\titlenotecount=5\global\tntoksfive={#1}\fi
436
+ \reset@font\footnotesize
437
+ \interlinepenalty\interfootnotelinepenalty
438
+ \splittopskip\footnotesep
439
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
440
+ \hsize\columnwidth \@parboxrestore
441
+ \protected@edef\@currentlabel{%
442
+ }%
443
+ \color@begingroup
444
+ \color@endgroup}}
445
+
446
+ \renewenvironment{abstract}{
447
+ \ifnum\titlenotecount>0 % was =1
448
+ \insert\footins{%
449
+ \reset@font\footnotesize
450
+ \interlinepenalty\interfootnotelinepenalty
451
+ \splittopskip\footnotesep
452
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
453
+ \hsize\columnwidth \@parboxrestore
454
+ \protected@edef\@currentlabel{%
455
+ }%
456
+ \color@begingroup
457
+ \ifnum\titlenotecount=1
458
+ \@maketntext{%
459
+ \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\@finalstrut\strutbox}%
460
+ \fi
461
+ \ifnum\titlenotecount=2
462
+ \@maketntext{%
463
+ \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
464
+ \@maketntext{%
465
+ \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\@finalstrut\strutbox}%
466
+ \fi
467
+ \ifnum\titlenotecount=3
468
+ \@maketntext{%
469
+ \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
470
+ \@maketntext{%
471
+ \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
472
+ \@maketntext{%
473
+ \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\@finalstrut\strutbox}%
474
+ \fi
475
+ \ifnum\titlenotecount=4
476
+ \@maketntext{%
477
+ \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
478
+ \@maketntext{%
479
+ \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
480
+ \@maketntext{%
481
+ \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}%
482
+ \@maketntext{%
483
+ \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\@finalstrut\strutbox}%
484
+ \fi
485
+ \ifnum\titlenotecount=5
486
+ \@maketntext{%
487
+ \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
488
+ \@maketntext{%
489
+ \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
490
+ \@maketntext{%
491
+ \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}%
492
+ \@maketntext{%
493
+ \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\par\@finalstrut\strutbox}%
494
+ \@maketntext{%
495
+ \raisebox{4pt}{$\P$}\rule\z@\footnotesep\ignorespaces\the\tntoksfive\@finalstrut\strutbox}%
496
+ \fi
497
+ \color@endgroup}
498
+ \fi
499
+ \setcounter{footnote}{0}
500
+ \section*{Abstract}\normalsize
501
+ }{}
502
+
503
+ \newcommand{\keywords}{\section*{Keywords}}
504
+
505
+ \newcommand{\terms}{\section*{General Terms}}
506
+
507
+ \newcount\catcount
508
+ \global\catcount=1
509
+
510
+ \newcommand{\category}[3]{%
511
+ \ifnum\catcount=1
512
+ \section*{Categories and Subject Descriptors}
513
+ \advance\catcount by 1\else{\unskip; }\fi
514
+ \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}%
515
+ }
516
+
517
+ \def\@category#1#2#3[#4]{%
518
+ \begingroup
519
+ \let\and\relax
520
+ #1 [\textbf{#2}]%
521
+ \if!#4!%
522
+ \if!#3!\else : #3\fi
523
+ \else
524
+ :\space
525
+ \if!#3!\else #3\kern\z@---\hskip\z@\fi
526
+ \textit{#4}%
527
+ \fi
528
+ \endgroup
529
+ }
530
+
531
+ % Copyright space on title page
532
+ % =============================
533
+
534
+ %%% This section (written by KBT) handles the 1'' box in the lower left
535
+ %%% corner of the left column of the first page by creating a picture,
536
+ %%% and inserting the predefined string at the bottom (with a negative
537
+ %%% displacement to offset the space allocated for a non-existent
538
+ %%% caption).
539
+ %%%
540
+
541
+ \newtoks\copyrightnotice
542
+ \def\ftype@copyrightbox{8}
543
+ \def\@copyrightspace{
544
+ \@float{copyrightbox}[b]
545
+ \begin{center}
546
+ \setlength{\unitlength}{1in}
547
+ \begin{picture}(3.33,0.25) % Space for copyright notice
548
+ \put(0,0){\normalfont\fontsize{8\p@}{8\p@}\selectfont%
549
+ {\@toappear}}
550
+ \end{picture}
551
+ \end{center}
552
+ \end@float}
553
+ \def\@toappear{} % Default setting blank - commands below change this.
554
+ \long\def\toappear#1{\def\@toappear{\parbox[b]{20pc}{\baselineskip 9pt#1}}}
555
+ \def\toappearbox#1{\def\@toappear{\raisebox{5pt}{\framebox[20pc]{\parbox[b]{19pc}{#1}}}}}
556
+
557
+ \def\conferenceinfo#1#2{\gdef\@conferencename{#1}\gdef\@conferenceinfo{#2}}
558
+ \def\@conferencename{}
559
+ \def\@conferenceinfo{}
560
+
561
+ \def\CopyrightYear#1{\gdef\@CopyrightYear{#1}}
562
+ \def\@CopyrightYear{}
563
+ \def\@yourmail{}
564
+ \def\crdata#1{\gdef\@crdata{#1}}
565
+ \def\@crdata{}
566
+ \def\permission#1{\gdef\@permission{#1}}
567
+ \def\@permission{Permission to make digital or hard copies of all or
568
+ part of this work for personal or classroom use is granted without
569
+ fee provided that copies are not made or distributed for profit or
570
+ commercial advantage and that copies bear this notice and the full
571
+ citation on the first page. To copy otherwise, to republish, to
572
+ post on servers or to redistribute to lists, requires prior specific
573
+ permission and/or a fee.}
574
+ \def\crdata#1{\gdef\@crdata{#1}}
575
+ \def\@crdata{}
576
+
577
+ \def\@copyrightinfo{%
578
+ \ifx\@CopyrightYear\@empty
579
+ \else
580
+ ACM \@crdata\
581
+ \fi}
582
+
583
+ \toappear{\scriptsize\@permission\par
584
+ \textsl{\@conferencename} \@conferenceinfo\par\@copyrightinfo}
585
+
586
+
587
+ % Theorems
588
+ % ========
589
+
590
+ \def\@begintheorem#1#2{%
591
+ \trivlist
592
+ \item[\hskip\labelsep\textsc{#1\hskip 5\p@\relax#2.}]
593
+ \itshape\selectfont
594
+ }
595
+ \def\@opargbegintheorem#1#2#3{%
596
+ \trivlist
597
+ \item[%
598
+ \hskip\labelsep
599
+ \textsc{#1\ #2\ % This mod by Gerry to enumerate corollaries
600
+ \setbox\@tempboxa\hbox{(#3)} % and bracket the 'corollary title'
601
+ \ifdim \wd\@tempboxa>\z@ % and retain the correct numbering of e.g. theorems
602
+ \hskip 5\p@\relax % if they occur 'around' said corollaries.
603
+ \box\@tempboxa % Gerry - Nov. 1999.
604
+ \fi.}%
605
+ ]
606
+ \itshape\selectfont
607
+ }
608
+ \newif\if@qeded
609
+ \global\@qededfalse
610
+ \def\proof{%
611
+ \global\@qededfalse
612
+ \@ifnextchar[{\@xproof}{\@proof}%
613
+ }
614
+
615
+ \def\endproof{%
616
+ \if@qeded\else\qed\fi
617
+ \endtrivlist
618
+ }
619
+ \def\@proof{%
620
+ \trivlist
621
+ \item[\hskip\labelsep\textsc{Proof.}]
622
+ \ignorespaces
623
+ }
624
+ \def\@xproof[#1]{%
625
+ \trivlist
626
+ \item[\hskip\labelsep\textsc{Proof #1.}]%
627
+ \ignorespaces
628
+ }
629
+ \def\qed{%
630
+ \unskip
631
+ \kern 10\p@
632
+ \begingroup
633
+ \unitlength\p@
634
+ \linethickness{.4\p@}%
635
+ \framebox(6,6){}%
636
+ \endgroup
637
+ \global\@qededtrue
638
+ }
639
+
640
+ \def\newdef#1#2{%
641
+ \expandafter\@ifdefinable\csname #1\endcsname
642
+ {\@definecounter{#1}%
643
+ \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
644
+ \global\@namedef{#1}{\@defthm{#1}{#2}}%
645
+ \global\@namedef{end#1}{\@endtheorem}%
646
+ }%
647
+ }
648
+ \def\@defthm#1#2{%
649
+ \refstepcounter{#1}%
650
+ \@ifnextchar[{\@ydefthm{#1}{#2}}{\@xdefthm{#1}{#2}}%
651
+ }
652
+ \def\@xdefthm#1#2{%
653
+ \@begindef{#2}{\csname the#1\endcsname}%
654
+ \ignorespaces
655
+ }
656
+ \def\@ydefthm#1#2[#3]{%
657
+ \trivlist
658
+ \item[%
659
+ \hskip\labelsep
660
+ \itshape{#2%
661
+ \savebox\@tempboxa{#3}%
662
+ \ifdim \wd\@tempboxa>\z@
663
+ \ \box\@tempboxa
664
+ \fi.%
665
+ }]%
666
+ \ignorespaces
667
+ }
668
+ \def\@begindef#1#2{%
669
+ \trivlist
670
+ \item[\hskip\labelsep\textit{#1\ #2.}]%
671
+ }
672
+ \def\theequation{\arabic{equation}}
673
+
674
+ % Bibliography
675
+ % ============
676
+
677
+ % This is identical to the code in article.cls except for the first
678
+ % line and \section instead of \section*.
679
+
680
+ \renewenvironment{thebibliography}[1]
681
+ {\ifnum\addauflag=0\addauthorsection\global\addauflag=1\fi
682
+ \section{\refname
683
+ \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}%
684
+ \list{\@biblabel{\@arabic\c@enumiv}}%
685
+ {\settowidth\labelwidth{\@biblabel{#1}}%
686
+ \leftmargin\labelwidth
687
+ \advance\leftmargin\labelsep
688
+ \@openbib@code
689
+ \usecounter{enumiv}%
690
+ \let\p@enumiv\@empty
691
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
692
+ \sloppy
693
+ \clubpenalty4000
694
+ \@clubpenalty \clubpenalty
695
+ \widowpenalty4000%
696
+ \sfcode`\.\@m}
697
+ {\def\@noitemerr
698
+ {\@latex@warning{Empty `thebibliography' environment}}%
699
+ \endlist}
700
+
701
+ \endinput
702
+ %%
703
+ %% End of file `sigplan-proc-varsize.cls'.