ruby-dcl 1.7.1 → 1.8.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 (307) hide show
  1. checksums.yaml +4 -4
  2. data/{ChangeLog → .ChangeLog.until20150318} +0 -0
  3. data/LICENSE.txt +1 -1
  4. data/Rakefile +7 -11
  5. data/demo/gokuraku/hop/hop.rb +1 -1
  6. data/demo/gokuraku/jump/jump1.rb +1 -1
  7. data/demo/gokuraku/jump/jump2.rb +1 -1
  8. data/demo/gokuraku/layout/lay1.rb +1 -1
  9. data/demo/gokuraku/layout/lay2.rb +1 -1
  10. data/demo/gokuraku/step/step0.rb +1 -1
  11. data/demo/gokuraku/step/step1.rb +1 -1
  12. data/demo/gokuraku/step/step2.rb +1 -1
  13. data/demo/gokuraku/u1d/u1d1.rb +1 -1
  14. data/demo/gokuraku/u1d/u1d2.rb +1 -1
  15. data/demo/gokuraku/u2d/u2d1.rb +1 -1
  16. data/demo/gokuraku/u2d/u2d2.rb +1 -1
  17. data/demo/gokuraku/u2d/u2d3.rb +1 -1
  18. data/demo/gokuraku/u2d/u2d4.rb +1 -1
  19. data/demo/grph1/scpack/scpkt2.rb +1 -1
  20. data/demo/grph1/scpack/scpkt3.rb +1 -1
  21. data/demo/grph1/scpack/scpkt6.rb +1 -1
  22. data/demo/grph1/scpack/scpkt7.rb +1 -1
  23. data/demo/grph1/scpack/scpkt8.rb +1 -1
  24. data/demo/grph1/sgpack/sgfont.rb +1 -1
  25. data/demo/grph1/sgpack/sgfonz.rb +1 -1
  26. data/demo/grph1/sgpack/sgksx1.rb +1 -1
  27. data/demo/grph1/sgpack/sgksx2.rb +1 -1
  28. data/demo/grph1/sgpack/sgksx3.rb +1 -1
  29. data/demo/grph1/sgpack/sglidx.rb +1 -1
  30. data/demo/grph1/sgpack/sgltyp.rb +1 -1
  31. data/demo/grph1/sgpack/sgpk01.rb +1 -1
  32. data/demo/grph1/sgpack/sgpk02.rb +1 -1
  33. data/demo/grph1/sgpack/sgpk03.rb +1 -1
  34. data/demo/grph1/sgpack/sgpk04.rb +1 -1
  35. data/demo/grph1/sgpack/sgpk05.rb +1 -1
  36. data/demo/grph1/sgpack/sgpk06.rb +1 -1
  37. data/demo/grph1/sgpack/sgpk07.rb +1 -1
  38. data/demo/grph1/sgpack/sgpk08.rb +1 -1
  39. data/demo/grph1/sgpack/sgpk09.rb +1 -1
  40. data/demo/grph1/sgpack/sgpk10.rb +1 -1
  41. data/demo/grph1/sgpack/sgtclr.rb +1 -1
  42. data/demo/grph1/sgpack/sgtone.rb +1 -1
  43. data/demo/grph1/sgpack/sgtonz.rb +1 -1
  44. data/demo/grph1/slpack/slpk01.rb +1 -1
  45. data/demo/grph1/slpack/slpk02.rb +1 -1
  46. data/demo/grph1/slpack/slpk03.rb +1 -1
  47. data/demo/grph1/slpack/slpk04.rb +1 -1
  48. data/demo/grph2/grpack/grpk01.rb +1 -1
  49. data/demo/grph2/ucpack/ucpk01.rb +1 -1
  50. data/demo/grph2/ucpack/ucpk02.rb +1 -1
  51. data/demo/grph2/udegpk/u2df01.rb +1 -1
  52. data/demo/grph2/udegpk/u2df02.rb +1 -1
  53. data/demo/grph2/udegpk/u2df03.rb +1 -1
  54. data/demo/grph2/udegpk/u2df04.rb +1 -1
  55. data/demo/grph2/udegpk/u2df05.rb +1 -1
  56. data/demo/grph2/udegpk/u2df06.rb +1 -1
  57. data/demo/grph2/udegpk/u2df07.rb +1 -1
  58. data/demo/grph2/udegpk/u2df08.rb +1 -1
  59. data/demo/grph2/uipack/uipk01.rb +1 -1
  60. data/demo/grph2/uipack/uipk02.rb +1 -1
  61. data/demo/grph2/ulpack/ulpk01.rb +1 -1
  62. data/demo/grph2/ulpack/ulpk01n.rb +1 -1
  63. data/demo/grph2/ulpack/ulpk02.rb +1 -1
  64. data/demo/grph2/ulpack/ulpk02n.rb +1 -1
  65. data/demo/grph2/umpack/test01.rb +1 -1
  66. data/demo/grph2/umpack/test02.rb +1 -1
  67. data/demo/grph2/umpack/test03.rb +1 -1
  68. data/demo/grph2/umpack/test04.rb +1 -1
  69. data/demo/grph2/umpack/test05.rb +1 -1
  70. data/demo/grph2/umpack/test06.rb +1 -1
  71. data/demo/grph2/umpack/test07.rb +1 -1
  72. data/demo/grph2/umpack/test08.rb +1 -1
  73. data/demo/grph2/umpack/umpk01.rb +1 -1
  74. data/demo/grph2/umpack/umpk02.rb +1 -1
  75. data/demo/grph2/umpack/umpk03.rb +1 -1
  76. data/demo/grph2/umpack/umpk04.rb +1 -1
  77. data/demo/grph2/umpack/umpk05.rb +1 -1
  78. data/demo/grph2/uspack/uspk01.rb +1 -1
  79. data/demo/grph2/uspack/uspk02.rb +1 -1
  80. data/demo/grph2/uspack/uspk03.rb +1 -1
  81. data/demo/grph2/uspack/uspk04.rb +1 -1
  82. data/demo/grph2/uspack/uspk05.rb +1 -1
  83. data/demo/grph2/uspack/uspk06.rb +1 -1
  84. data/demo/grph2/uspack/uspk07.rb +1 -1
  85. data/demo/grph2/uspack/uspk08.rb +1 -1
  86. data/demo/grph2/uspack/uspk09.rb +1 -1
  87. data/demo/grph2/uspack/uspk10.rb +1 -1
  88. data/demo/grph2/uspack/uspk11.rb +1 -1
  89. data/demo/grph2/uspack/uspk12.rb +1 -1
  90. data/demo/grph2/uupack/uupk01.rb +1 -1
  91. data/demo/grph2/uupack/uupk02.rb +1 -1
  92. data/demo/grph2/uupack/uupk03.rb +1 -1
  93. data/demo/grph2/uupack/uupk04.rb +1 -1
  94. data/demo/grph2/uupack/uupk05.rb +1 -1
  95. data/demo/grph2/uupack/uupk06.rb +1 -1
  96. data/demo/grph2/uupack/uupk07.rb +1 -1
  97. data/demo/grph2/uxyzpk/uxyz01.rb +1 -1
  98. data/demo/grph2/uxyzpk/uxyz02.rb +1 -1
  99. data/demo/grph2/uxyzpk/uxyz03.rb +1 -1
  100. data/demo/grph2/uxyzpk/uxyz04.rb +1 -1
  101. data/demo/grph2/uxyzpk/uxyz05.rb +1 -1
  102. data/demo/grph2/uxyzpk/uxyz06.rb +1 -1
  103. data/demo/grph2/uxyzpk/uxyz07.rb +1 -1
  104. data/demo/grph2/uxyzpk/uxyz08.rb +1 -1
  105. data/demo/grph2/uxyzpk/uxyz09.rb +1 -1
  106. data/demo/grph2/uxyzpk/uxyz10.rb +1 -1
  107. data/demo/grph2/ximage/ximg01.rb +1 -1
  108. data/demo/math1/clsplib/cslb01.rb +1 -1
  109. data/demo/math2/fftlib/fftl01.rb +1 -1
  110. data/demo/math2/fftlib/fftl02.rb +1 -1
  111. data/demo/math2/intrlib/intr01.rb +1 -1
  112. data/demo/math2/rnmlib/rnml01.rb +1 -1
  113. data/demo/math2/vstlib/vstl01.rb +1 -1
  114. data/demo/math2/vstlib/vstl02.rb +1 -1
  115. data/demo/rakuraku/color/color1.rb +1 -1
  116. data/demo/rakuraku/color/color2.rb +1 -1
  117. data/demo/rakuraku/color/color3.rb +1 -1
  118. data/demo/rakuraku/kihon/kihon1.rb +1 -1
  119. data/demo/rakuraku/kihon/kihon2.rb +1 -1
  120. data/demo/rakuraku/kihon/kihon3.rb +1 -1
  121. data/demo/rakuraku/kihon/kihon4.rb +1 -1
  122. data/demo/rakuraku/kihon/kihon5.rb +1 -1
  123. data/demo/rakuraku/kihon/kihon6.rb +1 -1
  124. data/demo/rakuraku/kihon/kihon7.rb +1 -1
  125. data/demo/rakuraku/kihon/kihon8.rb +1 -1
  126. data/demo/rakuraku/kihon/kihon9.rb +1 -1
  127. data/demo/rakuraku/kihon/kihona.rb +1 -1
  128. data/demo/rakuraku/kihon/kihonb.rb +1 -1
  129. data/demo/rakuraku/kihon/kihonc.rb +1 -1
  130. data/demo/rakuraku/layout/lay1.rb +1 -1
  131. data/demo/rakuraku/layout/lay2.rb +1 -1
  132. data/demo/rakuraku/layout/lay3.rb +1 -1
  133. data/demo/rakuraku/map3d/map3d1.rb +1 -1
  134. data/demo/rakuraku/map3d/map3d2.rb +1 -1
  135. data/demo/rakuraku/map3d/map3d3.rb +1 -1
  136. data/demo/rakuraku/map3d/map3d4.rb +1 -1
  137. data/demo/rakuraku/map3d/map3d5.rb +1 -1
  138. data/demo/rakuraku/miss/miss1.rb +1 -1
  139. data/demo/rakuraku/miss/miss2.rb +1 -1
  140. data/demo/rakuraku/quick/quick1.rb +1 -1
  141. data/demo/rakuraku/quick/quick2.rb +1 -1
  142. data/demo/rakuraku/quick/quick3.rb +1 -1
  143. data/demo/rakuraku/quick/quick4.rb +1 -1
  144. data/demo/rakuraku/quick/quick5.rb +1 -1
  145. data/demo/rakuraku/u2d/u2d1.rb +1 -1
  146. data/demo/rakuraku/u2d/u2d2.rb +1 -1
  147. data/demo/rakuraku/u2d/u2d3.rb +1 -1
  148. data/demo/rakuraku/u2d/u2d4.rb +1 -1
  149. data/demo/rakuraku/u2d/u2d5.rb +1 -1
  150. data/demo/rakuraku/u2d/u2d6.rb +1 -1
  151. data/demo/rakuraku/u2d/u2d7.rb +1 -1
  152. data/demo/rakuraku/uspack/uspac1.rb +1 -1
  153. data/demo/rakuraku/uspack/uspac2.rb +1 -1
  154. data/demo/rakuraku/uspack/uspac3.rb +1 -1
  155. data/demo/rakuraku/uspack/uspac4.rb +1 -1
  156. data/demo/rakuraku/uxyz/uxyz1.rb +1 -1
  157. data/demo/rakuraku/uxyz/uxyz2.rb +1 -1
  158. data/demo/rakuraku/uxyz/uxyz3.rb +1 -1
  159. data/demo/rakuraku/uxyz/uxyz4.rb +1 -1
  160. data/demo/rakuraku/uxyz/uxyz5.rb +1 -1
  161. data/demo/rakuraku/uxyz/uxyz6.rb +1 -1
  162. data/demo/rakuraku/uxyz/uxyz7.rb +1 -1
  163. data/demo/rakuraku/uxyz/uxyz8.rb +1 -1
  164. data/ext/numru/dcl_cary2obj.c +28 -23
  165. data/ext/numru/dcl_obj2cary.c +8 -4
  166. data/ext/numru/dcl_rubydcloriginal.c +14 -4
  167. data/ext/numru/extconf.rb +9 -51
  168. data/ext/numru/grph1_csgi.c +9 -5
  169. data/ext/numru/grph1_scpack.c +9 -5
  170. data/ext/numru/grph1_sgpack.c +9 -5
  171. data/ext/numru/grph1_slpack.c +9 -5
  172. data/ext/numru/grph1_stpack.c +9 -5
  173. data/ext/numru/grph1_swpack.c +69 -5
  174. data/ext/numru/grph2_grpack.c +9 -5
  175. data/ext/numru/grph2_ucpack.c +9 -5
  176. data/ext/numru/grph2_udpack.c +9 -5
  177. data/ext/numru/grph2_uepack.c +9 -5
  178. data/ext/numru/grph2_ugpack.c +9 -5
  179. data/ext/numru/grph2_uhpack.c +9 -5
  180. data/ext/numru/grph2_uipack.c +9 -5
  181. data/ext/numru/grph2_ulpack.c +9 -5
  182. data/ext/numru/grph2_umpack.c +9 -5
  183. data/ext/numru/grph2_uspack.c +9 -5
  184. data/ext/numru/grph2_uupack.c +9 -5
  185. data/ext/numru/grph2_uvpack.c +9 -5
  186. data/ext/numru/grph2_uwpack.c +9 -5
  187. data/ext/numru/grph2_uxpack.c +9 -5
  188. data/ext/numru/grph2_uypack.c +9 -5
  189. data/ext/numru/grph2_uzpack.c +9 -5
  190. data/ext/numru/init.c +202 -0
  191. data/ext/numru/init.c.default +7 -0
  192. data/ext/numru/math1_blklib.c +9 -5
  193. data/ext/numru/math1_chrlib.c +9 -5
  194. data/ext/numru/math1_clsplib.c +9 -5
  195. data/ext/numru/math1_fnclib.c +9 -5
  196. data/ext/numru/math1_gnmlib.c +9 -5
  197. data/ext/numru/math1_gt2dlib.c +9 -5
  198. data/ext/numru/math1_ifalib.c +9 -5
  199. data/ext/numru/math1_indxlib.c +9 -5
  200. data/ext/numru/math1_intlib.c +9 -5
  201. data/ext/numru/math1_lrllib.c +9 -5
  202. data/ext/numru/math1_maplib.c +9 -5
  203. data/ext/numru/math1_oslib.c +9 -5
  204. data/ext/numru/math1_rfalib.c +9 -5
  205. data/ext/numru/math1_rfblib.c +9 -5
  206. data/ext/numru/math1_sublib.c +9 -5
  207. data/ext/numru/math1_syslib.c +9 -5
  208. data/ext/numru/math1_vialib.c +9 -5
  209. data/ext/numru/math1_viblib.c +9 -5
  210. data/ext/numru/math1_vralib.c +9 -5
  211. data/ext/numru/math1_vrblib.c +9 -5
  212. data/ext/numru/math1_xfclib.c +9 -5
  213. data/ext/numru/math2_fftlib.c +9 -5
  214. data/ext/numru/math2_intrlib.c +9 -5
  215. data/ext/numru/math2_rnmlib.c +9 -5
  216. data/ext/numru/math2_shtlib.c +9 -5
  217. data/ext/numru/math2_vstlib.c +9 -5
  218. data/ext/numru/misc1_chnlib.c +9 -5
  219. data/ext/numru/misc1_datelib.c +9 -5
  220. data/ext/numru/misc1_fmtlib.c +9 -5
  221. data/ext/numru/misc1_misclib.c +9 -5
  222. data/ext/numru/misc1_randlib.c +9 -5
  223. data/ext/numru/misc1_timelib.c +9 -5
  224. data/lib/numru/dcl.rb +6 -5580
  225. data/lib/numru/dcl/dcl.rb +5591 -0
  226. data/lib/numru/dcl/version.rb +5 -0
  227. data/ruby-dcl-bigmem.gemspec +36 -0
  228. data/ruby-dcl.gemspec +10 -9
  229. metadata +17 -93
  230. data/.gitignore +0 -13
  231. data/.rspec +0 -2
  232. data/.travis.yml +0 -3
  233. data/GenWrapper/cproto2init.rb +0 -41
  234. data/GenWrapper/dcl_narrayed_funcs.rb +0 -181
  235. data/GenWrapper/dcl_rb_footing +0 -29
  236. data/GenWrapper/dcl_rb_heading +0 -123
  237. data/GenWrapper/def.rb +0 -20
  238. data/GenWrapper/elim_ary_size.rb +0 -398
  239. data/GenWrapper/etc/p_header +0 -64
  240. data/GenWrapper/pparse.rb +0 -137
  241. data/GenWrapper/proto/grph1_00 +0 -17
  242. data/GenWrapper/proto/grph1_csgi.fp +0 -27
  243. data/GenWrapper/proto/grph1_scpack.fp +0 -442
  244. data/GenWrapper/proto/grph1_sgpack.fp +0 -1772
  245. data/GenWrapper/proto/grph1_slpack.fp +0 -316
  246. data/GenWrapper/proto/grph1_stpack.fp +0 -455
  247. data/GenWrapper/proto/grph1_swpack.fp +0 -826
  248. data/GenWrapper/proto/grph2_00 +0 -16
  249. data/GenWrapper/proto/grph2_grpack.fp +0 -139
  250. data/GenWrapper/proto/grph2_ucpack.fp +0 -522
  251. data/GenWrapper/proto/grph2_udpack.fp +0 -692
  252. data/GenWrapper/proto/grph2_uepack.fp +0 -601
  253. data/GenWrapper/proto/grph2_ugpack.fp +0 -436
  254. data/GenWrapper/proto/grph2_uhpack.fp +0 -246
  255. data/GenWrapper/proto/grph2_uipack.fp +0 -508
  256. data/GenWrapper/proto/grph2_ulpack.fp +0 -516
  257. data/GenWrapper/proto/grph2_umpack.fp +0 -676
  258. data/GenWrapper/proto/grph2_uspack.fp +0 -989
  259. data/GenWrapper/proto/grph2_uupack.fp +0 -663
  260. data/GenWrapper/proto/grph2_uvpack.fp +0 -246
  261. data/GenWrapper/proto/grph2_uwpack.fp +0 -203
  262. data/GenWrapper/proto/grph2_uxpack.fp +0 -295
  263. data/GenWrapper/proto/grph2_uypack.fp +0 -295
  264. data/GenWrapper/proto/grph2_uzpack.fp +0 -574
  265. data/GenWrapper/proto/math1_00 +0 -12
  266. data/GenWrapper/proto/math1_blklib.fp +0 -58
  267. data/GenWrapper/proto/math1_chrlib.fp +0 -83
  268. data/GenWrapper/proto/math1_clsplib.fp +0 -74
  269. data/GenWrapper/proto/math1_fnclib.fp +0 -79
  270. data/GenWrapper/proto/math1_gnmlib.fp +0 -118
  271. data/GenWrapper/proto/math1_gt2dlib.fp +0 -144
  272. data/GenWrapper/proto/math1_ifalib.fp +0 -123
  273. data/GenWrapper/proto/math1_indxlib.fp +0 -222
  274. data/GenWrapper/proto/math1_intlib.fp +0 -46
  275. data/GenWrapper/proto/math1_lrllib.fp +0 -276
  276. data/GenWrapper/proto/math1_maplib.fp +0 -24
  277. data/GenWrapper/proto/math1_oslib.fp +0 -28
  278. data/GenWrapper/proto/math1_rfalib.fp +0 -420
  279. data/GenWrapper/proto/math1_rfblib.fp +0 -51
  280. data/GenWrapper/proto/math1_sublib.fp +0 -60
  281. data/GenWrapper/proto/math1_syslib.fp +0 -767
  282. data/GenWrapper/proto/math1_vialib.fp +0 -339
  283. data/GenWrapper/proto/math1_viblib.fp +0 -264
  284. data/GenWrapper/proto/math1_vralib.fp +0 -339
  285. data/GenWrapper/proto/math1_vrblib.fp +0 -264
  286. data/GenWrapper/proto/math1_xfclib.fp +0 -68
  287. data/GenWrapper/proto/math2_00 +0 -12
  288. data/GenWrapper/proto/math2_fftlib.fp +0 -803
  289. data/GenWrapper/proto/math2_intrlib.fp +0 -32
  290. data/GenWrapper/proto/math2_odelib.fp_notused +0 -568
  291. data/GenWrapper/proto/math2_rnmlib.fp +0 -54
  292. data/GenWrapper/proto/math2_shtlib.fp +0 -1292
  293. data/GenWrapper/proto/math2_vstlib.fp +0 -84
  294. data/GenWrapper/proto/misc1_00 +0 -17
  295. data/GenWrapper/proto/misc1_chnlib.fp +0 -47
  296. data/GenWrapper/proto/misc1_datelib.fp +0 -352
  297. data/GenWrapper/proto/misc1_fmtlib.fp +0 -19
  298. data/GenWrapper/proto/misc1_misclib.fp +0 -26
  299. data/GenWrapper/proto/misc1_randlib.fp +0 -50
  300. data/GenWrapper/proto/misc1_timelib.fp +0 -151
  301. data/GenWrapper/proto2c.rb +0 -13
  302. data/GenWrapper/prototype.rb +0 -209
  303. data/GenWrapper/util.rb +0 -9
  304. data/GenWrapper/variable.rb +0 -671
  305. data/ToDo +0 -2
  306. data/bin/console +0 -14
  307. data/bin/setup +0 -7
@@ -1,29 +0,0 @@
1
- # //// Ruby-DCL original extention methods ////
2
-
3
- alias __uemrkz uemrkz
4
- def uemrkz( upx,upy,z,itype,index,rsize )
5
-
6
- #< extract array size(s) (which was(were) formerly an argument(s)) >
7
- if ! ( upx == nil || upx.is_a?(Float) && lreq( upx, glrget("RUNDEF") ) )
8
- len_upx_0 = upx.length
9
- n = len_upx_0
10
- else
11
- upx = glrget("RUNDEF") if ( upx == nil )
12
- len_upy_0 = upy.length
13
- n = len_upy_0
14
- end
15
-
16
- #< check array size(s) >
17
- raise "Invalid array length: upx.length != n" if \
18
- upx!=nil && !( upx.is_a?(Float) && lreq(upx,glrget("RUNDEF")) ) && upx.length != (n)
19
- raise "Invalid array length: upy.length != n" if \
20
- upy!=nil && !( upy.is_a?(Float) && lreq(upy,glrget("RUNDEF")) ) && upy.length != (n)
21
- raise "Invalid array length: z.length != n" if \
22
- z!=nil && !( z.is_a?(Float) && lreq(z,glrget("RUNDEF")) ) && z.length != (n)
23
-
24
- #< call the original method >
25
- __uemrkz( n,upx,upy,z,itype,index,rsize )
26
- end
27
- module_function :uemrkz, :__uemrkz
28
- private_class_method :__uemrkz
29
-
@@ -1,123 +0,0 @@
1
- require "narray"
2
- require "numru/dcl_raw"
3
-
4
- module NumRu
5
- module DCL
6
- init_arg($0,ARGV) if DCLVERSION >= "5.3.2"
7
-
8
- #<<< private functions >>>
9
-
10
- def not_nary( na )
11
- if defined?(NArrayMiss)
12
- !na.is_a?(NArray) && !na.is_a?(NArrayMiss)
13
- else
14
- !na.is_a?(NArray)
15
- end
16
- end
17
- module_function :not_nary
18
- private_class_method :not_nary
19
-
20
- #<<< ??p(set|stx|get) >>>
21
-
22
- %w!gl sl sg uc ud ue ug ui ul um uu uz!.each do |pkg|
23
- %w!set stx!.each do |set|
24
- eval <<-EOS
25
- def #{pkg}p#{set}( name, value )
26
- case name
27
- when /^l/i
28
- DCL.#{pkg}l#{set}(name,value)
29
- when /^[i-n]/i
30
- DCL.#{pkg}i#{set}(name,value)
31
- else
32
- DCL.#{pkg}r#{set}(name,value)
33
- end
34
- end
35
- module_function :#{pkg}p#{set}
36
- EOS
37
- end
38
- eval <<-EOS
39
- def #{pkg}pget( name )
40
- case name
41
- when /^l/i
42
- DCL.#{pkg}lget(name)
43
- when /^[i-n]/i
44
- DCL.#{pkg}iget(name)
45
- else
46
- DCL.#{pkg}rget(name)
47
- end
48
- end
49
- module_function :#{pkg}pget
50
- EOS
51
- end
52
-
53
- %w!us!.each do |pkg|
54
- %w!set stx!.each do |set|
55
- eval <<-EOS
56
- def #{pkg}p#{set}( name, value )
57
- case name
58
- when /^c/i
59
- DCL.#{pkg}c#{set}(name,value)
60
- when /^l/i
61
- DCL.#{pkg}l#{set}(name,value)
62
- when /^[i-n]/i
63
- DCL.#{pkg}i#{set}(name,value)
64
- else
65
- DCL.#{pkg}r#{set}(name,value)
66
- end
67
- end
68
- module_function :#{pkg}p#{set}
69
- EOS
70
- end
71
- eval <<-EOS
72
- def #{pkg}pget( name )
73
- case name
74
- when /^c/i
75
- DCL.#{pkg}cget(name)
76
- when /^l/i
77
- DCL.#{pkg}lget(name)
78
- when /^[i-n]/i
79
- DCL.#{pkg}iget(name)
80
- else
81
- DCL.#{pkg}rget(name)
82
- end
83
- end
84
- module_function :#{pkg}pget
85
- EOS
86
- end
87
-
88
- @@sw_char_params = [/^WSNAME/i,/^FONT/i,/^CL2TN$/i,/^FNAME$/i,/^TITLE$/i,
89
- /^CLRMAP$/i,/^LPR$/i]
90
- %w!set stx!.each do |set|
91
- eval <<-EOS
92
- def swp#{set}(name, value)
93
- case name
94
- when *@@sw_char_params
95
- DCL.swc#{set}(name,value)
96
- when /^l/i
97
- DCL.swl#{set}(name,value)
98
- when /^[i-n]/i
99
- DCL.swi#{set}(name,value)
100
- else
101
- DCL.swr#{set}(name,value)
102
- end
103
- end
104
- module_function :swp#{set}
105
- EOS
106
- end
107
- def swpget( name )
108
- case name
109
- when *@@sw_char_params
110
- DCL.swcget(name)
111
- when /^l/i
112
- DCL.swlget(name)
113
- when /^[i-n]/i
114
- DCL.swiget(name)
115
- else
116
- DCL.swrget(name)
117
- end
118
- end
119
- module_function :swpget
120
-
121
-
122
- #<<< to eliminate array length arguments >>>
123
-
@@ -1,20 +0,0 @@
1
- # def.rb
2
- # $Id: def.rb,v 1.1.1.1 2011/02/23 07:21:28 horinout Exp $
3
-
4
- OBJ2CCHARARY = "dcl_obj2ccharary"
5
- OBJ2CINTEGERARY = "dcl_obj2cintegerary"
6
- OBJ2CREALARY = "dcl_obj2crealary"
7
- OBJ2CCOMPLEXARY = "dcl_obj2ccomplexary"
8
- OBJ2CLOGICALARY = "dcl_obj2clogicalary"
9
-
10
- CCHARARY2OBJ = "dcl_ccharary2obj"
11
- CINTEGERARY2OBJ = "dcl_cintegerary2obj"
12
- CREALARY2OBJ = "dcl_crealary2obj"
13
- CCOMPLEXARY2OBJ = "dcl_ccomplexary2obj"
14
- CLOGICALARY2OBJ = "dcl_clogicalary2obj"
15
-
16
- FREECCHARARY = "dcl_freeccharary"
17
- FREECINTEGERARY = "dcl_freecintegerary"
18
- FREECREALARY = "dcl_freecrealary"
19
- FREECCOMPLEXARY = "dcl_freeccomplexary"
20
- FREECLOGICALARY = "dcl_freeclogicalary"
@@ -1,398 +0,0 @@
1
- # Eliminate array size arguments
2
- # May 13, 2002 T. Horinouchi
3
- #
4
- # Usage:
5
- # % ruby generate_new_rbdcl.rb proto_files
6
- # where files are grph2_uvpack.fp math2_fftlib.fb etc (in the proto directory)
7
-
8
- class Variable
9
- def initialize(decl)
10
- name, *tmp = decl.split.reverse
11
- tmp.reverse!
12
- attr = (tmp[-1] =~ /^[a-z]+$/ ? tmp.pop : "i")
13
- ary = (tmp[-1] =~ /^\((.*)\)/ ? (tmp.pop; $1.downcase) : false)
14
- vtype = tmp.pop
15
- if (/(\d+)|\*\((.*)\)/ =~ vtype)
16
- charlen = ($1||$2).downcase # may be charcter length
17
- vtype = vtype.scan(/\w+/)[0]
18
- else
19
- charlen = nil
20
- end
21
- @name = name.downcase
22
- @attr = attr
23
- @ary = ary
24
- @vtype = vtype.downcase
25
- end
26
-
27
- attr_reader(:name, :attr, :ary, :vtype)
28
- end
29
-
30
- def pre_filter(decl)
31
- case $method_name
32
- when /(^ud|^ue|^ui)/
33
- # replace MX with NX
34
- decl.gsub!('MX','NX')
35
- when /^ug/
36
- # replace MU & MV with NX
37
- decl.gsub!(/(MU|MV)/,'NX')
38
- end
39
- decl
40
- end
41
-
42
- def extract_args(proto)
43
- args_org = []
44
- while ( decl = proto.gets )
45
- break if decl =~ /^ *\)$/
46
- decl = pre_filter(decl)
47
- if ( decl !~ /^\s*$/ )
48
- print decl if $DEBUG
49
- var = Variable.new(decl)
50
- p var if var.ary if $DEBUG
51
- if var.attr != "o" && var.attr != "t"
52
- args_org.push(var)
53
- else
54
- end
55
- end
56
- end
57
- args_org
58
- end
59
-
60
- def has_array?( args )
61
- args.each do |v|
62
- return true if v.ary
63
- end
64
- false
65
- end
66
-
67
- def new_args( args_org )
68
- del_argname = []
69
- args_org.each do |v|
70
- if ( (shape = v.ary) )
71
- shape = shape.split(',')
72
- shape.each do |lendef|
73
- lpos = lendef.index(/([a-z]\w*)/)
74
- m = $1
75
- if ( lpos )
76
- lpos2 = lendef.index(/([a-z]\w*)/,lpos+m.length)
77
- if (!lpos2)
78
- # to be deleted only when unambiguous
79
- del_argname.push(m) if m && !del_argname.include?(m)
80
- end
81
- end
82
- end
83
- end
84
- end
85
- args_new = args_org.clone
86
- del_argname.each do |nm|
87
- args_new.delete_if {|v|
88
- v.name == nm
89
- }
90
- end
91
- print " ORG: ", args_org.collect{|i| i.name}.join(','),"\n" if $DEBUG
92
- print " NEW: ", args_new.collect{|i| i.name}.join(','),"\n" if $DEBUG
93
- print " args deleted: ",del_argname.join(','),"\n" if $DEBUG
94
- [args_new, del_argname]
95
- end
96
-
97
-
98
- def new_def( args_org, args_new, del_argname )
99
- method_def = <<-EOS
100
- alias __#{$method_name} #{$method_name}
101
- def #{$method_name}( #{args_new.collect{|i| i.name}.join(',')} )
102
- EOS
103
- method_def.concat( del_arg_deriv( args_new, del_argname ) )
104
- args_org_names = args_org.collect{|arg| arg.name}
105
- method_def.concat( check_array_size( args_new, args_org_names ) )
106
- method_def.concat( <<-EOS
107
-
108
- #< call the original method >
109
- __#{$method_name}( #{args_org.collect{|i| i.name}.join(',')} )
110
- end
111
- module_function :#{$method_name}, :__#{$method_name}
112
- private_class_method :__#{$method_name}
113
-
114
- EOS
115
- )
116
-
117
- #print '*** ',method_def
118
- method_def
119
- end
120
-
121
- #def wrap_in_rundef_rescue(
122
- # if ( #{v.name}.is_a(Float) && x == glrget("RMISS") )
123
- #end
124
-
125
- def del_arg_deriv( args_new, del_argname )
126
- deriv = ""
127
- first = true
128
- del_argname.each do |nm|
129
- ary = []
130
- args_new.each do |v|
131
- if v.ary && v.ary =~ /\W*#{nm}\W*/
132
- ary.push( [ v.name, inv_deriv(nm, v.ary, v.name) ] )
133
- if (!possibly_rundef?(nm, v.name))
134
- break
135
- end
136
- end
137
- end
138
- if(first)
139
- deriv = <<-EOS
140
-
141
- #< extract array size(s) (which was(were) formerly an argument(s)) >
142
- EOS
143
- first = false
144
- end
145
- deriv.concat( recursive_join( ary ) )
146
- end
147
- deriv
148
- end
149
-
150
- def possibly_rundef?(argname, varname)
151
- case $method_name
152
- when /(^usgrph|^usspnt)/
153
- if( argname == 'n' && varname == 'x' )
154
- return true
155
- elsif ( argname == nil )
156
- return true
157
- end
158
- when /(^uulin|^uumrk|^uv|^uh)/
159
- if ( argname == 'n' &&
160
- ( varname == 'upx' || varname == 'upy' ||
161
- varname == 'upx1' || varname == 'upx2' ||
162
- varname == 'upy1' || varname == 'upy2' ) )
163
- return true
164
- elsif ( argname == nil )
165
- return true
166
- end
167
- end
168
- false
169
- end
170
-
171
- def recursive_join( ary )
172
- first = ary.shift
173
- if( ary.length > 0)
174
- str = <<-EOS
175
- if ! ( #{first[0]} == nil || #{first[0]}.is_a?(Float) && lreq( #{first[0]}, glrget("RUNDEF") ) )
176
- #{first[1].gsub(/^/," ").chop}
177
- else
178
- EOS
179
- str += <<-EOS
180
- #{first[0]} = glrget("RUNDEF") if ( #{first[0]} == nil )
181
- #{recursive_join(ary).gsub(/^/," ").chop}
182
- end
183
- EOS
184
- else
185
- first[1]
186
- end
187
- end
188
-
189
-
190
- def inv_arithm(lendef, varname)
191
- case lendef
192
- when varname
193
- form = "LEN"
194
- when /^(\w+) *\* *#{varname}$/
195
- form = "LEN / #{$1}"
196
- when /^#{varname} *\/ *(\w+)$/
197
- form = "LEN * #{$1}"
198
- when /^#{varname} *\+ *(\w+)$/
199
- form = "LEN - #{$1}"
200
- when /^\(*(\w+) *\* *#{varname} *\+ *(\w+)\)*$/
201
- form = "( LEN - #{$2} ) / #{$1}"
202
- else
203
- raise 'unsuppoerted dimension specification : '+lendef
204
- end
205
- form
206
- end
207
-
208
- def inv_deriv(argname, shape, aryname)
209
- deriv = ""
210
- shape = shape.split(',')
211
- multiD = ( shape.length > 1 )
212
- shape.each_index do |i|
213
- if (lendef=shape[i]) =~ /\W*#{argname}\W*/
214
- idim = i
215
- form = inv_arithm( lendef, argname )
216
- form.sub!('LEN',"len_#{aryname}_#{idim}")
217
- if multiD
218
- deriv = <<-EOS
219
- if ( not_nary(#{aryname}) || (#{aryname}.rank < #{idim+1}) )
220
- raise "#{aryname} must be a NArray of rank == #{shape.length}"
221
- end
222
- len_#{aryname}_#{idim} = #{aryname}.shape[#{idim}]
223
- EOS
224
- else
225
- deriv = <<-EOS
226
- len_#{aryname}_#{idim} = #{aryname}.length
227
- EOS
228
- end
229
- deriv.concat( <<-EOS
230
- #{argname} = #{form}
231
- EOS
232
- )
233
- print deriv if $DEBUG
234
- break
235
- end
236
- end
237
- deriv
238
- end
239
-
240
- def aster2dimlen_if_possible( varname, dimlen )
241
- if $method_name =~ /(^rvmax|^rvmin)/ && varname == 'rx'
242
- dimlen.replace('(len=1; ns.each{|i| len*=i}; len)')
243
- true
244
- else
245
- raise $!
246
- end
247
- end
248
-
249
- def consist_of_names?(str, names)
250
- ary = str.split(/\W/).uniq
251
- names.each{|str| ary.delete(str)}
252
- ary.each do |str|
253
- return false if (/^\d*$/ !~ str)
254
- end
255
- true
256
- end
257
-
258
- def check_array_size( args_new, args_org_names )
259
- body = <<-EOS
260
-
261
- #< check array size(s) >
262
- EOS
263
- args_new.each do |v|
264
- if ( v.ary )
265
- shape = v.ary.split(',')
266
- if ( shape.length == 1 )
267
- arylen_replaced = false
268
- if ( shape[0] == '*' )
269
- begin
270
- raise "Array #{v.name} is declared using *"
271
- rescue
272
- arylen_replaced = aster2dimlen_if_possible( v.name, shape[0] )
273
- end
274
- end
275
- if possibly_rundef?(nil, v.name)
276
- ins = "\\\n #{v.name}!=nil && !( #{v.name}.is_a?(Float) && lreq(#{v.name},glrget(\"RUNDEF\")) ) && "
277
- else
278
- ins = ""
279
- end
280
- if arylen_replaced || consist_of_names?(shape[0], args_org_names )
281
- body.concat( <<-EOS
282
- raise "Invalid array length: #{v.name}.length != #{shape[0]}" if #{ins}#{v.name}.length != (#{shape[0]})
283
- EOS
284
- )
285
- end
286
- else
287
- shape.each_index do |i|
288
- if ( shape[i] == '*' )
289
- raise "Array #{v.name}'s #{i}-th dim is declared using *"
290
- end
291
- body.concat( <<-EOS
292
- raise "Invalid array shape: #{v.name}.shape[#{i}] != #{shape[i]}" if #{v.name}.shape[#{i}] != (#{shape[i]})
293
- EOS
294
- )
295
- end
296
- end
297
- end
298
- end
299
- body
300
- end
301
-
302
- def head
303
- f = File.open('dcl_rb_heading')
304
- heading = f .readlines
305
- f.close
306
- heading
307
- end
308
-
309
- def foot
310
- f = File.open('dcl_rb_footing')
311
- footing = f .readlines
312
- f.close
313
- footing
314
- end
315
-
316
- def close
317
- return <<-EOS
318
- end
319
- end
320
- EOS
321
- end
322
-
323
- def post_filter( ndf )
324
- if $method_name == 'udcntz'
325
- ndf.sub!(/,nbr2/,'')
326
- add = <<-EOS
327
- # derivation of nbr2 is provied aditionally in the method post_filter:
328
- nbr2 = (nx+2)*(ny+2)*6/32+4
329
-
330
- EOS
331
- ndf =~ /(^ *\#.*check array size.*$)/
332
- ndf[$1] = add + $1
333
- end
334
- end
335
-
336
- def delete_comment(src) # [ruby-list:32030] [ruby-list:32049]
337
- src.gsub(%r@ ([\'\"])(\\.|.)*?\1
338
- | (/\*.*?\*/)
339
- | (//)[^\n]*$
340
- @mx) {
341
- if $3
342
- s = $3.delete("^\n")
343
- s = ' ' if s.empty?
344
- s
345
- elsif $4
346
- ''
347
- else
348
- $&
349
- end
350
- }
351
- end
352
-
353
- ##################### (main) ###########################
354
- require "tempfile"
355
- files = ARGV
356
- ofilename = "../lib/dcl.rb"
357
- ofile = open( ofilename, "w+" )
358
- ofile.puts( head() )
359
- for f in files
360
- print "processing file #{f}\n"
361
- #proto = open("| cat #{f} | gcc -E -", "r+")
362
- #proto.close_write
363
- fl = File.open(f)
364
- proto = Tempfile.new('proto', '.')
365
- proto.print( delete_comment(fl.read) )
366
- proto.sync
367
- proto.rewind
368
- fl.close
369
- while ( line = proto.gets )
370
- case line
371
- when /^ *SUBROUTINE *(\w+)|^ *\w+ *FUNCTION *(\w+)/
372
- $method_name = ( $1 || $2 ).downcase
373
- print $method_name+"\n" if $DEBUG
374
- args_org = extract_args(proto)
375
- if ( has_array?(args_org) )
376
- # redefine the method
377
- args_new, del_argname = new_args( args_org )
378
- ndf = new_def( args_org, args_new, del_argname )
379
- post_filter( ndf )
380
- ofile.puts( ndf )
381
- end
382
- when /^#if *DCLVER *([<=>]+) *(\d\d\d)/
383
- op = $1
384
- ver = "'"+$2.split(//).join('.')+"'" # "'5.3.1'" etc
385
- ver.sub!(/\.0/,'')
386
- ofile.print(" if DCLVERSION #{op} #{ver}\n")
387
- when /^#endif/
388
- ofile.print(" end\n\n")
389
- end
390
- end
391
- proto.close
392
- end
393
-
394
- ofile.puts( foot() )
395
- ofile.puts( close() )
396
- ofile.close
397
-
398
- print "generated the DCL module file #{ofilename}\n"