carray 1.3.6 → 1.5.3

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,182 +0,0 @@
1
- /*
2
- The names of routines in original mt19937ar.c are all prefixed with "ca_"
3
- to avoid collision with ruby's runtime library.
4
- */
5
-
6
- #include "mt19937ar.h"
7
-
8
- /*
9
- A C-program for MT19937, with initialization improved 2002/1/26.
10
- Coded by Takuji Nishimura and Makoto Matsumoto.
11
-
12
- Before using, initialize the state by using init_genrand(seed)
13
- or init_by_array(init_key, key_length).
14
-
15
- Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
16
- All rights reserved.
17
- Copyright (C) 2005, Mutsuo Saito,
18
- All rights reserved.
19
-
20
- Redistribution and use in source and binary forms, with or without
21
- modification, are permitted provided that the following conditions
22
- are met:
23
-
24
- 1. Redistributions of source code must retain the above copyright
25
- notice, this list of conditions and the following disclaimer.
26
-
27
- 2. Redistributions in binary form must reproduce the above copyright
28
- notice, this list of conditions and the following disclaimer in the
29
- documentation and/or other materials provided with the distribution.
30
-
31
- 3. The names of its contributors may not be used to endorse or promote
32
- products derived from this software without specific prior written
33
- permission.
34
-
35
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
36
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
37
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
38
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
39
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
40
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
41
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
42
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
43
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
44
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
45
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
46
-
47
-
48
- Any feedback is very welcome.
49
- http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
50
- email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)
51
- */
52
-
53
- #include <stdio.h>
54
- #include "mt19937ar.h"
55
-
56
- /* Period parameters */
57
- #define N 624
58
- #define M 397
59
- #define MATRIX_A 0x9908b0dfUL /* constant vector a */
60
- #define UPPER_MASK 0x80000000UL /* most significant w-r bits */
61
- #define LOWER_MASK 0x7fffffffUL /* least significant r bits */
62
-
63
- static unsigned long mt[N]; /* the array for the state vector */
64
- static int mti=N+1; /* mti==N+1 means mt[N] is not initialized */
65
-
66
- /* initializes mt[N] with a seed */
67
- void init_genrand(unsigned long s)
68
- {
69
- mt[0]= s & 0xffffffffUL;
70
- for (mti=1; mti<N; mti++) {
71
- mt[mti] =
72
- (1812433253UL * (mt[mti-1] ^ (mt[mti-1] >> 30)) + mti);
73
- /* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */
74
- /* In the previous versions, MSBs of the seed affect */
75
- /* only MSBs of the array mt[]. */
76
- /* 2002/01/09 modified by Makoto Matsumoto */
77
- mt[mti] &= 0xffffffffUL;
78
- /* for >32 bit machines */
79
- }
80
- }
81
-
82
- /* initialize by an array with array-length */
83
- /* init_key is the array for initializing keys */
84
- /* key_length is its length */
85
- /* slight change for C++, 2004/2/26 */
86
- void init_by_array(unsigned long init_key[], int key_length)
87
- {
88
- int i, j, k;
89
- init_genrand(19650218UL);
90
- i=1; j=0;
91
- k = (N>key_length ? N : key_length);
92
- for (; k; k--) {
93
- mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1664525UL))
94
- + init_key[j] + j; /* non linear */
95
- mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */
96
- i++; j++;
97
- if (i>=N) { mt[0] = mt[N-1]; i=1; }
98
- if (j>=key_length) j=0;
99
- }
100
- for (k=N-1; k; k--) {
101
- mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1566083941UL))
102
- - i; /* non linear */
103
- mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */
104
- i++;
105
- if (i>=N) { mt[0] = mt[N-1]; i=1; }
106
- }
107
-
108
- mt[0] = 0x80000000UL; /* MSB is 1; assuring non-zero initial array */
109
- }
110
-
111
- /* generates a random number on [0,0xffffffff]-interval */
112
- unsigned long genrand_int32(void)
113
- {
114
- unsigned long y;
115
- static unsigned long mag01[2]={0x0UL, MATRIX_A};
116
- /* mag01[x] = x * MATRIX_A for x=0,1 */
117
-
118
- if (mti >= N) { /* generate N words at one time */
119
- int kk;
120
-
121
- if (mti == N+1) /* if init_genrand() has not been called, */
122
- init_genrand(5489UL); /* a default initial seed is used */
123
-
124
- for (kk=0;kk<N-M;kk++) {
125
- y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);
126
- mt[kk] = mt[kk+M] ^ (y >> 1) ^ mag01[y & 0x1UL];
127
- }
128
- for (;kk<N-1;kk++) {
129
- y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);
130
- mt[kk] = mt[kk+(M-N)] ^ (y >> 1) ^ mag01[y & 0x1UL];
131
- }
132
- y = (mt[N-1]&UPPER_MASK)|(mt[0]&LOWER_MASK);
133
- mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1UL];
134
-
135
- mti = 0;
136
- }
137
-
138
- y = mt[mti++];
139
-
140
- /* Tempering */
141
- y ^= (y >> 11);
142
- y ^= (y << 7) & 0x9d2c5680UL;
143
- y ^= (y << 15) & 0xefc60000UL;
144
- y ^= (y >> 18);
145
-
146
- return y;
147
- }
148
-
149
- /* generates a random number on [0,0x7fffffff]-interval */
150
- long genrand_int31(void)
151
- {
152
- return (long)(genrand_int32()>>1);
153
- }
154
-
155
- /* generates a random number on [0,1]-real-interval */
156
- double genrand_real1(void)
157
- {
158
- return genrand_int32()*(1.0/4294967295.0);
159
- /* divided by 2^32-1 */
160
- }
161
-
162
- /* generates a random number on [0,1)-real-interval */
163
- double genrand_real2(void)
164
- {
165
- return genrand_int32()*(1.0/4294967296.0);
166
- /* divided by 2^32 */
167
- }
168
-
169
- /* generates a random number on (0,1)-real-interval */
170
- double genrand_real3(void)
171
- {
172
- return (((double)genrand_int32()) + 0.5)*(1.0/4294967296.0);
173
- /* divided by 2^32 */
174
- }
175
-
176
- /* generates a random number on [0,1) with 53-bit resolution*/
177
- double genrand_res53(void)
178
- {
179
- unsigned long a=genrand_int32()>>5, b=genrand_int32()>>6;
180
- return(a*67108864.0+b)*(1.0/9007199254740992.0);
181
- }
182
- /* These real versions are due to Isaku Wada, 2002/01/09 added */
@@ -1,86 +0,0 @@
1
- /*
2
- The names of routines in original mt19937ar.c are all prefixed with "ca_"
3
- to avoid collision with ruby's runtime library.
4
- */
5
-
6
- #define init_genrand ca_init_genrand
7
- #define init_by_array ca_init_by_array
8
- #define genrand_int32 ca_genrand_int32
9
- #define genrand_int31 ca_genrand_int31
10
- #define genrand_real1 ca_genrand_real1
11
- #define genrand_real2 ca_genrand_real2
12
- #define genrand_real3 ca_genrand_real3
13
- #define genrand_res53 ca_genrand_res53
14
-
15
- /*
16
- A C-program for MT19937, with initialization improved 2002/1/26.
17
- Coded by Takuji Nishimura and Makoto Matsumoto.
18
-
19
- Before using, initialize the state by using init_genrand(seed)
20
- or init_by_array(init_key, key_length).
21
-
22
- Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
23
- All rights reserved.
24
- Copyright (C) 2005, Mutsuo Saito
25
- All rights reserved.
26
-
27
- Redistribution and use in source and binary forms, with or without
28
- modification, are permitted provided that the following conditions
29
- are met:
30
-
31
- 1. Redistributions of source code must retain the above copyright
32
- notice, this list of conditions and the following disclaimer.
33
-
34
- 2. Redistributions in binary form must reproduce the above copyright
35
- notice, this list of conditions and the following disclaimer in the
36
- documentation and/or other materials provided with the distribution.
37
-
38
- 3. The names of its contributors may not be used to endorse or promote
39
- products derived from this software without specific prior written
40
- permission.
41
-
42
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
43
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
44
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
45
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
46
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
47
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
48
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
49
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
50
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
51
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
52
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
53
-
54
-
55
- Any feedback is very welcome.
56
- http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
57
- email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)
58
- */
59
-
60
- /* initializes mt[N] with a seed */
61
- void init_genrand(unsigned long s);
62
-
63
- /* initialize by an array with array-length */
64
- /* init_key is the array for initializing keys */
65
- /* key_length is its length */
66
- /* slight change for C++, 2004/2/26 */
67
- void init_by_array(unsigned long init_key[], int key_length);
68
-
69
- /* generates a random number on [0,0xffffffff]-interval */
70
- unsigned long genrand_int32(void);
71
-
72
- /* generates a random number on [0,0x7fffffff]-interval */
73
- long genrand_int31(void);
74
-
75
- /* These real versions are due to Isaku Wada, 2002/01/09 added */
76
- /* generates a random number on [0,1]-real-interval */
77
- double genrand_real1(void);
78
-
79
- /* generates a random number on [0,1)-real-interval */
80
- double genrand_real2(void);
81
-
82
- /* generates a random number on (0,1)-real-interval */
83
- double genrand_real3(void);
84
-
85
- /* generates a random number on [0,1) with 53-bit resolution*/
86
- double genrand_res53(void);
@@ -1,1115 +0,0 @@
1
-
2
- class CArray
3
- end
4
- class CScalar
5
- end
6
- module CA
7
- end
8
- class CABitField < CAVirtual # :nodoc:
9
- end
10
-
11
- class CArray
12
- def bitfield (range, type)
13
- end
14
- end
15
-
16
- class CAShift < CAVirtual # :nodoc:
17
- end
18
-
19
- class CArray
20
- def shifted
21
- end
22
- end
23
-
24
- class CArray::DataTypeError # :nodoc:
25
- end
26
-
27
- class CArray
28
- VERSION = nil # :nodoc:
29
- VERSION_CODE = nil # :nodoc:
30
- VERSION_MAJOR = nil # :nodoc:
31
- VERSION_MINOR = nil # :nodoc:
32
- VERSION_TEENY = nil # :nodoc:
33
- VERSION_DATE = nil # :nodoc:
34
- end
35
-
36
- class CAIterator
37
- def rank
38
- end
39
- end
40
-
41
- class CAIterator
42
- def dim
43
- end
44
- end
45
-
46
- class CAIterator
47
- def elements
48
- end
49
- end
50
-
51
- class CAIterator
52
- def reference
53
- end
54
- end
55
-
56
- class CAIterator
57
- def kernel_at_addr
58
- end
59
- end
60
-
61
- class CAIterator
62
- def kernel_at_index
63
- end
64
- end
65
-
66
- class CAIterator
67
- def kernel_move_to_addr
68
- end
69
- end
70
-
71
- class CAIterator
72
- def kernel_move_to_index
73
- end
74
- end
75
-
76
- class CAIterator
77
- def prepare_output
78
- end
79
- end
80
-
81
- class CAIterator
82
- def calculate
83
- end
84
- end
85
-
86
- class CAIterator
87
- def filter
88
- end
89
- end
90
-
91
- class CAIterator
92
- def evaluate
93
- end
94
- end
95
-
96
- class CArray
97
- def fill
98
- end
99
- def fill_copy
100
- end
101
- end
102
-
103
- def CArray.guess_array_shape (arg)
104
- end
105
-
106
- class CArray
107
- def [] (*spec)
108
- end
109
- end
110
-
111
- class CArray
112
- def []= (*spec)
113
- end
114
- end
115
-
116
- def CArray.scan_index(dim, idx)
117
- end
118
-
119
- class CArray
120
- def normalize_index (idx)
121
- end
122
- end
123
-
124
- class CArray
125
- # converts addr to index
126
- def addr2index (addr)
127
- end
128
- end
129
-
130
- class CArray
131
- def index2addr (*index)
132
- end
133
- end
134
-
135
- class CAGrid < CAVirtual # :nodoc:
136
- end
137
-
138
- class CArray
139
- def grid
140
- end
141
- end
142
-
143
- class CASelect < CAVirtual # :nodoc:
144
- end
145
-
146
- class CArray
147
- # call-seq:
148
- # ca.boolean
149
- # ca.int8
150
- # ca.uint8
151
- # ca.int16
152
- # ca.uint16
153
- # ca.int32
154
- # ca.uint32
155
- # ca.int64
156
- # ca.uint64
157
- # ca.float32
158
- # ca.float64
159
- # ca.float128
160
- # ca.cmplx64
161
- # ca.cmplx128
162
- # ca.cmplx256
163
- # ca.object
164
- # ca.fixlen
165
- # ca.byte
166
- # ca.short
167
- # ca.int
168
- # ca.float
169
- # ca.double
170
- # ca.complex
171
- # ca.dcomplex
172
- #
173
- # Convert to given data_type with copying values
174
- def to_type
175
- end
176
- end
177
-
178
- class CArray
179
- # call-seq:
180
- # ca.as_int8
181
- # ca.as_uint8
182
- # ca.as_int16
183
- # ca.as_uint16
184
- # ca.as_int32
185
- # ca.as_uint32
186
- # ca.as_int64
187
- # ca.as_uint64
188
- # ca.as_float32
189
- # ca.as_float64
190
- # ca.as_float128
191
- # ca.as_cmplx64
192
- # ca.as_cmplx128
193
- # ca.as_cmplx256
194
- # ca.as_object
195
- # ca.as_byte
196
- # ca.as_short
197
- # ca.as_int
198
- # ca.as_float
199
- # ca.as_double
200
- # ca.as_complex
201
- # ca.as_dcomplex
202
- #
203
- # Fakes data_type
204
- def as_type
205
- end
206
- end
207
-
208
- def CArray.wrap_writable
209
- end
210
-
211
- def CArray.wrap_readonly
212
- end
213
-
214
- class CABlock < CAVirtual # :nodoc:
215
- end
216
-
217
- class CABlock
218
- def size0
219
- end
220
- def start
221
- end
222
- def step
223
- end
224
- def count
225
- end
226
- def offset
227
- end
228
- end
229
-
230
- class CABlock
231
- def idx2addr0 (idx)
232
- end
233
- end
234
-
235
- class CABlock
236
- def addr2addr0 (addr)
237
- end
238
- end
239
-
240
- class CABlock
241
- def move (*index)
242
- end
243
- end
244
-
245
- # Iterates with the multi-dimensional indeces for the given
246
- # dimension numbers.
247
- #
248
- # CArray.each_index(3,2){|i,j| print "(#{i} #{j}) " }
249
- #
250
- # produces:
251
- #
252
- # (0 0) (0 1) (1 0) (1 1) (2 0) (2 1) (3 0) (3 1)
253
- #
254
- def CArray.each_index(*argv) # :yields: i0, i1, ...
255
- end
256
-
257
- class CArray
258
- #
259
- def each # :yields: v
260
- end
261
- end
262
-
263
- class CArray
264
- #
265
- def each_with_addr # :yields: v, addr
266
- end
267
- end
268
-
269
- class CArray
270
- #
271
- def each_addr() # :yields: addr
272
- end
273
- end
274
-
275
- class CArray
276
- # Iterates with the multi-dimensional indeces for the dimension of <i>ca</i>.
277
- #
278
- # CArray.int(3,2).each_index(){|i,j| print "(#{i} #{j}) " }
279
- #
280
- # <em>produces:</em>
281
- #
282
- # (0 0) (0 1) (1 0) (1 1) (2 0) (2 1) (3 0) (3 1)
283
- #
284
- def each_index # :yields: i0, i1, ...
285
- end
286
- end
287
-
288
- class CArray
289
- #
290
- def map! # :yields: v
291
- end
292
- end
293
-
294
- class CArray
295
- #
296
- def each_with_index # :yields: v, idx
297
- end
298
- end
299
-
300
- class CArray
301
- #
302
- def map_with_index! # :yields: v, idx
303
- end
304
- end
305
-
306
- class CArray
307
- #
308
- def map_index! # :yields: i0, i1, ...
309
- end
310
- end
311
-
312
- class CArray
313
- #
314
- def map_with_addr! # :yields: v, addr
315
- end
316
- end
317
-
318
- class CArray
319
- #
320
- def map_addr! # :yields: addr
321
- end
322
- end
323
-
324
- class CArray
325
- # returns the number of elements
326
- def elements
327
- end
328
-
329
- # alias of `CArray#elements`
330
- alias length elements
331
-
332
- # alias of `CArray#elements`
333
- alias size elements
334
- end
335
-
336
- class CArray
337
- # use CArray#shape instead of this method after carray-1.3.0
338
- # returns the Array object contains the dimensional shape of array
339
- # (e.g. [2,3] for 2D 2x3 array, ...).
340
- def dim
341
- end
342
-
343
- # returns the Array object contains the dimensional shape of array
344
- # (e.g. [2,3] for 2D 2x3 array, ...).
345
- def shape
346
- end
347
-
348
- # short-hand for dim[0]
349
- def dim0
350
- end
351
-
352
- # short-hand for dim[1]
353
- def dim1
354
- end
355
-
356
- # short-hand for dim[2]
357
- def dim2
358
- end
359
-
360
- # short-hand for dim[3]
361
- def dim3
362
- end
363
- end
364
-
365
- class CArray
366
- # returns the string representaion of the data_type (e.g. "int32", "fixlen")
367
- def data_type_name
368
- end
369
- end
370
-
371
- class CArray
372
- # returns true if `self` is a CScalar object
373
- def scalar?
374
- end
375
- end
376
-
377
- class CArray
378
- # returns true if `self` is an entity array (not a virtual array).
379
- def entity?
380
- end
381
-
382
- # returns true if `self` is a virtural array (not an entity array).
383
- def virtual?
384
- end
385
- end
386
-
387
- def CArray.guess_type_and_bytes (type, bytes=0)
388
- end
389
-
390
- class CAFake < CAVirtual # :nodoc:
391
- end
392
-
393
- class CArray
394
- def fake (data_type, options={:bytes=>0})
395
- end
396
- end
397
-
398
- class CArray
399
- end
400
- class CAWrap < CArray # :nodoc:
401
- end
402
- class CScalar < CArray
403
- end
404
- class CAVirtual < CArray # :nodoc:
405
- end
406
-
407
- # returns the threshold of incremented memory (MB) used by carray object
408
- # until start GC.
409
- def CArray.gc_interval ()
410
- end
411
- # set the threshold of incremented memory (MB) used by carray object
412
- # until start GC.
413
- def CArray.gc_interval= (val)
414
- end
415
- # reset the counter for the GC start when the incremented memory
416
- # get larger than `CArray.gc_interval`.
417
- def CArray.reset_gc_interval ()
418
- end
419
-
420
- # call-seq:
421
- # CArray.new(data_type, dim, bytes=0) { ... }
422
- #
423
- # Constructs a new CArray object of <i>data_type</i>, which has the
424
- # rank and the dimensions specified by an <code>Array</code> of
425
- # <code>Integer</code> or an argument list of <code>Integer</code>.
426
- # The byte size of each element for the fixed length data type
427
- # (<code>data_type == CA_FIXLEN</code>) is specified optional argument
428
- # <i>bytes</i>. Otherwise, this optional argument has no
429
- # effect. If the block is given, the new CArray
430
- # object will be initialized by the value returned from the block.
431
- def CArray.new(data_type, dim, bytes=0)
432
- end
433
-
434
- def CArray.wrap (data_type, dim, bytes=0) # { wrapped_object }
435
- end
436
-
437
- # call-seq:
438
- # CScalar.new(data_type, bytes=0) { ... }
439
- #
440
- # Constructs a new CScalar object of <i>data_type</i>.
441
- # The byte size of each element for the fixed length data type
442
- # (<code>data_type == CA_FIXLEN</code>) is specified optional argument
443
- # <i>bytes</i>. Otherwise, this optional argument has no
444
- # effect. If the block is given, the new CScalar
445
- # object will be initialized by the value returned from the block.
446
- def CScalar.new(data_type,bytes=0)
447
- end
448
-
449
- # call-seq:
450
- # CArray.boolean(...) { init_value }
451
- # CArray.int8(...) { init_value }
452
- # CArray.uint8(...) { init_value }
453
- # CArray.int16(...) { init_value }
454
- # CArray.uint16(...) { init_value }
455
- # CArray.int32(...) { init_value }
456
- # CArray.uint32(...) { init_value }
457
- # CArray.int64(...) { init_value }
458
- # CArray.uint64(...) { init_value }
459
- # CArray.float32(...) { init_value }
460
- # CArray.float64(...) { init_value }
461
- # CArray.float128(...) { init_value }
462
- # CArray.cmplx64(...) { init_value }
463
- # CArray.cmplx128(...) { init_value }
464
- # CArray.cmplx256(...) { init_value }
465
- # CArray.fixlen(...) { init_value }
466
- # CArray.object(...) { init_value }
467
- # CArray.byte(...) { init_value }
468
- # CArray.short(...) { init_value }
469
- # CArray.int(...) { init_value }
470
- # CArray.float(...) { init_value }
471
- # CArray.double(...) { init_value }
472
- # CArray.complex(...) { init_value }
473
- # CArray.dcomplex(...) { init_value }
474
- #
475
- def CArray.type
476
- end
477
-
478
- # call-seq:
479
- # CScalar.boolean { init_value }
480
- # CScalar.int8 { init_value }
481
- # CScalar.uint8 { init_value }
482
- # CScalar.int16 { init_value }
483
- # CScalar.uint16 { init_value }
484
- # CScalar.int32 { init_value }
485
- # CScalar.uint32 { init_value }
486
- # CScalar.int64 { init_value }
487
- # CScalar.uint64 { init_value }
488
- # CScalar.float32 { init_value }
489
- # CScalar.float64 { init_value }
490
- # CScalar.float128 { init_value }
491
- # CScalar.cmplx64 { init_value }
492
- # CScalar.cmplx128 { init_value }
493
- # CScalar.cmplx256 { init_value }
494
- # CScalar.fixlen { init_value }
495
- # CScalar.object { init_value }
496
- # CScalar.byte { init_value }
497
- # CScalar.short { init_value }
498
- # CScalar.int { init_value }
499
- # CScalar.float { init_value }
500
- # CScalar.double { init_value }
501
- # CScalar.complex { init_value }
502
- # CScalar.dcomplex { init_value }
503
- #
504
- def CScalar.type
505
- end
506
-
507
- class CArray
508
- # Sets true at the given index for the boolean array and returns self.
509
- # It accept the arguments same as for CArray#[].
510
- def set (*argv)
511
- end
512
- # Sets false at the given index for the boolean array and returns self.
513
- # It accept the arguments same as for CArray#[].
514
- def unset (*argv)
515
- end
516
- end
517
-
518
- class CArray
519
- # Returns the 1d index array for non-zero elements of self
520
- def where
521
- end
522
- end
523
-
524
- class CArray
525
- # call-seq:
526
- # seq (init_val=0, step=1)
527
- # seq (init_val=0, step=1) {|x| ... }
528
- # seq (init_val=0, step=A_symbol) ### for object array
529
- # seq (init_val=0, step=A_symbol) {|x| ...} ### for object array
530
- #
531
- # Generates sequential data with initial value `init_val`
532
- # and step value `step`. For object array, if the second argument
533
- # is Symbol object, it will be interpreted as stepping method and
534
- # it is called for the last element in each step.
535
- #
536
- def seq (init_val=0, step=1)
537
- end
538
- #
539
- def seq! (init_val=0, step=1)
540
- end
541
- end
542
-
543
- class CArray
544
- # Swaps the byte order of each element.
545
- def swap_bytes
546
- end
547
- #
548
- def swap_bytes!
549
- end
550
- end
551
-
552
- class CArray
553
- # trims the data into the range between min and max. If `fill_value`
554
- # is given, the element out of the range between min and max is filled
555
- # by `fill_value`
556
- def trim (min, max, fill_value=nil)
557
- end
558
- #
559
- def trim! (min, max, fill_value=nil)
560
- end
561
- end
562
-
563
- # returns index table for index sort
564
- #
565
- # idx = CA.sort_addr(a, b, c) ### priority a > b > c
566
- # a[idx]
567
- # b[idx]
568
- # c[idx]
569
-
570
- def CA.sort_addr (*args)
571
- end
572
-
573
- class CArray
574
- # returns index table for index sort
575
- # This method same as,
576
- #
577
- # idx = CA.sort_addr(self, *args)
578
- def sort_addr (*args)
579
- end
580
- end
581
-
582
- class CAWindowIterator < CAIterator # :nodoc:
583
- end
584
-
585
- class CAUnboundRepeat < CArray
586
- end
587
-
588
- class CAUnboundRepeat
589
- def bind_with(other)
590
- end
591
- end
592
-
593
- class CAUnboundRepeat
594
- def bind(*index)
595
- end
596
- end
597
-
598
- class CAObject < CAVirtual # :nodoc:
599
- end
600
-
601
- class CAObjectMask < CAVirtual # :nodoc:
602
- end
603
-
604
- class CATranspose < CAVirtual # :nodoc:
605
- end
606
-
607
- class CArray
608
- def transposed
609
- end
610
- end
611
-
612
- class CArray
613
- def random! (max=1.0)
614
- end
615
- end
616
-
617
- class CArray
618
- # create CArray object from `self` with same contents includes mask state.
619
- def to_ca
620
- end
621
- end
622
-
623
- class CArray
624
- # returns CArray object with same dimension with `self`
625
- # The data type of the new carray object can be specified by `data_type`.
626
- # For fixlen data type, the option `:bytes` is used to specified the
627
- # data length.
628
- def template(data_type=self.data_type, options={:bytes=>0})
629
- end
630
- end
631
-
632
- class CArray
633
- # pastes `ary` to `self` at the index `idx`.
634
- # `idx` should be Array object with the length same as `self.rank`.
635
- # `ary` should have same shape with `self`.
636
- def paste (idx, ary)
637
- end
638
- end
639
-
640
- class CArray
641
- # clips the data at `idx` from `self` to `ary`.
642
- def clip (idx, ary)
643
- end
644
- end
645
-
646
- class CABlockIterator < CAIterator # :nodoc:
647
- end
648
-
649
- class CArray
650
- # Create block iterator.
651
- def blocks (*args)
652
- end
653
- end
654
-
655
- class CAReduce < CAVirtual # :nodoc:
656
- end
657
-
658
- class CAFArray < CAVirtual # :nodoc:
659
- end
660
-
661
- class CArray
662
- # create the virtual transposed array which dimension order is reversed.
663
- def t
664
- end
665
- end
666
-
667
- class CArray
668
- # Returns true if self has the mask array.
669
- def has_mask?()
670
- end
671
- end
672
-
673
- class CArray
674
- # Returns true if self has at least one masked element.
675
- def any_masked?
676
- end
677
- end
678
-
679
- class CArray
680
- # Returns true if all elements of self are masked.
681
- def all_masked?
682
- end
683
- end
684
-
685
- class CArray
686
- private
687
- def create_mask
688
- end
689
- end
690
-
691
- class CArray
692
- private
693
- def update_mask
694
- end
695
- end
696
-
697
- class CArray
698
- # Returns new array which refers the data of <code>self</code>.
699
- # The data of masked elements of <code>self</code> can be accessed
700
- # via the returned array. The value array can't be set mask.
701
- def value ()
702
- end
703
- end
704
-
705
- class CArray
706
- # Returns new array which refers the mask state of <code>self</code>.
707
- # The mask array can't be set mask.
708
- def mask ()
709
- end
710
- end
711
-
712
- class CArray
713
- # Asigns <code>new_mask</code> to the mask array of <code>self</code>.
714
- # If <code>self</code> doesn't have a mask array, it will be created
715
- # before asignment.
716
- def mask= (new_mask)
717
- end
718
- end
719
-
720
- class CArray
721
- # Returns new boolean type array of same shape with <code>self</code>.
722
- # The returned array has 1 for the masked elements and
723
- # 0 for not-masked elements.
724
- def is_masked ()
725
- end
726
- end
727
-
728
- class CArray
729
- # Returns new boolean type array of same shape with <code>self</code>.
730
- # The returned array has 0 for the masked elements and
731
- # 1 for not-masked elements.
732
- def is_not_masked ()
733
- end
734
- end
735
-
736
- class CArray
737
- # Returns the number of masked elements.
738
- def count_masked ()
739
- end
740
- end
741
-
742
- class CArray
743
- # Returns the number of not-masked elements.
744
- def count_not_masked ()
745
- end
746
- end
747
-
748
- class CArray
749
- # Returns new unmasked array.
750
- # If the optional argument <code>fill_value</code> is given,
751
- # the masked elements are filled by <code>fill_value</code>.
752
- # The returned array doesn't have the mask array.
753
- def unmask_copy (fill_value=nil)
754
- end
755
- end
756
-
757
- class CArray
758
- # Sets the mask array of <code>self</code> by the logical sum of
759
- # the mask states of <code>self</code> and arrays given in arguments.
760
- def inherit_mask (*argv)
761
- end
762
- end
763
-
764
- class CArray
765
- # Sets the mask array of <code>self</code> by the logical sum of
766
- # the mask states of arrays given in arguments.
767
- def inherit_mask_replace (*argv)
768
- end
769
- end
770
-
771
- # returns the machine endianness.
772
- # CArray.endian #=> 0 (CA_LITTLE_ENDIAN)
773
- # CArray.endian #=> 1 (CA_BIG_ENDIAN)
774
-
775
- def CArray.endian
776
- end
777
-
778
- # returns true if the byte order of the architecture is
779
- # big endian.
780
-
781
- def CArray.big_endian?
782
- end
783
-
784
- # returns true if the byte order of the architecture is
785
- # little endian.
786
-
787
- def CArray.little_endian?
788
- end
789
-
790
- # Returns the byte length of an element of the given data type.
791
- # Retruns <code>0</code> if data_type is equal to CA_FIXLEN.
792
- # CArray.sizeof(CA_INT32) #=> 4
793
- # CArray.sizeof(CA_DOUBLE) #=> 8
794
- # CArray.sizeof(CA_FIXLEN) #=> 0
795
-
796
- def CArray.sizeof (data_type)
797
- end
798
-
799
- # Returns true if the given data_type indicate the valid data_type.
800
-
801
- def CArray.data_type?(data_type)
802
- end
803
-
804
- # Returns string representaion of the data_type specifier.
805
-
806
- def CArray.data_type_name(data_type)
807
- end
808
-
809
- class CArray
810
- def coerce (other)
811
- end
812
- end
813
-
814
- def CArray.attach(*argv) # :nodoc:
815
- yield
816
- end
817
-
818
- def CArray.attach!(*argv) # :nodoc:
819
- yield
820
- end
821
-
822
- class CArray
823
- def attach () # :nodoc:
824
- yield
825
- end
826
- end
827
-
828
- class CArray
829
- def attach! () # :nodoc:
830
- yield
831
- end
832
- end
833
-
834
- class CArray
835
- # Returns data class member names
836
- def members
837
- end
838
- end
839
-
840
- class CArray
841
- # Returns an array of data class members (fields)
842
- def fields
843
- end
844
- end
845
-
846
- class CArray
847
- # Returns an array of data class members (fields) with names specified
848
- def fields_at (*names)
849
- end
850
- end
851
-
852
- class CArray
853
- def project (idx,lval=nil,uval=nil)
854
- end
855
- end
856
-
857
- class CArray
858
- # Reverses the elements of +ca+ in place.
859
- def reverse!
860
- end
861
- end
862
-
863
- class CArray
864
- # Returns a new CArray object containing <i>ca</i>'s elements in
865
- # reverse order.
866
- def reverse
867
- end
868
- end
869
-
870
- class CArray
871
- # Sorts <i>ca</i>'s elements in place.
872
- def sort!
873
- end
874
- end
875
-
876
- class CArray
877
- # Returns a new CArray object containing <i>ca</i>'s elements sorted.
878
- def sort
879
- end
880
- end
881
-
882
- class CArray
883
- # shuffles the elements.
884
- # If `self` has mask, the masked elements are also moved by shuffling.
885
- def shuffle!
886
- end
887
- end
888
-
889
- class CArray
890
- def shuffle
891
- end
892
- end
893
-
894
- class CArray
895
- def bsearch
896
- end
897
- end
898
-
899
- class CArray
900
- def bsearch_index
901
- end
902
- end
903
-
904
- class CArray
905
- def search
906
- end
907
- end
908
-
909
- class CArray
910
- def search_index
911
- end
912
- end
913
-
914
- class CArray
915
- def search_nearest
916
- end
917
- end
918
-
919
- class CAWindow < CAVirtual # :nodoc:
920
- end
921
-
922
- class CArray
923
- def window (*argv)
924
- end
925
- end
926
-
927
- class CAWindow
928
- def index2addr0 (idx)
929
- end
930
- end
931
-
932
- class CAWindow
933
- def addr2addr0 (addr)
934
- end
935
- end
936
-
937
- class CAWindow
938
- def fill_value
939
- end
940
- def fill_value= (val)
941
- end
942
- end
943
-
944
- class CAWindow
945
- def size0
946
- end
947
- def start
948
- end
949
- def step
950
- end
951
- def count
952
- end
953
- def offset
954
- end
955
- end
956
-
957
- class CAMapping < CAVirtual # :nodoc:
958
- end
959
-
960
- class CADimensionIterator < CAIterator # :nodoc:
961
- end
962
-
963
- class CADimensionIterator
964
- def sym2dim (sym)
965
- end
966
- end
967
-
968
- class CARepeat < CAVirtual # :nodoc:
969
- end
970
-
971
- class CArray
972
- def valid_index? (*index)
973
- end
974
- end
975
-
976
- class CArray
977
- def valid_addr? (addr)
978
- end
979
- end
980
-
981
- class CArray
982
- def has_same_shape? (other)
983
- end
984
- end
985
-
986
- class CArray
987
- def == (other)
988
- end
989
- alias eql? ==
990
- end
991
-
992
- class CArray
993
- def hash
994
- end
995
- end
996
-
997
- class CAField < CAVirtual # :nodoc:
998
- end
999
-
1000
- class CArray
1001
- # call-seq:
1002
- # CArray#field(offset, data_type[, :bytes=>bytes])
1003
- # CArray#field(offset, data_class)
1004
- # CArray#field(offset, template)
1005
- #
1006
- def field (offset, data_type)
1007
- end
1008
- end
1009
-
1010
- class CArray
1011
- def elem_swap
1012
- end
1013
- end
1014
-
1015
- class CArray
1016
- def elem_copy
1017
- end
1018
- end
1019
-
1020
- class CArray
1021
- def elem_store
1022
- end
1023
- end
1024
-
1025
- class CArray
1026
- def elem_fetch
1027
- end
1028
- end
1029
-
1030
- class CArray
1031
- def elem_incr
1032
- end
1033
- end
1034
-
1035
- class CArray
1036
- def elem_decr
1037
- end
1038
- end
1039
-
1040
- class CArray
1041
- def elem_masked?
1042
- end
1043
- end
1044
-
1045
- class CArray
1046
- # used in CAHistogram.
1047
- def incr_addr
1048
- end
1049
- end
1050
-
1051
- class CABitArray < CAVirtual # :nodoc:
1052
- end
1053
-
1054
- class CArray
1055
- def bits
1056
- end
1057
- alias bitarray bits
1058
- end
1059
-
1060
- class CArray
1061
- # Converts the array to Ruby's array. For higher dimension,
1062
- # the array is nested rank-1 times.
1063
- def to_a
1064
- end
1065
- end
1066
-
1067
- class CArray
1068
- # Convert the
1069
- def convert (data_type=nil, dim=nil)
1070
- yield
1071
- end
1072
- end
1073
-
1074
- class CArray
1075
- # dumps the value array to the given IO stream
1076
- def dump_binary(io)
1077
- end
1078
- end
1079
-
1080
- class CArray
1081
- # dumps the value array to a string.
1082
- def to_s
1083
- end
1084
- end
1085
-
1086
- class CArray
1087
- # loads the value array from the given IO stream
1088
- def load_binary (io)
1089
- end
1090
- end
1091
-
1092
- class CArray
1093
- # Convert the
1094
- def convert (data_type=nil, dim=nil)
1095
- yield
1096
- end
1097
- end
1098
-
1099
- class CARefer < CAVirtual # :nodoc:
1100
- end
1101
-
1102
- class CArray
1103
- # call-seq:
1104
- # CArray.refer()
1105
- # CArray.refer(data_type, dim[, :bytes=>bytes, :offset=>offset])
1106
- # CArray.refer(data_class, dim)
1107
- #
1108
- # Returns CARefer object which refers self.
1109
- # In second form, `data_type` can be different data_type of self,
1110
- # as long as the total byte length of new array is smaller than
1111
- # that of self.
1112
- def refer (*argv)
1113
- end
1114
- end
1115
-