carray 1.5.1 → 1.5.6
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/.yardopts +32 -0
- data/{LICENSES → LICENSE} +0 -0
- data/NEWS.md +83 -0
- data/README.md +34 -18
- data/Rakefile +1 -1
- data/TODO.md +17 -0
- data/carray.gemspec +10 -7
- 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 +6 -11
- data/ext/ca_obj_bitfield.c +5 -9
- data/ext/ca_obj_block.c +5 -12
- 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 +11 -15
- 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 +68 -122
- data/ext/ca_obj_window.c +7 -9
- data/ext/carray.h +17 -8
- data/ext/carray_access.c +183 -58
- data/ext/carray_attribute.c +151 -197
- data/ext/carray_call_cfunc.c +1 -3
- data/ext/carray_cast.c +345 -144
- data/ext/carray_cast_func.rb +1 -2
- data/ext/carray_class.c +28 -36
- data/ext/carray_conversion.c +56 -59
- data/ext/carray_copy.c +16 -32
- data/ext/carray_core.c +73 -60
- data/ext/carray_element.c +25 -44
- data/ext/carray_generate.c +74 -53
- data/ext/carray_iterator.c +13 -15
- data/ext/carray_loop.c +53 -82
- data/ext/carray_mask.c +99 -119
- data/ext/carray_math.rb +28 -12
- data/ext/carray_mathfunc.c +1 -3
- data/ext/carray_numeric.c +42 -45
- data/ext/carray_operator.c +45 -32
- data/ext/carray_order.c +231 -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 +41 -30
- data/ext/carray_undef.c +1 -11
- data/ext/carray_utils.c +138 -51
- data/ext/extconf.rb +14 -2
- data/ext/mkmath.rb +2 -2
- data/ext/ruby_carray.c +15 -7
- data/ext/ruby_ccomplex.c +2 -4
- data/ext/ruby_float_func.c +1 -3
- data/ext/version.h +5 -7
- data/lib/carray.rb +9 -9
- data/lib/carray/autoload.rb +0 -2
- data/lib/carray/autoload/autoload_gem_numo_narray.rb +6 -6
- data/lib/carray/basic.rb +1 -3
- data/lib/carray/broadcast.rb +101 -0
- data/lib/carray/compose.rb +34 -10
- data/lib/carray/construct.rb +57 -18
- data/lib/carray/info.rb +1 -3
- data/lib/carray/inspect.rb +3 -5
- data/lib/carray/io/imagemagick.rb +1 -3
- data/lib/carray/iterator.rb +3 -3
- data/lib/carray/mask.rb +18 -7
- data/lib/carray/math.rb +4 -6
- data/lib/carray/math/histogram.rb +1 -3
- data/lib/carray/math/recurrence.rb +1 -3
- data/lib/carray/mkmf.rb +1 -3
- data/lib/carray/object/ca_obj_iterator.rb +1 -3
- data/lib/carray/object/ca_obj_link.rb +1 -3
- data/lib/carray/object/ca_obj_pack.rb +1 -3
- data/lib/carray/obsolete.rb +1 -17
- data/lib/carray/ordering.rb +29 -5
- data/lib/carray/serialize.rb +34 -25
- data/lib/carray/string.rb +1 -3
- data/lib/carray/struct.rb +3 -5
- data/lib/carray/testing.rb +5 -10
- data/lib/carray/time.rb +1 -3
- data/lib/carray/transform.rb +12 -3
- data/misc/NOTE +16 -38
- 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 +102 -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 +98 -0
- data/spec/Features/feature_broadcast.rb +116 -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 +580 -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 +74 -58
- 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/ca_obj_bitarray.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
ca_obj_bitarray.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
|
|
@@ -34,7 +32,7 @@ static int8_t CA_OBJ_BITARRAY;
|
|
34
32
|
|
35
33
|
static VALUE rb_cCABitarray;
|
36
34
|
|
37
|
-
/*
|
35
|
+
/* yard:
|
38
36
|
class CABitArray < CAVirtual # :nodoc:
|
39
37
|
end
|
40
38
|
*/
|
@@ -464,12 +462,9 @@ rb_ca_bitarray_new (VALUE cary)
|
|
464
462
|
return obj;
|
465
463
|
}
|
466
464
|
|
467
|
-
/*
|
468
|
-
|
469
|
-
|
470
|
-
end
|
471
|
-
alias bitarray bits
|
472
|
-
end
|
465
|
+
/* @overload bitarray
|
466
|
+
|
467
|
+
[TBD]
|
473
468
|
*/
|
474
469
|
|
475
470
|
VALUE
|
@@ -513,8 +508,8 @@ Init_ca_obj_bitarray ()
|
|
513
508
|
CA_OBJ_BITARRAY = ca_install_obj_type(rb_cCABitarray, ca_bitarray_func);
|
514
509
|
rb_define_const(rb_cObject, "CA_OBJ_BITARRAY", INT2NUM(CA_OBJ_BITARRAY));
|
515
510
|
|
516
|
-
rb_define_method(rb_cCArray, "bits", rb_ca_bitarray, 0);
|
517
511
|
rb_define_method(rb_cCArray, "bitarray", rb_ca_bitarray, 0);
|
512
|
+
rb_define_alias(rb_cCArray, "bits", "bitarray");
|
518
513
|
|
519
514
|
rb_define_alloc_func(rb_cCABitarray, rb_ca_bitarray_s_allocate);
|
520
515
|
rb_define_method(rb_cCABitarray, "initialize_copy",
|
data/ext/ca_obj_bitfield.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
ca_obj_bitfield.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
|
|
@@ -35,7 +33,7 @@ static int8_t CA_OBJ_BITFIELD;
|
|
35
33
|
|
36
34
|
static VALUE rb_cCABitfield;
|
37
35
|
|
38
|
-
/*
|
36
|
+
/* yard:
|
39
37
|
class CABitField < CAVirtual # :nodoc:
|
40
38
|
end
|
41
39
|
*/
|
@@ -559,11 +557,9 @@ rb_ca_bitfield_new (VALUE cary, ca_size_t offset, ca_size_t bitlen)
|
|
559
557
|
return obj;
|
560
558
|
}
|
561
559
|
|
562
|
-
/*
|
563
|
-
|
564
|
-
|
565
|
-
end
|
566
|
-
end
|
560
|
+
/* @overload bitfield (range, type)
|
561
|
+
|
562
|
+
[TBD]
|
567
563
|
*/
|
568
564
|
|
569
565
|
VALUE
|
data/ext/ca_obj_block.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
ca_obj_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
|
|
@@ -14,11 +12,6 @@
|
|
14
12
|
|
15
13
|
VALUE rb_cCABlock;
|
16
14
|
|
17
|
-
/* rdoc:
|
18
|
-
class CABlock < CAVirtual # :nodoc:
|
19
|
-
end
|
20
|
-
*/
|
21
|
-
|
22
15
|
static int
|
23
16
|
ca_block_setup (CABlock *ca, CArray *parent, int8_t ndim, ca_size_t *dim,
|
24
17
|
ca_size_t *start, ca_size_t *step, ca_size_t *count, ca_size_t offset)
|
@@ -735,7 +728,7 @@ rb_cb_initialize_copy (VALUE self, VALUE other)
|
|
735
728
|
return ary; \
|
736
729
|
}
|
737
730
|
|
738
|
-
/*
|
731
|
+
/* @overload size0:
|
739
732
|
class CABlock
|
740
733
|
def size0
|
741
734
|
end
|
@@ -763,7 +756,7 @@ rb_cb_offset (VALUE self)
|
|
763
756
|
return SIZE2NUM(cb->offset);
|
764
757
|
}
|
765
758
|
|
766
|
-
/*
|
759
|
+
/* yard:
|
767
760
|
class CABlock
|
768
761
|
def idx2addr0 (idx)
|
769
762
|
end
|
@@ -795,7 +788,7 @@ rb_cb_idx2addr0 (int argc, VALUE *argv, VALUE self)
|
|
795
788
|
return SIZE2NUM(addr + cb->offset);
|
796
789
|
}
|
797
790
|
|
798
|
-
/*
|
791
|
+
/* yard:
|
799
792
|
class CABlock
|
800
793
|
def addr2addr0 (addr)
|
801
794
|
end
|
@@ -824,7 +817,7 @@ rb_cb_addr2addr0 (VALUE self, VALUE raddr)
|
|
824
817
|
}
|
825
818
|
|
826
819
|
|
827
|
-
/*
|
820
|
+
/* yard:
|
828
821
|
class CABlock
|
829
822
|
def move (*index)
|
830
823
|
end
|
data/ext/ca_obj_fake.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
ca_obj_fake.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
|
|
@@ -31,7 +29,7 @@ static int8_t CA_OBJ_FAKE;
|
|
31
29
|
|
32
30
|
static VALUE rb_cCAFake;
|
33
31
|
|
34
|
-
/*
|
32
|
+
/* yard:
|
35
33
|
class CAFake < CAVirtual # :nodoc:
|
36
34
|
end
|
37
35
|
*/
|
@@ -328,7 +326,7 @@ rb_ca_fake_new (VALUE cary, int8_t data_type, ca_size_t bytes)
|
|
328
326
|
return obj;
|
329
327
|
}
|
330
328
|
|
331
|
-
/*
|
329
|
+
/* yard:
|
332
330
|
class CArray
|
333
331
|
def fake (data_type, options={:bytes=>0})
|
334
332
|
end
|
data/ext/ca_obj_farray.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
ca_obj_farray.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
|
|
@@ -33,7 +31,7 @@ static int8_t CA_OBJ_FARRAY;
|
|
33
31
|
|
34
32
|
static VALUE rb_cCAFarray;
|
35
33
|
|
36
|
-
/*
|
34
|
+
/* yard:
|
37
35
|
class CAFArray < CAVirtual # :nodoc:
|
38
36
|
end
|
39
37
|
*/
|
@@ -429,7 +427,7 @@ rb_ca_farray_new (VALUE cary)
|
|
429
427
|
return obj;
|
430
428
|
}
|
431
429
|
|
432
|
-
/*
|
430
|
+
/* yard:
|
433
431
|
class CArray
|
434
432
|
# create the virtual transposed array which dimension order is reversed.
|
435
433
|
def t
|
data/ext/ca_obj_field.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
ca_obj_field.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
|
|
@@ -33,7 +31,7 @@ static int8_t CA_OBJ_FIELD;
|
|
33
31
|
|
34
32
|
static VALUE rb_cCAField;
|
35
33
|
|
36
|
-
/*
|
34
|
+
/* yard:
|
37
35
|
class CAField < CAVirtual # :nodoc:
|
38
36
|
end
|
39
37
|
*/
|
@@ -155,7 +153,7 @@ ca_field_func_ptr_at_index (void *ap, ca_size_t *idx)
|
|
155
153
|
}
|
156
154
|
|
157
155
|
if ( ca->parent->ptr == NULL ) {
|
158
|
-
return ca_ptr_at_addr(ca->parent, n) + ca->offset;
|
156
|
+
return (void *)((char *) ca_ptr_at_addr(ca->parent, n) + ca->offset);
|
159
157
|
}
|
160
158
|
else {
|
161
159
|
return ca->parent->ptr + ca->parent->bytes * n + ca->offset;
|
@@ -324,7 +322,7 @@ ca_field_attach (CAField *ca)
|
|
324
322
|
case CA_UINT8:
|
325
323
|
{
|
326
324
|
char *p = ca_ptr_at_addr(ca, 0);
|
327
|
-
char *q = ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
325
|
+
char *q = (char *) ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
328
326
|
while ( n-- ) {
|
329
327
|
*p = *q;
|
330
328
|
p += 1; q += pbytes;
|
@@ -335,7 +333,7 @@ ca_field_attach (CAField *ca)
|
|
335
333
|
case CA_UINT16:
|
336
334
|
{
|
337
335
|
int16_t *p = (int16_t*) ca_ptr_at_addr(ca, 0);
|
338
|
-
char *q = ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
336
|
+
char *q = (char *) ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
339
337
|
while ( n-- ) {
|
340
338
|
*p = *(int16_t*) q;
|
341
339
|
p += 1; q += pbytes;
|
@@ -347,7 +345,7 @@ ca_field_attach (CAField *ca)
|
|
347
345
|
case CA_FLOAT32:
|
348
346
|
{
|
349
347
|
int32_t *p = (int32_t*) ca_ptr_at_addr(ca, 0);
|
350
|
-
char *q = ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
348
|
+
char *q = (char *) ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
351
349
|
while ( n-- ) {
|
352
350
|
*p = *(int32_t*) q;
|
353
351
|
p += 1; q += pbytes;
|
@@ -359,7 +357,7 @@ ca_field_attach (CAField *ca)
|
|
359
357
|
case CA_FLOAT64:
|
360
358
|
{
|
361
359
|
float64_t *p = (float64_t*) ca_ptr_at_addr(ca, 0);
|
362
|
-
char *q = ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
360
|
+
char *q = (char *) ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
363
361
|
while ( n-- ) {
|
364
362
|
*p = *(float64_t*) q;
|
365
363
|
p += 1; q += pbytes;
|
@@ -369,7 +367,7 @@ ca_field_attach (CAField *ca)
|
|
369
367
|
default:
|
370
368
|
{
|
371
369
|
char *p = ca_ptr_at_addr(ca, 0);
|
372
|
-
char *q = ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
370
|
+
char *q = (char *) ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
373
371
|
while ( n-- ) {
|
374
372
|
memcpy(p, q, ca->bytes);
|
375
373
|
p += bytes; q += pbytes;
|
@@ -391,7 +389,7 @@ ca_field_sync (CAField *ca)
|
|
391
389
|
case CA_UINT8:
|
392
390
|
{
|
393
391
|
char *p = ca_ptr_at_addr(ca, 0);
|
394
|
-
char *q = ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
392
|
+
char *q = (char *) ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
395
393
|
while ( n-- ) {
|
396
394
|
*q = *p;
|
397
395
|
p += 1; q += pbytes;
|
@@ -402,7 +400,7 @@ ca_field_sync (CAField *ca)
|
|
402
400
|
case CA_UINT16:
|
403
401
|
{
|
404
402
|
int16_t *p = (int16_t*) ca_ptr_at_addr(ca, 0);
|
405
|
-
char *q = ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
403
|
+
char *q = (char *) ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
406
404
|
while ( n-- ) {
|
407
405
|
*(int16_t*) q = *p;
|
408
406
|
p += 1; q += pbytes;
|
@@ -414,7 +412,7 @@ ca_field_sync (CAField *ca)
|
|
414
412
|
case CA_FLOAT32:
|
415
413
|
{
|
416
414
|
int32_t *p = (int32_t*) ca_ptr_at_addr(ca, 0);
|
417
|
-
char *q = ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
415
|
+
char *q = (char *) ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
418
416
|
while ( n-- ) {
|
419
417
|
*(int32_t*) q = *p;
|
420
418
|
p += 1; q += pbytes;
|
@@ -426,7 +424,7 @@ ca_field_sync (CAField *ca)
|
|
426
424
|
case CA_FLOAT64:
|
427
425
|
{
|
428
426
|
float64_t *p = (float64_t*) ca_ptr_at_addr(ca, 0);
|
429
|
-
char *q = ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
427
|
+
char *q = (char *) ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
430
428
|
while ( n-- ) {
|
431
429
|
*(float64_t*) q = *p;
|
432
430
|
p += 1; q += pbytes;
|
@@ -436,7 +434,7 @@ ca_field_sync (CAField *ca)
|
|
436
434
|
default:
|
437
435
|
{
|
438
436
|
char *p = ca_ptr_at_addr(ca, 0);
|
439
|
-
char *q = ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
437
|
+
char *q = (char *) ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
440
438
|
while ( n-- ) {
|
441
439
|
memcpy(q, p, ca->bytes);
|
442
440
|
p += bytes; q += pbytes;
|
@@ -450,7 +448,7 @@ ca_field_fill (CAField *ca, char *ptr)
|
|
450
448
|
{
|
451
449
|
ca_size_t pbytes = ca->parent->bytes;
|
452
450
|
ca_size_t n = ca->elements;
|
453
|
-
char *q = ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
451
|
+
char *q = (char *) ca_ptr_at_addr(ca->parent, 0) + ca->offset;
|
454
452
|
|
455
453
|
switch ( ca->data_type ) {
|
456
454
|
case CA_BOOLEAN:
|
@@ -545,7 +543,7 @@ rb_ca_field_initialize_copy (VALUE self, VALUE other)
|
|
545
543
|
|
546
544
|
/* ----------------------------------------------------------------------- */
|
547
545
|
|
548
|
-
/*
|
546
|
+
/* yard:
|
549
547
|
class CArray
|
550
548
|
# call-seq:
|
551
549
|
# CArray#field(offset, data_type[, :bytes=>bytes])
|
data/ext/ca_obj_grid.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
ca_obj_grid.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
|
|
@@ -32,7 +30,7 @@ typedef struct {
|
|
32
30
|
|
33
31
|
static VALUE rb_cCAGrid;
|
34
32
|
|
35
|
-
/*
|
33
|
+
/* yard:
|
36
34
|
class CAGrid < CAVirtual # :nodoc:
|
37
35
|
end
|
38
36
|
*/
|
@@ -46,8 +44,9 @@ ca_grid_setup (CAGrid *ca, CArray *parent, ca_size_t *dim,
|
|
46
44
|
int8_t ndim, data_type;
|
47
45
|
ca_size_t *dim0;
|
48
46
|
ca_size_t elements, bytes;
|
47
|
+
ca_size_t j, k;
|
49
48
|
double length;
|
50
|
-
|
49
|
+
int8_t i;
|
51
50
|
|
52
51
|
data_type = parent->data_type;
|
53
52
|
ndim = parent->ndim;
|
@@ -602,7 +601,7 @@ rb_ca_grid_new (VALUE cary, ca_size_t *dim, CArray **grid)
|
|
602
601
|
return obj;
|
603
602
|
}
|
604
603
|
|
605
|
-
/*
|
604
|
+
/* yard:
|
606
605
|
class CArray
|
607
606
|
def grid
|
608
607
|
end
|
data/ext/ca_obj_mapping.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
ca_obj_mapping.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
|
|
@@ -39,7 +37,7 @@ static int8_t CA_OBJ_MAPPING;
|
|
39
37
|
|
40
38
|
static VALUE rb_cCAMapping;
|
41
39
|
|
42
|
-
/*
|
40
|
+
/* yard:
|
43
41
|
class CAMapping < CAVirtual # :nodoc:
|
44
42
|
end
|
45
43
|
*/
|
data/ext/ca_obj_object.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
ca_obj_object.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
|
|
@@ -41,7 +39,7 @@
|
|
41
39
|
VALUE rb_cCAObject;
|
42
40
|
|
43
41
|
|
44
|
-
/*
|
42
|
+
/* yard:
|
45
43
|
class CAObject < CAVirtual # :nodoc:
|
46
44
|
end
|
47
45
|
*/
|
@@ -52,7 +50,7 @@ VALUE rb_cCAObject;
|
|
52
50
|
static int8_t CA_OBJ_OBJECT_MASK;
|
53
51
|
static VALUE rb_cCAObjectMask;
|
54
52
|
|
55
|
-
/*
|
53
|
+
/* yard:
|
56
54
|
class CAObjectMask < CAVirtual # :nodoc:
|
57
55
|
end
|
58
56
|
*/
|
data/ext/ca_obj_reduce.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
ca_obj_reduce.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
|
|
@@ -16,7 +14,7 @@ static int8_t CA_OBJ_REDUCE;
|
|
16
14
|
|
17
15
|
static VALUE rb_cCAReduce;
|
18
16
|
|
19
|
-
/*
|
17
|
+
/* yard:
|
20
18
|
class CAReduce < CAVirtual # :nodoc:
|
21
19
|
end
|
22
20
|
*/
|
data/ext/ca_obj_refer.c
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
ca_obj_refer.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
|
|
@@ -14,7 +12,7 @@
|
|
14
12
|
|
15
13
|
VALUE rb_cCARefer;
|
16
14
|
|
17
|
-
/*
|
15
|
+
/* yard:
|
18
16
|
class CARefer < CAVirtual # :nodoc:
|
19
17
|
end
|
20
18
|
*/
|
@@ -34,11 +32,11 @@ ca_refer_setup (CARefer *ca, CArray *parent,
|
|
34
32
|
CA_CHECK_BYTES(data_type, bytes);
|
35
33
|
|
36
34
|
if ( ca_is_object_type(parent) && data_type != CA_OBJECT ) {
|
37
|
-
rb_raise(rb_eRuntimeError, "object
|
35
|
+
rb_raise(rb_eRuntimeError, "object array can't be referred by other data type");
|
38
36
|
}
|
39
37
|
|
40
38
|
if ( parent->elements && bytes > parent->bytes * parent->elements ) {
|
41
|
-
rb_raise(rb_eRuntimeError, "
|
39
|
+
rb_raise(rb_eRuntimeError, "bytes exceeds the data size of referent");
|
42
40
|
}
|
43
41
|
|
44
42
|
/* calc datanum and check deformation */
|
@@ -53,27 +51,25 @@ ca_refer_setup (CARefer *ca, CArray *parent,
|
|
53
51
|
}
|
54
52
|
if ( bytes < parent->bytes ) {
|
55
53
|
if ( parent->bytes % bytes != 0 ) {
|
56
|
-
rb_raise(
|
54
|
+
rb_raise(rb_eRuntimeError, "bytes of reference array must be a multiple of that of referent");
|
57
55
|
}
|
58
56
|
is_deformed = -2;
|
59
57
|
ratio = parent->bytes / bytes;
|
60
58
|
}
|
61
59
|
else if ( bytes > parent->bytes ) {
|
62
60
|
if ( bytes % parent->bytes != 0 ) {
|
63
|
-
rb_raise(
|
61
|
+
rb_raise(rb_eRuntimeError, "bytes of reference array must be a multiple of that of referent");
|
64
62
|
}
|
65
63
|
is_deformed = 2;
|
66
64
|
ratio = bytes / parent->bytes;
|
67
65
|
}
|
68
|
-
|
69
66
|
if ( offset < 0 ) {
|
70
|
-
rb_raise(rb_eRuntimeError,
|
71
|
-
"negative offset for CARefer");
|
67
|
+
rb_raise(rb_eRuntimeError, "negative offset is not permitted for CARefer");
|
72
68
|
}
|
73
69
|
|
74
70
|
if ( ( bytes * elements + parent->bytes * offset ) >
|
75
71
|
( parent->bytes * parent->elements ) ) {
|
76
|
-
rb_raise(rb_eRuntimeError, "data size
|
72
|
+
rb_raise(rb_eRuntimeError, "data size of reference array must not exceed that of referent");
|
77
73
|
}
|
78
74
|
|
79
75
|
ca->obj_type = CA_OBJ_REFER;
|
@@ -206,7 +202,7 @@ ca_refer_func_fetch_addr (void *ap, ca_size_t addr, void *ptr)
|
|
206
202
|
for (i=0; i<ca->ratio; i++) {
|
207
203
|
ca_fetch_addr(ca->parent,
|
208
204
|
addr * ca->ratio + i + ca->offset,
|
209
|
-
ptr + i * ca->parent->bytes);
|
205
|
+
(char *) ptr + i * ca->parent->bytes);
|
210
206
|
}
|
211
207
|
break;
|
212
208
|
}
|
@@ -267,7 +263,7 @@ ca_refer_func_store_addr (void *ap, ca_size_t addr, void *ptr)
|
|
267
263
|
for (i=0; i<ca->ratio; i++) {
|
268
264
|
ca_store_addr(ca->parent,
|
269
265
|
addr * ca->ratio + i + ca->offset,
|
270
|
-
ptr + i * ca->parent->bytes);
|
266
|
+
(char *) ptr + i * ca->parent->bytes);
|
271
267
|
}
|
272
268
|
break;
|
273
269
|
}
|
@@ -491,7 +487,7 @@ rb_ca_refer_initialize_copy (VALUE self, VALUE other)
|
|
491
487
|
return self;
|
492
488
|
}
|
493
489
|
|
494
|
-
/*
|
490
|
+
/* yard:
|
495
491
|
class CArray
|
496
492
|
# call-seq:
|
497
493
|
# CArray.refer()
|