carray 1.5.1 → 1.5.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.
- checksums.yaml +4 -4
- data/{LICENSES → LICENSE} +0 -0
- data/NEWS.md +42 -0
- data/README.md +5 -5
- data/TODO.md +16 -0
- data/carray.gemspec +9 -5
- data/ext/ca_iter_block.c +3 -5
- data/ext/ca_iter_dimension.c +4 -5
- data/ext/ca_iter_window.c +2 -4
- data/ext/ca_obj_array.c +394 -124
- data/ext/ca_obj_bitarray.c +3 -5
- data/ext/ca_obj_bitfield.c +3 -5
- data/ext/ca_obj_block.c +6 -8
- data/ext/ca_obj_fake.c +3 -5
- data/ext/ca_obj_farray.c +3 -5
- data/ext/ca_obj_field.c +15 -17
- data/ext/ca_obj_grid.c +5 -6
- data/ext/ca_obj_mapping.c +2 -4
- data/ext/ca_obj_object.c +3 -5
- data/ext/ca_obj_reduce.c +2 -4
- data/ext/ca_obj_refer.c +5 -7
- data/ext/ca_obj_repeat.c +2 -4
- data/ext/ca_obj_select.c +2 -4
- data/ext/ca_obj_shift.c +3 -5
- data/ext/ca_obj_transpose.c +3 -5
- data/ext/ca_obj_unbound_repeat.c +58 -81
- data/ext/ca_obj_window.c +7 -9
- data/ext/carray.h +13 -8
- data/ext/carray_access.c +111 -18
- data/ext/carray_attribute.c +136 -197
- data/ext/carray_call_cfunc.c +1 -3
- data/ext/carray_cast.c +344 -143
- data/ext/carray_cast_func.rb +1 -2
- data/ext/carray_class.c +28 -36
- data/ext/carray_conversion.c +49 -59
- data/ext/carray_copy.c +16 -32
- data/ext/carray_core.c +51 -44
- data/ext/carray_element.c +25 -44
- data/ext/carray_generate.c +71 -50
- data/ext/carray_iterator.c +13 -15
- data/ext/carray_loop.c +53 -82
- data/ext/carray_mask.c +87 -117
- data/ext/carray_math.rb +8 -10
- data/ext/carray_mathfunc.c +1 -3
- data/ext/carray_numeric.c +19 -3
- data/ext/carray_operator.c +45 -32
- data/ext/carray_order.c +72 -65
- data/ext/carray_sort_addr.c +14 -21
- data/ext/carray_stat.c +1 -3
- data/ext/carray_stat_proc.rb +2 -4
- data/ext/carray_test.c +28 -30
- data/ext/carray_undef.c +1 -3
- data/ext/carray_utils.c +12 -4
- data/ext/extconf.rb +1 -1
- data/ext/mkmath.rb +1 -1
- data/ext/ruby_carray.c +11 -6
- data/ext/ruby_ccomplex.c +1 -3
- data/ext/ruby_float_func.c +1 -3
- data/ext/version.h +5 -7
- data/lib/carray.rb +2 -0
- data/lib/carray/autoload/autoload_gem_numo_narray.rb +6 -6
- data/lib/carray/broadcast.rb +45 -0
- data/lib/carray/construct.rb +21 -4
- data/lib/carray/iterator.rb +1 -0
- data/lib/carray/ordering.rb +28 -2
- data/spec/Classes/CABitfield_spec.rb +58 -0
- data/spec/Classes/CABlockIterator_spec.rb +114 -0
- data/spec/Classes/CABlock_spec.rb +205 -0
- data/spec/Classes/CAField_spec.rb +39 -0
- data/spec/Classes/CAGrid_spec.rb +75 -0
- data/spec/Classes/CAMap_spec.rb +0 -0
- data/{test/test_CAMapping.rb → spec/Classes/CAMapping_spec.rb} +35 -36
- data/spec/Classes/CAObject_attribute_spec.rb +33 -0
- data/spec/Classes/CAObject_spec.rb +33 -0
- data/spec/Classes/CARefer_spec.rb +93 -0
- data/spec/Classes/CARepeat_spec.rb +65 -0
- data/spec/Classes/CASelect_spec.rb +22 -0
- data/spec/Classes/CAShift_spec.rb +16 -0
- data/spec/Classes/CAStruct_spec.rb +71 -0
- data/{test/test_CATranspose.rb → spec/Classes/CATranspose_spec.rb} +20 -21
- data/spec/Classes/CAUnboudRepeat_spec.rb +78 -0
- data/spec/Classes/CAWindow_spec.rb +54 -0
- data/spec/Classes/CAWrap_spec.rb +8 -0
- data/{test/test_CArray.rb → spec/Classes/CArray_spec.rb} +48 -92
- data/spec/Classes/CScalar_spec.rb +55 -0
- data/spec/Features/feature_130_spec.rb +19 -0
- data/spec/Features/feature_attributes_spec.rb +280 -0
- data/spec/Features/feature_boolean_spec.rb +97 -0
- data/spec/Features/feature_broadcast.rb +100 -0
- data/spec/Features/feature_cast_function.rb +19 -0
- data/spec/Features/feature_cast_spec.rb +33 -0
- data/spec/Features/feature_class_spec.rb +84 -0
- data/spec/Features/feature_complex_spec.rb +42 -0
- data/{test/test_composite.rb → spec/Features/feature_composite_spec.rb} +17 -18
- data/spec/Features/feature_convert_spec.rb +46 -0
- data/spec/Features/feature_copy_spec.rb +123 -0
- data/spec/Features/feature_creation_spec.rb +84 -0
- data/spec/Features/feature_element_spec.rb +144 -0
- data/spec/Features/feature_extream_spec.rb +54 -0
- data/spec/Features/feature_generate_spec.rb +74 -0
- data/spec/Features/feature_index_spec.rb +69 -0
- data/spec/Features/feature_mask_spec.rb +574 -0
- data/spec/Features/feature_math_spec.rb +97 -0
- data/spec/Features/feature_order_spec.rb +146 -0
- data/spec/Features/feature_ref_store_spec.rb +209 -0
- data/spec/Features/feature_serialization_spec.rb +125 -0
- data/spec/Features/feature_stat_spec.rb +397 -0
- data/spec/Features/feature_virtual_spec.rb +48 -0
- data/spec/Features/method_eq_spec.rb +81 -0
- data/spec/Features/method_is_nan_spec.rb +12 -0
- data/spec/Features/method_map_spec.rb +54 -0
- data/spec/Features/method_max_with.rb +20 -0
- data/spec/Features/method_min_with.rb +19 -0
- data/spec/Features/method_ne_spec.rb +18 -0
- data/spec/Features/method_project_spec.rb +188 -0
- data/spec/Features/method_ref_spec.rb +27 -0
- data/spec/Features/method_round_spec.rb +11 -0
- data/spec/Features/method_s_linspace_spec.rb +48 -0
- data/spec/Features/method_s_span_spec.rb +14 -0
- data/spec/Features/method_seq_spec.rb +47 -0
- data/spec/Features/method_sort_with.rb +43 -0
- data/spec/Features/method_sorted_with.rb +29 -0
- data/spec/Features/method_span_spec.rb +42 -0
- data/spec/Features/method_wrap_readonly_spec.rb +43 -0
- data/{test → spec/UnitTest}/test_CAVirtual.rb +0 -0
- data/spec/spec_all.rb +0 -1
- data/utils/convert_test.rb +73 -0
- data/utils/{extract_rdoc.rb → extract_yard.rb} +7 -12
- metadata +77 -60
- data/spec/CABlockIterator/CABlockIterator_spec.rb +0 -113
- data/spec/CArray/bug/store_spec.rb +0 -27
- data/spec/CArray/index/repeat_spec.rb +0 -10
- data/spec/CArray/method/eq_spec.rb +0 -80
- data/spec/CArray/method/is_nan_spec.rb +0 -12
- data/spec/CArray/method/ne_spec.rb +0 -18
- data/spec/CArray/method/round_spec.rb +0 -11
- data/spec/CArray/object/_attribute_spec.rb +0 -32
- data/spec/CArray/object/s_new_spec.rb +0 -31
- data/spec/CArray/serialize/Serialization_spec.rb +0 -89
- data/test/test_130.rb +0 -23
- data/test/test_ALL.rb +0 -49
- data/test/test_CABitfield.rb +0 -59
- data/test/test_CABlock.rb +0 -208
- data/test/test_CAField.rb +0 -40
- data/test/test_CAGrid.rb +0 -76
- data/test/test_CAMmap.rb +0 -11
- data/test/test_CARefer.rb +0 -94
- data/test/test_CARepeat.rb +0 -66
- data/test/test_CASelect.rb +0 -23
- data/test/test_CAShift.rb +0 -17
- data/test/test_CAWindow.rb +0 -55
- data/test/test_CAWrap.rb +0 -9
- data/test/test_CComplex.rb +0 -83
- data/test/test_CScalar.rb +0 -91
- data/test/test_attribute.rb +0 -281
- data/test/test_block_iterator.rb +0 -17
- data/test/test_boolean.rb +0 -99
- data/test/test_cast.rb +0 -33
- data/test/test_class.rb +0 -85
- data/test/test_complex.rb +0 -43
- data/test/test_convert.rb +0 -79
- data/test/test_copy.rb +0 -141
- data/test/test_creation.rb +0 -85
- data/test/test_element.rb +0 -146
- data/test/test_extream.rb +0 -55
- data/test/test_generate.rb +0 -75
- data/test/test_index.rb +0 -71
- data/test/test_mask.rb +0 -578
- data/test/test_math.rb +0 -98
- data/test/test_order.rb +0 -147
- data/test/test_ref_store.rb +0 -211
- data/test/test_stat.rb +0 -406
- data/test/test_struct.rb +0 -72
- data/test/test_virtual.rb +0 -49
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 519ed0ddc6f3cf2268a644428085e86ab3926aba4798400586e33e33b21a27e3
|
4
|
+
data.tar.gz: ea59dd3b333f4d707db96ce2a4f945a9c4508baa32a70bfbd1882a250b4279e3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6fcf6cd610bbeaf160396ff553ea2ed8f0a4faff97836824b13f1e5d426b13bc068c7ae3c938b4f426a95a0e7928f58ae7c9af83d79b713f069ddbec4ab85cf7
|
7
|
+
data.tar.gz: d9bc322d676d67ea423ac9f370230d72c8331392b0fba7b77ee34712bf8e1b5d7b337dfdcfe79bf0b0fce374f88e78dcb197da433b46dc866d7142f358a1b0d9
|
data/{LICENSES → LICENSE}
RENAMED
File without changes
|
data/NEWS.md
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
ChangeLog of Ruby/CArray
|
2
|
+
========================
|
3
|
+
|
4
|
+
1.5.1 -> 1.5.2
|
5
|
+
--------------
|
6
|
+
|
7
|
+
* [New] Add new method 'CArray#sorted_with'
|
8
|
+
* [New] Add new method 'CArray#sort_with'
|
9
|
+
* [New] Add new method 'CArray#max_with'
|
10
|
+
* [New] Add new method 'CArray#min_with'
|
11
|
+
* [New] Add new method 'CArray.broadcast'
|
12
|
+
* [New] Add new method 'CArray#broadcast_to', 'CScalar#broadcast_to'
|
13
|
+
* [New] Add new API function `rb_ca_wrap_new`
|
14
|
+
* [Mod] Modify 'CArray#linspace' to return float64 array for integer arguments
|
15
|
+
* [Mod] Modify CAUnboundRepeat to have `ndim` same as the bounded array (before `ndim` same as parent array)
|
16
|
+
* [Mod] Depret the obsolete mothod 'CArray#dump'.
|
17
|
+
* [Mod] Depret the obsolete mothod 'CArray#load'.
|
18
|
+
* [Mod] Modify CArray.wrap_readonly to wrap string as array.
|
19
|
+
* [Fix] Add support for Integer (same as for Fixnum, Bignum)
|
20
|
+
|
21
|
+
1.5.0 -> 1.5.1
|
22
|
+
--------------
|
23
|
+
|
24
|
+
* [New] Add data type classes like 'Float64' ... to provide the methods like 'CArray::Float64.linspace'
|
25
|
+
* [Mod] Modify 'CArray.float64' ... without aruguments to return the corresponding data type class
|
26
|
+
* [Fix] Move C extension files into 'ext/'
|
27
|
+
* [Fix] Rename member 'rank' to 'ndim' in struct CArray in C extension
|
28
|
+
* [Fix] Remove 'CArray#shuffle' (gone to 'carray-random' gem)
|
29
|
+
* [Fix] Remove dependencies on 'rb_secure()' and 'rb_safe_level()'
|
30
|
+
* [Fix] Modify 'CArray#span' to handle fractional step for integer array
|
31
|
+
* [Obsolete] Set obsolete flag to 'CAIterator#sort_with'
|
32
|
+
|
33
|
+
1.4.0 -> 1.5.0
|
34
|
+
--------------
|
35
|
+
|
36
|
+
* [Mod] Remove 'Carray#random!' (gone to 'carray-random' gem)
|
37
|
+
* [Mod] Relocate file 'lib/carray/io/table.rb' to 'lib/carray/table.rb'
|
38
|
+
* [Mod] Rename class 'CA::TableMethods' to 'CArray::TableMethods'
|
39
|
+
* [Mod] Rename method 'CArray#cast_other' to 'CArray#cast_with'
|
40
|
+
* [Mod] Change license from "Ruby's" to "MIT"
|
41
|
+
* [Mod] Remove files 'COPYING', 'LEGAL'(for MT), 'GPL'
|
42
|
+
* [Fix] Fix bug lib/carray/struct.rb
|
data/README.md
CHANGED
@@ -28,11 +28,11 @@ Requirements
|
|
28
28
|
Directories
|
29
29
|
-----------
|
30
30
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
spec -
|
35
|
-
|
31
|
+
lib - Ruby sorce codes
|
32
|
+
ext - C extension source codes
|
33
|
+
utils - support tools for development
|
34
|
+
spec - rspec files
|
35
|
+
misc - misc files
|
36
36
|
|
37
37
|
Licenses
|
38
38
|
--------
|
data/TODO.md
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
ToDo List
|
2
|
+
=========
|
3
|
+
|
4
|
+
ToDo
|
5
|
+
-------
|
6
|
+
|
7
|
+
* Create spec
|
8
|
+
- str_format (cyclic format)
|
9
|
+
- CA_SIZE
|
10
|
+
* Remove RSTRUCT hack in carray_access.c for handling of Range object.
|
11
|
+
* Implement CArray.broadcast in C
|
12
|
+
* Solve abs probrems
|
13
|
+
|
14
|
+
Done
|
15
|
+
-------
|
16
|
+
|
data/carray.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification::new do |s|
|
2
2
|
|
3
|
-
version = "1.5.
|
3
|
+
version = "1.5.2"
|
4
4
|
|
5
5
|
files = Dir.glob("**/*") - [
|
6
6
|
Dir.glob("carray-*.gem"),
|
@@ -14,10 +14,14 @@ Gem::Specification::new do |s|
|
|
14
14
|
s.name = "carray"
|
15
15
|
s.summary = "Multi-dimesional array class for Ruby"
|
16
16
|
s.description = <<-HERE
|
17
|
-
CArray is
|
18
|
-
|
19
|
-
|
20
|
-
|
17
|
+
Ruby/CArray is an extension library for the multi-dimensional array class.
|
18
|
+
CArray can store integers and floating point numbers to perform calculations
|
19
|
+
efficiently. Therefore, Ruby/CArray is suitable for numerical computation and data
|
20
|
+
analysis. Ruby/CArray has different features from other multidimensional array
|
21
|
+
libraries (narray, numo-narray, nmatrix), such as element-specific masks,
|
22
|
+
creation of reference arrays that can reflect changes to the referent,
|
23
|
+
the ability to access memory pointers of other objects, user-defined arrays,
|
24
|
+
and so on.
|
21
25
|
HERE
|
22
26
|
s.version = version
|
23
27
|
s.author = "Hiroki Motoyoshi"
|
data/ext/ca_iter_block.c
CHANGED
@@ -3,16 +3,14 @@
|
|
3
3
|
ca_iter_block.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
|
|
13
11
|
#include "carray.h"
|
14
12
|
|
15
|
-
/*
|
13
|
+
/* yard:
|
16
14
|
class CABlockIterator < CAIterator # :nodoc:
|
17
15
|
end
|
18
16
|
*/
|
@@ -202,7 +200,7 @@ rb_bi_initialize_copy (VALUE self, VALUE other)
|
|
202
200
|
return self;
|
203
201
|
}
|
204
202
|
|
205
|
-
/*
|
203
|
+
/* yard:
|
206
204
|
class CArray
|
207
205
|
# Create block iterator.
|
208
206
|
def blocks (*args)
|
data/ext/ca_iter_dimension.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
ca_iter_dimension.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
|
|
@@ -15,7 +13,7 @@
|
|
15
13
|
|
16
14
|
VALUE rb_cCADimIterator;
|
17
15
|
|
18
|
-
/*
|
16
|
+
/* yard:
|
19
17
|
class CADimensionIterator < CAIterator # :nodoc:
|
20
18
|
end
|
21
19
|
*/
|
@@ -239,6 +237,7 @@ rb_ca_dim_iterator (int argc, VALUE *argv, VALUE self)
|
|
239
237
|
|
240
238
|
Data_Get_Struct(self, CArray, ca);
|
241
239
|
|
240
|
+
info.range_check = 1;
|
242
241
|
rb_ca_scan_index(ca->ndim, ca->dim, ca->elements, argc, argv, &info);
|
243
242
|
|
244
243
|
obj = rb_di_s_allocate(rb_cCADimIterator);
|
@@ -258,7 +257,7 @@ rb_dim_iter_new (VALUE rref, CAIndexInfo *info)
|
|
258
257
|
return obj;
|
259
258
|
}
|
260
259
|
|
261
|
-
/*
|
260
|
+
/* yard:
|
262
261
|
class CADimensionIterator
|
263
262
|
def sym2dim (sym)
|
264
263
|
end
|
data/ext/ca_iter_window.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
ca_iter_window.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
|
|
@@ -27,7 +25,7 @@ typedef struct {
|
|
27
25
|
|
28
26
|
VALUE rb_cCAWindowIterator;
|
29
27
|
|
30
|
-
/*
|
28
|
+
/* yard:
|
31
29
|
class CAWindowIterator < CAIterator # :nodoc:
|
32
30
|
end
|
33
31
|
*/
|
data/ext/ca_obj_array.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
ca_obj_array.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
|
|
@@ -19,7 +17,7 @@
|
|
19
17
|
|
20
18
|
VALUE rb_cCArray, rb_cCAWrap, rb_cCScalar, rb_cCAVirtual;
|
21
19
|
|
22
|
-
/*
|
20
|
+
/* yard:
|
23
21
|
class CArray
|
24
22
|
end
|
25
23
|
class CAWrap < CArray # :nodoc:
|
@@ -60,27 +58,22 @@ ca_check_mem_count()
|
|
60
58
|
}
|
61
59
|
}
|
62
60
|
|
63
|
-
/*
|
64
|
-
# returns the threshold of incremented memory (MB) used by carray object
|
65
|
-
# until start GC.
|
66
|
-
def CArray.gc_interval ()
|
67
|
-
end
|
68
|
-
# set the threshold of incremented memory (MB) used by carray object
|
69
|
-
# until start GC.
|
70
|
-
def CArray.gc_interval= (val)
|
71
|
-
end
|
72
|
-
# reset the counter for the GC start when the incremented memory
|
73
|
-
# get larger than `CArray.gc_interval`.
|
74
|
-
def CArray.reset_gc_interval ()
|
75
|
-
end
|
76
|
-
*/
|
61
|
+
/* @private gc_interval
|
77
62
|
|
63
|
+
Returns the threshold of incremented memory (MB) used by carray object
|
64
|
+
until start GC.
|
65
|
+
*/
|
78
66
|
static VALUE
|
79
67
|
rb_ca_get_gc_interval (VALUE self)
|
80
68
|
{
|
81
69
|
return rb_float_new(ca_gc_interval);
|
82
70
|
}
|
83
71
|
|
72
|
+
/* @private gc_interval= (val)
|
73
|
+
|
74
|
+
Sets the threshold of incremented memory (MB) used by carray object
|
75
|
+
until start GC.
|
76
|
+
*/
|
84
77
|
static VALUE
|
85
78
|
rb_ca_set_gc_interval (VALUE self, VALUE rth)
|
86
79
|
{
|
@@ -92,6 +85,11 @@ rb_ca_set_gc_interval (VALUE self, VALUE rth)
|
|
92
85
|
return rb_float_new(ca_gc_interval);
|
93
86
|
}
|
94
87
|
|
88
|
+
/* @private reset_gc_inverval
|
89
|
+
|
90
|
+
Reset the counter for the GC start when the incremented memory
|
91
|
+
get larger than `CArray.gc_interval`.
|
92
|
+
*/
|
95
93
|
static VALUE
|
96
94
|
rb_ca_reset_gc_interval (VALUE self)
|
97
95
|
{
|
@@ -669,6 +667,15 @@ rb_carray_new_safe (int8_t data_type, int8_t ndim, ca_size_t *dim, ca_size_t byt
|
|
669
667
|
return ca_wrap_struct(ca);
|
670
668
|
}
|
671
669
|
|
670
|
+
|
671
|
+
VALUE
|
672
|
+
rb_ca_wrap_new (int8_t data_type, int8_t ndim, ca_size_t *dim, ca_size_t bytes,
|
673
|
+
CArray *mask, char *ptr)
|
674
|
+
{
|
675
|
+
CAWrap *ca = ca_wrap_new(data_type, ndim, dim, bytes, mask, ptr);
|
676
|
+
return ca_wrap_struct(ca);
|
677
|
+
}
|
678
|
+
|
672
679
|
VALUE
|
673
680
|
rb_cscalar_new (int8_t data_type, ca_size_t bytes, CArray *mask)
|
674
681
|
{
|
@@ -699,20 +706,16 @@ rb_ca_s_allocate (VALUE klass)
|
|
699
706
|
return Data_Make_Struct(klass, CArray, ca_mark, ca_free, ca);
|
700
707
|
}
|
701
708
|
|
702
|
-
/*
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
# effect. If the block is given, the new CArray
|
713
|
-
# object will be initialized by the value returned from the block.
|
714
|
-
def CArray.new(data_type, dim, bytes=0)
|
715
|
-
end
|
709
|
+
/* @overload initialize(data_type, dim, bytes=0) { ... }
|
710
|
+
|
711
|
+
Constructs a new CArray object of <i>data_type</i>, which has the
|
712
|
+
ndim and the dimensions specified by an <code>Array</code> of
|
713
|
+
<code>Integer</code> or an argument list of <code>Integer</code>.
|
714
|
+
The byte size of each element for the fixed length data type
|
715
|
+
(<code>data_type == CA_FIXLEN</code>) is specified optional argument
|
716
|
+
<i>bytes</i>. Otherwise, this optional argument has no
|
717
|
+
effect. If the block is given, the new CArray
|
718
|
+
object will be initialized by the value returned from the block.
|
716
719
|
*/
|
717
720
|
|
718
721
|
static VALUE
|
@@ -750,6 +753,12 @@ rb_ca_initialize (int argc, VALUE *argv, VALUE self)
|
|
750
753
|
return Qnil;
|
751
754
|
}
|
752
755
|
|
756
|
+
/* @overload fixlen(*dim, bytes: ) { ... }
|
757
|
+
|
758
|
+
(Construction)
|
759
|
+
Short-Hand of `CArray.new(:fixlen, dim, bytes: ) { ... }`
|
760
|
+
*/
|
761
|
+
|
753
762
|
static VALUE
|
754
763
|
rb_ca_s_fixlen (int argc, VALUE *argv, VALUE klass)
|
755
764
|
{
|
@@ -759,8 +768,7 @@ rb_ca_s_fixlen (int argc, VALUE *argv, VALUE klass)
|
|
759
768
|
return rb_class_new_instance(3, args, klass);
|
760
769
|
}
|
761
770
|
|
762
|
-
#define
|
763
|
-
rb_ca_s_## type (int argc, VALUE *argv, VALUE klass) \
|
771
|
+
#define rb_ca_s_body(code) \
|
764
772
|
{ \
|
765
773
|
if ( argc == 0 ) { \
|
766
774
|
return ca_data_type_class(code); \
|
@@ -773,47 +781,171 @@ rb_ca_s_## type (int argc, VALUE *argv, VALUE klass) \
|
|
773
781
|
} \
|
774
782
|
}
|
775
783
|
|
776
|
-
/*
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
*
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
784
|
+
/* @overload boolean(*dim) { ... }
|
785
|
+
|
786
|
+
(Construction)
|
787
|
+
Short-Hand of `CArray.new(:boolean, dim, bytes: bytes) { ... }`
|
788
|
+
*/
|
789
|
+
static VALUE rb_ca_s_boolean (int argc, VALUE *argv, VALUE klass)
|
790
|
+
{
|
791
|
+
rb_ca_s_body(CA_BOOLEAN);
|
792
|
+
}
|
793
|
+
|
794
|
+
/* @overload int8(*dim) { ... }
|
795
|
+
|
796
|
+
(Construction)
|
797
|
+
Short-Hand of `CArray.new(:int8, dim, bytes: bytes) { ... }`
|
798
|
+
*/
|
799
|
+
static VALUE rb_ca_s_int8 (int argc, VALUE *argv, VALUE klass)
|
800
|
+
{
|
801
|
+
rb_ca_s_body(CA_INT8);
|
802
|
+
}
|
803
|
+
|
804
|
+
/* @overload uint8(*dim) { ... }
|
805
|
+
|
806
|
+
(Construction)
|
807
|
+
Short-Hand of `CArray.new(:uint8, dim, bytes: bytes) { ... }`
|
808
|
+
*/
|
809
|
+
static VALUE rb_ca_s_uint8 (int argc, VALUE *argv, VALUE klass)
|
810
|
+
{
|
811
|
+
rb_ca_s_body(CA_UINT8);
|
812
|
+
}
|
813
|
+
|
814
|
+
/* @overload int16(*dim) { ... }
|
815
|
+
|
816
|
+
(Construction)
|
817
|
+
Short-Hand of `CArray.new(:int16, dim, bytes: bytes) { ... }`
|
818
|
+
*/
|
819
|
+
static VALUE rb_ca_s_int16 (int argc, VALUE *argv, VALUE klass)
|
820
|
+
{
|
821
|
+
rb_ca_s_body(CA_INT16);
|
822
|
+
}
|
823
|
+
|
824
|
+
/* @overload uint16(*dim) { ... }
|
825
|
+
|
826
|
+
(Construction)
|
827
|
+
Short-Hand of `CArray.new(:uint16, dim, bytes: bytes) { ... }`
|
828
|
+
*/
|
829
|
+
static VALUE rb_ca_s_uint16 (int argc, VALUE *argv, VALUE klass)
|
830
|
+
{
|
831
|
+
rb_ca_s_body(CA_UINT16);
|
832
|
+
}
|
833
|
+
|
834
|
+
/* @overload int32(*dim) { ... }
|
835
|
+
|
836
|
+
(Construction)
|
837
|
+
Short-Hand of `CArray.new(:int32, dim, bytes: bytes) { ... }`
|
838
|
+
*/
|
839
|
+
static VALUE rb_ca_s_int32 (int argc, VALUE *argv, VALUE klass)
|
840
|
+
{
|
841
|
+
rb_ca_s_body(CA_INT32);
|
842
|
+
}
|
843
|
+
|
844
|
+
/* @overload uint32(*dim) { ... }
|
845
|
+
|
846
|
+
(Construction)
|
847
|
+
Short-Hand of `CArray.new(:uint32, dim, bytes: bytes) { ... }`
|
848
|
+
*/
|
849
|
+
static VALUE rb_ca_s_uint32 (int argc, VALUE *argv, VALUE klass)
|
850
|
+
{
|
851
|
+
rb_ca_s_body(CA_UINT32);
|
852
|
+
}
|
853
|
+
|
854
|
+
/* @overload int64(*dim) { ... }
|
855
|
+
|
856
|
+
(Construction)
|
857
|
+
Short-Hand of `CArray.new(:int64, dim, bytes: bytes) { ... }`
|
858
|
+
*/
|
859
|
+
static VALUE rb_ca_s_int64 (int argc, VALUE *argv, VALUE klass)
|
860
|
+
{
|
861
|
+
rb_ca_s_body(CA_INT64);
|
862
|
+
}
|
863
|
+
|
864
|
+
/* @overload uint64(*dim) { ... }
|
865
|
+
|
866
|
+
(Construction)
|
867
|
+
Short-Hand of `CArray.new(:uint64, dim, bytes: bytes) { ... }`
|
868
|
+
*/
|
869
|
+
static VALUE rb_ca_s_uint64 (int argc, VALUE *argv, VALUE klass)
|
870
|
+
{
|
871
|
+
rb_ca_s_body(CA_UINT64);
|
872
|
+
}
|
873
|
+
|
874
|
+
/* @overload float32(*dim) { ... }
|
875
|
+
|
876
|
+
(Construction)
|
877
|
+
Short-Hand of `CArray.new(:float32, dim, bytes: bytes) { ... }`
|
878
|
+
*/
|
879
|
+
static VALUE rb_ca_s_float32 (int argc, VALUE *argv, VALUE klass)
|
880
|
+
{
|
881
|
+
rb_ca_s_body(CA_FLOAT32);
|
882
|
+
}
|
883
|
+
|
884
|
+
/* @overload float64(*dim) { ... }
|
885
|
+
|
886
|
+
(Construction)
|
887
|
+
Short-Hand of `CArray.new(:float64, dim, bytes: bytes) { ... }`
|
888
|
+
*/
|
889
|
+
static VALUE rb_ca_s_float64 (int argc, VALUE *argv, VALUE klass)
|
890
|
+
{
|
891
|
+
rb_ca_s_body(CA_FLOAT64);
|
892
|
+
}
|
893
|
+
|
894
|
+
/* @overload float128(*dim) { ... }
|
895
|
+
|
896
|
+
(Construction)
|
897
|
+
Short-Hand of `CArray.new(:float128, dim, bytes: bytes) { ... }`
|
898
|
+
*/
|
899
|
+
static VALUE rb_ca_s_float128 (int argc, VALUE *argv, VALUE klass)
|
900
|
+
{
|
901
|
+
rb_ca_s_body(CA_FLOAT128);
|
902
|
+
}
|
795
903
|
|
796
|
-
static VALUE rb_ca_s_VALUE();
|
797
|
-
|
798
|
-
static VALUE rb_ca_s_type(boolean, CA_BOOLEAN);
|
799
|
-
static VALUE rb_ca_s_type(int8, CA_INT8);
|
800
|
-
static VALUE rb_ca_s_type(uint8, CA_UINT8);
|
801
|
-
static VALUE rb_ca_s_type(int16, CA_INT16);
|
802
|
-
static VALUE rb_ca_s_type(uint16, CA_UINT16);
|
803
|
-
static VALUE rb_ca_s_type(int32, CA_INT32);
|
804
|
-
static VALUE rb_ca_s_type(uint32, CA_UINT32);
|
805
|
-
static VALUE rb_ca_s_type(int64, CA_INT64);
|
806
|
-
static VALUE rb_ca_s_type(uint64, CA_UINT64);
|
807
|
-
static VALUE rb_ca_s_type(float32, CA_FLOAT32);
|
808
|
-
static VALUE rb_ca_s_type(float64, CA_FLOAT64);
|
809
|
-
static VALUE rb_ca_s_type(float128, CA_FLOAT128);
|
810
904
|
#ifdef HAVE_COMPLEX_H
|
811
|
-
|
812
|
-
|
813
|
-
|
905
|
+
/* @overload cmplx64(*dim) { ... }
|
906
|
+
|
907
|
+
(Construction)
|
908
|
+
Short-Hand of `CArray.new(:cmplx64, dim, bytes: bytes) { ... }`
|
909
|
+
*/
|
910
|
+
static VALUE rb_ca_s_cmplx64 (int argc, VALUE *argv, VALUE klass)
|
911
|
+
{
|
912
|
+
rb_ca_s_body(CA_CMPLX64);
|
913
|
+
}
|
914
|
+
|
915
|
+
/* @overload cmplx128(*dim) { ... }
|
916
|
+
|
917
|
+
(Construction)
|
918
|
+
Short-Hand of `CArray.new(:cmplx128, dim, bytes: bytes) { ... }`
|
919
|
+
*/
|
920
|
+
static VALUE rb_ca_s_cmplx128 (int argc, VALUE *argv, VALUE klass)
|
921
|
+
{
|
922
|
+
rb_ca_s_body(CA_CMPLX128);
|
923
|
+
}
|
924
|
+
|
925
|
+
/* @overload cmplx256(*dim) { ... }
|
926
|
+
|
927
|
+
(Construction)
|
928
|
+
Short-Hand of `CArray.new(:cmplx256, dim, bytes: bytes) { ... }`
|
929
|
+
*/
|
930
|
+
static VALUE rb_ca_s_cmplx256 (int argc, VALUE *argv, VALUE klass)
|
931
|
+
{
|
932
|
+
rb_ca_s_body(CA_CMPLX256);
|
933
|
+
}
|
814
934
|
#endif
|
815
|
-
static VALUE rb_ca_s_type(VALUE, CA_OBJECT);
|
816
935
|
|
936
|
+
/* @overload object(*dim) { ... }
|
937
|
+
|
938
|
+
(Construction)
|
939
|
+
Short-Hand of `CArray.new(:object, dim, bytes: bytes) { ... }`
|
940
|
+
*/
|
941
|
+
static VALUE rb_ca_s_VALUE (int argc, VALUE *argv, VALUE klass)
|
942
|
+
{
|
943
|
+
rb_ca_s_body(CA_OBJECT);
|
944
|
+
}
|
945
|
+
|
946
|
+
/* @overload initialize_copy(other)
|
947
|
+
|
948
|
+
*/
|
817
949
|
static VALUE
|
818
950
|
rb_ca_initialize_copy (VALUE self, VALUE other)
|
819
951
|
{
|
@@ -832,9 +964,10 @@ rb_ca_initialize_copy (VALUE self, VALUE other)
|
|
832
964
|
return self;
|
833
965
|
}
|
834
966
|
|
835
|
-
/*
|
836
|
-
|
837
|
-
|
967
|
+
/* @overload wrap (data_type, dim, bytes=0) { target }
|
968
|
+
|
969
|
+
[TBD] (Construction)
|
970
|
+
target should have method "wrap_as_carray(obj)"
|
838
971
|
*/
|
839
972
|
|
840
973
|
static VALUE
|
@@ -893,16 +1026,16 @@ rb_cs_s_allocate (VALUE klass)
|
|
893
1026
|
return Data_Make_Struct(klass, CScalar, ca_mark, ca_free, ca);
|
894
1027
|
}
|
895
1028
|
|
896
|
-
/*
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
|
901
|
-
|
902
|
-
|
903
|
-
|
904
|
-
|
905
|
-
|
1029
|
+
/*
|
1030
|
+
call-seq:
|
1031
|
+
CScalar.new(data_type, bytes=0) { ... }
|
1032
|
+
|
1033
|
+
Constructs a new CScalar object of <i>data_type</i>.
|
1034
|
+
The byte size of each element for the fixed length data type
|
1035
|
+
(<code>data_type == CA_FIXLEN</code>) is specified optional argument
|
1036
|
+
<i>bytes</i>. Otherwise, this optional argument has no
|
1037
|
+
effect. If the block is given, the new CScalar
|
1038
|
+
object will be initialized by the value returned from the block.
|
906
1039
|
def CScalar.new(data_type,bytes=0)
|
907
1040
|
end
|
908
1041
|
*/
|
@@ -934,6 +1067,12 @@ rb_cs_initialize (int argc, VALUE *argv, VALUE self)
|
|
934
1067
|
return Qnil;
|
935
1068
|
}
|
936
1069
|
|
1070
|
+
/* @overload fixlen(*dim, bytes: ) { ... }
|
1071
|
+
|
1072
|
+
(Construction)
|
1073
|
+
Short-Hand of `CScalar.new(:fixlen, bytes: ) { ... }`
|
1074
|
+
*/
|
1075
|
+
|
937
1076
|
static VALUE
|
938
1077
|
rb_cs_s_fixlen (int argc, VALUE *argv, VALUE klass)
|
939
1078
|
{
|
@@ -945,8 +1084,7 @@ rb_cs_s_fixlen (int argc, VALUE *argv, VALUE klass)
|
|
945
1084
|
return rb_class_new_instance(2, args, klass);
|
946
1085
|
}
|
947
1086
|
|
948
|
-
#define
|
949
|
-
rb_cs_s_## type (int argc, VALUE *argv, VALUE klass) \
|
1087
|
+
#define rb_cs_s_body(code) \
|
950
1088
|
{ \
|
951
1089
|
volatile VALUE ropt = rb_pop_options(&argc, &argv); \
|
952
1090
|
VALUE args[2] = { INT2NUM(code), ropt }; \
|
@@ -956,47 +1094,172 @@ rb_cs_s_## type (int argc, VALUE *argv, VALUE klass) \
|
|
956
1094
|
return rb_class_new_instance(2, args, klass); \
|
957
1095
|
}
|
958
1096
|
|
959
|
-
|
960
|
-
|
961
|
-
|
962
|
-
|
963
|
-
|
964
|
-
static VALUE
|
965
|
-
|
966
|
-
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
1097
|
+
/* @overload boolean() { ... }
|
1098
|
+
|
1099
|
+
(Construction)
|
1100
|
+
Short-Hand of `CArray.new(:boolean) { ... }`
|
1101
|
+
*/
|
1102
|
+
static VALUE
|
1103
|
+
rb_cs_s_boolean (int argc, VALUE *argv, VALUE klass) {
|
1104
|
+
rb_cs_s_body(CA_BOOLEAN);
|
1105
|
+
}
|
1106
|
+
|
1107
|
+
/* @overload int8() { ... }
|
1108
|
+
|
1109
|
+
(Construction)
|
1110
|
+
Short-Hand of `CScalar.new(:int8) { ... }`
|
1111
|
+
*/
|
1112
|
+
static VALUE
|
1113
|
+
rb_cs_s_int8 (int argc, VALUE *argv, VALUE klass) {
|
1114
|
+
rb_cs_s_body(CA_INT8);
|
1115
|
+
}
|
1116
|
+
|
1117
|
+
/* @overload uint8() { ... }
|
1118
|
+
|
1119
|
+
(Construction)
|
1120
|
+
Short-Hand of `CScalar.new(:uint8) { ... }`
|
1121
|
+
*/
|
1122
|
+
static VALUE
|
1123
|
+
rb_cs_s_uint8 (int argc, VALUE *argv, VALUE klass) {
|
1124
|
+
rb_cs_s_body(CA_UINT8);
|
1125
|
+
}
|
1126
|
+
|
1127
|
+
|
1128
|
+
/* @overload int16() { ... }
|
1129
|
+
|
1130
|
+
(Construction)
|
1131
|
+
Short-Hand of `CScalar.new(:int16) { ... }`
|
1132
|
+
*/
|
1133
|
+
static VALUE
|
1134
|
+
rb_cs_s_int16 (int argc, VALUE *argv, VALUE klass) {
|
1135
|
+
rb_cs_s_body(CA_INT16);
|
1136
|
+
}
|
1137
|
+
|
1138
|
+
/* @overload uint16() { ... }
|
1139
|
+
|
1140
|
+
(Construction)
|
1141
|
+
Short-Hand of `CScalar.new(:uint16) { ... }`
|
1142
|
+
*/
|
1143
|
+
static VALUE
|
1144
|
+
rb_cs_s_uint16 (int argc, VALUE *argv, VALUE klass) {
|
1145
|
+
rb_cs_s_body(CA_UINT16);
|
1146
|
+
}
|
1147
|
+
|
1148
|
+
/* @overload int32() { ... }
|
1149
|
+
|
1150
|
+
(Construction)
|
1151
|
+
Short-Hand of `CScalar.new(:int32) { ... }`
|
1152
|
+
*/
|
1153
|
+
static VALUE
|
1154
|
+
rb_cs_s_int32 (int argc, VALUE *argv, VALUE klass) {
|
1155
|
+
rb_cs_s_body(CA_INT32);
|
1156
|
+
}
|
1157
|
+
|
1158
|
+
/* @overload uint32() { ... }
|
1159
|
+
|
1160
|
+
(Construction)
|
1161
|
+
Short-Hand of `CScalar.new(:uint32) { ... }`
|
1162
|
+
*/
|
1163
|
+
static VALUE
|
1164
|
+
rb_cs_s_uint32 (int argc, VALUE *argv, VALUE klass) {
|
1165
|
+
rb_cs_s_body(CA_UINT32);
|
1166
|
+
}
|
1167
|
+
|
1168
|
+
/* @overload int64() { ... }
|
1169
|
+
|
1170
|
+
(Construction)
|
1171
|
+
Short-Hand of `CScalar.new(:int64) { ... }`
|
1172
|
+
*/
|
1173
|
+
static VALUE
|
1174
|
+
rb_cs_s_int64 (int argc, VALUE *argv, VALUE klass) {
|
1175
|
+
rb_cs_s_body(CA_INT64);
|
1176
|
+
}
|
1177
|
+
|
1178
|
+
/* @overload uint64() { ... }
|
1179
|
+
|
1180
|
+
(Construction)
|
1181
|
+
Short-Hand of `CScalar.new(:uint64) { ... }`
|
1182
|
+
*/
|
1183
|
+
static VALUE
|
1184
|
+
rb_cs_s_uint64 (int argc, VALUE *argv, VALUE klass) {
|
1185
|
+
rb_cs_s_body(CA_UINT64);
|
1186
|
+
}
|
1187
|
+
|
1188
|
+
/* @overload float32() { ... }
|
1189
|
+
|
1190
|
+
(Construction)
|
1191
|
+
Short-Hand of `CScalar.new(:float32) { ... }`
|
1192
|
+
*/
|
1193
|
+
static VALUE
|
1194
|
+
rb_cs_s_float32 (int argc, VALUE *argv, VALUE klass) {
|
1195
|
+
rb_cs_s_body(CA_FLOAT32);
|
1196
|
+
}
|
1197
|
+
|
1198
|
+
/* @overload float64() { ... }
|
1199
|
+
|
1200
|
+
(Construction)
|
1201
|
+
Short-Hand of `CScalar.new(:float64) { ... }`
|
1202
|
+
*/
|
1203
|
+
static VALUE
|
1204
|
+
rb_cs_s_float64 (int argc, VALUE *argv, VALUE klass) {
|
1205
|
+
rb_cs_s_body(CA_FLOAT64);
|
1206
|
+
}
|
1207
|
+
|
1208
|
+
/* @overload float128() { ... }
|
1209
|
+
|
1210
|
+
(Construction)
|
1211
|
+
Short-Hand of `CScalar.new(:float128) { ... }`
|
1212
|
+
*/
|
1213
|
+
static VALUE
|
1214
|
+
rb_cs_s_float128 (int argc, VALUE *argv, VALUE klass) {
|
1215
|
+
rb_cs_s_body(CA_FLOAT128);
|
1216
|
+
}
|
1217
|
+
|
971
1218
|
#ifdef HAVE_COMPLEX_H
|
972
|
-
|
973
|
-
|
974
|
-
|
1219
|
+
/* @overload cmplx64() { ... }
|
1220
|
+
|
1221
|
+
(Construction)
|
1222
|
+
Short-Hand of `CScalar.new(:cmplx64) { ... }`
|
1223
|
+
*/
|
1224
|
+
static VALUE
|
1225
|
+
rb_cs_s_cmplx64 (int argc, VALUE *argv, VALUE klass) {
|
1226
|
+
rb_cs_s_body(CA_CMPLX64);
|
1227
|
+
}
|
1228
|
+
|
1229
|
+
/* @overload cmplx128() { ... }
|
1230
|
+
|
1231
|
+
(Construction)
|
1232
|
+
Short-Hand of `CScalar.new(:cmplx128) { ... }`
|
1233
|
+
*/
|
1234
|
+
static VALUE
|
1235
|
+
rb_cs_s_cmplx128 (int argc, VALUE *argv, VALUE klass) {
|
1236
|
+
rb_cs_s_body(CA_CMPLX128);
|
1237
|
+
}
|
1238
|
+
|
1239
|
+
/* @overload cmplx256() { ... }
|
1240
|
+
|
1241
|
+
(Construction)
|
1242
|
+
Short-Hand of `CScalar.new(:cmplx256) { ... }`
|
1243
|
+
*/
|
1244
|
+
static VALUE
|
1245
|
+
rb_cs_s_cmplx256 (int argc, VALUE *argv, VALUE klass) {
|
1246
|
+
rb_cs_s_body(CA_CMPLX256);
|
1247
|
+
}
|
975
1248
|
#endif
|
976
|
-
static VALUE rb_cs_s_type(VALUE, CA_OBJECT);
|
977
1249
|
|
978
|
-
/*
|
979
|
-
* call-seq:
|
980
|
-
* CScalar.int8() { ... } -> CScalar
|
981
|
-
* CScalar.uint8() { ... } -> CScalar
|
982
|
-
* CScalar.int16() { ... } -> CScalar
|
983
|
-
* CScalar.uint16() { ... } -> CScalar
|
984
|
-
* CScalar.int32() { ... } -> CScalar
|
985
|
-
* CScalar.uint32() { ... } -> CScalar
|
986
|
-
* CScalar.int64() { ... } -> CScalar
|
987
|
-
* CScalar.uint64() { ... } -> CScalar
|
988
|
-
* CScalar.float32() { ... } -> CScalar
|
989
|
-
* CScalar.float64() { ... } -> CScalar
|
990
|
-
* CScalar.float128() { ... } -> CScalar
|
991
|
-
* CScalar.cmplx64() { ... } -> CScalar
|
992
|
-
* CScalar.cmplx128() { ... } -> CScalar
|
993
|
-
* CScalar.cmplx256() { ... } -> CScalar
|
994
|
-
* CScalar.object() { ... } -> CScalar
|
995
|
-
*
|
996
|
-
*/
|
1250
|
+
/* @overload object() { ... }
|
997
1251
|
|
998
|
-
|
999
|
-
|
1252
|
+
(Construction)
|
1253
|
+
Short-Hand of `CScalar.new(:object) { ... }`
|
1254
|
+
*/
|
1255
|
+
static VALUE
|
1256
|
+
rb_cs_s_VALUE (int argc, VALUE *argv, VALUE klass) {
|
1257
|
+
rb_cs_s_body(CA_OBJECT);
|
1258
|
+
}
|
1259
|
+
|
1260
|
+
/* @overload initialize_copy(other)
|
1261
|
+
|
1262
|
+
*/
|
1000
1263
|
|
1001
1264
|
static VALUE
|
1002
1265
|
rb_cs_initialize_copy (VALUE self, VALUE other)
|
@@ -1031,6 +1294,10 @@ rb_cs_coerce (VALUE self, VALUE other)
|
|
1031
1294
|
}
|
1032
1295
|
*/
|
1033
1296
|
|
1297
|
+
/* @private
|
1298
|
+
@overload mem_usage
|
1299
|
+
*/
|
1300
|
+
|
1034
1301
|
static VALUE
|
1035
1302
|
rb_ca_mem_usage (VALUE self)
|
1036
1303
|
{
|
@@ -1046,7 +1313,10 @@ Init_ca_obj_array ()
|
|
1046
1313
|
|
1047
1314
|
/* ------------------------------------------------------------------- */
|
1048
1315
|
ca_gc_interval = ca_default_gc_interval;
|
1316
|
+
|
1317
|
+
/* @private */
|
1049
1318
|
rb_define_const(rb_cCArray, "DEFAULT_GC_INTERVAL", rb_float_new(ca_default_gc_interval));
|
1319
|
+
|
1050
1320
|
rb_define_singleton_method(rb_cCArray, "gc_interval", rb_ca_get_gc_interval, 0);
|
1051
1321
|
rb_define_singleton_method(rb_cCArray, "gc_interval=", rb_ca_set_gc_interval, 1);
|
1052
1322
|
rb_define_singleton_method(rb_cCArray, "reset_gc_interval", rb_ca_reset_gc_interval, 0);
|
@@ -1135,7 +1405,7 @@ Init_ca_obj_array ()
|
|
1135
1405
|
}
|
1136
1406
|
|
1137
1407
|
|
1138
|
-
/*
|
1408
|
+
/* yard:
|
1139
1409
|
# call-seq:
|
1140
1410
|
# CArray.boolean(...) { init_value }
|
1141
1411
|
# CArray.int8(...) { init_value }
|