ruby-dcl 1.6.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 (319) hide show
  1. data/ChangeLog +321 -0
  2. data/GenWrapper/Makefile +14 -0
  3. data/GenWrapper/cproto2init.rb +41 -0
  4. data/GenWrapper/dcl_narrayed_funcs.rb +181 -0
  5. data/GenWrapper/dcl_rb_footing +29 -0
  6. data/GenWrapper/dcl_rb_heading +129 -0
  7. data/GenWrapper/def.rb +20 -0
  8. data/GenWrapper/elim_ary_size.rb +398 -0
  9. data/GenWrapper/etc/Mk_proto +375 -0
  10. data/GenWrapper/etc/dcl_gen +13 -0
  11. data/GenWrapper/etc/p_header +63 -0
  12. data/GenWrapper/etc/p_init +410 -0
  13. data/GenWrapper/pparse.rb +137 -0
  14. data/GenWrapper/proto/Makefile +35 -0
  15. data/GenWrapper/proto/grph1_00 +17 -0
  16. data/GenWrapper/proto/grph1_csgi.fp +27 -0
  17. data/GenWrapper/proto/grph1_scpack.fp +442 -0
  18. data/GenWrapper/proto/grph1_sgpack.fp +1406 -0
  19. data/GenWrapper/proto/grph1_slpack.fp +316 -0
  20. data/GenWrapper/proto/grph1_stpack.fp +411 -0
  21. data/GenWrapper/proto/grph1_swpack.fp +746 -0
  22. data/GenWrapper/proto/grph2_00 +16 -0
  23. data/GenWrapper/proto/grph2_grpack.fp +139 -0
  24. data/GenWrapper/proto/grph2_ucpack.fp +522 -0
  25. data/GenWrapper/proto/grph2_udpack.fp +692 -0
  26. data/GenWrapper/proto/grph2_uepack.fp +601 -0
  27. data/GenWrapper/proto/grph2_ugpack.fp +436 -0
  28. data/GenWrapper/proto/grph2_uhpack.fp +246 -0
  29. data/GenWrapper/proto/grph2_ulpack.fp +516 -0
  30. data/GenWrapper/proto/grph2_umpack.fp +676 -0
  31. data/GenWrapper/proto/grph2_uspack.fp +989 -0
  32. data/GenWrapper/proto/grph2_uupack.fp +663 -0
  33. data/GenWrapper/proto/grph2_uvpack.fp +246 -0
  34. data/GenWrapper/proto/grph2_uwpack.fp +203 -0
  35. data/GenWrapper/proto/grph2_uxpack.fp +295 -0
  36. data/GenWrapper/proto/grph2_uypack.fp +295 -0
  37. data/GenWrapper/proto/grph2_uzpack.fp +574 -0
  38. data/GenWrapper/proto/math1_00 +12 -0
  39. data/GenWrapper/proto/math1_blklib.fp +58 -0
  40. data/GenWrapper/proto/math1_chrlib.fp +83 -0
  41. data/GenWrapper/proto/math1_fnclib.fp +79 -0
  42. data/GenWrapper/proto/math1_gnmlib.fp +118 -0
  43. data/GenWrapper/proto/math1_gt2dlib.fp +144 -0
  44. data/GenWrapper/proto/math1_ifalib.fp +123 -0
  45. data/GenWrapper/proto/math1_indxlib.fp +222 -0
  46. data/GenWrapper/proto/math1_intlib.fp +46 -0
  47. data/GenWrapper/proto/math1_lrllib.fp +276 -0
  48. data/GenWrapper/proto/math1_maplib.fp +24 -0
  49. data/GenWrapper/proto/math1_oslib.fp +28 -0
  50. data/GenWrapper/proto/math1_rfalib.fp +420 -0
  51. data/GenWrapper/proto/math1_rfblib.fp +51 -0
  52. data/GenWrapper/proto/math1_sublib.fp +60 -0
  53. data/GenWrapper/proto/math1_syslib.fp +767 -0
  54. data/GenWrapper/proto/math1_vialib.fp +339 -0
  55. data/GenWrapper/proto/math1_viblib.fp +264 -0
  56. data/GenWrapper/proto/math1_vralib.fp +339 -0
  57. data/GenWrapper/proto/math1_vrblib.fp +264 -0
  58. data/GenWrapper/proto/math1_xfclib.fp +68 -0
  59. data/GenWrapper/proto/math2_00 +12 -0
  60. data/GenWrapper/proto/math2_fftlib.fp +803 -0
  61. data/GenWrapper/proto/math2_intrlib.fp +32 -0
  62. data/GenWrapper/proto/math2_odelib.fp_notused +568 -0
  63. data/GenWrapper/proto/math2_rnmlib.fp +54 -0
  64. data/GenWrapper/proto/math2_shtlib.fp +1292 -0
  65. data/GenWrapper/proto/math2_shtlib.fp_old +1294 -0
  66. data/GenWrapper/proto/math2_vstlib.fp +84 -0
  67. data/GenWrapper/proto/misc1_00 +17 -0
  68. data/GenWrapper/proto/misc1_chnlib.fp +47 -0
  69. data/GenWrapper/proto/misc1_datelib.fp +352 -0
  70. data/GenWrapper/proto/misc1_fmtlib.fp +19 -0
  71. data/GenWrapper/proto/misc1_misclib.fp +26 -0
  72. data/GenWrapper/proto/misc1_randlib.fp +36 -0
  73. data/GenWrapper/proto/misc1_timelib.fp +151 -0
  74. data/GenWrapper/proto2c.rb +13 -0
  75. data/GenWrapper/prototype.rb +209 -0
  76. data/GenWrapper/util.rb +9 -0
  77. data/GenWrapper/variable.rb +671 -0
  78. data/README +29 -0
  79. data/Rakefile +44 -0
  80. data/ToDo +2 -0
  81. data/dcl_cary2obj.c +354 -0
  82. data/dcl_narrayed_funcs.c +518 -0
  83. data/dcl_obj2cary.c +512 -0
  84. data/dcl_rubydcloriginal.c +129 -0
  85. data/demo/gokuraku/hop/hop.rb +26 -0
  86. data/demo/gokuraku/jump/jump1.rb +64 -0
  87. data/demo/gokuraku/jump/jump2.rb +50 -0
  88. data/demo/gokuraku/layout/lay1.rb +46 -0
  89. data/demo/gokuraku/layout/lay2.rb +44 -0
  90. data/demo/gokuraku/step/step0.rb +34 -0
  91. data/demo/gokuraku/step/step1.rb +84 -0
  92. data/demo/gokuraku/step/step2.rb +62 -0
  93. data/demo/gokuraku/u1d/u1d1.rb +37 -0
  94. data/demo/gokuraku/u1d/u1d2.rb +50 -0
  95. data/demo/gokuraku/u2d/u2d1.rb +46 -0
  96. data/demo/gokuraku/u2d/u2d2.rb +49 -0
  97. data/demo/gokuraku/u2d/u2d3.rb +45 -0
  98. data/demo/gokuraku/u2d/u2d4.rb +61 -0
  99. data/demo/grph1/scpack/scpkt2.rb +40 -0
  100. data/demo/grph1/scpack/scpkt3.rb +102 -0
  101. data/demo/grph1/scpack/scpkt6.rb +84 -0
  102. data/demo/grph1/scpack/scpkt7.rb +59 -0
  103. data/demo/grph1/scpack/scpkt8.rb +60 -0
  104. data/demo/grph1/scpack/t810630.dat +296 -0
  105. data/demo/grph1/scpack/t811231.dat +296 -0
  106. data/demo/grph1/sgpack/sgfont.rb +52 -0
  107. data/demo/grph1/sgpack/sgfonz.rb +53 -0
  108. data/demo/grph1/sgpack/sgksx1.rb +44 -0
  109. data/demo/grph1/sgpack/sgksx2.rb +90 -0
  110. data/demo/grph1/sgpack/sgksx3.rb +75 -0
  111. data/demo/grph1/sgpack/sglidx.rb +40 -0
  112. data/demo/grph1/sgpack/sgltyp.rb +48 -0
  113. data/demo/grph1/sgpack/sgpk01.rb +39 -0
  114. data/demo/grph1/sgpack/sgpk02.rb +79 -0
  115. data/demo/grph1/sgpack/sgpk03.rb +107 -0
  116. data/demo/grph1/sgpack/sgpk04.rb +86 -0
  117. data/demo/grph1/sgpack/sgpk05.rb +66 -0
  118. data/demo/grph1/sgpack/sgpk06.rb +91 -0
  119. data/demo/grph1/sgpack/sgpk07.rb +66 -0
  120. data/demo/grph1/sgpack/sgpk08.rb +67 -0
  121. data/demo/grph1/sgpack/sgpk09.rb +61 -0
  122. data/demo/grph1/sgpack/sgpk10.rb +58 -0
  123. data/demo/grph1/sgpack/sgtclr.rb +59 -0
  124. data/demo/grph1/sgpack/sgtone.rb +70 -0
  125. data/demo/grph1/sgpack/sgtonz.rb +66 -0
  126. data/demo/grph1/slpack/slpk01.rb +37 -0
  127. data/demo/grph1/slpack/slpk02.rb +29 -0
  128. data/demo/grph1/slpack/slpk03.rb +36 -0
  129. data/demo/grph1/slpack/slpk04.rb +36 -0
  130. data/demo/grph2/g2pack/g2pk01.rb +78 -0
  131. data/demo/grph2/g2pack/g2pk02.rb +75 -0
  132. data/demo/grph2/grpack/grpk01.rb +65 -0
  133. data/demo/grph2/ucpack/ucpk01.rb +95 -0
  134. data/demo/grph2/ucpack/ucpk02.rb +95 -0
  135. data/demo/grph2/udegpk/u2df01.rb +50 -0
  136. data/demo/grph2/udegpk/u2df02.rb +76 -0
  137. data/demo/grph2/udegpk/u2df03.rb +80 -0
  138. data/demo/grph2/udegpk/u2df04.rb +52 -0
  139. data/demo/grph2/udegpk/u2df05.rb +70 -0
  140. data/demo/grph2/udegpk/u2df06.rb +59 -0
  141. data/demo/grph2/udegpk/u2df07.rb +68 -0
  142. data/demo/grph2/udegpk/u2df08.rb +91 -0
  143. data/demo/grph2/udegpk/u2df09b.rb +88 -0
  144. data/demo/grph2/udegpk/u2df09c.rb +89 -0
  145. data/demo/grph2/udegpk/u2df09e.rb +88 -0
  146. data/demo/grph2/udegpk/u2df09f.rb +89 -0
  147. data/demo/grph2/ulpack/ulpk01.rb +111 -0
  148. data/demo/grph2/ulpack/ulpk01n.rb +111 -0
  149. data/demo/grph2/ulpack/ulpk02.rb +111 -0
  150. data/demo/grph2/ulpack/ulpk02n.rb +111 -0
  151. data/demo/grph2/umpack/t811231.dat +296 -0
  152. data/demo/grph2/umpack/test01.rb +69 -0
  153. data/demo/grph2/umpack/test02.rb +64 -0
  154. data/demo/grph2/umpack/test03.rb +84 -0
  155. data/demo/grph2/umpack/test04.rb +54 -0
  156. data/demo/grph2/umpack/test05.rb +85 -0
  157. data/demo/grph2/umpack/test06.rb +44 -0
  158. data/demo/grph2/umpack/test07.rb +43 -0
  159. data/demo/grph2/umpack/test08.rb +37 -0
  160. data/demo/grph2/umpack/test09.rb +86 -0
  161. data/demo/grph2/umpack/test10.rb +52 -0
  162. data/demo/grph2/umpack/umpk01.rb +65 -0
  163. data/demo/grph2/umpack/umpk02.rb +54 -0
  164. data/demo/grph2/umpack/umpk03.rb +46 -0
  165. data/demo/grph2/umpack/umpk04.rb +65 -0
  166. data/demo/grph2/umpack/umpk05.rb +84 -0
  167. data/demo/grph2/uspack/uspk01.rb +39 -0
  168. data/demo/grph2/uspack/uspk02.rb +47 -0
  169. data/demo/grph2/uspack/uspk03.rb +38 -0
  170. data/demo/grph2/uspack/uspk04.rb +64 -0
  171. data/demo/grph2/uspack/uspk05.rb +68 -0
  172. data/demo/grph2/uspack/uspk06.rb +43 -0
  173. data/demo/grph2/uspack/uspk07.rb +62 -0
  174. data/demo/grph2/uspack/uspk08.rb +46 -0
  175. data/demo/grph2/uspack/uspk09.rb +89 -0
  176. data/demo/grph2/uspack/uspk10.rb +48 -0
  177. data/demo/grph2/uspack/uspk11.rb +71 -0
  178. data/demo/grph2/uspack/uspk12.rb +51 -0
  179. data/demo/grph2/uupack/uupk01.rb +50 -0
  180. data/demo/grph2/uupack/uupk02.rb +74 -0
  181. data/demo/grph2/uupack/uupk03.rb +56 -0
  182. data/demo/grph2/uupack/uupk04.rb +84 -0
  183. data/demo/grph2/uupack/uupk05.rb +74 -0
  184. data/demo/grph2/uupack/uupk06.rb +77 -0
  185. data/demo/grph2/uupack/uupk07.rb +88 -0
  186. data/demo/grph2/uxyzpk/uxyz01.rb +38 -0
  187. data/demo/grph2/uxyzpk/uxyz02.rb +36 -0
  188. data/demo/grph2/uxyzpk/uxyz03.rb +37 -0
  189. data/demo/grph2/uxyzpk/uxyz04.rb +54 -0
  190. data/demo/grph2/uxyzpk/uxyz05.rb +41 -0
  191. data/demo/grph2/uxyzpk/uxyz06.rb +42 -0
  192. data/demo/grph2/uxyzpk/uxyz07.rb +38 -0
  193. data/demo/grph2/uxyzpk/uxyz08.rb +60 -0
  194. data/demo/grph2/uxyzpk/uxyz09.rb +52 -0
  195. data/demo/grph2/uxyzpk/uxyz10.rb +57 -0
  196. data/demo/grph2/ximage/MEMO +23 -0
  197. data/demo/grph2/ximage/tomsclm.dat +1344 -0
  198. data/demo/grph2/ximage/ximg01.rb +145 -0
  199. data/demo/math1/gt2dlib/gt2d01.rb +33 -0
  200. data/demo/math2/fftlib/fftl01.rb +28 -0
  201. data/demo/math2/fftlib/fftl02.rb +224 -0
  202. data/demo/math2/intrlib/intr01.rb +22 -0
  203. data/demo/math2/rnmlib/rnml01.rb +21 -0
  204. data/demo/math2/vstlib/vstl01.rb +29 -0
  205. data/demo/math2/vstlib/vstl02.rb +38 -0
  206. data/demo/rakuraku/color/color1.rb +61 -0
  207. data/demo/rakuraku/color/color2.rb +57 -0
  208. data/demo/rakuraku/color/color3.rb +81 -0
  209. data/demo/rakuraku/kihon/kihon1.rb +39 -0
  210. data/demo/rakuraku/kihon/kihon2.rb +56 -0
  211. data/demo/rakuraku/kihon/kihon3.rb +57 -0
  212. data/demo/rakuraku/kihon/kihon4.rb +70 -0
  213. data/demo/rakuraku/kihon/kihon5.rb +56 -0
  214. data/demo/rakuraku/kihon/kihon6.rb +40 -0
  215. data/demo/rakuraku/kihon/kihon7.rb +98 -0
  216. data/demo/rakuraku/kihon/kihon8.rb +93 -0
  217. data/demo/rakuraku/kihon/kihon9.rb +77 -0
  218. data/demo/rakuraku/kihon/kihona.rb +123 -0
  219. data/demo/rakuraku/kihon/kihonb.rb +73 -0
  220. data/demo/rakuraku/kihon/kihonc.rb +110 -0
  221. data/demo/rakuraku/layout/lay1.rb +29 -0
  222. data/demo/rakuraku/layout/lay2.rb +28 -0
  223. data/demo/rakuraku/layout/lay3.rb +29 -0
  224. data/demo/rakuraku/map3d/map3d1.rb +68 -0
  225. data/demo/rakuraku/map3d/map3d2.rb +67 -0
  226. data/demo/rakuraku/map3d/map3d3.rb +66 -0
  227. data/demo/rakuraku/map3d/map3d4.rb +107 -0
  228. data/demo/rakuraku/map3d/map3d5.rb +118 -0
  229. data/demo/rakuraku/map3d/map3d6.rb +96 -0
  230. data/demo/rakuraku/map3d/map3d7.rb +98 -0
  231. data/demo/rakuraku/miss/miss1.rb +76 -0
  232. data/demo/rakuraku/miss/miss2.rb +60 -0
  233. data/demo/rakuraku/quick/quick1.rb +35 -0
  234. data/demo/rakuraku/quick/quick2.rb +33 -0
  235. data/demo/rakuraku/quick/quick3.rb +46 -0
  236. data/demo/rakuraku/quick/quick4.rb +47 -0
  237. data/demo/rakuraku/quick/quick5.rb +46 -0
  238. data/demo/rakuraku/u2d/u2d1.rb +50 -0
  239. data/demo/rakuraku/u2d/u2d2.rb +51 -0
  240. data/demo/rakuraku/u2d/u2d3.rb +70 -0
  241. data/demo/rakuraku/u2d/u2d4.rb +59 -0
  242. data/demo/rakuraku/u2d/u2d5.rb +61 -0
  243. data/demo/rakuraku/u2d/u2d6.rb +57 -0
  244. data/demo/rakuraku/u2d/u2d7.rb +103 -0
  245. data/demo/rakuraku/uspack/uspac1.rb +35 -0
  246. data/demo/rakuraku/uspack/uspac2.rb +66 -0
  247. data/demo/rakuraku/uspack/uspac3.rb +37 -0
  248. data/demo/rakuraku/uspack/uspac4.rb +49 -0
  249. data/demo/rakuraku/uxyz/uxyz1.rb +37 -0
  250. data/demo/rakuraku/uxyz/uxyz2.rb +35 -0
  251. data/demo/rakuraku/uxyz/uxyz3.rb +38 -0
  252. data/demo/rakuraku/uxyz/uxyz4.rb +36 -0
  253. data/demo/rakuraku/uxyz/uxyz5.rb +57 -0
  254. data/demo/rakuraku/uxyz/uxyz6.rb +43 -0
  255. data/demo/rakuraku/uxyz/uxyz7.rb +39 -0
  256. data/demo/rakuraku/uxyz/uxyz8.rb +56 -0
  257. data/demo/rubydcloriginal/uemrkz1.rb +37 -0
  258. data/dummy.c +9 -0
  259. data/extconf.rb +133 -0
  260. data/grph1_csgi.c +119 -0
  261. data/grph1_scpack.c +1388 -0
  262. data/grph1_sgpack.c +3876 -0
  263. data/grph1_slpack.c +432 -0
  264. data/grph1_stpack.c +1044 -0
  265. data/grph1_swpack.c +1922 -0
  266. data/grph1_zgpack.c.org +141 -0
  267. data/grph2_grpack.c +368 -0
  268. data/grph2_ucpack.c +1232 -0
  269. data/grph2_udpack.c +1404 -0
  270. data/grph2_uepack.c +1443 -0
  271. data/grph2_ugpack.c +1073 -0
  272. data/grph2_uhpack.c +943 -0
  273. data/grph2_ulpack.c +1304 -0
  274. data/grph2_umpack.c +1540 -0
  275. data/grph2_uspack.c +2481 -0
  276. data/grph2_uupack.c +1689 -0
  277. data/grph2_uvpack.c +943 -0
  278. data/grph2_uwpack.c +552 -0
  279. data/grph2_uxpack.c +555 -0
  280. data/grph2_uypack.c +555 -0
  281. data/grph2_uzpack.c +1455 -0
  282. data/init.c.default +187 -0
  283. data/init.c.gtk +189 -0
  284. data/lib/dcl.rb +5084 -0
  285. data/math1_blklib.c +227 -0
  286. data/math1_chrlib.c +239 -0
  287. data/math1_fnclib.c +254 -0
  288. data/math1_gnmlib.c +356 -0
  289. data/math1_gt2dlib.c +514 -0
  290. data/math1_ifalib.c +427 -0
  291. data/math1_indxlib.c +709 -0
  292. data/math1_intlib.c +167 -0
  293. data/math1_lrllib.c +817 -0
  294. data/math1_maplib.c +172 -0
  295. data/math1_oslib.c +111 -0
  296. data/math1_rfalib.c +1417 -0
  297. data/math1_rfblib.c +232 -0
  298. data/math1_sublib.c +221 -0
  299. data/math1_syslib.c +2025 -0
  300. data/math1_vialib.c +1156 -0
  301. data/math1_viblib.c +1027 -0
  302. data/math1_vralib.c +1156 -0
  303. data/math1_vrblib.c +1027 -0
  304. data/math1_xfclib.c +142 -0
  305. data/math2_fftlib.c +833 -0
  306. data/math2_intrlib.c +138 -0
  307. data/math2_rnmlib.c +226 -0
  308. data/math2_shtlib.c +1568 -0
  309. data/math2_vstlib.c +366 -0
  310. data/misc1_chnlib.c +179 -0
  311. data/misc1_datelib.c +953 -0
  312. data/misc1_fmtlib.c +99 -0
  313. data/misc1_misclib.c +118 -0
  314. data/misc1_randlib.c +142 -0
  315. data/misc1_timelib.c +380 -0
  316. data/obsolete/README +2 -0
  317. data/obsolete/dcl_ext.html +112 -0
  318. data/obsolete/dcl_ext.rb +313 -0
  319. metadata +433 -0
data/grph2_uwpack.c ADDED
@@ -0,0 +1,552 @@
1
+ /*
2
+ * $Id: p_header,v 1.2 2011-02-23 17:47:10 koshiro Exp $
3
+ */
4
+
5
+ #include <stdio.h>
6
+ #include "ruby.h"
7
+ #include "libtinyf2c.h"
8
+ #include "narray.h"
9
+
10
+ /* for compatibility with ruby 1.6 */
11
+ #ifndef StringValuePtr
12
+ #define StringValuePtr(s) STR2CSTR(s)
13
+ #endif
14
+
15
+ #define DFLT_SIZE 32
16
+
17
+ extern char *dcl_obj2ccharary(VALUE, int, int);
18
+ extern integer *dcl_obj2cintegerary(VALUE);
19
+ extern real *dcl_obj2crealary(VALUE);
20
+ extern complex *dcl_obj2ccomplexary(VALUE);
21
+ extern logical *dcl_obj2clogicalary(VALUE);
22
+
23
+ extern VALUE dcl_ccharary2obj(char *, int, int);
24
+ extern VALUE dcl_cintegerary2obj(integer *, int, int, int *);
25
+ extern VALUE dcl_crealary2obj(real *, int, int, int *);
26
+ extern VALUE dcl_ccomplexary2obj(complex *, int, char *);
27
+ extern VALUE dcl_clogicalary2obj(logical *, int, int, int *);
28
+
29
+ extern void dcl_freeccharary(char *);
30
+ extern void dcl_freecintegerary(integer *);
31
+ extern void dcl_freecrealary(real *);
32
+ extern void dcl_freeccomplexary(complex *);
33
+ extern void dcl_freeclogicalary(logical *);
34
+
35
+ /* for functions which return real */
36
+ /* fnclib */
37
+ extern real rd2r_(real *);
38
+ extern real rr2d_(real *);
39
+ extern real rexp_(real *, integer *, integer *);
40
+ extern real rfpi_(void);
41
+ extern real rmod_(real *, real *);
42
+ /* gnmlib */
43
+ extern real rgnlt_(real *);
44
+ extern real rgnle_(real *);
45
+ extern real rgngt_(real *);
46
+ extern real rgnge_(real *);
47
+ /* rfalib */
48
+ extern real rmax_(real *, integer *, integer *);
49
+ extern real rmin_(real *, integer *, integer *);
50
+ extern real rsum_(real *, integer *, integer *);
51
+ extern real rave_(real *, integer *, integer *);
52
+ extern real rvar_(real *, integer *, integer *);
53
+ extern real rstd_(real *, integer *, integer *);
54
+ extern real rrms_(real *, integer *, integer *);
55
+ extern real ramp_(real *, integer *, integer *);
56
+ /* rfblib */
57
+ extern real rprd_(real *, real *, integer *, integer *, integer *);
58
+ extern real rcov_(real *, real *, integer *, integer *, integer *);
59
+ extern real rcor_(real *, real *, integer *, integer *, integer *);
60
+
61
+
62
+ extern VALUE mDCL;
63
+
64
+ static VALUE
65
+ dcl_uwsgxa(obj, xp, nx)
66
+ VALUE obj, xp, nx;
67
+ {
68
+ real *i_xp;
69
+ integer i_nx;
70
+
71
+ if (TYPE(xp) == T_FLOAT) {
72
+ xp = rb_Array(xp);
73
+ }
74
+ /* if ((TYPE(xp) != T_ARRAY) &&
75
+ (rb_obj_is_kind_of(xp, cNArray) != Qtrue)) {
76
+ rb_raise(rb_eTypeError, "invalid type");
77
+ } -- no check since obj2c*ary will do that */
78
+ if ((TYPE(nx) != T_BIGNUM) || (TYPE(nx) != T_FIXNUM)) {
79
+ nx = rb_funcall(nx, rb_intern("to_i"), 0);
80
+ }
81
+
82
+ i_nx = NUM2INT(nx);
83
+ i_xp = dcl_obj2crealary(xp);
84
+
85
+
86
+ uwsgxa_(i_xp, &i_nx);
87
+
88
+ dcl_freecrealary(i_xp);
89
+
90
+ return Qnil;
91
+
92
+ }
93
+
94
+ static VALUE
95
+ dcl_uwqgxa(obj)
96
+ VALUE obj;
97
+ {
98
+ real *o_xp;
99
+ integer o_nx;
100
+ VALUE xp;
101
+ VALUE nx;
102
+
103
+ o_xp= ALLOCA_N(real, (o_nx));
104
+
105
+ uwqgxa_(o_xp, &o_nx);
106
+
107
+ {int array_shape[1] = {o_nx};
108
+ xp = dcl_crealary2obj(o_xp, (o_nx), 1, array_shape);
109
+ }
110
+ nx = INT2NUM(o_nx);
111
+
112
+
113
+ return rb_ary_new3(2, xp, nx);
114
+
115
+ }
116
+
117
+ static VALUE
118
+ dcl_uwsgxb(obj, uxmin, uxmax, nx)
119
+ VALUE obj, uxmin, uxmax, nx;
120
+ {
121
+ real i_uxmin;
122
+ real i_uxmax;
123
+ integer i_nx;
124
+
125
+ if (TYPE(uxmin) != T_FLOAT) {
126
+ uxmin = rb_funcall(uxmin, rb_intern("to_f"), 0);
127
+ }
128
+ if (TYPE(uxmax) != T_FLOAT) {
129
+ uxmax = rb_funcall(uxmax, rb_intern("to_f"), 0);
130
+ }
131
+ if ((TYPE(nx) != T_BIGNUM) || (TYPE(nx) != T_FIXNUM)) {
132
+ nx = rb_funcall(nx, rb_intern("to_i"), 0);
133
+ }
134
+
135
+ i_uxmin = (real)NUM2DBL(uxmin);
136
+ i_uxmax = (real)NUM2DBL(uxmax);
137
+ i_nx = NUM2INT(nx);
138
+
139
+
140
+ uwsgxb_(&i_uxmin, &i_uxmax, &i_nx);
141
+
142
+ return Qnil;
143
+
144
+ }
145
+
146
+ static VALUE
147
+ dcl_uwqgxb(obj)
148
+ VALUE obj;
149
+ {
150
+ real o_uxmin;
151
+ real o_uxmax;
152
+ integer o_nx;
153
+ VALUE uxmin;
154
+ VALUE uxmax;
155
+ VALUE nx;
156
+
157
+ uwqgxb_(&o_uxmin, &o_uxmax, &o_nx);
158
+
159
+ uxmin = rb_float_new((double)o_uxmin);
160
+ uxmax = rb_float_new((double)o_uxmax);
161
+ nx = INT2NUM(o_nx);
162
+
163
+
164
+ return rb_ary_new3(3, uxmin, uxmax, nx);
165
+
166
+ }
167
+
168
+ static VALUE
169
+ dcl_uwsgxz(obj, lsetx)
170
+ VALUE obj, lsetx;
171
+ {
172
+ logical i_lsetx;
173
+
174
+ i_lsetx = ((lsetx == Qnil)||(lsetx == Qfalse)) ? FALSE_ : TRUE_;
175
+
176
+
177
+ uwsgxz_(&i_lsetx);
178
+
179
+ return Qnil;
180
+
181
+ }
182
+
183
+ static VALUE
184
+ dcl_uwqgxz(obj)
185
+ VALUE obj;
186
+ {
187
+ logical o_lsetx;
188
+ VALUE lsetx;
189
+
190
+ uwqgxz_(&o_lsetx);
191
+
192
+ lsetx = (o_lsetx == FALSE_) ? Qfalse : Qtrue;
193
+
194
+
195
+ return lsetx;
196
+
197
+ }
198
+
199
+ static VALUE
200
+ dcl_uwsgya(obj, yp, ny)
201
+ VALUE obj, yp, ny;
202
+ {
203
+ real *i_yp;
204
+ integer i_ny;
205
+
206
+ if (TYPE(yp) == T_FLOAT) {
207
+ yp = rb_Array(yp);
208
+ }
209
+ /* if ((TYPE(yp) != T_ARRAY) &&
210
+ (rb_obj_is_kind_of(yp, cNArray) != Qtrue)) {
211
+ rb_raise(rb_eTypeError, "invalid type");
212
+ } -- no check since obj2c*ary will do that */
213
+ if ((TYPE(ny) != T_BIGNUM) || (TYPE(ny) != T_FIXNUM)) {
214
+ ny = rb_funcall(ny, rb_intern("to_i"), 0);
215
+ }
216
+
217
+ i_ny = NUM2INT(ny);
218
+ i_yp = dcl_obj2crealary(yp);
219
+
220
+
221
+ uwsgya_(i_yp, &i_ny);
222
+
223
+ dcl_freecrealary(i_yp);
224
+
225
+ return Qnil;
226
+
227
+ }
228
+
229
+ static VALUE
230
+ dcl_uwqgya(obj)
231
+ VALUE obj;
232
+ {
233
+ real *o_yp;
234
+ integer o_ny;
235
+ VALUE yp;
236
+ VALUE ny;
237
+
238
+ o_yp= ALLOCA_N(real, (o_ny));
239
+
240
+ uwqgya_(o_yp, &o_ny);
241
+
242
+ {int array_shape[1] = {o_ny};
243
+ yp = dcl_crealary2obj(o_yp, (o_ny), 1, array_shape);
244
+ }
245
+ ny = INT2NUM(o_ny);
246
+
247
+
248
+ return rb_ary_new3(2, yp, ny);
249
+
250
+ }
251
+
252
+ static VALUE
253
+ dcl_uwsgyb(obj, uymin, uymax, ny)
254
+ VALUE obj, uymin, uymax, ny;
255
+ {
256
+ real i_uymin;
257
+ real i_uymax;
258
+ integer i_ny;
259
+
260
+ if (TYPE(uymin) != T_FLOAT) {
261
+ uymin = rb_funcall(uymin, rb_intern("to_f"), 0);
262
+ }
263
+ if (TYPE(uymax) != T_FLOAT) {
264
+ uymax = rb_funcall(uymax, rb_intern("to_f"), 0);
265
+ }
266
+ if ((TYPE(ny) != T_BIGNUM) || (TYPE(ny) != T_FIXNUM)) {
267
+ ny = rb_funcall(ny, rb_intern("to_i"), 0);
268
+ }
269
+
270
+ i_uymin = (real)NUM2DBL(uymin);
271
+ i_uymax = (real)NUM2DBL(uymax);
272
+ i_ny = NUM2INT(ny);
273
+
274
+
275
+ uwsgyb_(&i_uymin, &i_uymax, &i_ny);
276
+
277
+ return Qnil;
278
+
279
+ }
280
+
281
+ static VALUE
282
+ dcl_uwqgyb(obj)
283
+ VALUE obj;
284
+ {
285
+ real o_uymin;
286
+ real o_uymax;
287
+ integer o_ny;
288
+ VALUE uymin;
289
+ VALUE uymax;
290
+ VALUE ny;
291
+
292
+ uwqgyb_(&o_uymin, &o_uymax, &o_ny);
293
+
294
+ uymin = rb_float_new((double)o_uymin);
295
+ uymax = rb_float_new((double)o_uymax);
296
+ ny = INT2NUM(o_ny);
297
+
298
+
299
+ return rb_ary_new3(3, uymin, uymax, ny);
300
+
301
+ }
302
+
303
+ static VALUE
304
+ dcl_uwsgyz(obj, lsety)
305
+ VALUE obj, lsety;
306
+ {
307
+ logical i_lsety;
308
+
309
+ i_lsety = ((lsety == Qnil)||(lsety == Qfalse)) ? FALSE_ : TRUE_;
310
+
311
+
312
+ uwsgyz_(&i_lsety);
313
+
314
+ return Qnil;
315
+
316
+ }
317
+
318
+ static VALUE
319
+ dcl_uwqgyz(obj)
320
+ VALUE obj;
321
+ {
322
+ logical o_lsety;
323
+ VALUE lsety;
324
+
325
+ uwqgyz_(&o_lsety);
326
+
327
+ lsety = (o_lsety == FALSE_) ? Qfalse : Qtrue;
328
+
329
+
330
+ return lsety;
331
+
332
+ }
333
+
334
+ static VALUE
335
+ dcl_uwqgxi(obj, ux)
336
+ VALUE obj, ux;
337
+ {
338
+ real i_ux;
339
+ integer o_iux;
340
+ real o_frac;
341
+ VALUE iux;
342
+ VALUE frac;
343
+
344
+ if (TYPE(ux) != T_FLOAT) {
345
+ ux = rb_funcall(ux, rb_intern("to_f"), 0);
346
+ }
347
+
348
+ i_ux = (real)NUM2DBL(ux);
349
+
350
+
351
+ uwqgxi_(&i_ux, &o_iux, &o_frac);
352
+
353
+ iux = INT2NUM(o_iux);
354
+ frac = rb_float_new((double)o_frac);
355
+
356
+
357
+ return rb_ary_new3(2, iux, frac);
358
+
359
+ }
360
+
361
+ static VALUE
362
+ dcl_uwigxi(obj)
363
+ VALUE obj;
364
+ {
365
+ uwigxi_();
366
+
367
+ return Qnil;
368
+
369
+ }
370
+
371
+ static VALUE
372
+ dcl_uwqgyi(obj, uy)
373
+ VALUE obj, uy;
374
+ {
375
+ real i_uy;
376
+ integer o_iuy;
377
+ real o_frac;
378
+ VALUE iuy;
379
+ VALUE frac;
380
+
381
+ if (TYPE(uy) != T_FLOAT) {
382
+ uy = rb_funcall(uy, rb_intern("to_f"), 0);
383
+ }
384
+
385
+ i_uy = (real)NUM2DBL(uy);
386
+
387
+
388
+ uwqgyi_(&i_uy, &o_iuy, &o_frac);
389
+
390
+ iuy = INT2NUM(o_iuy);
391
+ frac = rb_float_new((double)o_frac);
392
+
393
+
394
+ return rb_ary_new3(2, iuy, frac);
395
+
396
+ }
397
+
398
+ static VALUE
399
+ dcl_uwigyi(obj)
400
+ VALUE obj;
401
+ {
402
+ uwigyi_();
403
+
404
+ return Qnil;
405
+
406
+ }
407
+
408
+ static VALUE
409
+ dcl_ruwgx(obj, ix)
410
+ VALUE obj, ix;
411
+ {
412
+ integer i_ix;
413
+ real o_rtn_val;
414
+ VALUE rtn_val;
415
+
416
+ if ((TYPE(ix) != T_BIGNUM) || (TYPE(ix) != T_FIXNUM)) {
417
+ ix = rb_funcall(ix, rb_intern("to_i"), 0);
418
+ }
419
+
420
+ i_ix = NUM2INT(ix);
421
+
422
+
423
+ o_rtn_val = ruwgx_(&i_ix);
424
+
425
+ rtn_val = rb_float_new((double)o_rtn_val);
426
+
427
+
428
+ return rtn_val;
429
+
430
+ }
431
+
432
+ static VALUE
433
+ dcl_ruwgy(obj, iy)
434
+ VALUE obj, iy;
435
+ {
436
+ integer i_iy;
437
+ real o_rtn_val;
438
+ VALUE rtn_val;
439
+
440
+ if ((TYPE(iy) != T_BIGNUM) || (TYPE(iy) != T_FIXNUM)) {
441
+ iy = rb_funcall(iy, rb_intern("to_i"), 0);
442
+ }
443
+
444
+ i_iy = NUM2INT(iy);
445
+
446
+
447
+ o_rtn_val = ruwgy_(&i_iy);
448
+
449
+ rtn_val = rb_float_new((double)o_rtn_val);
450
+
451
+
452
+ return rtn_val;
453
+
454
+ }
455
+
456
+ static VALUE
457
+ dcl_iuwgx(obj, ux)
458
+ VALUE obj, ux;
459
+ {
460
+ real i_ux;
461
+ integer o_rtn_val;
462
+ VALUE rtn_val;
463
+
464
+ if (TYPE(ux) != T_FLOAT) {
465
+ ux = rb_funcall(ux, rb_intern("to_f"), 0);
466
+ }
467
+
468
+ i_ux = (real)NUM2DBL(ux);
469
+
470
+
471
+ o_rtn_val = iuwgx_(&i_ux);
472
+
473
+ rtn_val = INT2NUM(o_rtn_val);
474
+
475
+
476
+ return rtn_val;
477
+
478
+ }
479
+
480
+ static VALUE
481
+ dcl_iuwgy(obj, uy)
482
+ VALUE obj, uy;
483
+ {
484
+ real i_uy;
485
+ integer o_rtn_val;
486
+ VALUE rtn_val;
487
+
488
+ if (TYPE(uy) != T_FLOAT) {
489
+ uy = rb_funcall(uy, rb_intern("to_f"), 0);
490
+ }
491
+
492
+ i_uy = (real)NUM2DBL(uy);
493
+
494
+
495
+ o_rtn_val = iuwgy_(&i_uy);
496
+
497
+ rtn_val = INT2NUM(o_rtn_val);
498
+
499
+
500
+ return rtn_val;
501
+
502
+ }
503
+
504
+ static VALUE
505
+ dcl_uwdflt(obj, nx, ny)
506
+ VALUE obj, nx, ny;
507
+ {
508
+ integer i_nx;
509
+ integer i_ny;
510
+
511
+ if ((TYPE(nx) != T_BIGNUM) || (TYPE(nx) != T_FIXNUM)) {
512
+ nx = rb_funcall(nx, rb_intern("to_i"), 0);
513
+ }
514
+ if ((TYPE(ny) != T_BIGNUM) || (TYPE(ny) != T_FIXNUM)) {
515
+ ny = rb_funcall(ny, rb_intern("to_i"), 0);
516
+ }
517
+
518
+ i_nx = NUM2INT(nx);
519
+ i_ny = NUM2INT(ny);
520
+
521
+
522
+ uwdflt_(&i_nx, &i_ny);
523
+
524
+ return Qnil;
525
+
526
+ }
527
+ void
528
+ init_grph2_uwpack(mDCL)
529
+ VALUE mDCL;
530
+ {
531
+ rb_define_module_function(mDCL, "uwsgxa", dcl_uwsgxa, 2);
532
+ rb_define_module_function(mDCL, "uwqgxa", dcl_uwqgxa, 0);
533
+ rb_define_module_function(mDCL, "uwsgxb", dcl_uwsgxb, 3);
534
+ rb_define_module_function(mDCL, "uwqgxb", dcl_uwqgxb, 0);
535
+ rb_define_module_function(mDCL, "uwsgxz", dcl_uwsgxz, 1);
536
+ rb_define_module_function(mDCL, "uwqgxz", dcl_uwqgxz, 0);
537
+ rb_define_module_function(mDCL, "uwsgya", dcl_uwsgya, 2);
538
+ rb_define_module_function(mDCL, "uwqgya", dcl_uwqgya, 0);
539
+ rb_define_module_function(mDCL, "uwsgyb", dcl_uwsgyb, 3);
540
+ rb_define_module_function(mDCL, "uwqgyb", dcl_uwqgyb, 0);
541
+ rb_define_module_function(mDCL, "uwsgyz", dcl_uwsgyz, 1);
542
+ rb_define_module_function(mDCL, "uwqgyz", dcl_uwqgyz, 0);
543
+ rb_define_module_function(mDCL, "uwqgxi", dcl_uwqgxi, 1);
544
+ rb_define_module_function(mDCL, "uwigxi", dcl_uwigxi, 0);
545
+ rb_define_module_function(mDCL, "uwqgyi", dcl_uwqgyi, 1);
546
+ rb_define_module_function(mDCL, "uwigyi", dcl_uwigyi, 0);
547
+ rb_define_module_function(mDCL, "ruwgx", dcl_ruwgx, 1);
548
+ rb_define_module_function(mDCL, "ruwgy", dcl_ruwgy, 1);
549
+ rb_define_module_function(mDCL, "iuwgx", dcl_iuwgx, 1);
550
+ rb_define_module_function(mDCL, "iuwgy", dcl_iuwgy, 1);
551
+ rb_define_module_function(mDCL, "uwdflt", dcl_uwdflt, 2);
552
+ }