carray 1.5.1 → 1.5.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
data/ext/carray_cast_func.rb
CHANGED
@@ -161,8 +161,7 @@ puts %{
|
|
161
161
|
the Ruby\'s licence.
|
162
162
|
|
163
163
|
This file is automatically generated from carray_math.rb.
|
164
|
-
|
165
|
-
Copyright (C) 2005 Hiroki Motoyoshi
|
164
|
+
Copyright (C) 2005-2020 Hiroki Motoyoshi
|
166
165
|
|
167
166
|
---------------------------------------------------------------------------- */
|
168
167
|
|
data/ext/carray_class.c
CHANGED
@@ -3,22 +3,19 @@
|
|
3
3
|
carray_class.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
|
-
/*
|
16
|
-
# returns the machine endianness.
|
17
|
-
# CArray.endian #=> 0 (CA_LITTLE_ENDIAN)
|
18
|
-
# CArray.endian #=> 1 (CA_BIG_ENDIAN)
|
13
|
+
/* @overload endian
|
19
14
|
|
20
|
-
|
21
|
-
|
15
|
+
(Inquiry)
|
16
|
+
Returns the machine endianness.
|
17
|
+
0 (CA_LITTLE_ENDIAN)
|
18
|
+
1 (CA_BIG_ENDIAN)
|
22
19
|
*/
|
23
20
|
|
24
21
|
static VALUE
|
@@ -27,12 +24,10 @@ rb_ca_s_endian (VALUE klass)
|
|
27
24
|
return INT2NUM(ca_endian);
|
28
25
|
}
|
29
26
|
|
30
|
-
/*
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
def CArray.big_endian?
|
35
|
-
end
|
27
|
+
/* @overload big_endian?
|
28
|
+
|
29
|
+
(Inquiry)
|
30
|
+
Returns true if the byte order of the architecture is big endian.
|
36
31
|
*/
|
37
32
|
|
38
33
|
static VALUE
|
@@ -41,12 +36,11 @@ rb_ca_s_big_endian_p (VALUE klass)
|
|
41
36
|
return ( ca_endian == CA_BIG_ENDIAN ) ? Qtrue : Qfalse;
|
42
37
|
}
|
43
38
|
|
44
|
-
/*
|
45
|
-
# returns true if the byte order of the architecture is
|
46
|
-
# little endian.
|
39
|
+
/* @overload little_endian?
|
47
40
|
|
48
|
-
|
49
|
-
|
41
|
+
(Inquiry)
|
42
|
+
Returns true if the byte order of the architecture is
|
43
|
+
little endian.
|
50
44
|
*/
|
51
45
|
|
52
46
|
static VALUE
|
@@ -55,15 +49,15 @@ rb_ca_s_little_endian_p (VALUE klass)
|
|
55
49
|
return ( ca_endian == CA_LITTLE_ENDIAN ) ? Qtrue : Qfalse;
|
56
50
|
}
|
57
51
|
|
58
|
-
/*
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
52
|
+
/* @overload sizeof (data_type)
|
53
|
+
|
54
|
+
(Inquiry)
|
55
|
+
Returns the byte length of an element of the given data type.
|
56
|
+
Retruns <code>0</code> if data_type is equal to CA_FIXLEN.
|
57
|
+
CArray.sizeof(CA_INT32) #=> 4
|
58
|
+
CArray.sizeof(CA_DOUBLE) #=> 8
|
59
|
+
CArray.sizeof(CA_FIXLEN) #=> 0
|
64
60
|
|
65
|
-
def CArray.sizeof (data_type)
|
66
|
-
end
|
67
61
|
*/
|
68
62
|
|
69
63
|
static VALUE
|
@@ -76,11 +70,10 @@ rb_ca_s_sizeof (VALUE klass, VALUE rtype)
|
|
76
70
|
}
|
77
71
|
|
78
72
|
|
79
|
-
/*
|
80
|
-
# Returns true if the given data_type indicate the valid data_type.
|
73
|
+
/* @overload data_type?(data_type)
|
81
74
|
|
82
|
-
|
83
|
-
|
75
|
+
(Inquiry)
|
76
|
+
Returns true if the given data_type indicate the valid data_type.
|
84
77
|
*/
|
85
78
|
|
86
79
|
static VALUE
|
@@ -94,11 +87,10 @@ rb_ca_s_data_type (VALUE klass, VALUE rtype)
|
|
94
87
|
return ca_valid[data_type] == 1 ? Qtrue : Qfalse;
|
95
88
|
}
|
96
89
|
|
97
|
-
/*
|
98
|
-
# Returns string representaion of the data_type specifier.
|
90
|
+
/* @overload data_type_name(data_type)
|
99
91
|
|
100
|
-
|
101
|
-
|
92
|
+
(Inquiry)
|
93
|
+
Returns string representaion of the data_type specifier.
|
102
94
|
*/
|
103
95
|
|
104
96
|
|
data/ext/carray_conversion.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
carray_conversion.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,13 +41,12 @@ rb_ca_to_a_loop (VALUE self, int32_t level, ca_size_t *idx, VALUE ary)
|
|
43
41
|
}
|
44
42
|
}
|
45
43
|
|
46
|
-
/*
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
end
|
44
|
+
/*
|
45
|
+
@overload to_a
|
46
|
+
|
47
|
+
(Conversion)
|
48
|
+
Converts the array to Ruby's array. For higher dimension,
|
49
|
+
the array is nested ndim-1 times.
|
53
50
|
*/
|
54
51
|
|
55
52
|
VALUE
|
@@ -66,13 +63,12 @@ rb_ca_to_a (VALUE self)
|
|
66
63
|
return ary;
|
67
64
|
}
|
68
65
|
|
69
|
-
/*
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
end
|
66
|
+
/* @overload convert (data_type=nil, dim=nil) { |elem| ... }
|
67
|
+
|
68
|
+
(Conversion)
|
69
|
+
Returns new array which elements are caluculated
|
70
|
+
in the iteration block. The output array is internally created
|
71
|
+
using `CArray#template` to which the arguments is passed.
|
76
72
|
*/
|
77
73
|
|
78
74
|
static VALUE
|
@@ -106,12 +102,10 @@ rb_ca_convert (int argc, VALUE *argv, VALUE self)
|
|
106
102
|
return obj;
|
107
103
|
}
|
108
104
|
|
109
|
-
/*
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
end
|
114
|
-
end
|
105
|
+
/* @overload dump_binary
|
106
|
+
|
107
|
+
(IO)
|
108
|
+
Dumps the value array to the given IO stream
|
115
109
|
*/
|
116
110
|
|
117
111
|
static VALUE
|
@@ -187,19 +181,10 @@ rb_ca_dump_binary (int argc, VALUE *argv, VALUE self)
|
|
187
181
|
return io;
|
188
182
|
}
|
189
183
|
|
190
|
-
|
191
|
-
rb_ca_dump (int argc, VALUE *argv, VALUE self)
|
192
|
-
{
|
193
|
-
rb_warn("CArray#dump will be obsolete, use CArray#dump_binary");
|
194
|
-
return rb_ca_dump_binary(argc, argv, self);
|
195
|
-
}
|
184
|
+
/* @overload to_s
|
196
185
|
|
197
|
-
|
198
|
-
|
199
|
-
# dumps the value array to a string.
|
200
|
-
def to_s
|
201
|
-
end
|
202
|
-
end
|
186
|
+
(Conversion)
|
187
|
+
Dumps the value array to a string.
|
203
188
|
*/
|
204
189
|
|
205
190
|
static VALUE
|
@@ -208,12 +193,10 @@ rb_ca_to_s (VALUE self)
|
|
208
193
|
return rb_ca_dump_binary(0, NULL, self);
|
209
194
|
}
|
210
195
|
|
211
|
-
/*
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
end
|
216
|
-
end
|
196
|
+
/* @overload load_binary (io)
|
197
|
+
|
198
|
+
(IO)
|
199
|
+
Loads the value array from the given IO stream
|
217
200
|
*/
|
218
201
|
|
219
202
|
static VALUE
|
@@ -256,13 +239,6 @@ rb_ca_load_binary (VALUE self, VALUE io)
|
|
256
239
|
return self;
|
257
240
|
}
|
258
241
|
|
259
|
-
static VALUE
|
260
|
-
rb_ca_load (VALUE self, VALUE io)
|
261
|
-
{
|
262
|
-
rb_warn("CArray#load will be obsolete, use CArray#load_binary");
|
263
|
-
return rb_ca_load_binary(self, io);
|
264
|
-
}
|
265
|
-
|
266
242
|
void *
|
267
243
|
ca_to_cptr (void *ap)
|
268
244
|
{
|
@@ -314,13 +290,11 @@ ca_to_cptr (void *ap)
|
|
314
290
|
}
|
315
291
|
|
316
292
|
|
317
|
-
/*
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
end
|
323
|
-
end
|
293
|
+
/* @overload str_format (*fmts)
|
294
|
+
|
295
|
+
(Conversion)
|
296
|
+
Creates object type array consist of string using the "::format" method.
|
297
|
+
The Multiple format strings are given, they are applied cyclic in turn.
|
324
298
|
*/
|
325
299
|
|
326
300
|
|
@@ -366,9 +340,15 @@ rb_ca_format (int argc, VALUE *argv, VALUE self)
|
|
366
340
|
}
|
367
341
|
|
368
342
|
|
369
|
-
|
370
343
|
#include <time.h>
|
371
344
|
|
345
|
+
/* @overload str_strptime (fmt)
|
346
|
+
|
347
|
+
(Conversion)
|
348
|
+
Creates object type array consist of Time objects
|
349
|
+
which are created by 'Time.strptime' applied to the elements of the object.
|
350
|
+
This method assumes all the elements of the objetct to be String.
|
351
|
+
*/
|
372
352
|
|
373
353
|
static VALUE
|
374
354
|
rb_ca_strptime (VALUE self, VALUE rfmt)
|
@@ -385,6 +365,7 @@ rb_ca_strptime (VALUE self, VALUE rfmt)
|
|
385
365
|
rb_raise(rb_eRuntimeError, "strptime can be applied only to object type.");
|
386
366
|
}
|
387
367
|
|
368
|
+
Check_Type(rfmt, T_STRING);
|
388
369
|
fmt = (char *) StringValuePtr(rfmt);
|
389
370
|
|
390
371
|
obj = rb_ca_template(self);
|
@@ -423,6 +404,13 @@ rb_ca_strptime (VALUE self, VALUE rfmt)
|
|
423
404
|
return obj;
|
424
405
|
}
|
425
406
|
|
407
|
+
/* @overload time_strptime (fmt)
|
408
|
+
|
409
|
+
(Conversion)
|
410
|
+
Creates object type array consist of strings
|
411
|
+
which are created by 'Time#strftime' applied to the elements of the object.
|
412
|
+
This method assumes all the elements of the objetct to be Time or DateTime.
|
413
|
+
*/
|
426
414
|
|
427
415
|
static VALUE
|
428
416
|
rb_ca_strftime (VALUE self, VALUE rfmt)
|
@@ -463,6 +451,10 @@ rb_ca_strftime (VALUE self, VALUE rfmt)
|
|
463
451
|
return obj;
|
464
452
|
}
|
465
453
|
|
454
|
+
/* @private
|
455
|
+
|
456
|
+
*/
|
457
|
+
|
466
458
|
static VALUE
|
467
459
|
rb_test_ca_to_cptr (VALUE self)
|
468
460
|
{
|
@@ -497,10 +489,8 @@ Init_carray_conversion ()
|
|
497
489
|
rb_define_method(rb_cCArray, "to_a", rb_ca_to_a, 0);
|
498
490
|
rb_define_method(rb_cCArray, "convert", rb_ca_convert, -1);
|
499
491
|
|
500
|
-
rb_define_method(rb_cCArray, "dump", rb_ca_dump, -1);
|
501
492
|
rb_define_method(rb_cCArray, "dump_binary", rb_ca_dump_binary, -1);
|
502
493
|
rb_define_method(rb_cCArray, "to_s", rb_ca_to_s, 0);
|
503
|
-
rb_define_method(rb_cCArray, "load", rb_ca_load, 1);
|
504
494
|
rb_define_method(rb_cCArray, "load_binary", rb_ca_load_binary, 1);
|
505
495
|
|
506
496
|
/* DO NOT define CArray#to_ary, it makes trouble with various situations */
|
@@ -509,7 +499,7 @@ Init_carray_conversion ()
|
|
509
499
|
rb_define_method(rb_cCArray, "str_format", rb_ca_format, -1);
|
510
500
|
|
511
501
|
rb_define_method(rb_cCArray, "str_strptime", rb_ca_strptime, 1);
|
512
|
-
rb_define_method(rb_cCArray, "
|
502
|
+
rb_define_method(rb_cCArray, "time_strftime", rb_ca_strftime, 1);
|
513
503
|
|
514
504
|
rb_define_method(rb_cCArray, "test_ca_to_cptr", rb_test_ca_to_cptr, 0);
|
515
505
|
|
data/ext/carray_copy.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
carray_copy.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,9 @@ ca_copy (void *ap)
|
|
43
41
|
return co;
|
44
42
|
}
|
45
43
|
|
46
|
-
/*
|
47
|
-
|
48
|
-
|
49
|
-
def to_ca
|
50
|
-
end
|
51
|
-
end
|
44
|
+
/* @overload to_ca
|
45
|
+
|
46
|
+
(Copy) Creates CArray object from `self` with same contents includes mask state.
|
52
47
|
*/
|
53
48
|
|
54
49
|
VALUE
|
@@ -101,15 +96,12 @@ ca_template_safe2 (void *ap, int8_t data_type, ca_size_t bytes)
|
|
101
96
|
}
|
102
97
|
}
|
103
98
|
|
104
|
-
/*
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
def template(data_type=self.data_type, options={:bytes=>0})
|
111
|
-
end
|
112
|
-
end
|
99
|
+
/* @overload template(data_type=self.data_type, bytes: 0)
|
100
|
+
|
101
|
+
(Copy) Returns CArray object with same dimension with `self`
|
102
|
+
The data type of the new carray object can be specified by `data_type`.
|
103
|
+
For fixlen data type, the option `:bytes` is used to specified the
|
104
|
+
data length.
|
113
105
|
*/
|
114
106
|
|
115
107
|
static VALUE
|
@@ -284,14 +276,10 @@ ca_paste (void *ap, ca_size_t *offset, void *sp)
|
|
284
276
|
ca_detach_n(2, ca, cs);
|
285
277
|
}
|
286
278
|
|
287
|
-
/*
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
# `ary` should have same shape with `self`.
|
292
|
-
def paste (idx, ary)
|
293
|
-
end
|
294
|
-
end
|
279
|
+
/* @overload paste (idx, ary)
|
280
|
+
(Copy) Pastes `ary` to `self` at the index `idx`.
|
281
|
+
`idx` should be Array object with the length same as `self.ndim`.
|
282
|
+
`ary` should have same shape with `self`.
|
295
283
|
*/
|
296
284
|
|
297
285
|
static VALUE
|
@@ -402,12 +390,8 @@ ca_clip (void *ap, ca_size_t *offset, void *sp)
|
|
402
390
|
ca_detach_n(2, ca, cs);
|
403
391
|
}
|
404
392
|
|
405
|
-
/*
|
406
|
-
|
407
|
-
# clips the data at `idx` from `self` to `ary`.
|
408
|
-
def clip (idx, ary)
|
409
|
-
end
|
410
|
-
end
|
393
|
+
/* @overload clip (idx, ary)
|
394
|
+
(copy) Clips the data at `idx` from `self` to `ary`.
|
411
395
|
*/
|
412
396
|
|
413
397
|
static VALUE
|
data/ext/carray_core.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
carray_core.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
|
|
@@ -998,10 +996,13 @@ rb_ca_s_ensure_detach (VALUE list)
|
|
998
996
|
return Qnil;
|
999
997
|
}
|
1000
998
|
|
1001
|
-
/*
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
999
|
+
/* @overload attach (*arrays)
|
1000
|
+
|
1001
|
+
(Internal) Guarantees that the reference memory block is attached.
|
1002
|
+
The memory block is detached at the end of the block evaluation.
|
1003
|
+
It is not ensured the syncing the memory block at the end of the block evaluation.
|
1004
|
+
|
1005
|
+
@yield
|
1005
1006
|
*/
|
1006
1007
|
|
1007
1008
|
static VALUE
|
@@ -1035,10 +1036,13 @@ rb_ca_s_ensure_sync_detach (VALUE list)
|
|
1035
1036
|
return Qnil;
|
1036
1037
|
}
|
1037
1038
|
|
1038
|
-
/*
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1039
|
+
/* @overload attach! (*arrays)
|
1040
|
+
|
1041
|
+
(Internal) Guarantees that the reference memory block is attached.
|
1042
|
+
The memory block is detached at the end of the block evaluation.
|
1043
|
+
It is ensured the syncing the memory block at the end of the block evaluation.
|
1044
|
+
|
1045
|
+
@yield
|
1042
1046
|
*/
|
1043
1047
|
|
1044
1048
|
static VALUE
|
@@ -1065,12 +1069,13 @@ rb_ca_ensure_detach (VALUE self)
|
|
1065
1069
|
return Qnil;
|
1066
1070
|
}
|
1067
1071
|
|
1068
|
-
/*
|
1069
|
-
|
1070
|
-
|
1071
|
-
|
1072
|
-
|
1073
|
-
|
1072
|
+
/* @overload attach
|
1073
|
+
|
1074
|
+
(Internal) Guarantees that the reference memory block is attached.
|
1075
|
+
The memory block is detached at the end of the block evaluation.
|
1076
|
+
It is ensured the syncing the memory block at the end of the block evaluation.
|
1077
|
+
|
1078
|
+
@yield
|
1074
1079
|
*/
|
1075
1080
|
|
1076
1081
|
static VALUE
|
@@ -1088,12 +1093,13 @@ rb_ca_ensure_sync_detach (VALUE self)
|
|
1088
1093
|
return Qnil;
|
1089
1094
|
}
|
1090
1095
|
|
1091
|
-
/*
|
1092
|
-
|
1093
|
-
|
1094
|
-
|
1095
|
-
|
1096
|
-
|
1096
|
+
/* @overload attach!
|
1097
|
+
|
1098
|
+
(Internal) Guarantees that the reference memory block is attached.
|
1099
|
+
The memory block is detached at the end of the block evaluation.
|
1100
|
+
It is ensured the syncing the memory block at the end of the block evaluation.
|
1101
|
+
|
1102
|
+
@yield
|
1097
1103
|
*/
|
1098
1104
|
|
1099
1105
|
static VALUE
|
@@ -1104,7 +1110,11 @@ rb_ca_attach_bang (VALUE self)
|
|
1104
1110
|
return rb_ensure(rb_yield, self, rb_ca_ensure_sync_detach, self);
|
1105
1111
|
}
|
1106
1112
|
|
1107
|
-
/*
|
1113
|
+
/* @overload __attach__
|
1114
|
+
|
1115
|
+
(Internal, DevelopperOnly) Attaches the reference memory block.
|
1116
|
+
User must call "CArray#__detach__" appropreate timing.
|
1117
|
+
*/
|
1108
1118
|
|
1109
1119
|
static VALUE
|
1110
1120
|
rb_ca__attach__ (VALUE self)
|
@@ -1113,7 +1123,10 @@ rb_ca__attach__ (VALUE self)
|
|
1113
1123
|
return self;
|
1114
1124
|
}
|
1115
1125
|
|
1116
|
-
/*
|
1126
|
+
/* @overload __detach__
|
1127
|
+
|
1128
|
+
(Internal, DevelopperOnly) Syncs the reference memory block to the parent array.
|
1129
|
+
*/
|
1117
1130
|
|
1118
1131
|
static VALUE
|
1119
1132
|
rb_ca__sync__ (VALUE self)
|
@@ -1123,7 +1136,10 @@ rb_ca__sync__ (VALUE self)
|
|
1123
1136
|
return self;
|
1124
1137
|
}
|
1125
1138
|
|
1126
|
-
/*
|
1139
|
+
/* @overload __detach__
|
1140
|
+
|
1141
|
+
(Internal, DevelopperOnly) Detaches the reference memory block.
|
1142
|
+
*/
|
1127
1143
|
|
1128
1144
|
static VALUE
|
1129
1145
|
rb_ca__detach__ (VALUE self)
|
@@ -1162,12 +1178,9 @@ rb_ca_data_class_encode (VALUE self, VALUE obj)
|
|
1162
1178
|
|
1163
1179
|
/* ------------------------------------------------------------------- */
|
1164
1180
|
|
1165
|
-
/*
|
1166
|
-
|
1167
|
-
|
1168
|
-
def members
|
1169
|
-
end
|
1170
|
-
end
|
1181
|
+
/* @overload members
|
1182
|
+
|
1183
|
+
(Inquiry) Returns data class member names
|
1171
1184
|
*/
|
1172
1185
|
|
1173
1186
|
VALUE
|
@@ -1228,12 +1241,9 @@ rb_ca_field_as_member (VALUE self, VALUE sym)
|
|
1228
1241
|
}
|
1229
1242
|
}
|
1230
1243
|
|
1231
|
-
/*
|
1232
|
-
|
1233
|
-
|
1234
|
-
def fields
|
1235
|
-
end
|
1236
|
-
end
|
1244
|
+
/* @overload fields
|
1245
|
+
|
1246
|
+
(Reference) Returns an array of data class members (fields)
|
1237
1247
|
*/
|
1238
1248
|
|
1239
1249
|
VALUE
|
@@ -1254,12 +1264,9 @@ rb_ca_fields (VALUE self)
|
|
1254
1264
|
return list;
|
1255
1265
|
}
|
1256
1266
|
|
1257
|
-
/*
|
1258
|
-
|
1259
|
-
|
1260
|
-
def fields_at (*names)
|
1261
|
-
end
|
1262
|
-
end
|
1267
|
+
/* @overload fields_at (*names)
|
1268
|
+
|
1269
|
+
Returns an array of data class members (fields) with names specified
|
1263
1270
|
*/
|
1264
1271
|
|
1265
1272
|
VALUE
|