carray 1.3.6 → 1.5.3

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 (315) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +32 -0
  3. data/LICENSE +22 -0
  4. data/NEWS.md +65 -0
  5. data/README.md +23 -26
  6. data/Rakefile +31 -0
  7. data/TODO.md +17 -0
  8. data/carray.gemspec +24 -31
  9. data/{ca_iter_block.c → ext/ca_iter_block.c} +16 -18
  10. data/{ca_iter_dimension.c → ext/ca_iter_dimension.c} +20 -21
  11. data/{ca_iter_window.c → ext/ca_iter_window.c} +12 -14
  12. data/{ca_obj_array.c → ext/ca_obj_array.c} +451 -176
  13. data/{ca_obj_bitarray.c → ext/ca_obj_bitarray.c} +18 -23
  14. data/{ca_obj_bitfield.c → ext/ca_obj_bitfield.c} +12 -16
  15. data/{ca_obj_block.c → ext/ca_obj_block.c} +47 -54
  16. data/{ca_obj_fake.c → ext/ca_obj_fake.c} +10 -12
  17. data/{ca_obj_farray.c → ext/ca_obj_farray.c} +21 -23
  18. data/{ca_obj_field.c → ext/ca_obj_field.c} +30 -32
  19. data/{ca_obj_grid.c → ext/ca_obj_grid.c} +32 -33
  20. data/{ca_obj_mapping.c → ext/ca_obj_mapping.c} +11 -13
  21. data/{ca_obj_object.c → ext/ca_obj_object.c} +40 -42
  22. data/{ca_obj_reduce.c → ext/ca_obj_reduce.c} +3 -5
  23. data/{ca_obj_refer.c → ext/ca_obj_refer.c} +38 -40
  24. data/{ca_obj_repeat.c → ext/ca_obj_repeat.c} +45 -47
  25. data/{ca_obj_select.c → ext/ca_obj_select.c} +4 -6
  26. data/{ca_obj_shift.c → ext/ca_obj_shift.c} +26 -28
  27. data/{ca_obj_transpose.c → ext/ca_obj_transpose.c} +26 -28
  28. data/{ca_obj_unbound_repeat.c → ext/ca_obj_unbound_repeat.c} +106 -160
  29. data/{ca_obj_window.c → ext/ca_obj_window.c} +33 -35
  30. data/{carray.h → ext/carray.h} +90 -59
  31. data/{carray_access.c → ext/carray_access.c} +244 -109
  32. data/{carray_attribute.c → ext/carray_attribute.c} +161 -207
  33. data/{carray_call_cfunc.c → ext/carray_call_cfunc.c} +1 -3
  34. data/{carray_cast.c → ext/carray_cast.c} +350 -149
  35. data/{carray_cast_func.rb → ext/carray_cast_func.rb} +1 -2
  36. data/{carray_class.c → ext/carray_class.c} +28 -36
  37. data/{carray_conversion.c → ext/carray_conversion.c} +58 -70
  38. data/{carray_copy.c → ext/carray_copy.c} +34 -50
  39. data/{carray_core.c → ext/carray_core.c} +75 -62
  40. data/ext/carray_data_type.c +66 -0
  41. data/{carray_element.c → ext/carray_element.c} +34 -53
  42. data/{carray_generate.c → ext/carray_generate.c} +137 -50
  43. data/{carray_iterator.c → ext/carray_iterator.c} +53 -53
  44. data/{carray_loop.c → ext/carray_loop.c} +77 -106
  45. data/{carray_mask.c → ext/carray_mask.c} +95 -114
  46. data/{carray_math.rb → ext/carray_math.rb} +47 -31
  47. data/ext/{mathfunc/carray_mathfunc.c → carray_mathfunc.c} +1 -3
  48. data/{carray_numeric.c → ext/carray_numeric.c} +43 -46
  49. data/{carray_operator.c → ext/carray_operator.c} +72 -36
  50. data/{carray_order.c → ext/carray_order.c} +73 -217
  51. data/{carray_sort_addr.c → ext/carray_sort_addr.c} +14 -21
  52. data/{carray_stat.c → ext/carray_stat.c} +6 -8
  53. data/{carray_stat_proc.rb → ext/carray_stat_proc.rb} +25 -27
  54. data/{carray_test.c → ext/carray_test.c} +59 -51
  55. data/{carray_undef.c → ext/carray_undef.c} +1 -11
  56. data/{carray_utils.c → ext/carray_utils.c} +12 -4
  57. data/{extconf.rb → ext/extconf.rb} +1 -6
  58. data/{mkmath.rb → ext/mkmath.rb} +13 -3
  59. data/{ruby_carray.c → ext/ruby_carray.c} +20 -8
  60. data/{ruby_ccomplex.c → ext/ruby_ccomplex.c} +1 -3
  61. data/{ruby_float_func.c → ext/ruby_float_func.c} +1 -3
  62. data/ext/version.h +16 -0
  63. data/{version.rb → ext/version.rb} +0 -0
  64. data/lib/carray.rb +52 -10
  65. data/lib/carray/{base/autoload.rb → autoload.rb} +48 -8
  66. data/lib/carray/autoload/autoload_base.rb +1 -5
  67. data/lib/carray/autoload/autoload_gem_cairo.rb +9 -0
  68. data/lib/carray/autoload/autoload_gem_ffi.rb +9 -0
  69. data/lib/carray/autoload/autoload_gem_gnuplot.rb +2 -0
  70. data/lib/carray/autoload/autoload_gem_io_csv.rb +14 -0
  71. data/lib/carray/autoload/autoload_gem_io_pg.rb +6 -0
  72. data/lib/carray/autoload/autoload_gem_io_sqlite3.rb +12 -0
  73. data/lib/carray/autoload/autoload_gem_narray.rb +10 -0
  74. data/lib/carray/autoload/autoload_gem_numo_narray.rb +15 -0
  75. data/lib/carray/autoload/autoload_gem_opencv.rb +16 -0
  76. data/lib/carray/autoload/autoload_gem_random.rb +8 -0
  77. data/lib/carray/autoload/autoload_gem_rmagick.rb +23 -0
  78. data/lib/carray/autoload/{autoload_graphics_zimg.rb → autoload_gem_zimg.rb} +0 -0
  79. data/lib/carray/basic.rb +191 -0
  80. data/lib/carray/broadcast.rb +82 -0
  81. data/lib/carray/compose.rb +315 -0
  82. data/lib/carray/construct.rb +460 -0
  83. data/lib/carray/convert.rb +115 -0
  84. data/lib/carray/info.rb +1 -3
  85. data/lib/carray/{base/inspect.rb → inspect.rb} +9 -11
  86. data/lib/carray/io/imagemagick.rb +2 -4
  87. data/lib/carray/{base/iterator.rb → iterator.rb} +6 -6
  88. data/lib/carray/mask.rb +102 -0
  89. data/lib/carray/{base/math.rb → math.rb} +21 -53
  90. data/lib/carray/math/histogram.rb +8 -10
  91. data/lib/carray/math/recurrence.rb +1 -3
  92. data/lib/carray/mkmf.rb +9 -3
  93. data/lib/carray/object/ca_obj_iterator.rb +1 -3
  94. data/lib/carray/object/ca_obj_link.rb +1 -3
  95. data/lib/carray/object/ca_obj_pack.rb +9 -11
  96. data/lib/carray/obsolete.rb +270 -0
  97. data/lib/carray/ordering.rb +181 -0
  98. data/lib/carray/{base/serialize.rb → serialize.rb} +50 -66
  99. data/lib/carray/string.rb +188 -0
  100. data/lib/carray/{base/struct.rb → struct.rb} +19 -21
  101. data/lib/carray/{io/table.rb → table.rb} +1 -9
  102. data/lib/carray/testing.rb +51 -0
  103. data/lib/carray/time.rb +76 -0
  104. data/lib/carray/transform.rb +98 -0
  105. data/misc/Methods.ja.md +182 -0
  106. data/{NOTE → misc/NOTE} +0 -0
  107. data/spec/Classes/CABitfield_spec.rb +58 -0
  108. data/spec/Classes/CABlockIterator_spec.rb +114 -0
  109. data/spec/Classes/CABlock_spec.rb +205 -0
  110. data/spec/Classes/CAField_spec.rb +39 -0
  111. data/spec/Classes/CAGrid_spec.rb +75 -0
  112. data/spec/Classes/CAMap_spec.rb +0 -0
  113. data/{test/test_CAMapping.rb → spec/Classes/CAMapping_spec.rb} +35 -36
  114. data/spec/Classes/CAObject_attribute_spec.rb +33 -0
  115. data/spec/Classes/CAObject_spec.rb +33 -0
  116. data/spec/Classes/CARefer_spec.rb +93 -0
  117. data/spec/Classes/CARepeat_spec.rb +65 -0
  118. data/spec/Classes/CASelect_spec.rb +22 -0
  119. data/spec/Classes/CAShift_spec.rb +16 -0
  120. data/spec/Classes/CAStruct_spec.rb +71 -0
  121. data/{test/test_CATranspose.rb → spec/Classes/CATranspose_spec.rb} +20 -21
  122. data/spec/Classes/CAUnboudRepeat_spec.rb +102 -0
  123. data/spec/Classes/CAWindow_spec.rb +54 -0
  124. data/spec/Classes/CAWrap_spec.rb +8 -0
  125. data/{test/test_CArray.rb → spec/Classes/CArray_spec.rb} +48 -92
  126. data/spec/Classes/CScalar_spec.rb +55 -0
  127. data/spec/Features/feature_130_spec.rb +19 -0
  128. data/spec/Features/feature_attributes_spec.rb +280 -0
  129. data/spec/Features/feature_boolean_spec.rb +98 -0
  130. data/spec/Features/feature_broadcast.rb +116 -0
  131. data/spec/Features/feature_cast_function.rb +19 -0
  132. data/spec/Features/feature_cast_spec.rb +33 -0
  133. data/spec/Features/feature_class_spec.rb +84 -0
  134. data/spec/Features/feature_complex_spec.rb +42 -0
  135. data/{test/test_composite.rb → spec/Features/feature_composite_spec.rb} +17 -18
  136. data/spec/Features/feature_convert_spec.rb +46 -0
  137. data/spec/Features/feature_copy_spec.rb +123 -0
  138. data/spec/Features/feature_creation_spec.rb +84 -0
  139. data/spec/Features/feature_element_spec.rb +144 -0
  140. data/spec/Features/feature_extream_spec.rb +54 -0
  141. data/spec/Features/feature_generate_spec.rb +74 -0
  142. data/spec/Features/feature_index_spec.rb +69 -0
  143. data/spec/Features/feature_mask_spec.rb +580 -0
  144. data/spec/Features/feature_math_spec.rb +97 -0
  145. data/spec/Features/feature_order_spec.rb +146 -0
  146. data/spec/Features/feature_ref_store_spec.rb +209 -0
  147. data/spec/Features/feature_serialization_spec.rb +125 -0
  148. data/spec/Features/feature_stat_spec.rb +397 -0
  149. data/spec/Features/feature_virtual_spec.rb +48 -0
  150. data/spec/Features/method_eq_spec.rb +81 -0
  151. data/spec/Features/method_is_nan_spec.rb +12 -0
  152. data/spec/Features/method_map_spec.rb +54 -0
  153. data/spec/Features/method_max_with.rb +20 -0
  154. data/spec/Features/method_min_with.rb +19 -0
  155. data/spec/Features/method_ne_spec.rb +18 -0
  156. data/spec/Features/method_project_spec.rb +188 -0
  157. data/spec/Features/method_ref_spec.rb +27 -0
  158. data/spec/Features/method_round_spec.rb +11 -0
  159. data/spec/Features/method_s_linspace_spec.rb +48 -0
  160. data/spec/Features/method_s_span_spec.rb +14 -0
  161. data/spec/Features/method_seq_spec.rb +47 -0
  162. data/spec/Features/method_sort_with.rb +43 -0
  163. data/spec/Features/method_sorted_with.rb +29 -0
  164. data/spec/Features/method_span_spec.rb +42 -0
  165. data/spec/Features/method_wrap_readonly_spec.rb +43 -0
  166. data/{test → spec/UnitTest}/test_CAVirtual.rb +0 -0
  167. data/spec/spec_all.rb +0 -1
  168. data/utils/convert_test.rb +73 -0
  169. data/utils/{extract_rdoc.rb → extract_yard.rb} +7 -12
  170. data/{devel → utils}/guess_shape.rb +0 -0
  171. data/utils/{diff_method.rb → monkey_patch_methods.rb} +17 -7
  172. metadata +173 -316
  173. data/COPYING +0 -56
  174. data/GPL +0 -340
  175. data/Gemfile +0 -8
  176. data/Gemfile.lock +0 -33
  177. data/LEGAL +0 -50
  178. data/Makefile +0 -451
  179. data/TODO +0 -5
  180. data/carray_cast_func.c +0 -8670
  181. data/carray_config.h +0 -26
  182. data/carray_math.c +0 -24805
  183. data/carray_random.c +0 -531
  184. data/carray_stat_proc.c +0 -12170
  185. data/ext/calculus/carray_calculus.c +0 -931
  186. data/ext/calculus/carray_interp.c +0 -358
  187. data/ext/calculus/extconf.rb +0 -12
  188. data/ext/calculus/lib/autoload/autoload_math_calculus.rb +0 -2
  189. data/ext/calculus/lib/math/calculus.rb +0 -119
  190. data/ext/calculus/lib/math/interp/adapter_interp1d.rb +0 -31
  191. data/ext/fortio/extconf.rb +0 -3
  192. data/ext/fortio/lib/carray/autoload/autoload_fortran_format.rb +0 -5
  193. data/ext/fortio/lib/carray/io/fortran_format.rb +0 -43
  194. data/ext/fortio/lib/fortio.rb +0 -3
  195. data/ext/fortio/lib/fortio/fortran_format.rb +0 -605
  196. data/ext/fortio/lib/fortio/fortran_format.tab.rb +0 -536
  197. data/ext/fortio/lib/fortio/fortran_format.y +0 -215
  198. data/ext/fortio/lib/fortio/fortran_namelist.rb +0 -151
  199. data/ext/fortio/lib/fortio/fortran_namelist.tab.rb +0 -470
  200. data/ext/fortio/lib/fortio/fortran_namelist.y +0 -213
  201. data/ext/fortio/lib/fortio/fortran_sequential.rb +0 -345
  202. data/ext/fortio/ruby_fortio.c +0 -182
  203. data/ext/fortio/test/test_H.rb +0 -5
  204. data/ext/fortio/test/test_T.rb +0 -7
  205. data/ext/fortio/test/test_fortran_format.rb +0 -86
  206. data/ext/fortio/test/test_namelist.rb +0 -25
  207. data/ext/fortio/test/test_namelist_write.rb +0 -10
  208. data/ext/fortio/test/test_sequential.rb +0 -13
  209. data/ext/fortio/test/test_sequential2.rb +0 -13
  210. data/ext/fortio/work/test.rb +0 -10
  211. data/ext/fortio/work/test_e.rb +0 -19
  212. data/ext/fortio/work/test_ep.rb +0 -10
  213. data/ext/fortio/work/test_parse.rb +0 -12
  214. data/ext/imagemap/carray_imagemap.c +0 -495
  215. data/ext/imagemap/doc/call_graph.dot +0 -28
  216. data/ext/imagemap/draw.c +0 -567
  217. data/ext/imagemap/extconf.rb +0 -13
  218. data/ext/imagemap/lib/autoload/autoload_graphics_imagemap.rb +0 -1
  219. data/ext/imagemap/lib/graphics/imagemap.rb +0 -273
  220. data/ext/imagemap/lib/image_map.rb +0 -4
  221. data/ext/imagemap/test/swath_index.rb +0 -83
  222. data/ext/imagemap/test/swath_warp.rb +0 -99
  223. data/ext/imagemap/test/test.rb +0 -23
  224. data/ext/imagemap/test/test_image.rb +0 -42
  225. data/ext/imagemap/test/test_line.rb +0 -14
  226. data/ext/imagemap/test/test_rotate.rb +0 -17
  227. data/ext/imagemap/test/test_triangle.rb +0 -20
  228. data/ext/imagemap/test/test_warp.rb +0 -26
  229. data/ext/mathfunc/extconf.rb +0 -18
  230. data/ext/mathfunc/lib/autoload/autoload_math_mathfunc.rb +0 -1
  231. data/ext/mathfunc/lib/math/mathfunc.rb +0 -15
  232. data/ext/mathfunc/test/test_hypot.rb +0 -5
  233. data/ext/mathfunc/test/test_j0.rb +0 -22
  234. data/ext/mathfunc/test/test_jn.rb +0 -8
  235. data/ext/mathfunc/test/test_sph.rb +0 -9
  236. data/ext/narray/README +0 -22
  237. data/ext/narray/ca_wrap_narray.c +0 -500
  238. data/ext/narray/carray_narray.c +0 -21
  239. data/ext/narray/extconf.rb +0 -57
  240. data/ext/narray/lib/autoload/autoload_math_narray.rb +0 -1
  241. data/ext/narray/lib/autoload/autoload_math_narray_miss.rb +0 -11
  242. data/ext/narray/lib/math/narray.rb +0 -17
  243. data/ext/narray/lib/math/narray_miss.rb +0 -45
  244. data/lib/carray/autoload/autoload_graphics_gnuplot.rb +0 -2
  245. data/lib/carray/autoload/autoload_io_csv.rb +0 -14
  246. data/lib/carray/autoload/autoload_io_pg.rb +0 -6
  247. data/lib/carray/autoload/autoload_io_sqlite3.rb +0 -12
  248. data/lib/carray/autoload/autoload_io_table.rb +0 -1
  249. data/lib/carray/autoload/autoload_math_interp.rb +0 -4
  250. data/lib/carray/base/basic.rb +0 -1090
  251. data/lib/carray/base/obsolete.rb +0 -131
  252. data/lib/carray/graphics/gnuplot.rb +0 -2131
  253. data/lib/carray/graphics/zimg.rb +0 -296
  254. data/lib/carray/io/csv.rb +0 -572
  255. data/lib/carray/io/pg.rb +0 -101
  256. data/lib/carray/io/sqlite3.rb +0 -215
  257. data/lib/carray/math/interp.rb +0 -57
  258. data/lib/carray/math/interp/adapter_gsl_spline.rb +0 -47
  259. data/mkmf.log +0 -375
  260. data/mt19937ar.c +0 -182
  261. data/mt19937ar.h +0 -86
  262. data/rdoc_ext.rb +0 -1115
  263. data/rdoc_main.rb +0 -27
  264. data/rdoc_math.rb +0 -5
  265. data/rdoc_stat.rb +0 -31
  266. data/spec/CABlockIterator/CABlockIterator_spec.rb +0 -113
  267. data/spec/CArray/bug/store_spec.rb +0 -27
  268. data/spec/CArray/index/repeat_spec.rb +0 -10
  269. data/spec/CArray/method/eq_spec.rb +0 -80
  270. data/spec/CArray/method/is_nan_spec.rb +0 -12
  271. data/spec/CArray/method/ne_spec.rb +0 -18
  272. data/spec/CArray/method/round_spec.rb +0 -11
  273. data/spec/CArray/object/_attribute_spec.rb +0 -32
  274. data/spec/CArray/object/s_new_spec.rb +0 -31
  275. data/spec/CArray/serialize/Serialization_spec.rb +0 -89
  276. data/test/test_130.rb +0 -23
  277. data/test/test_ALL.rb +0 -51
  278. data/test/test_CABitfield.rb +0 -59
  279. data/test/test_CABlock.rb +0 -208
  280. data/test/test_CAField.rb +0 -40
  281. data/test/test_CAGrid.rb +0 -76
  282. data/test/test_CAMmap.rb +0 -11
  283. data/test/test_CARefer.rb +0 -94
  284. data/test/test_CARepeat.rb +0 -66
  285. data/test/test_CASelect.rb +0 -23
  286. data/test/test_CAShift.rb +0 -17
  287. data/test/test_CAWindow.rb +0 -55
  288. data/test/test_CAWrap.rb +0 -9
  289. data/test/test_CComplex.rb +0 -83
  290. data/test/test_CScalar.rb +0 -91
  291. data/test/test_attribute.rb +0 -281
  292. data/test/test_block_iterator.rb +0 -17
  293. data/test/test_boolean.rb +0 -99
  294. data/test/test_cast.rb +0 -33
  295. data/test/test_class.rb +0 -85
  296. data/test/test_complex.rb +0 -43
  297. data/test/test_convert.rb +0 -79
  298. data/test/test_copy.rb +0 -141
  299. data/test/test_creation.rb +0 -85
  300. data/test/test_element.rb +0 -146
  301. data/test/test_extream.rb +0 -55
  302. data/test/test_generate.rb +0 -75
  303. data/test/test_index.rb +0 -71
  304. data/test/test_mask.rb +0 -578
  305. data/test/test_math.rb +0 -98
  306. data/test/test_narray.rb +0 -64
  307. data/test/test_order.rb +0 -147
  308. data/test/test_random.rb +0 -15
  309. data/test/test_ref_store.rb +0 -211
  310. data/test/test_stat.rb +0 -414
  311. data/test/test_struct.rb +0 -72
  312. data/test/test_virtual.rb +0 -49
  313. data/utils/create_rdoc.sh +0 -9
  314. data/utils/make_tgz.sh +0 -3
  315. data/version.h +0 -18
@@ -3,10 +3,8 @@
3
3
  carray_undef.c
4
4
 
5
5
  This file is part of Ruby/CArray extension library.
6
- You can redistribute it and/or modify it under the terms of
7
- the Ruby Licence.
8
6
 
9
- Copyright (C) 2005 Hiroki Motoyoshi
7
+ Copyright (C) 2005-2020 Hiroki Motoyoshi
10
8
 
11
9
  ---------------------------------------------------------------------------- */
12
10
 
@@ -43,12 +41,6 @@ static VALUE rb_ud_equal (VALUE self, VALUE other)
43
41
  return ( self == other ) ? Qtrue : Qfalse;
44
42
  }
45
43
 
46
-
47
- static VALUE rb_obj_is_undef (VALUE self)
48
- {
49
- return ( self == CA_UNDEF ) ? Qtrue : Qfalse;
50
- }
51
-
52
44
  void
53
45
  Init_carray_undef ()
54
46
  {
@@ -63,7 +55,5 @@ Init_carray_undef ()
63
55
  CA_UNDEF = rb_funcall(rb_cUNDEF, rb_intern("new"), 0);
64
56
  rb_undef_method(CLASS_OF(rb_cUNDEF), "new");
65
57
  rb_const_set(rb_cObject, rb_intern("UNDEF"), CA_UNDEF);
66
-
67
- rb_define_method(rb_cObject, "undef?", rb_obj_is_undef, 0);
68
58
  }
69
59
 
@@ -3,10 +3,8 @@
3
3
  carray_utils.c
4
4
 
5
5
  This file is part of Ruby/CArray extension library.
6
- You can redistribute it and/or modify it under the terms of
7
- the Ruby Licence.
8
6
 
9
- Copyright (C) 2005 Hiroki Motoyoshi
7
+ Copyright (C) 2005-2020 Hiroki Motoyoshi
10
8
 
11
9
  ---------------------------------------------------------------------------- */
12
10
 
@@ -422,6 +420,11 @@ ca_bounds_normalize_index (int8_t bounds, ca_size_t size0, ca_size_t k)
422
420
  }
423
421
  }
424
422
 
423
+ /* @private
424
+ @overload scan_float (str, fill_value=nil)
425
+
426
+ */
427
+
425
428
  static VALUE
426
429
  rb_ca_s_scan_float (int argc, VALUE *argv, VALUE self)
427
430
  {
@@ -447,6 +450,11 @@ rb_ca_s_scan_float (int argc, VALUE *argv, VALUE self)
447
450
  }
448
451
  }
449
452
 
453
+ /* @private
454
+ @overload scan_int (str, fill_value=nil)
455
+
456
+ */
457
+
450
458
  static VALUE
451
459
  rb_ca_s_scan_int (int argc, VALUE *argv, VALUE self)
452
460
  {
@@ -564,7 +572,7 @@ rb_ca_guess_type_and_bytes (VALUE rtype, VALUE rbytes,
564
572
  }
565
573
  }
566
574
 
567
- /* rdoc:
575
+ /* @private
568
576
  def CArray.guess_type_and_bytes (type, bytes=0)
569
577
  end
570
578
  */
@@ -189,11 +189,6 @@ if ( not File.exist?("carray_stat_proc.c") ) or
189
189
  system("ruby carray_stat_proc.rb > carray_stat_proc.c")
190
190
  end
191
191
 
192
- puts "creating rdoc_ext.rb"
193
- system %{
194
- ruby utils/extract_rdoc.rb > rdoc_ext.rb
195
- }
196
-
197
192
  # --- create Makefile
198
193
 
199
194
  create_makefile("carray_ext")
@@ -224,7 +219,7 @@ carray_stat_proc.c: carray_stat_proc.rb
224
219
  carray_math.c: carray_math.rb
225
220
  ${RUBY} carray_math.rb
226
221
 
227
- rdoc:
222
+ yard:
228
223
  sh utils/create_rdoc.sh
229
224
 
230
225
  clean-generated:
@@ -289,7 +289,12 @@ ca_binop_#{name}_#{type} (ca_size_t n, boolean8_t *m, char *ptr1, ca_size_t i1,
289
289
  io.puts
290
290
  io.print %{
291
291
  static VALUE rb_ca_#{name} (VALUE self, VALUE other)
292
- { return rb_ca_call_binop(self, other, ca_binop_#{name}); }
292
+ {
293
+ if ( ! rb_ca_test_castable(other) ) {
294
+ return rb_ca_binop_pass_to_other(self, other, rb_intern("#{op}"));
295
+ }
296
+ return rb_ca_call_binop(self, other, ca_binop_#{name});
297
+ }
293
298
  static VALUE rb_ca_#{name}_bang (VALUE self, VALUE other)
294
299
  { return rb_ca_call_binop_bang(self, other, ca_binop_#{name}); }
295
300
  }
@@ -300,7 +305,7 @@ static VALUE rb_ca_#{name}_bang (VALUE self, VALUE other)
300
305
  }
301
306
  end
302
307
  METHODS << %{
303
- rb_define_method(rb_cCArray, "#{op}!", rb_ca_#{name}_bang, 1);
308
+ rb_define_method(rb_cCArray, "#{name}!", rb_ca_#{name}_bang, 1);
304
309
  }
305
310
 
306
311
  end
@@ -529,7 +534,12 @@ ca_bincmp_#{name}_#{type} (ca_size_t n, boolean8_t *m,
529
534
  io.puts
530
535
  io.print %{
531
536
  static VALUE rb_ca_#{name} (VALUE self, VALUE other)
532
- { return rb_ca_call_bincmp(self, other, ca_bincmp_#{name}); }
537
+ {
538
+ if ( ! rb_ca_test_castable(other) ) {
539
+ return rb_ca_binop_pass_to_other(self, other, rb_intern("#{op}"));
540
+ }
541
+ return rb_ca_call_bincmp(self, other, ca_bincmp_#{name});
542
+ }
533
543
  }
534
544
  DEFINITIONS << io.string
535
545
  if op
@@ -3,10 +3,8 @@
3
3
  ruby_carray.c
4
4
 
5
5
  This file is part of Ruby/CArray extension library.
6
- You can redistribute it and/or modify it under the terms of
7
- the Ruby Licence.
8
6
 
9
- Copyright (C) 2005 Hiroki Motoyoshi
7
+ Copyright (C) 2005-2020 Hiroki Motoyoshi
10
8
 
11
9
  ---------------------------------------------------------------------------- */
12
10
 
@@ -24,6 +22,7 @@ void Init_numeric_float_function ();
24
22
  void Init_carray_core ();
25
23
  void Init_carray_undef ();
26
24
  void Init_carray_class ();
25
+ void Init_carray_data_type ();
27
26
  void Init_carray_test ();
28
27
  void Init_carray_attribute ();
29
28
  void Init_carray_loop ();
@@ -34,7 +33,6 @@ void Init_carray_iterator ();
34
33
  void Init_carray_operator ();
35
34
  void Init_carray_numeric ();
36
35
  void Init_carray_math ();
37
- void Init_carray_random ();
38
36
  void Init_carray_utils ();
39
37
  void Init_carray_order ();
40
38
  void Init_carray_sort_addr ();
@@ -70,6 +68,9 @@ void Init_ca_iter_dimension ();
70
68
  void Init_ca_iter_block ();
71
69
  void Init_ca_iter_window ();
72
70
 
71
+ void Init_carray_mathfunc ();
72
+
73
+
73
74
  void
74
75
  Init_carray_ext ()
75
76
  {
@@ -94,7 +95,7 @@ Init_carray_ext ()
94
95
  rb_eCADataTypeError =
95
96
  rb_define_class_under(rb_cCArray, "DataTypeError", rb_eStandardError);
96
97
 
97
- /* rdoc:
98
+ /* yard:
98
99
  class CArray::DataTypeError # :nodoc:
99
100
  end
100
101
  */
@@ -108,7 +109,7 @@ Init_carray_ext ()
108
109
 
109
110
  /* -- version -- */
110
111
 
111
- /* rdoc:
112
+ /* yard:
112
113
  class CArray
113
114
  VERSION = nil # :nodoc:
114
115
  VERSION_CODE = nil # :nodoc:
@@ -119,11 +120,17 @@ Init_carray_ext ()
119
120
  end
120
121
  */
121
122
 
123
+ /* @private */
122
124
  rb_define_const(rb_cCArray, "VERSION", rb_str_new2(CA_VERSION));
125
+ /* @private */
123
126
  rb_define_const(rb_cCArray, "VERSION_CODE", INT2NUM(CA_VERSION_CODE));
127
+ /* @private */
124
128
  rb_define_const(rb_cCArray, "VERSION_MAJOR", INT2NUM(CA_VERSION_MAJOR));
129
+ /* @private */
125
130
  rb_define_const(rb_cCArray, "VERSION_MINOR", INT2NUM(CA_VERSION_MINOR));
131
+ /* @private */
126
132
  rb_define_const(rb_cCArray, "VERSION_TEENY", INT2NUM(CA_VERSION_TEENY));
133
+ /* @private */
127
134
  rb_define_const(rb_cCArray, "VERSION_DATE", rb_str_new2(CA_VERSION_DATE));
128
135
 
129
136
  /* -- system -- */
@@ -132,8 +139,10 @@ Init_carray_ext ()
132
139
  rb_define_const(rb_cObject, "CA_NIL", CA_NIL);
133
140
 
134
141
  #ifdef HAVE_COMPLEX_H
142
+ /* @private */
135
143
  rb_define_const(rb_cCArray, "HAVE_COMPLEX", Qtrue);
136
144
  #else
145
+ /* @private */
137
146
  rb_define_const(rb_cCArray, "HAVE_COMPLEX", Qfalse);
138
147
  #endif
139
148
 
@@ -166,7 +175,6 @@ Init_carray_ext ()
166
175
  rb_define_const(rb_cObject, "CA_DCOMPLEX", INT2NUM(CA_DCOMPLEX));
167
176
  rb_define_const(rb_cObject, "CA_SIZE", INT2NUM(CA_SIZE));
168
177
 
169
-
170
178
  rb_define_const(rb_cObject, "CA_ALIGN_VOIDP", INT2NUM(CA_ALIGN_VOIDP));
171
179
  rb_define_const(rb_cObject, "CA_ALIGN_FIXLEN", INT2NUM(CA_ALIGN_INT8));
172
180
  rb_define_const(rb_cObject, "CA_ALIGN_BOOLEAN", INT2NUM(CA_ALIGN_INT8));
@@ -193,6 +201,7 @@ Init_carray_ext ()
193
201
  Init_numeric_float_function();
194
202
 
195
203
  Init_carray_class();
204
+ Init_carray_data_type();
196
205
  Init_carray_test();
197
206
  Init_carray_attribute();
198
207
  Init_carray_undef();
@@ -203,7 +212,6 @@ Init_carray_ext ()
203
212
  Init_carray_operator();
204
213
  Init_carray_math(); /* order of math, numeric should not be changed */
205
214
  Init_carray_numeric(); /* order of math, numeric should not be changed */
206
- Init_carray_random();
207
215
  Init_carray_order();
208
216
  Init_carray_sort_addr();
209
217
  Init_carray_stat();
@@ -240,5 +248,9 @@ Init_carray_ext ()
240
248
  Init_ca_iter_dimension();
241
249
  Init_ca_iter_block();
242
250
  Init_ca_iter_window();
251
+
252
+ Init_carray_mathfunc();
253
+
254
+
243
255
  }
244
256
 
@@ -3,10 +3,8 @@
3
3
  ruby_ccomplex.c
4
4
 
5
5
  This file is part of Ruby/CArray extension library.
6
- You can redistribute it and/or modify it under the terms of
7
- the Ruby Licence.
8
6
 
9
- Copyright (C) 2005 Hiroki Motoyoshi
7
+ Copyright (C) 2005-2020 Hiroki Motoyoshi
10
8
 
11
9
  ---------------------------------------------------------------------------- */
12
10
 
@@ -3,10 +3,8 @@
3
3
  ruby_numeric.c
4
4
 
5
5
  This file is part of Ruby/CArray extension library.
6
- You can redistribute it and/or modify it under the terms of
7
- the Ruby Licence.
8
6
 
9
- Copyright (C) 2005 Hiroki Motoyoshi
7
+ Copyright (C) 2005-2020 Hiroki Motoyoshi
10
8
 
11
9
  ---------------------------------------------------------------------------- */
12
10
 
@@ -0,0 +1,16 @@
1
+ /* ---------------------------------------------------------------------------
2
+
3
+ version.h
4
+
5
+ This file is part of Ruby/CArray extension library.
6
+
7
+ Copyright (C) 2005-2020 Hiroki Motoyoshi
8
+
9
+ ---------------------------------------------------------------------------- */
10
+
11
+ #define CA_VERSION "1.5.3"
12
+ #define CA_VERSION_CODE 153
13
+ #define CA_VERSION_MAJOR 1
14
+ #define CA_VERSION_MINOR 5
15
+ #define CA_VERSION_TEENY 3
16
+ #define CA_VERSION_DATE "2020/07/31"
File without changes
@@ -3,10 +3,8 @@
3
3
  # lib/carray.rb
4
4
  #
5
5
  # This file is part of Ruby/CArray extension library.
6
- # You can redistribute it and/or modify it under the terms of
7
- # the Ruby Licence.
8
6
  #
9
- # Copyright (C) 2005 Hiroki Motoyoshi
7
+ # Copyright (C) 2005-2020 Hiroki Motoyoshi
10
8
  #
11
9
  # ----------------------------------------------------------------------------
12
10
 
@@ -14,15 +12,59 @@ major = RbConfig::CONFIG['MAJOR'].to_i
14
12
  minor = RbConfig::CONFIG['MINOR'].to_i
15
13
  teeny = RbConfig::CONFIG['TEENY'].to_i
16
14
  ruby_version_code = major * 100 + minor * 10 + teeny
15
+
17
16
  if ruby_version_code < 190
18
17
  require 'complex'
19
18
  end
20
19
 
20
+ # main
21
+
21
22
  require 'carray_ext'
22
- require 'carray/base/basic'
23
- require 'carray/base/math'
24
- require 'carray/base/iterator'
25
- require 'carray/base/struct'
26
- require 'carray/base/inspect'
27
- require 'carray/base/autoload'
28
- require 'carray/base/obsolete'
23
+
24
+ require 'carray/inspect'
25
+ require 'carray/basic'
26
+ require 'carray/construct'
27
+ require 'carray/mask'
28
+ require 'carray/compose'
29
+ require 'carray/transform'
30
+ require 'carray/convert'
31
+ require 'carray/testing'
32
+ require 'carray/ordering'
33
+ require 'carray/broadcast'
34
+
35
+ require 'carray/math'
36
+ require 'carray/iterator'
37
+ require 'carray/struct'
38
+ require 'carray/table'
39
+ require 'carray/string'
40
+
41
+ # obsolete methods
42
+
43
+ require 'carray/obsolete'
44
+
45
+ # autoload
46
+
47
+ unless $CARRAY_NO_AUTOLOAD
48
+
49
+ require 'carray/autoload'
50
+ require 'carray/autoload/autoload_base'
51
+ require 'carray/autoload/autoload_io_imagemagick'
52
+ require 'carray/autoload/autoload_math_histogram'
53
+ require 'carray/autoload/autoload_math_recurrence'
54
+ require 'carray/autoload/autoload_object_iterator'
55
+ require 'carray/autoload/autoload_object_link'
56
+ require 'carray/autoload/autoload_object_pack'
57
+
58
+ require 'carray/autoload/autoload_gem_random'
59
+ require 'carray/autoload/autoload_gem_gnuplot'
60
+ require 'carray/autoload/autoload_gem_narray'
61
+ require 'carray/autoload/autoload_gem_numo_narray'
62
+ require 'carray/autoload/autoload_gem_io_csv'
63
+ require 'carray/autoload/autoload_gem_io_sqlite3'
64
+ require 'carray/autoload/autoload_gem_rmagick'
65
+ require 'carray/autoload/autoload_gem_cairo'
66
+ require 'carray/autoload/autoload_gem_opencv'
67
+ require 'carray/autoload/autoload_gem_ffi'
68
+
69
+ undef autoload_method
70
+ end
@@ -1,10 +1,8 @@
1
1
  # ----------------------------------------------------------------------------
2
2
  #
3
- # carray/base/autoload.rb
3
+ # carray/autoload.rb
4
4
  #
5
5
  # This file is part of Ruby/CArray extension library.
6
- # You can redistribute it and/or modify it under the terms of
7
- # the Ruby Licence.
8
6
  #
9
7
  # Copyright (C) 2005-2010 Hiroki Motoyoshi
10
8
  #
@@ -13,7 +11,11 @@
13
11
  def autoload_method (method, library)
14
12
  eval %{
15
13
  def #{method} (*argv, &block)
16
- require "#{library}"
14
+ begin
15
+ require "#{library}"
16
+ rescue LoadError
17
+ raise "error in autoloading '#{library}' hooked by method '#{method}', check gem installation."
18
+ end
17
19
  #{method}(*argv, &block)
18
20
  end
19
21
  }
@@ -23,7 +25,11 @@ class Class
23
25
  def autoload_method (method, library)
24
26
  class_eval %{
25
27
  def #{method} (*argv, &block)
26
- require "#{library}"
28
+ begin
29
+ require "#{library}"
30
+ rescue LoadError
31
+ raise "error in autoloading '#{library}' hooked by method '#{method}', check gem installation."
32
+ end
27
33
  #{method}(*argv, &block)
28
34
  end
29
35
  }
@@ -34,7 +40,11 @@ class Module
34
40
  def autoload_method (method, library)
35
41
  class_eval %{
36
42
  def #{method} (*argv, &block)
37
- require "#{library}"
43
+ begin
44
+ require "#{library}"
45
+ rescue LoadError
46
+ raise "error in autoloading '#{library}' hooked by method '#{method}', check gem installation."
47
+ end
38
48
  #{method}(*argv, &block)
39
49
  end
40
50
  }
@@ -46,7 +56,11 @@ class Module
46
56
  class_eval %{
47
57
  module_function
48
58
  def #{method} (*argv, &block)
49
- require "#{library}"
59
+ begin
60
+ require "#{library}"
61
+ rescue LoadError
62
+ raise "error in autoloading '#{library}' hooked by method '#{method}', check gem installation."
63
+ end
50
64
  #{method}(*argv, &block)
51
65
  end
52
66
  }
@@ -87,6 +101,33 @@ module CA
87
101
 
88
102
  end
89
103
 
104
+ __END__
105
+ names = {"carray" => true}
106
+ Gem.path.each do |path|
107
+ gems = File.join(path, "gems")
108
+ if File.directory?(gems)
109
+ Dir.chdir(gems) {
110
+ Dir["carray-*"].sort.reverse.each do |dir|
111
+ name = dir.sub(/\-\d+\.\d+\.\d+\z/, '')
112
+ next if names[name]
113
+ lib = File.join(dir, "lib")
114
+ if File.directory?(lib)
115
+ Dir.chdir(lib) {
116
+ Dir["carray/autoload/autoload_*"].each do |loader|
117
+ begin
118
+ load File.expand_path(File.join(gems, dir, lib, loader.sub(/\.rb\z/, "")))
119
+ rescue LoadError
120
+ end
121
+ end
122
+ }
123
+ end
124
+ names[name] = true
125
+ end
126
+ }
127
+ end
128
+ end
129
+
130
+ __END__
90
131
  CA.each_load_path("carray/autoload") {
91
132
  Dir["autoload_*.rb"].each do |basename|
92
133
  if basename =~ /\A(autoload_.+)\.rb\Z/
@@ -98,4 +139,3 @@ CA.each_load_path("carray/autoload") {
98
139
  end
99
140
  }
100
141
 
101
- undef autoload_method