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/math1_intlib.c ADDED
@@ -0,0 +1,167 @@
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_irlt(obj, rx)
66
+ VALUE obj, rx;
67
+ {
68
+ real i_rx;
69
+ integer o_rtn_val;
70
+ VALUE rtn_val;
71
+
72
+ if (TYPE(rx) != T_FLOAT) {
73
+ rx = rb_funcall(rx, rb_intern("to_f"), 0);
74
+ }
75
+
76
+ i_rx = (real)NUM2DBL(rx);
77
+
78
+
79
+ o_rtn_val = irlt_(&i_rx);
80
+
81
+ rtn_val = INT2NUM(o_rtn_val);
82
+
83
+
84
+ return rtn_val;
85
+
86
+ }
87
+
88
+ static VALUE
89
+ dcl_irge(obj, rx)
90
+ VALUE obj, rx;
91
+ {
92
+ real i_rx;
93
+ integer o_rtn_val;
94
+ VALUE rtn_val;
95
+
96
+ if (TYPE(rx) != T_FLOAT) {
97
+ rx = rb_funcall(rx, rb_intern("to_f"), 0);
98
+ }
99
+
100
+ i_rx = (real)NUM2DBL(rx);
101
+
102
+
103
+ o_rtn_val = irge_(&i_rx);
104
+
105
+ rtn_val = INT2NUM(o_rtn_val);
106
+
107
+
108
+ return rtn_val;
109
+
110
+ }
111
+
112
+ static VALUE
113
+ dcl_irle(obj, rx)
114
+ VALUE obj, rx;
115
+ {
116
+ real i_rx;
117
+ integer o_rtn_val;
118
+ VALUE rtn_val;
119
+
120
+ if (TYPE(rx) != T_FLOAT) {
121
+ rx = rb_funcall(rx, rb_intern("to_f"), 0);
122
+ }
123
+
124
+ i_rx = (real)NUM2DBL(rx);
125
+
126
+
127
+ o_rtn_val = irle_(&i_rx);
128
+
129
+ rtn_val = INT2NUM(o_rtn_val);
130
+
131
+
132
+ return rtn_val;
133
+
134
+ }
135
+
136
+ static VALUE
137
+ dcl_irgt(obj, rx)
138
+ VALUE obj, rx;
139
+ {
140
+ real i_rx;
141
+ integer o_rtn_val;
142
+ VALUE rtn_val;
143
+
144
+ if (TYPE(rx) != T_FLOAT) {
145
+ rx = rb_funcall(rx, rb_intern("to_f"), 0);
146
+ }
147
+
148
+ i_rx = (real)NUM2DBL(rx);
149
+
150
+
151
+ o_rtn_val = irgt_(&i_rx);
152
+
153
+ rtn_val = INT2NUM(o_rtn_val);
154
+
155
+
156
+ return rtn_val;
157
+
158
+ }
159
+ void
160
+ init_math1_intlib(mDCL)
161
+ VALUE mDCL;
162
+ {
163
+ rb_define_module_function(mDCL, "irlt", dcl_irlt, 1);
164
+ rb_define_module_function(mDCL, "irge", dcl_irge, 1);
165
+ rb_define_module_function(mDCL, "irle", dcl_irle, 1);
166
+ rb_define_module_function(mDCL, "irgt", dcl_irgt, 1);
167
+ }
data/math1_lrllib.c ADDED
@@ -0,0 +1,817 @@
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_lreq(obj, x, y)
66
+ VALUE obj, x, y;
67
+ {
68
+ real i_x;
69
+ real i_y;
70
+ logical o_rtn_val;
71
+ VALUE rtn_val;
72
+
73
+ if (TYPE(x) != T_FLOAT) {
74
+ x = rb_funcall(x, rb_intern("to_f"), 0);
75
+ }
76
+ if (TYPE(y) != T_FLOAT) {
77
+ y = rb_funcall(y, rb_intern("to_f"), 0);
78
+ }
79
+
80
+ i_x = (real)NUM2DBL(x);
81
+ i_y = (real)NUM2DBL(y);
82
+
83
+
84
+ o_rtn_val = lreq_(&i_x, &i_y);
85
+
86
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
87
+
88
+
89
+ return rtn_val;
90
+
91
+ }
92
+
93
+ static VALUE
94
+ dcl_lreq0(obj, x, y)
95
+ VALUE obj, x, y;
96
+ {
97
+ real i_x;
98
+ real i_y;
99
+ logical o_rtn_val;
100
+ VALUE rtn_val;
101
+
102
+ if (TYPE(x) != T_FLOAT) {
103
+ x = rb_funcall(x, rb_intern("to_f"), 0);
104
+ }
105
+ if (TYPE(y) != T_FLOAT) {
106
+ y = rb_funcall(y, rb_intern("to_f"), 0);
107
+ }
108
+
109
+ i_x = (real)NUM2DBL(x);
110
+ i_y = (real)NUM2DBL(y);
111
+
112
+
113
+ o_rtn_val = lreq0_(&i_x, &i_y);
114
+
115
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
116
+
117
+
118
+ return rtn_val;
119
+
120
+ }
121
+
122
+ static VALUE
123
+ dcl_lreq1(obj, x, y)
124
+ VALUE obj, x, y;
125
+ {
126
+ real i_x;
127
+ real i_y;
128
+ logical o_rtn_val;
129
+ VALUE rtn_val;
130
+
131
+ if (TYPE(x) != T_FLOAT) {
132
+ x = rb_funcall(x, rb_intern("to_f"), 0);
133
+ }
134
+ if (TYPE(y) != T_FLOAT) {
135
+ y = rb_funcall(y, rb_intern("to_f"), 0);
136
+ }
137
+
138
+ i_x = (real)NUM2DBL(x);
139
+ i_y = (real)NUM2DBL(y);
140
+
141
+
142
+ o_rtn_val = lreq1_(&i_x, &i_y);
143
+
144
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
145
+
146
+
147
+ return rtn_val;
148
+
149
+ }
150
+
151
+ static VALUE
152
+ dcl_lreqa(obj, x, y, epsl)
153
+ VALUE obj, x, y, epsl;
154
+ {
155
+ real i_x;
156
+ real i_y;
157
+ real i_epsl;
158
+ logical o_rtn_val;
159
+ VALUE rtn_val;
160
+
161
+ if (TYPE(x) != T_FLOAT) {
162
+ x = rb_funcall(x, rb_intern("to_f"), 0);
163
+ }
164
+ if (TYPE(y) != T_FLOAT) {
165
+ y = rb_funcall(y, rb_intern("to_f"), 0);
166
+ }
167
+ if (TYPE(epsl) != T_FLOAT) {
168
+ epsl = rb_funcall(epsl, rb_intern("to_f"), 0);
169
+ }
170
+
171
+ i_x = (real)NUM2DBL(x);
172
+ i_y = (real)NUM2DBL(y);
173
+ i_epsl = (real)NUM2DBL(epsl);
174
+
175
+
176
+ o_rtn_val = lreqa_(&i_x, &i_y, &i_epsl);
177
+
178
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
179
+
180
+
181
+ return rtn_val;
182
+
183
+ }
184
+
185
+ static VALUE
186
+ dcl_lrne(obj, x, y)
187
+ VALUE obj, x, y;
188
+ {
189
+ real i_x;
190
+ real i_y;
191
+ logical o_rtn_val;
192
+ VALUE rtn_val;
193
+
194
+ if (TYPE(x) != T_FLOAT) {
195
+ x = rb_funcall(x, rb_intern("to_f"), 0);
196
+ }
197
+ if (TYPE(y) != T_FLOAT) {
198
+ y = rb_funcall(y, rb_intern("to_f"), 0);
199
+ }
200
+
201
+ i_x = (real)NUM2DBL(x);
202
+ i_y = (real)NUM2DBL(y);
203
+
204
+
205
+ o_rtn_val = lrne_(&i_x, &i_y);
206
+
207
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
208
+
209
+
210
+ return rtn_val;
211
+
212
+ }
213
+
214
+ static VALUE
215
+ dcl_lrne0(obj, x, y)
216
+ VALUE obj, x, y;
217
+ {
218
+ real i_x;
219
+ real i_y;
220
+ logical o_rtn_val;
221
+ VALUE rtn_val;
222
+
223
+ if (TYPE(x) != T_FLOAT) {
224
+ x = rb_funcall(x, rb_intern("to_f"), 0);
225
+ }
226
+ if (TYPE(y) != T_FLOAT) {
227
+ y = rb_funcall(y, rb_intern("to_f"), 0);
228
+ }
229
+
230
+ i_x = (real)NUM2DBL(x);
231
+ i_y = (real)NUM2DBL(y);
232
+
233
+
234
+ o_rtn_val = lrne0_(&i_x, &i_y);
235
+
236
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
237
+
238
+
239
+ return rtn_val;
240
+
241
+ }
242
+
243
+ static VALUE
244
+ dcl_lrne1(obj, x, y)
245
+ VALUE obj, x, y;
246
+ {
247
+ real i_x;
248
+ real i_y;
249
+ logical o_rtn_val;
250
+ VALUE rtn_val;
251
+
252
+ if (TYPE(x) != T_FLOAT) {
253
+ x = rb_funcall(x, rb_intern("to_f"), 0);
254
+ }
255
+ if (TYPE(y) != T_FLOAT) {
256
+ y = rb_funcall(y, rb_intern("to_f"), 0);
257
+ }
258
+
259
+ i_x = (real)NUM2DBL(x);
260
+ i_y = (real)NUM2DBL(y);
261
+
262
+
263
+ o_rtn_val = lrne1_(&i_x, &i_y);
264
+
265
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
266
+
267
+
268
+ return rtn_val;
269
+
270
+ }
271
+
272
+ static VALUE
273
+ dcl_lrnea(obj, x, y, epsl)
274
+ VALUE obj, x, y, epsl;
275
+ {
276
+ real i_x;
277
+ real i_y;
278
+ real i_epsl;
279
+ logical o_rtn_val;
280
+ VALUE rtn_val;
281
+
282
+ if (TYPE(x) != T_FLOAT) {
283
+ x = rb_funcall(x, rb_intern("to_f"), 0);
284
+ }
285
+ if (TYPE(y) != T_FLOAT) {
286
+ y = rb_funcall(y, rb_intern("to_f"), 0);
287
+ }
288
+ if (TYPE(epsl) != T_FLOAT) {
289
+ epsl = rb_funcall(epsl, rb_intern("to_f"), 0);
290
+ }
291
+
292
+ i_x = (real)NUM2DBL(x);
293
+ i_y = (real)NUM2DBL(y);
294
+ i_epsl = (real)NUM2DBL(epsl);
295
+
296
+
297
+ o_rtn_val = lrnea_(&i_x, &i_y, &i_epsl);
298
+
299
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
300
+
301
+
302
+ return rtn_val;
303
+
304
+ }
305
+
306
+ static VALUE
307
+ dcl_lrlt(obj, x, y)
308
+ VALUE obj, x, y;
309
+ {
310
+ real i_x;
311
+ real i_y;
312
+ logical o_rtn_val;
313
+ VALUE rtn_val;
314
+
315
+ if (TYPE(x) != T_FLOAT) {
316
+ x = rb_funcall(x, rb_intern("to_f"), 0);
317
+ }
318
+ if (TYPE(y) != T_FLOAT) {
319
+ y = rb_funcall(y, rb_intern("to_f"), 0);
320
+ }
321
+
322
+ i_x = (real)NUM2DBL(x);
323
+ i_y = (real)NUM2DBL(y);
324
+
325
+
326
+ o_rtn_val = lrlt_(&i_x, &i_y);
327
+
328
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
329
+
330
+
331
+ return rtn_val;
332
+
333
+ }
334
+
335
+ static VALUE
336
+ dcl_lrlt0(obj, x, y)
337
+ VALUE obj, x, y;
338
+ {
339
+ real i_x;
340
+ real i_y;
341
+ logical o_rtn_val;
342
+ VALUE rtn_val;
343
+
344
+ if (TYPE(x) != T_FLOAT) {
345
+ x = rb_funcall(x, rb_intern("to_f"), 0);
346
+ }
347
+ if (TYPE(y) != T_FLOAT) {
348
+ y = rb_funcall(y, rb_intern("to_f"), 0);
349
+ }
350
+
351
+ i_x = (real)NUM2DBL(x);
352
+ i_y = (real)NUM2DBL(y);
353
+
354
+
355
+ o_rtn_val = lrlt0_(&i_x, &i_y);
356
+
357
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
358
+
359
+
360
+ return rtn_val;
361
+
362
+ }
363
+
364
+ static VALUE
365
+ dcl_lrlt1(obj, x, y)
366
+ VALUE obj, x, y;
367
+ {
368
+ real i_x;
369
+ real i_y;
370
+ logical o_rtn_val;
371
+ VALUE rtn_val;
372
+
373
+ if (TYPE(x) != T_FLOAT) {
374
+ x = rb_funcall(x, rb_intern("to_f"), 0);
375
+ }
376
+ if (TYPE(y) != T_FLOAT) {
377
+ y = rb_funcall(y, rb_intern("to_f"), 0);
378
+ }
379
+
380
+ i_x = (real)NUM2DBL(x);
381
+ i_y = (real)NUM2DBL(y);
382
+
383
+
384
+ o_rtn_val = lrlt1_(&i_x, &i_y);
385
+
386
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
387
+
388
+
389
+ return rtn_val;
390
+
391
+ }
392
+
393
+ static VALUE
394
+ dcl_lrlta(obj, x, y, epsl)
395
+ VALUE obj, x, y, epsl;
396
+ {
397
+ real i_x;
398
+ real i_y;
399
+ real i_epsl;
400
+ logical o_rtn_val;
401
+ VALUE rtn_val;
402
+
403
+ if (TYPE(x) != T_FLOAT) {
404
+ x = rb_funcall(x, rb_intern("to_f"), 0);
405
+ }
406
+ if (TYPE(y) != T_FLOAT) {
407
+ y = rb_funcall(y, rb_intern("to_f"), 0);
408
+ }
409
+ if (TYPE(epsl) != T_FLOAT) {
410
+ epsl = rb_funcall(epsl, rb_intern("to_f"), 0);
411
+ }
412
+
413
+ i_x = (real)NUM2DBL(x);
414
+ i_y = (real)NUM2DBL(y);
415
+ i_epsl = (real)NUM2DBL(epsl);
416
+
417
+
418
+ o_rtn_val = lrlta_(&i_x, &i_y, &i_epsl);
419
+
420
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
421
+
422
+
423
+ return rtn_val;
424
+
425
+ }
426
+
427
+ static VALUE
428
+ dcl_lrgt(obj, x, y)
429
+ VALUE obj, x, y;
430
+ {
431
+ real i_x;
432
+ real i_y;
433
+ logical o_rtn_val;
434
+ VALUE rtn_val;
435
+
436
+ if (TYPE(x) != T_FLOAT) {
437
+ x = rb_funcall(x, rb_intern("to_f"), 0);
438
+ }
439
+ if (TYPE(y) != T_FLOAT) {
440
+ y = rb_funcall(y, rb_intern("to_f"), 0);
441
+ }
442
+
443
+ i_x = (real)NUM2DBL(x);
444
+ i_y = (real)NUM2DBL(y);
445
+
446
+
447
+ o_rtn_val = lrgt_(&i_x, &i_y);
448
+
449
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
450
+
451
+
452
+ return rtn_val;
453
+
454
+ }
455
+
456
+ static VALUE
457
+ dcl_lrgt0(obj, x, y)
458
+ VALUE obj, x, y;
459
+ {
460
+ real i_x;
461
+ real i_y;
462
+ logical o_rtn_val;
463
+ VALUE rtn_val;
464
+
465
+ if (TYPE(x) != T_FLOAT) {
466
+ x = rb_funcall(x, rb_intern("to_f"), 0);
467
+ }
468
+ if (TYPE(y) != T_FLOAT) {
469
+ y = rb_funcall(y, rb_intern("to_f"), 0);
470
+ }
471
+
472
+ i_x = (real)NUM2DBL(x);
473
+ i_y = (real)NUM2DBL(y);
474
+
475
+
476
+ o_rtn_val = lrgt0_(&i_x, &i_y);
477
+
478
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
479
+
480
+
481
+ return rtn_val;
482
+
483
+ }
484
+
485
+ static VALUE
486
+ dcl_lrgt1(obj, x, y)
487
+ VALUE obj, x, y;
488
+ {
489
+ real i_x;
490
+ real i_y;
491
+ logical o_rtn_val;
492
+ VALUE rtn_val;
493
+
494
+ if (TYPE(x) != T_FLOAT) {
495
+ x = rb_funcall(x, rb_intern("to_f"), 0);
496
+ }
497
+ if (TYPE(y) != T_FLOAT) {
498
+ y = rb_funcall(y, rb_intern("to_f"), 0);
499
+ }
500
+
501
+ i_x = (real)NUM2DBL(x);
502
+ i_y = (real)NUM2DBL(y);
503
+
504
+
505
+ o_rtn_val = lrgt1_(&i_x, &i_y);
506
+
507
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
508
+
509
+
510
+ return rtn_val;
511
+
512
+ }
513
+
514
+ static VALUE
515
+ dcl_lrgta(obj, x, y, epsl)
516
+ VALUE obj, x, y, epsl;
517
+ {
518
+ real i_x;
519
+ real i_y;
520
+ real i_epsl;
521
+ logical o_rtn_val;
522
+ VALUE rtn_val;
523
+
524
+ if (TYPE(x) != T_FLOAT) {
525
+ x = rb_funcall(x, rb_intern("to_f"), 0);
526
+ }
527
+ if (TYPE(y) != T_FLOAT) {
528
+ y = rb_funcall(y, rb_intern("to_f"), 0);
529
+ }
530
+ if (TYPE(epsl) != T_FLOAT) {
531
+ epsl = rb_funcall(epsl, rb_intern("to_f"), 0);
532
+ }
533
+
534
+ i_x = (real)NUM2DBL(x);
535
+ i_y = (real)NUM2DBL(y);
536
+ i_epsl = (real)NUM2DBL(epsl);
537
+
538
+
539
+ o_rtn_val = lrgta_(&i_x, &i_y, &i_epsl);
540
+
541
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
542
+
543
+
544
+ return rtn_val;
545
+
546
+ }
547
+
548
+ static VALUE
549
+ dcl_lrle(obj, x, y)
550
+ VALUE obj, x, y;
551
+ {
552
+ real i_x;
553
+ real i_y;
554
+ logical o_rtn_val;
555
+ VALUE rtn_val;
556
+
557
+ if (TYPE(x) != T_FLOAT) {
558
+ x = rb_funcall(x, rb_intern("to_f"), 0);
559
+ }
560
+ if (TYPE(y) != T_FLOAT) {
561
+ y = rb_funcall(y, rb_intern("to_f"), 0);
562
+ }
563
+
564
+ i_x = (real)NUM2DBL(x);
565
+ i_y = (real)NUM2DBL(y);
566
+
567
+
568
+ o_rtn_val = lrle_(&i_x, &i_y);
569
+
570
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
571
+
572
+
573
+ return rtn_val;
574
+
575
+ }
576
+
577
+ static VALUE
578
+ dcl_lrle0(obj, x, y)
579
+ VALUE obj, x, y;
580
+ {
581
+ real i_x;
582
+ real i_y;
583
+ logical o_rtn_val;
584
+ VALUE rtn_val;
585
+
586
+ if (TYPE(x) != T_FLOAT) {
587
+ x = rb_funcall(x, rb_intern("to_f"), 0);
588
+ }
589
+ if (TYPE(y) != T_FLOAT) {
590
+ y = rb_funcall(y, rb_intern("to_f"), 0);
591
+ }
592
+
593
+ i_x = (real)NUM2DBL(x);
594
+ i_y = (real)NUM2DBL(y);
595
+
596
+
597
+ o_rtn_val = lrle0_(&i_x, &i_y);
598
+
599
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
600
+
601
+
602
+ return rtn_val;
603
+
604
+ }
605
+
606
+ static VALUE
607
+ dcl_lrle1(obj, x, y)
608
+ VALUE obj, x, y;
609
+ {
610
+ real i_x;
611
+ real i_y;
612
+ logical o_rtn_val;
613
+ VALUE rtn_val;
614
+
615
+ if (TYPE(x) != T_FLOAT) {
616
+ x = rb_funcall(x, rb_intern("to_f"), 0);
617
+ }
618
+ if (TYPE(y) != T_FLOAT) {
619
+ y = rb_funcall(y, rb_intern("to_f"), 0);
620
+ }
621
+
622
+ i_x = (real)NUM2DBL(x);
623
+ i_y = (real)NUM2DBL(y);
624
+
625
+
626
+ o_rtn_val = lrle1_(&i_x, &i_y);
627
+
628
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
629
+
630
+
631
+ return rtn_val;
632
+
633
+ }
634
+
635
+ static VALUE
636
+ dcl_lrlea(obj, x, y, epsl)
637
+ VALUE obj, x, y, epsl;
638
+ {
639
+ real i_x;
640
+ real i_y;
641
+ real i_epsl;
642
+ logical o_rtn_val;
643
+ VALUE rtn_val;
644
+
645
+ if (TYPE(x) != T_FLOAT) {
646
+ x = rb_funcall(x, rb_intern("to_f"), 0);
647
+ }
648
+ if (TYPE(y) != T_FLOAT) {
649
+ y = rb_funcall(y, rb_intern("to_f"), 0);
650
+ }
651
+ if (TYPE(epsl) != T_FLOAT) {
652
+ epsl = rb_funcall(epsl, rb_intern("to_f"), 0);
653
+ }
654
+
655
+ i_x = (real)NUM2DBL(x);
656
+ i_y = (real)NUM2DBL(y);
657
+ i_epsl = (real)NUM2DBL(epsl);
658
+
659
+
660
+ o_rtn_val = lrlea_(&i_x, &i_y, &i_epsl);
661
+
662
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
663
+
664
+
665
+ return rtn_val;
666
+
667
+ }
668
+
669
+ static VALUE
670
+ dcl_lrge(obj, x, y)
671
+ VALUE obj, x, y;
672
+ {
673
+ real i_x;
674
+ real i_y;
675
+ logical o_rtn_val;
676
+ VALUE rtn_val;
677
+
678
+ if (TYPE(x) != T_FLOAT) {
679
+ x = rb_funcall(x, rb_intern("to_f"), 0);
680
+ }
681
+ if (TYPE(y) != T_FLOAT) {
682
+ y = rb_funcall(y, rb_intern("to_f"), 0);
683
+ }
684
+
685
+ i_x = (real)NUM2DBL(x);
686
+ i_y = (real)NUM2DBL(y);
687
+
688
+
689
+ o_rtn_val = lrge_(&i_x, &i_y);
690
+
691
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
692
+
693
+
694
+ return rtn_val;
695
+
696
+ }
697
+
698
+ static VALUE
699
+ dcl_lrge0(obj, x, y)
700
+ VALUE obj, x, y;
701
+ {
702
+ real i_x;
703
+ real i_y;
704
+ logical o_rtn_val;
705
+ VALUE rtn_val;
706
+
707
+ if (TYPE(x) != T_FLOAT) {
708
+ x = rb_funcall(x, rb_intern("to_f"), 0);
709
+ }
710
+ if (TYPE(y) != T_FLOAT) {
711
+ y = rb_funcall(y, rb_intern("to_f"), 0);
712
+ }
713
+
714
+ i_x = (real)NUM2DBL(x);
715
+ i_y = (real)NUM2DBL(y);
716
+
717
+
718
+ o_rtn_val = lrge0_(&i_x, &i_y);
719
+
720
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
721
+
722
+
723
+ return rtn_val;
724
+
725
+ }
726
+
727
+ static VALUE
728
+ dcl_lrge1(obj, x, y)
729
+ VALUE obj, x, y;
730
+ {
731
+ real i_x;
732
+ real i_y;
733
+ logical o_rtn_val;
734
+ VALUE rtn_val;
735
+
736
+ if (TYPE(x) != T_FLOAT) {
737
+ x = rb_funcall(x, rb_intern("to_f"), 0);
738
+ }
739
+ if (TYPE(y) != T_FLOAT) {
740
+ y = rb_funcall(y, rb_intern("to_f"), 0);
741
+ }
742
+
743
+ i_x = (real)NUM2DBL(x);
744
+ i_y = (real)NUM2DBL(y);
745
+
746
+
747
+ o_rtn_val = lrge1_(&i_x, &i_y);
748
+
749
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
750
+
751
+
752
+ return rtn_val;
753
+
754
+ }
755
+
756
+ static VALUE
757
+ dcl_lrgea(obj, x, y, epsl)
758
+ VALUE obj, x, y, epsl;
759
+ {
760
+ real i_x;
761
+ real i_y;
762
+ real i_epsl;
763
+ logical o_rtn_val;
764
+ VALUE rtn_val;
765
+
766
+ if (TYPE(x) != T_FLOAT) {
767
+ x = rb_funcall(x, rb_intern("to_f"), 0);
768
+ }
769
+ if (TYPE(y) != T_FLOAT) {
770
+ y = rb_funcall(y, rb_intern("to_f"), 0);
771
+ }
772
+ if (TYPE(epsl) != T_FLOAT) {
773
+ epsl = rb_funcall(epsl, rb_intern("to_f"), 0);
774
+ }
775
+
776
+ i_x = (real)NUM2DBL(x);
777
+ i_y = (real)NUM2DBL(y);
778
+ i_epsl = (real)NUM2DBL(epsl);
779
+
780
+
781
+ o_rtn_val = lrgea_(&i_x, &i_y, &i_epsl);
782
+
783
+ rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
784
+
785
+
786
+ return rtn_val;
787
+
788
+ }
789
+ void
790
+ init_math1_lrllib(mDCL)
791
+ VALUE mDCL;
792
+ {
793
+ rb_define_module_function(mDCL, "lreq", dcl_lreq, 2);
794
+ rb_define_module_function(mDCL, "lreq0", dcl_lreq0, 2);
795
+ rb_define_module_function(mDCL, "lreq1", dcl_lreq1, 2);
796
+ rb_define_module_function(mDCL, "lreqa", dcl_lreqa, 3);
797
+ rb_define_module_function(mDCL, "lrne", dcl_lrne, 2);
798
+ rb_define_module_function(mDCL, "lrne0", dcl_lrne0, 2);
799
+ rb_define_module_function(mDCL, "lrne1", dcl_lrne1, 2);
800
+ rb_define_module_function(mDCL, "lrnea", dcl_lrnea, 3);
801
+ rb_define_module_function(mDCL, "lrlt", dcl_lrlt, 2);
802
+ rb_define_module_function(mDCL, "lrlt0", dcl_lrlt0, 2);
803
+ rb_define_module_function(mDCL, "lrlt1", dcl_lrlt1, 2);
804
+ rb_define_module_function(mDCL, "lrlta", dcl_lrlta, 3);
805
+ rb_define_module_function(mDCL, "lrgt", dcl_lrgt, 2);
806
+ rb_define_module_function(mDCL, "lrgt0", dcl_lrgt0, 2);
807
+ rb_define_module_function(mDCL, "lrgt1", dcl_lrgt1, 2);
808
+ rb_define_module_function(mDCL, "lrgta", dcl_lrgta, 3);
809
+ rb_define_module_function(mDCL, "lrle", dcl_lrle, 2);
810
+ rb_define_module_function(mDCL, "lrle0", dcl_lrle0, 2);
811
+ rb_define_module_function(mDCL, "lrle1", dcl_lrle1, 2);
812
+ rb_define_module_function(mDCL, "lrlea", dcl_lrlea, 3);
813
+ rb_define_module_function(mDCL, "lrge", dcl_lrge, 2);
814
+ rb_define_module_function(mDCL, "lrge0", dcl_lrge0, 2);
815
+ rb_define_module_function(mDCL, "lrge1", dcl_lrge1, 2);
816
+ rb_define_module_function(mDCL, "lrgea", dcl_lrgea, 3);
817
+ }