ruby-dcl 1.7.1 → 1.8.2

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 (327) hide show
  1. checksums.yaml +5 -5
  2. data/ChangeLog +1149 -365
  3. data/LICENSE.txt +1 -1
  4. data/Rakefile +7 -11
  5. data/demo/gokuraku/hop/hop.rb +1 -2
  6. data/demo/gokuraku/jump/jump1.rb +1 -2
  7. data/demo/gokuraku/jump/jump2.rb +2 -3
  8. data/demo/gokuraku/layout/lay1.rb +1 -2
  9. data/demo/gokuraku/layout/lay2.rb +1 -2
  10. data/demo/gokuraku/step/step0.rb +1 -2
  11. data/demo/gokuraku/step/step1.rb +1 -2
  12. data/demo/gokuraku/step/step2.rb +1 -2
  13. data/demo/gokuraku/u1d/u1d1.rb +1 -2
  14. data/demo/gokuraku/u1d/u1d2.rb +1 -2
  15. data/demo/gokuraku/u2d/u2d1.rb +1 -2
  16. data/demo/gokuraku/u2d/u2d2.rb +1 -2
  17. data/demo/gokuraku/u2d/u2d3.rb +1 -2
  18. data/demo/gokuraku/u2d/u2d4.rb +1 -2
  19. data/demo/grph1/scpack/scpkt2.rb +1 -2
  20. data/demo/grph1/scpack/scpkt3.rb +1 -2
  21. data/demo/grph1/scpack/scpkt6.rb +1 -2
  22. data/demo/grph1/scpack/scpkt7.rb +1 -2
  23. data/demo/grph1/scpack/scpkt8.rb +1 -2
  24. data/demo/grph1/sgpack/sgfont.rb +2 -3
  25. data/demo/grph1/sgpack/sgfonz.rb +2 -3
  26. data/demo/grph1/sgpack/sgksx1.rb +1 -2
  27. data/demo/grph1/sgpack/sgksx2.rb +1 -2
  28. data/demo/grph1/sgpack/sgksx3.rb +1 -2
  29. data/demo/grph1/sgpack/sglidx.rb +1 -2
  30. data/demo/grph1/sgpack/sgltyp.rb +1 -2
  31. data/demo/grph1/sgpack/sgpk01.rb +1 -2
  32. data/demo/grph1/sgpack/sgpk02.rb +1 -2
  33. data/demo/grph1/sgpack/sgpk03.rb +1 -2
  34. data/demo/grph1/sgpack/sgpk04.rb +1 -2
  35. data/demo/grph1/sgpack/sgpk05.rb +1 -2
  36. data/demo/grph1/sgpack/sgpk06.rb +1 -2
  37. data/demo/grph1/sgpack/sgpk07.rb +9 -8
  38. data/demo/grph1/sgpack/sgpk08.rb +1 -2
  39. data/demo/grph1/sgpack/sgpk09.rb +1 -2
  40. data/demo/grph1/sgpack/sgpk10.rb +1 -2
  41. data/demo/grph1/sgpack/sgtclr.rb +1 -2
  42. data/demo/grph1/sgpack/sgtone.rb +1 -2
  43. data/demo/grph1/sgpack/sgtonz.rb +1 -2
  44. data/demo/grph1/slpack/slpk01.rb +1 -2
  45. data/demo/grph1/slpack/slpk02.rb +1 -2
  46. data/demo/grph1/slpack/slpk03.rb +1 -2
  47. data/demo/grph1/slpack/slpk04.rb +2 -3
  48. data/demo/grph2/grpack/grpk01.rb +1 -2
  49. data/demo/grph2/ucpack/ucpk01.rb +1 -2
  50. data/demo/grph2/ucpack/ucpk02.rb +1 -2
  51. data/demo/grph2/udegpk/u2df01.rb +1 -2
  52. data/demo/grph2/udegpk/u2df02.rb +1 -2
  53. data/demo/grph2/udegpk/u2df03.rb +3 -4
  54. data/demo/grph2/udegpk/u2df04.rb +1 -2
  55. data/demo/grph2/udegpk/u2df05.rb +1 -2
  56. data/demo/grph2/udegpk/u2df06.rb +1 -2
  57. data/demo/grph2/udegpk/u2df07.rb +1 -2
  58. data/demo/grph2/udegpk/u2df08.rb +1 -2
  59. data/demo/grph2/udegpk/u2df09b.rb +0 -1
  60. data/demo/grph2/udegpk/u2df09c.rb +0 -1
  61. data/demo/grph2/udegpk/u2df09e.rb +0 -1
  62. data/demo/grph2/udegpk/u2df09f.rb +0 -1
  63. data/demo/grph2/uipack/uipk01.rb +1 -2
  64. data/demo/grph2/uipack/uipk02.rb +26 -18
  65. data/demo/grph2/uipack/uipk03.rb +50 -0
  66. data/demo/grph2/ulpack/ulpk01.rb +1 -2
  67. data/demo/grph2/ulpack/ulpk01n.rb +1 -2
  68. data/demo/grph2/ulpack/ulpk02.rb +1 -2
  69. data/demo/grph2/ulpack/ulpk02n.rb +1 -2
  70. data/demo/grph2/umpack/test01.rb +1 -2
  71. data/demo/grph2/umpack/test02.rb +1 -2
  72. data/demo/grph2/umpack/test03.rb +1 -2
  73. data/demo/grph2/umpack/test04.rb +2 -3
  74. data/demo/grph2/umpack/test05.rb +1 -2
  75. data/demo/grph2/umpack/test05r.rb +86 -0
  76. data/demo/grph2/umpack/test06.rb +1 -2
  77. data/demo/grph2/umpack/test07.rb +1 -2
  78. data/demo/grph2/umpack/test08.rb +1 -2
  79. data/demo/grph2/umpack/test10.rb +0 -1
  80. data/demo/grph2/umpack/umpk01.rb +1 -2
  81. data/demo/grph2/umpack/umpk02.rb +1 -2
  82. data/demo/grph2/umpack/umpk03.rb +1 -2
  83. data/demo/grph2/umpack/umpk04.rb +1 -2
  84. data/demo/grph2/umpack/umpk05.rb +1 -2
  85. data/demo/grph2/uspack/uspk01.rb +1 -2
  86. data/demo/grph2/uspack/uspk02.rb +1 -2
  87. data/demo/grph2/uspack/uspk03.rb +1 -2
  88. data/demo/grph2/uspack/uspk04.rb +1 -2
  89. data/demo/grph2/uspack/uspk05.rb +1 -2
  90. data/demo/grph2/uspack/uspk06.rb +2 -3
  91. data/demo/grph2/uspack/uspk07.rb +1 -2
  92. data/demo/grph2/uspack/uspk08.rb +2 -3
  93. data/demo/grph2/uspack/uspk09.rb +1 -2
  94. data/demo/grph2/uspack/uspk10.rb +1 -2
  95. data/demo/grph2/uspack/uspk11.rb +1 -2
  96. data/demo/grph2/uspack/uspk12.rb +1 -2
  97. data/demo/grph2/uupack/uupk01.rb +1 -2
  98. data/demo/grph2/uupack/uupk02.rb +1 -2
  99. data/demo/grph2/uupack/uupk03.rb +1 -2
  100. data/demo/grph2/uupack/uupk04.rb +1 -2
  101. data/demo/grph2/uupack/uupk05.rb +1 -2
  102. data/demo/grph2/uupack/uupk06.rb +1 -2
  103. data/demo/grph2/uupack/uupk07.rb +1 -2
  104. data/demo/grph2/uxyzpk/uxyz01.rb +1 -2
  105. data/demo/grph2/uxyzpk/uxyz02.rb +1 -2
  106. data/demo/grph2/uxyzpk/uxyz03.rb +1 -2
  107. data/demo/grph2/uxyzpk/uxyz04.rb +1 -2
  108. data/demo/grph2/uxyzpk/uxyz05.rb +1 -2
  109. data/demo/grph2/uxyzpk/uxyz06.rb +1 -2
  110. data/demo/grph2/uxyzpk/uxyz07.rb +1 -2
  111. data/demo/grph2/uxyzpk/uxyz08.rb +1 -2
  112. data/demo/grph2/uxyzpk/uxyz09.rb +1 -2
  113. data/demo/grph2/uxyzpk/uxyz10.rb +1 -2
  114. data/demo/grph2/ximage/ximg01.rb +2 -3
  115. data/demo/math1/clsplib/cslb01.rb +1 -2
  116. data/demo/math2/fftlib/fftl01.rb +1 -2
  117. data/demo/math2/fftlib/fftl02.rb +1 -2
  118. data/demo/math2/intrlib/intr01.rb +1 -2
  119. data/demo/math2/rnmlib/rnml01.rb +1 -2
  120. data/demo/math2/vstlib/vstl01.rb +1 -2
  121. data/demo/math2/vstlib/vstl02.rb +1 -2
  122. data/demo/misc2/tmpack/tmpk01.rb +46 -0
  123. data/demo/misc2/tmpack/tmpk02.rb +58 -0
  124. data/demo/misc2/tmpack/tmpk03.rb +56 -0
  125. data/demo/rakuraku/color/color1.rb +1 -2
  126. data/demo/rakuraku/color/color2.rb +5 -5
  127. data/demo/rakuraku/color/color3.rb +1 -2
  128. data/demo/rakuraku/kihon/kihon1.rb +1 -2
  129. data/demo/rakuraku/kihon/kihon2.rb +1 -2
  130. data/demo/rakuraku/kihon/kihon3.rb +1 -2
  131. data/demo/rakuraku/kihon/kihon4.rb +1 -2
  132. data/demo/rakuraku/kihon/kihon5.rb +1 -2
  133. data/demo/rakuraku/kihon/kihon6.rb +1 -2
  134. data/demo/rakuraku/kihon/kihon7.rb +10 -5
  135. data/demo/rakuraku/kihon/kihon8.rb +1 -2
  136. data/demo/rakuraku/kihon/kihon9.rb +1 -2
  137. data/demo/rakuraku/kihon/kihona.rb +1 -2
  138. data/demo/rakuraku/kihon/kihonb.rb +12 -11
  139. data/demo/rakuraku/kihon/kihonc.rb +1 -2
  140. data/demo/rakuraku/layout/lay1.rb +1 -2
  141. data/demo/rakuraku/layout/lay2.rb +1 -2
  142. data/demo/rakuraku/layout/lay3.rb +1 -2
  143. data/demo/rakuraku/map3d/map3d1.rb +1 -2
  144. data/demo/rakuraku/map3d/map3d2.rb +1 -2
  145. data/demo/rakuraku/map3d/map3d3.rb +1 -2
  146. data/demo/rakuraku/map3d/map3d4.rb +1 -2
  147. data/demo/rakuraku/map3d/map3d5.rb +1 -2
  148. data/demo/rakuraku/map3d/map3d6.rb +0 -1
  149. data/demo/rakuraku/map3d/map3d7.rb +0 -1
  150. data/demo/rakuraku/miss/miss1.rb +1 -2
  151. data/demo/rakuraku/miss/miss2.rb +1 -2
  152. data/demo/rakuraku/quick/quick1.rb +1 -2
  153. data/demo/rakuraku/quick/quick2.rb +1 -2
  154. data/demo/rakuraku/quick/quick3.rb +1 -2
  155. data/demo/rakuraku/quick/quick4.rb +1 -2
  156. data/demo/rakuraku/quick/quick5.rb +1 -2
  157. data/demo/rakuraku/u2d/u2d1.rb +1 -2
  158. data/demo/rakuraku/u2d/u2d2.rb +1 -2
  159. data/demo/rakuraku/u2d/u2d3.rb +1 -2
  160. data/demo/rakuraku/u2d/u2d4.rb +1 -2
  161. data/demo/rakuraku/u2d/u2d5.rb +1 -2
  162. data/demo/rakuraku/u2d/u2d6.rb +1 -2
  163. data/demo/rakuraku/u2d/u2d7.rb +1 -2
  164. data/demo/rakuraku/uspack/uspac1.rb +2 -3
  165. data/demo/rakuraku/uspack/uspac2.rb +1 -2
  166. data/demo/rakuraku/uspack/uspac3.rb +2 -3
  167. data/demo/rakuraku/uspack/uspac4.rb +1 -2
  168. data/demo/rakuraku/uxyz/uxyz1.rb +1 -2
  169. data/demo/rakuraku/uxyz/uxyz2.rb +1 -2
  170. data/demo/rakuraku/uxyz/uxyz3.rb +1 -2
  171. data/demo/rakuraku/uxyz/uxyz4.rb +1 -2
  172. data/demo/rakuraku/uxyz/uxyz5.rb +1 -2
  173. data/demo/rakuraku/uxyz/uxyz6.rb +1 -2
  174. data/demo/rakuraku/uxyz/uxyz7.rb +1 -2
  175. data/demo/rakuraku/uxyz/uxyz8.rb +1 -2
  176. data/demo/rubydcloriginal/uemrkz1.rb +0 -1
  177. data/ext/numru/dcl_cary2obj.c +29 -24
  178. data/ext/numru/dcl_narrayed_funcs.c +21 -21
  179. data/ext/numru/dcl_obj2cary.c +9 -5
  180. data/ext/numru/dcl_rubydcloriginal.c +14 -5
  181. data/ext/numru/extconf.rb +73 -61
  182. data/ext/numru/grph1_csgi.c +38 -8
  183. data/ext/numru/grph1_scpack.c +49 -46
  184. data/ext/numru/grph1_sgpack.c +167 -164
  185. data/ext/numru/grph1_slpack.c +23 -20
  186. data/ext/numru/grph1_stpack.c +44 -41
  187. data/ext/numru/grph1_swpack.c +155 -92
  188. data/ext/numru/grph2_grpack.c +22 -19
  189. data/ext/numru/grph2_ucpack.c +55 -52
  190. data/ext/numru/grph2_udpack.c +61 -58
  191. data/ext/numru/grph2_uepack.c +60 -57
  192. data/ext/numru/grph2_ugpack.c +49 -46
  193. data/ext/numru/grph2_uhpack.c +25 -22
  194. data/ext/numru/grph2_uipack.c +57 -54
  195. data/ext/numru/grph2_ulpack.c +59 -56
  196. data/ext/numru/grph2_umpack.c +75 -72
  197. data/ext/numru/grph2_uspack.c +97 -94
  198. data/ext/numru/grph2_uupack.c +78 -75
  199. data/ext/numru/grph2_uvpack.c +25 -22
  200. data/ext/numru/grph2_uwpack.c +30 -27
  201. data/ext/numru/grph2_uxpack.c +23 -20
  202. data/ext/numru/grph2_uypack.c +23 -20
  203. data/ext/numru/grph2_uzpack.c +69 -66
  204. data/ext/numru/init.c.default +6 -2
  205. data/ext/numru/math1_blklib.c +13 -10
  206. data/ext/numru/math1_chrlib.c +16 -13
  207. data/ext/numru/math1_clsplib.c +13 -10
  208. data/ext/numru/math1_fnclib.c +16 -13
  209. data/ext/numru/math1_gnmlib.c +21 -18
  210. data/ext/numru/math1_gt2dlib.c +18 -15
  211. data/ext/numru/math1_ifalib.c +18 -15
  212. data/ext/numru/math1_indxlib.c +24 -21
  213. data/ext/numru/math1_intlib.c +13 -10
  214. data/ext/numru/math1_lrllib.c +33 -30
  215. data/ext/numru/math1_maplib.c +14 -11
  216. data/ext/numru/math1_oslib.c +11 -8
  217. data/ext/numru/math1_rfalib.c +39 -36
  218. data/ext/numru/math1_rfblib.c +12 -9
  219. data/ext/numru/math1_sublib.c +13 -10
  220. data/ext/numru/math1_syslib.c +82 -79
  221. data/ext/numru/math1_vialib.c +31 -28
  222. data/ext/numru/math1_viblib.c +24 -21
  223. data/ext/numru/math1_vralib.c +31 -28
  224. data/ext/numru/math1_vrblib.c +24 -21
  225. data/ext/numru/math1_xfclib.c +12 -9
  226. data/ext/numru/math2_fftlib.c +28 -25
  227. data/ext/numru/math2_intrlib.c +11 -8
  228. data/ext/numru/math2_rnmlib.c +12 -9
  229. data/ext/numru/math2_shtlib.c +34 -31
  230. data/ext/numru/math2_vstlib.c +15 -12
  231. data/ext/numru/misc1_chnlib.c +12 -9
  232. data/ext/numru/misc1_datelib.c +36 -33
  233. data/ext/numru/misc1_fmtlib.c +10 -7
  234. data/ext/numru/misc1_misclib.c +11 -8
  235. data/ext/numru/misc1_randlib.c +13 -10
  236. data/ext/numru/misc1_timelib.c +20 -17
  237. data/ext/numru/misc2_tmpack.c +1200 -0
  238. data/lib/numru/dcl/dcl.rb +5676 -0
  239. data/lib/numru/dcl/version.rb +5 -0
  240. data/lib/numru/dcl.rb +6 -5580
  241. data/ruby-dcl.gemspec +13 -9
  242. metadata +25 -99
  243. data/.gitignore +0 -13
  244. data/.rspec +0 -2
  245. data/.travis.yml +0 -3
  246. data/GenWrapper/Makefile +0 -15
  247. data/GenWrapper/cproto2init.rb +0 -41
  248. data/GenWrapper/dcl_narrayed_funcs.rb +0 -181
  249. data/GenWrapper/dcl_rb_footing +0 -29
  250. data/GenWrapper/dcl_rb_heading +0 -123
  251. data/GenWrapper/def.rb +0 -20
  252. data/GenWrapper/elim_ary_size.rb +0 -398
  253. data/GenWrapper/etc/p_header +0 -64
  254. data/GenWrapper/pparse.rb +0 -137
  255. data/GenWrapper/proto/Makefile +0 -36
  256. data/GenWrapper/proto/grph1_00 +0 -17
  257. data/GenWrapper/proto/grph1_csgi.fp +0 -27
  258. data/GenWrapper/proto/grph1_scpack.fp +0 -442
  259. data/GenWrapper/proto/grph1_sgpack.fp +0 -1772
  260. data/GenWrapper/proto/grph1_slpack.fp +0 -316
  261. data/GenWrapper/proto/grph1_stpack.fp +0 -455
  262. data/GenWrapper/proto/grph1_swpack.fp +0 -826
  263. data/GenWrapper/proto/grph2_00 +0 -16
  264. data/GenWrapper/proto/grph2_grpack.fp +0 -139
  265. data/GenWrapper/proto/grph2_ucpack.fp +0 -522
  266. data/GenWrapper/proto/grph2_udpack.fp +0 -692
  267. data/GenWrapper/proto/grph2_uepack.fp +0 -601
  268. data/GenWrapper/proto/grph2_ugpack.fp +0 -436
  269. data/GenWrapper/proto/grph2_uhpack.fp +0 -246
  270. data/GenWrapper/proto/grph2_uipack.fp +0 -508
  271. data/GenWrapper/proto/grph2_ulpack.fp +0 -516
  272. data/GenWrapper/proto/grph2_umpack.fp +0 -676
  273. data/GenWrapper/proto/grph2_uspack.fp +0 -989
  274. data/GenWrapper/proto/grph2_uupack.fp +0 -663
  275. data/GenWrapper/proto/grph2_uvpack.fp +0 -246
  276. data/GenWrapper/proto/grph2_uwpack.fp +0 -203
  277. data/GenWrapper/proto/grph2_uxpack.fp +0 -295
  278. data/GenWrapper/proto/grph2_uypack.fp +0 -295
  279. data/GenWrapper/proto/grph2_uzpack.fp +0 -574
  280. data/GenWrapper/proto/math1_00 +0 -12
  281. data/GenWrapper/proto/math1_blklib.fp +0 -58
  282. data/GenWrapper/proto/math1_chrlib.fp +0 -83
  283. data/GenWrapper/proto/math1_clsplib.fp +0 -74
  284. data/GenWrapper/proto/math1_fnclib.fp +0 -79
  285. data/GenWrapper/proto/math1_gnmlib.fp +0 -118
  286. data/GenWrapper/proto/math1_gt2dlib.fp +0 -144
  287. data/GenWrapper/proto/math1_ifalib.fp +0 -123
  288. data/GenWrapper/proto/math1_indxlib.fp +0 -222
  289. data/GenWrapper/proto/math1_intlib.fp +0 -46
  290. data/GenWrapper/proto/math1_lrllib.fp +0 -276
  291. data/GenWrapper/proto/math1_maplib.fp +0 -24
  292. data/GenWrapper/proto/math1_oslib.fp +0 -28
  293. data/GenWrapper/proto/math1_rfalib.fp +0 -420
  294. data/GenWrapper/proto/math1_rfblib.fp +0 -51
  295. data/GenWrapper/proto/math1_sublib.fp +0 -60
  296. data/GenWrapper/proto/math1_syslib.fp +0 -767
  297. data/GenWrapper/proto/math1_vialib.fp +0 -339
  298. data/GenWrapper/proto/math1_viblib.fp +0 -264
  299. data/GenWrapper/proto/math1_vralib.fp +0 -339
  300. data/GenWrapper/proto/math1_vrblib.fp +0 -264
  301. data/GenWrapper/proto/math1_xfclib.fp +0 -68
  302. data/GenWrapper/proto/math2_00 +0 -12
  303. data/GenWrapper/proto/math2_fftlib.fp +0 -803
  304. data/GenWrapper/proto/math2_intrlib.fp +0 -32
  305. data/GenWrapper/proto/math2_odelib.fp_notused +0 -568
  306. data/GenWrapper/proto/math2_rnmlib.fp +0 -54
  307. data/GenWrapper/proto/math2_shtlib.fp +0 -1292
  308. data/GenWrapper/proto/math2_vstlib.fp +0 -84
  309. data/GenWrapper/proto/misc1_00 +0 -17
  310. data/GenWrapper/proto/misc1_chnlib.fp +0 -47
  311. data/GenWrapper/proto/misc1_datelib.fp +0 -352
  312. data/GenWrapper/proto/misc1_fmtlib.fp +0 -19
  313. data/GenWrapper/proto/misc1_misclib.fp +0 -26
  314. data/GenWrapper/proto/misc1_randlib.fp +0 -50
  315. data/GenWrapper/proto/misc1_timelib.fp +0 -151
  316. data/GenWrapper/proto2c.rb +0 -13
  317. data/GenWrapper/prototype.rb +0 -209
  318. data/GenWrapper/util.rb +0 -9
  319. data/GenWrapper/variable.rb +0 -671
  320. data/README +0 -29
  321. data/ToDo +0 -2
  322. data/bin/console +0 -14
  323. data/bin/setup +0 -7
  324. data/demo/grph2/ximage/MEMO +0 -23
  325. data/obsolete/README +0 -2
  326. data/obsolete/dcl_ext.html +0 -112
  327. data/obsolete/dcl_ext.rb +0 -313
@@ -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
-
data/GenWrapper/def.rb DELETED
@@ -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"
@@ -1,64 +0,0 @@
1
- /*
2
- * $Id: p_header,v 1.3 2015/03/18 03:27:42 horinout Exp $
3
- */
4
-
5
- #include <stdio.h>
6
- #include "ruby.h"
7
- #include "libtinyf2c.h"
8
- #include "narray.h"
9
- #include "cdcl.h"
10
-
11
- /* for compatibility with ruby 1.6 */
12
- #ifndef StringValuePtr
13
- #define StringValuePtr(s) STR2CSTR(s)
14
- #endif
15
-
16
- #define DFLT_SIZE 32
17
-
18
- extern char *dcl_obj2ccharary(VALUE, int, int);
19
- extern integer *dcl_obj2cintegerary(VALUE);
20
- extern real *dcl_obj2crealary(VALUE);
21
- extern complex *dcl_obj2ccomplexary(VALUE);
22
- extern logical *dcl_obj2clogicalary(VALUE);
23
-
24
- extern VALUE dcl_ccharary2obj(char *, int, int);
25
- extern VALUE dcl_cintegerary2obj(integer *, int, int, int *);
26
- extern VALUE dcl_crealary2obj(real *, int, int, int *);
27
- extern VALUE dcl_ccomplexary2obj(complex *, int, char *);
28
- extern VALUE dcl_clogicalary2obj(logical *, int, int, int *);
29
-
30
- extern void dcl_freeccharary(char *);
31
- extern void dcl_freecintegerary(integer *);
32
- extern void dcl_freecrealary(real *);
33
- extern void dcl_freeccomplexary(complex *);
34
- extern void dcl_freeclogicalary(logical *);
35
-
36
- /* for functions which return real */
37
- /* fnclib */
38
- extern real rd2r_(real *);
39
- extern real rr2d_(real *);
40
- extern real rexp_(real *, integer *, integer *);
41
- extern real rfpi_(void);
42
- extern real rmod_(real *, real *);
43
- /* gnmlib */
44
- extern real rgnlt_(real *);
45
- extern real rgnle_(real *);
46
- extern real rgngt_(real *);
47
- extern real rgnge_(real *);
48
- /* rfalib */
49
- extern real rmax_(real *, integer *, integer *);
50
- extern real rmin_(real *, integer *, integer *);
51
- extern real rsum_(real *, integer *, integer *);
52
- extern real rave_(real *, integer *, integer *);
53
- extern real rvar_(real *, integer *, integer *);
54
- extern real rstd_(real *, integer *, integer *);
55
- extern real rrms_(real *, integer *, integer *);
56
- extern real ramp_(real *, integer *, integer *);
57
- /* rfblib */
58
- extern real rprd_(real *, real *, integer *, integer *, integer *);
59
- extern real rcov_(real *, real *, integer *, integer *, integer *);
60
- extern real rcor_(real *, real *, integer *, integer *, integer *);
61
-
62
-
63
- extern VALUE mDCL;
64
-