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,10 +1,9 @@
1
1
  #
2
2
  # uxyz7.rb
3
- # $Id: uxyz7.rb,v 1.1.1.1 2011/02/23 07:21:26 horinout Exp $
3
+ # $Id$
4
4
  #
5
5
 
6
6
 
7
- require "narray"
8
7
  require "numru/dcl"
9
8
  include NumRu
10
9
  include Math
@@ -1,10 +1,9 @@
1
1
  #
2
2
  # uxyz8.rb
3
- # $Id: uxyz8.rb,v 1.1.1.1 2011/02/23 07:21:26 horinout Exp $
3
+ # $Id$
4
4
  #
5
5
 
6
6
 
7
- require "narray"
8
7
  require "numru/dcl"
9
8
  include NumRu
10
9
  include Math
@@ -1,4 +1,3 @@
1
- require "narray"
2
1
  require "numru/dcl"
3
2
  include NumRu
4
3
  include NMath
@@ -1,20 +1,25 @@
1
1
  /*
2
2
  * dcl_cary2obj.c
3
- * $Id: dcl_cary2obj.c,v 1.1.1.1 2011/02/23 07:21:26 horinout Exp $
3
+ * $Id$
4
4
  */
5
5
 
6
6
  #include <math.h>
7
7
  #include "ruby.h"
8
- #include "libtinyf2c.h"
8
+ #include "cdcl.h"
9
9
  #include "narray.h" /* kuro: depend on numarray.so */
10
10
 
11
+ #ifndef NARRAY_BIGMEM
12
+ typedef int na_shape_t;
13
+ #endif
11
14
 
12
15
  /* functions */
13
16
  VALUE dcl_ccharary2obj(char *, int, int);
14
- VALUE dcl_cintegerary2obj(integer *, int, int, int *);
15
- VALUE dcl_crealary2obj(real *, int, int, int *);
16
- VALUE dcl_ccomplexary2obj(complex *, int, char *);
17
- VALUE dcl_clogicalary2obj(logical *, int, int, int *);
17
+ VALUE dcl_cintegerary2obj(integer *, na_shape_t, int, na_shape_t *);
18
+ VALUE dcl_crealary2obj(real *, na_shape_t, int, na_shape_t *);
19
+ /* not implemented
20
+ VALUE dcl_ccomplexary2obj(complex *, na_shape_t, int, na_shape_t *);
21
+ */
22
+ VALUE dcl_clogicalary2obj(logical *, na_shape_t, int, na_shape_t *);
18
23
 
19
24
  static VALUE ccharary2ary(char *, int, int);
20
25
  static VALUE cintegerary2ary(integer *, int);
@@ -25,9 +30,9 @@ static VALUE ccomplexary2ary(complex *, int);
25
30
  */
26
31
 
27
32
  /* kuro: depend on numarray.so */
28
- static VALUE crealary2na(real *, int, int, int *);
29
- static VALUE clogicalary2na(logical *, int, int, int *);
30
- static VALUE cintegerary2na(integer *, int, int, int *);
33
+ static VALUE crealary2na(real *, na_shape_t, int, na_shape_t *);
34
+ static VALUE clogicalary2na(logical *, na_shape_t, int, na_shape_t *);
35
+ static VALUE cintegerary2na(integer *, na_shape_t, int, na_shape_t *);
31
36
  /* not implemented
32
37
  static VALUE ccomplexary2na(complex *, int, char *);
33
38
  */
@@ -57,9 +62,9 @@ dcl_ccharary2obj(cary, size, len)
57
62
  VALUE
58
63
  dcl_cintegerary2obj(cary, size, rank, shape)
59
64
  integer *cary;
60
- int size;
65
+ na_shape_t size;
61
66
  int rank;
62
- int *shape;
67
+ na_shape_t *shape;
63
68
  {
64
69
  VALUE obj;
65
70
 
@@ -75,9 +80,9 @@ dcl_cintegerary2obj(cary, size, rank, shape)
75
80
  VALUE
76
81
  dcl_crealary2obj(cary, size, rank, shape)
77
82
  real *cary;
78
- int size;
83
+ na_shape_t size;
79
84
  int rank;
80
- int *shape;
85
+ na_shape_t *shape;
81
86
  {
82
87
  VALUE obj;
83
88
 
@@ -112,9 +117,9 @@ dcl_ccomplexary2obj(cary, size, type)
112
117
  VALUE
113
118
  dcl_clogicalary2obj(cary, size, rank, shape)
114
119
  logical *cary;
115
- int size;
120
+ na_shape_t size;
116
121
  int rank;
117
- int *shape;
122
+ na_shape_t *shape;
118
123
  {
119
124
  VALUE obj;
120
125
 
@@ -271,13 +276,13 @@ clogicalary2ary(cary, size)
271
276
  static VALUE
272
277
  crealary2na(cary, size, rank, shape)
273
278
  real *cary;
274
- int size;
279
+ na_shape_t size;
275
280
  int rank;
276
- int *shape;
281
+ na_shape_t *shape;
277
282
  {
278
283
  VALUE obj;
279
284
  struct NARRAY *na;
280
- int i;
285
+ na_shape_t i;
281
286
  float *ptr;
282
287
 
283
288
  if (cary == NULL)
@@ -299,13 +304,13 @@ crealary2na(cary, size, rank, shape)
299
304
  static VALUE
300
305
  cintegerary2na(cary, size, rank, shape)
301
306
  integer *cary;
302
- int size;
307
+ na_shape_t size;
303
308
  int rank;
304
- int *shape;
309
+ na_shape_t *shape;
305
310
  {
306
311
  VALUE obj;
307
312
  struct NARRAY *na;
308
- int i;
313
+ na_shape_t i;
309
314
  int32_t *ptr;
310
315
 
311
316
  if (cary == NULL)
@@ -327,13 +332,13 @@ cintegerary2na(cary, size, rank, shape)
327
332
  static VALUE
328
333
  clogicalary2na(cary, size, rank, shape)
329
334
  logical *cary;
330
- int size;
335
+ na_shape_t size;
331
336
  int rank;
332
- int *shape;
337
+ na_shape_t *shape;
333
338
  {
334
339
  VALUE obj;
335
340
  struct NARRAY *na;
336
- int i;
341
+ na_shape_t i;
337
342
  u_int8_t *ptr;
338
343
 
339
344
  if (cary == NULL)
@@ -8,7 +8,7 @@
8
8
 
9
9
  #include <stdio.h>
10
10
  #include "ruby.h"
11
- #include "libtinyf2c.h"
11
+ #include "cdcl.h"
12
12
  #include "narray.h"
13
13
 
14
14
  /* for compatibility with ruby 1.6 */
@@ -38,29 +38,29 @@ extern void dcl_freeclogicalary(logical *);
38
38
 
39
39
  /* for functions which return real */
40
40
  /* fnclib */
41
- extern real rd2r_(real *);
42
- extern real rr2d_(real *);
43
- extern real rexp_(real *, integer *, integer *);
44
- extern real rfpi_(void);
45
- extern real rmod_(real *, real *);
41
+ extern real rd2r__(real *);
42
+ extern real rr2d__(real *);
43
+ extern real rexp__(real *, integer *, integer *);
44
+ extern real rfpi__(void);
45
+ extern real rmod__(real *, real *);
46
46
  /* gnmlib */
47
- extern real rgnlt_(real *);
48
- extern real rgnle_(real *);
49
- extern real rgngt_(real *);
50
- extern real rgnge_(real *);
47
+ extern real rgnlt__(real *);
48
+ extern real rgnle__(real *);
49
+ extern real rgngt__(real *);
50
+ extern real rgnge__(real *);
51
51
  /* rfalib */
52
- extern real rmax_(real *, integer *, integer *);
53
- extern real rmin_(real *, integer *, integer *);
54
- extern real rsum_(real *, integer *, integer *);
55
- extern real rave_(real *, integer *, integer *);
56
- extern real rvar_(real *, integer *, integer *);
57
- extern real rstd_(real *, integer *, integer *);
58
- extern real rrms_(real *, integer *, integer *);
59
- extern real ramp_(real *, integer *, integer *);
52
+ extern real rmax__(real *, integer *, integer *);
53
+ extern real rmin__(real *, integer *, integer *);
54
+ extern real rsum__(real *, integer *, integer *);
55
+ extern real rave__(real *, integer *, integer *);
56
+ extern real rvar__(real *, integer *, integer *);
57
+ extern real rstd__(real *, integer *, integer *);
58
+ extern real rrms__(real *, integer *, integer *);
59
+ extern real ramp__(real *, integer *, integer *);
60
60
  /* rfblib */
61
- extern real rprd_(real *, real *, integer *, integer *, integer *);
62
- extern real rcov_(real *, real *, integer *, integer *, integer *);
63
- extern real rcor_(real *, real *, integer *, integer *, integer *);
61
+ extern real rprd__(real *, real *, integer *, integer *, integer *);
62
+ extern real rcov__(real *, real *, integer *, integer *, integer *);
63
+ extern real rcor__(real *, real *, integer *, integer *, integer *);
64
64
 
65
65
 
66
66
  extern int stftrf_(real*,real*,real*,real*);
@@ -1,13 +1,17 @@
1
1
  /*
2
2
  * dcl_obj2cary.c
3
- * $Id: dcl_obj2cary.c,v 1.1.1.1 2011/02/23 07:21:26 horinout Exp $
3
+ * $Id$
4
4
  */
5
5
 
6
6
  #include <math.h>
7
7
  #include "ruby.h"
8
- #include "libtinyf2c.h"
8
+ #include "cdcl.h"
9
9
  #include "narray.h"
10
10
 
11
+ #ifndef NARRAY_BIGMEM
12
+ typedef int na_shape_t;
13
+ #endif
14
+
11
15
  /* for compatibility with ruby 1.6 */
12
16
  #ifndef RFLOAT_VALUE
13
17
  #define RFLOAT_VALUE(x) ((real)(RFLOAT(x)->value))
@@ -427,7 +431,7 @@ na2crealary(src)
427
431
  VALUE src;
428
432
  {
429
433
  VALUE chk;
430
- int len, i;
434
+ na_shape_t len, i;
431
435
  real *rtn;
432
436
  float *ptr;
433
437
  struct NARRAY *na;
@@ -455,7 +459,7 @@ na2cintegerary(src)
455
459
  VALUE src;
456
460
  {
457
461
  VALUE chk;
458
- int len, i;
462
+ na_shape_t len, i;
459
463
  integer *rtn;
460
464
  int32_t *ptr;
461
465
  struct NARRAY *na;
@@ -485,7 +489,7 @@ na2clogicalary(src)
485
489
  {
486
490
  VALUE chk;
487
491
  struct NARRAY *na;
488
- int len, i;
492
+ na_shape_t len, i;
489
493
  logical *rtn;
490
494
  unsigned char *ptr;
491
495
 
@@ -4,11 +4,20 @@
4
4
 
5
5
  #include <stdio.h>
6
6
  #include "ruby.h"
7
- #include "libtinyf2c.h"
8
7
  #include "narray.h"
8
+ #include "cdcl.h"
9
+
10
+ /* for compatibility with ruby 1.6 */
11
+ #ifndef StringValuePtr
12
+ #define StringValuePtr(s) STR2CSTR(s)
13
+ #endif
9
14
 
10
15
  #define DFLT_SIZE 32
11
16
 
17
+ #ifndef NARRAY_BIGMEM
18
+ typedef int na_shape_t;
19
+ #endif
20
+
12
21
  extern char *dcl_obj2ccharary(VALUE, int, int);
13
22
  extern integer *dcl_obj2cintegerary(VALUE);
14
23
  extern real *dcl_obj2crealary(VALUE);
@@ -16,10 +25,10 @@ extern complex *dcl_obj2ccomplexary(VALUE);
16
25
  extern logical *dcl_obj2clogicalary(VALUE);
17
26
 
18
27
  extern VALUE dcl_ccharary2obj(char *, int, int);
19
- extern VALUE dcl_cintegerary2obj(integer *, int, int, int *);
20
- extern VALUE dcl_crealary2obj(real *, int, int, int *);
21
- extern VALUE dcl_ccomplexary2obj(complex *, int, char *);
22
- extern VALUE dcl_clogicalary2obj(logical *, int, int, int *);
28
+ extern VALUE dcl_cintegerary2obj(integer *, na_shape_t, int, na_shape_t *);
29
+ extern VALUE dcl_crealary2obj(real *, na_shape_t, int, na_shape_t *);
30
+ /* extern VALUE dcl_ccomplexary2obj(complex *, int, char *); */
31
+ extern VALUE dcl_clogicalary2obj(logical *, na_shape_t, int, na_shape_t *);
23
32
 
24
33
  extern void dcl_freeccharary(char *);
25
34
  extern void dcl_freecintegerary(integer *);
data/ext/numru/extconf.rb CHANGED
@@ -2,30 +2,68 @@ require "rubygems" unless defined?(Gem)
2
2
 
3
3
  require "mkmf"
4
4
  require "rbconfig"
5
- begin
6
- require "fileutils"
7
- rescue LoadError
8
- require "ftools"
9
- module FileUtils
10
- def copy(src, dst); File.copy(src, dst); end
11
- module_function :copy
5
+ so = RbConfig::CONFIG["DLEXT"]
6
+
7
+ raise("Your gem is too old") unless Gem.respond_to?(:find_files)
8
+
9
+ env = ENV['NARRAY_TYPE']
10
+ if env == "NArray" || env == "narray"
11
+ na_type = "narray"
12
+ elsif env == "NumRu::NArray" || env == "numru-narray"
13
+ na_type = "numru-narray"
14
+ elsif !env.nil?
15
+ raise "Unsupported value for the environment variable NARRAY_TYPE: #{env}"
16
+ else
17
+ if Gem.find_files("narray.h").length > 0
18
+ na_type = "narray"
19
+ elsif Gem.find_files("numru/narray/narray.h").length > 0
20
+ na_type = "numru-narray"
12
21
  end
13
22
  end
14
23
 
15
- if Gem.respond_to?(:find_files)
16
- require "rbconfig"
17
- so = RbConfig::CONFIG["DLEXT"]
24
+ case na_type
25
+ when "narray"
18
26
  narray_include = File.expand_path(File.dirname(Gem.find_files("narray.h")[0]))
19
- narray_lib = File.expand_path(File.dirname(Gem.find_files("narray." + so)[0]))
20
- else
21
- gem_home=(`gem environment GEM_HOME`).chomp
22
- narray_dir = Dir.glob("#{gem_home}/gems/narray-*").sort[-1]
23
- if narray_dir
24
- narray_include = narray_lib = narray_dir
27
+ if `ruby -v`.include?("mingw")
28
+ narray_lib = File.expand_path(File.dirname(Gem.find_files("src/libnarray.a")[0]))
25
29
  else
26
- narray_include = narray_lib = [ $sitearchdir, $vendorarchdir]
30
+ narray_lib = File.expand_path(File.dirname(Gem.find_files("narray." + so)[0]))
31
+ end
32
+ File.open("../../lib/numru/dcl/narray_type.rb","w"){|f| f.puts <<EOS
33
+ module NumRu
34
+ module DCL
35
+ SUPPORT_BIGMEM = false
27
36
  end
28
37
  end
38
+ EOS
39
+ }
40
+ when "numru-narray"
41
+ narray_include = File.expand_path(File.dirname(Gem.find_files("numru/narray/narray.h")[0]))
42
+ if `ruby -v`.include?("mingw")
43
+ narray_lib = File.expand_path(File.dirname(Gem.find_files("numru/narray/narray.a")[0]))
44
+ else
45
+ narray_lib = File.expand_path(File.dirname(Gem.find_files("numru/narray/narray." + so)[0]))
46
+ end
47
+ File.open("../../lib/numru/dcl/narray_type.rb","w"){|f| f.puts <<EOS
48
+ module NumRu
49
+ module DCL
50
+ SUPPORT_BIGMEM = true
51
+ end
52
+ end
53
+ EOS
54
+ }
55
+ end
56
+
57
+ ### disabled (for very old gem, perhaps <= 1.2) -->
58
+ # gem_home=(`gem environment GEM_HOME`).chomp
59
+ # narray_dir = Dir.glob("#{gem_home}/gems/narray-*/ext/narray").sort[-1]
60
+ # if narray_dir
61
+ # narray_include = narray_lib = narray_dir
62
+ # else
63
+ # narray_include = narray_lib = [ $sitearchdir, $vendorarchdir]
64
+ # end
65
+ ### <-- disabled
66
+
29
67
  dir_config('narray', narray_include, narray_lib)
30
68
  if ( ! ( have_header("narray.h") && have_header("narray_config.h") ) ) then
31
69
  print <<-EOS
@@ -42,12 +80,20 @@ end
42
80
  initcfile_default = $srcdir+"/init.c.default"
43
81
  initcfile = $srcdir+"/init.c"
44
82
 
45
- if(xsystem("which cdclconfig"))
46
- cflags = `cdclconfig --cflags`.gsub(/\n/, " ")
47
- ldflags = `cdclconfig --ldflags`.gsub(/\n/, " ")
48
- ldlibs = `cdclconfig --ldlibs`.gsub(/-R.*?\s/, " ").gsub(/\n/, " ")
49
- print "checking DCL version... "
50
- dclversion = `cdclconfig --dclversion`.strip
83
+ if(xsystem("which dclconfig"))
84
+ if `ruby -v`.include?("mingw")
85
+ cflags = `sh dclconfig --cflags`.gsub(/\n/, " ")
86
+ ldflags = `sh dclconfig --ldflags`.gsub(/\n/, " ")
87
+ ldlibs = `sh dclconfig --ldlibs`.gsub(/-R.*?\s/, " ").gsub(/\n/, " ")
88
+ print "checking DCL version... "
89
+ dclversion = `sh dclconfig --dclversion`.strip
90
+ else
91
+ cflags = `dclconfig --cflags`.gsub(/\n/, " ")
92
+ ldflags = `dclconfig --ldflags`.gsub(/\n/, " ")
93
+ ldlibs = `dclconfig --ldlibs`.gsub(/-R.*?\s/, " ").gsub(/\n/, " ")
94
+ print "checking DCL version... "
95
+ dclversion = `dclconfig --dclversion`.strip
96
+ end
51
97
  print "DCL Version: #{dclversion}\n"
52
98
  dclver = dclversion.gsub(/\./,'')
53
99
  dclver = dclver+'0' if dclver.length <= 2 # 53 --> 530 etc
@@ -59,6 +105,9 @@ if(xsystem("which cdclconfig"))
59
105
  $CFLAGS += ' '+cflags + dclversionmacro
60
106
  $LOCAL_LIBS += ' ' + ldflags
61
107
  $LOCAL_LIBS += ldlibs
108
+ if `ruby -v`.include?("mingw")
109
+ $LOCAL_LIBS += ldlibs + " -lnarray"
110
+ end
62
111
 
63
112
  fin = File.open(initcfile_default)
64
113
  fout = File.open(initcfile,'w')
@@ -69,44 +118,7 @@ if(xsystem("which cdclconfig"))
69
118
  fin.close
70
119
 
71
120
  else
72
- print "**Warning** cdclconfig is not found. Assume C version of DCL 5.2\n"
73
- dcllibname = "cdcl52"
74
- f2clibname = "f2c4dcl"
75
- xlibname = "X11"
76
- dcllibdir = "-L/usr/local/lib"
77
- f2clibdir = "-L/usr/local/lib"
78
- xlibdir = "-L/usr/local/X11R6/lib"
79
- f2cincdir = "-I/usr/local/include"
80
- $CFLAGS += f2cincdir
81
- if(dcllibdir != f2clibdir)
82
- libdir = " "+dcllibdir
83
- else
84
- libdir = " "+dcllibdir+" "+f2clibdir
85
- end
86
- $LOCAL_LIBS += " "+libdir+" "+xlibdir
87
- $LOCAL_LIBS += " -l"+dcllibname+" -l"+f2clibname+" -l"+xlibname+" -lsocket -lnsl"
88
-
89
- FileUtils.copy(initcfile_default, initcfile)
90
- end
91
-
92
- if /cygwin|mingw/ =~ RUBY_PLATFORM
93
- have_library("narray") || raise("ERROR: narray import library is not found")
121
+ raise "dclconfig is not found."
94
122
  end
95
123
 
96
124
  create_makefile("numru/dcl_raw")
97
-
98
- ###### Modify Makefile: #######
99
- File.rename("Makefile","Makefile.orig")
100
- oldmkfl = File.open("Makefile.orig")
101
- newmkfl = File.open("Makefile","w")
102
- oldmkfl.each_line{ |line|
103
- case(line)
104
- when /^distclean:/
105
- newmkfl.puts(line)
106
- newmkfl.puts("\t\t@$(RM) Makefile.orig")
107
- newmkfl.puts("\t\t@$(RM) init.c")
108
- else
109
- newmkfl.puts(line)
110
- end
111
- }
112
- newmkfl.close
@@ -1,10 +1,9 @@
1
1
  /*
2
- * $Id: p_header,v 1.3 2015/03/18 03:27:42 horinout Exp $
2
+ * $Id$
3
3
  */
4
4
 
5
5
  #include <stdio.h>
6
6
  #include "ruby.h"
7
- #include "libtinyf2c.h"
8
7
  #include "narray.h"
9
8
  #include "cdcl.h"
10
9
 
@@ -15,6 +14,10 @@
15
14
 
16
15
  #define DFLT_SIZE 32
17
16
 
17
+ #ifndef NARRAY_BIGMEM
18
+ typedef int na_shape_t;
19
+ #endif
20
+
18
21
  extern char *dcl_obj2ccharary(VALUE, int, int);
19
22
  extern integer *dcl_obj2cintegerary(VALUE);
20
23
  extern real *dcl_obj2crealary(VALUE);
@@ -22,10 +25,10 @@ extern complex *dcl_obj2ccomplexary(VALUE);
22
25
  extern logical *dcl_obj2clogicalary(VALUE);
23
26
 
24
27
  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 *);
28
+ extern VALUE dcl_cintegerary2obj(integer *, na_shape_t, int, na_shape_t *);
29
+ extern VALUE dcl_crealary2obj(real *, na_shape_t, int, na_shape_t *);
30
+ /* extern VALUE dcl_ccomplexary2obj(complex *, int, char *); */
31
+ extern VALUE dcl_clogicalary2obj(logical *, na_shape_t, int, na_shape_t *);
29
32
 
30
33
  extern void dcl_freeccharary(char *);
31
34
  extern void dcl_freecintegerary(integer *);
@@ -79,7 +82,7 @@ dcl_csgi(obj, ic)
79
82
  o_rtn_val= ALLOCA_N(char, (2));
80
83
  memset(o_rtn_val, '\0', 2);
81
84
 
82
- csgi_(o_rtn_val, (ftnlen)1, &i_ic);
85
+ csgi__(o_rtn_val, (ftnlen)1, &i_ic);
83
86
 
84
87
  rtn_val = rb_str_new2(o_rtn_val);
85
88
 
@@ -103,11 +106,37 @@ dcl_isgc(obj, ch)
103
106
  i_ch = StringValuePtr(ch);
104
107
 
105
108
 
106
- o_rtn_val = isgc_(i_ch, (ftnlen)strlen(i_ch));
109
+ o_rtn_val = isgc__(i_ch, (ftnlen)strlen(i_ch));
107
110
 
108
111
  rtn_val = INT2NUM(o_rtn_val);
109
112
 
110
113
 
114
+ return rtn_val;
115
+
116
+ }
117
+
118
+ static VALUE
119
+ dcl_usgi(obj, ic)
120
+ VALUE obj, ic;
121
+ {
122
+ integer i_ic;
123
+ char *o_rtn_val;
124
+ VALUE rtn_val;
125
+
126
+ if ((TYPE(ic) != T_BIGNUM) || (TYPE(ic) != T_FIXNUM)) {
127
+ ic = rb_funcall(ic, rb_intern("to_i"), 0);
128
+ }
129
+
130
+ i_ic = NUM2INT(ic);
131
+
132
+ o_rtn_val= ALLOCA_N(char, (3+1));
133
+ memset(o_rtn_val, '\0', 3+1);
134
+
135
+ usgi__(o_rtn_val, (ftnlen)3, &i_ic);
136
+
137
+ rtn_val = rb_str_new2(o_rtn_val);
138
+
139
+
111
140
  return rtn_val;
112
141
 
113
142
  }
@@ -117,4 +146,5 @@ VALUE mDCL;
117
146
  {
118
147
  rb_define_module_function(mDCL, "csgi", dcl_csgi, 1);
119
148
  rb_define_module_function(mDCL, "isgc", dcl_isgc, 1);
149
+ rb_define_module_function(mDCL, "usgi", dcl_usgi, 1);
120
150
  }