ruby-dcl 1.7.1 → 1.8.2

Sign up to get free protection for your applications and to get access to all the features.
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
  }