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
@@ -1,113 +0,0 @@
|
|
1
|
-
require "carray"
|
2
|
-
|
3
|
-
describe CABlockIterator do
|
4
|
-
|
5
|
-
describe "each method" do
|
6
|
-
|
7
|
-
before do
|
8
|
-
@original = CArray.object(4,4).seq!
|
9
|
-
@it = @original.blocks(0..1, 0..1)
|
10
|
-
end
|
11
|
-
|
12
|
-
it "should call 4-times its block" do
|
13
|
-
count = 0
|
14
|
-
@it.each do |blk|
|
15
|
-
count += 1
|
16
|
-
end
|
17
|
-
( count ).should == 4
|
18
|
-
end
|
19
|
-
|
20
|
-
it "should have the block parameter of 2x2 CABlock object" do
|
21
|
-
@it.each do |blk|
|
22
|
-
( blk ).should be_an_instance_of(CABlock)
|
23
|
-
( blk.data_type ).should == CA_OBJECT
|
24
|
-
( blk.dim ).should == [2,2]
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
|
30
|
-
describe "reference method []" do
|
31
|
-
|
32
|
-
before do
|
33
|
-
@original = CArray.object(4,4).seq!
|
34
|
-
@it = @original.blocks(0..1, 0..1)
|
35
|
-
end
|
36
|
-
|
37
|
-
it "should return a 2x2 CABlock object" do
|
38
|
-
blk = @it[0]
|
39
|
-
( blk ).should be_an_instance_of(CABlock)
|
40
|
-
( blk.data_type ).should == CA_OBJECT
|
41
|
-
( blk ).should == CA_OBJECT([[0,1],[4,5]])
|
42
|
-
blk = @it[1,0]
|
43
|
-
( blk ).should be_an_instance_of(CABlock)
|
44
|
-
( blk.data_type ).should == CA_OBJECT
|
45
|
-
( blk ).should == CA_OBJECT([[8,9],[12,13]])
|
46
|
-
end
|
47
|
-
|
48
|
-
it "should return a 2x2 CABlock object" do
|
49
|
-
( @it[0] ).should == @it.kernel_at_addr(0, @it.reference)
|
50
|
-
( @it[1,0] ).should == @it.kernel_at_index([1,0], @it.reference)
|
51
|
-
end
|
52
|
-
|
53
|
-
end
|
54
|
-
|
55
|
-
describe "store method []=" do
|
56
|
-
|
57
|
-
before do
|
58
|
-
@original = CArray.object(4,4).seq!
|
59
|
-
@it = @original.blocks(0..1, 0..1)
|
60
|
-
end
|
61
|
-
|
62
|
-
it "should return a 2x2 CABlock object" do
|
63
|
-
@it[0] = 1
|
64
|
-
@it[1,0] = 2
|
65
|
-
( @it.reference ).should == CA_OBJECT( [ [ 1, 1, 2, 3 ],
|
66
|
-
[ 1, 1, 6, 7 ],
|
67
|
-
[ 2, 2, 10, 11 ],
|
68
|
-
[ 2, 2, 14, 15 ] ] )
|
69
|
-
end
|
70
|
-
|
71
|
-
end
|
72
|
-
|
73
|
-
describe "pick method" do
|
74
|
-
|
75
|
-
before do
|
76
|
-
@original = CArray.object(4,4).seq!
|
77
|
-
@it = @original.blocks(0..1, 0..1)
|
78
|
-
end
|
79
|
-
|
80
|
-
it "should return a 2x2 CABlock object" do
|
81
|
-
blk = @it.pick(0)
|
82
|
-
( blk ).should be_an_instance_of(CArray)
|
83
|
-
( blk.data_type ).should == CA_OBJECT
|
84
|
-
( blk ).should == CA_OBJECT([[0,2],[8,10]])
|
85
|
-
blk = @it.pick(1,0)
|
86
|
-
( blk ).should be_an_instance_of(CArray)
|
87
|
-
( blk.data_type ).should == CA_OBJECT
|
88
|
-
( blk ).should == CA_OBJECT([[4,6],[12,14]])
|
89
|
-
end
|
90
|
-
|
91
|
-
end
|
92
|
-
|
93
|
-
describe "put method" do
|
94
|
-
|
95
|
-
before do
|
96
|
-
@original = CArray.object(4,4).seq!
|
97
|
-
@it = @original.blocks(0..1, 0..1)
|
98
|
-
end
|
99
|
-
|
100
|
-
it "should store value via 2x2 CBlock object" do
|
101
|
-
@it.put(0,1)
|
102
|
-
@it.put(0,1,2)
|
103
|
-
( @it.pick(0) ).should == CA_OBJECT([[1,1],[1,1]])
|
104
|
-
( @it.pick(0,1) ).should == CA_OBJECT([[2,2],[2,2]])
|
105
|
-
( @it.reference ).should == CA_OBJECT([[ 1, 2, 1, 2 ],
|
106
|
-
[ 4, 5, 6, 7 ],
|
107
|
-
[ 1, 2, 1, 2 ],
|
108
|
-
[ 12, 13, 14, 15 ]])
|
109
|
-
end
|
110
|
-
|
111
|
-
end
|
112
|
-
|
113
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
|
2
|
-
require "carray"
|
3
|
-
|
4
|
-
describe "CArray#[]" do
|
5
|
-
|
6
|
-
it "should return one element array with [nil,-1]" do
|
7
|
-
ca = CArray.int(4,4).seq!
|
8
|
-
( ca[[nil,-1]].elements ).should == 1
|
9
|
-
( ca[[nil,-1]] ).should == ca[[0]]
|
10
|
-
end
|
11
|
-
|
12
|
-
it "should return self[[0],nil] with [nil,-1], nil" do
|
13
|
-
ca = CArray.int(4,4).seq!
|
14
|
-
( ca[[nil,-1],nil] ).should == ca[[0],nil]
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should return self[[0],nil] with nil, [nil,-1]" do
|
18
|
-
ca = CArray.int(4,4).seq!
|
19
|
-
( ca[nil,[nil,-1]] ).should == ca[nil,[0]]
|
20
|
-
end
|
21
|
-
|
22
|
-
it "should return self[[0],nil] with [nil,-1], [nil,-1]" do
|
23
|
-
ca = CArray.int(4,4).seq!
|
24
|
-
( ca[[nil,-1],[nil,-1]] ).should == ca[[0],[0]]
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
@@ -1,80 +0,0 @@
|
|
1
|
-
|
2
|
-
require "carray"
|
3
|
-
|
4
|
-
describe "CArray#eq" do
|
5
|
-
|
6
|
-
it "returns 1 if self and other equal (int)" do
|
7
|
-
ca123 = CA_INT([123])
|
8
|
-
|
9
|
-
( (ca123).eq(123 )[0] ).should == 1
|
10
|
-
( (ca123).eq(ca123)[0] ).should == 1
|
11
|
-
end
|
12
|
-
|
13
|
-
it "returns 1 if self and other equal (object)" do
|
14
|
-
ca123 = CA_OBJECT(["123"])
|
15
|
-
|
16
|
-
( (ca123).eq("123")[0] ).should == 1
|
17
|
-
( (ca123).eq(ca123)[0] ).should == 1
|
18
|
-
end
|
19
|
-
|
20
|
-
it "returns 1 if self and other equal (fixlen)" do
|
21
|
-
ca123 = CA_FIXLEN(["123"], :bytes=>3)
|
22
|
-
|
23
|
-
( (ca123).eq("123")[0] ).should == 1
|
24
|
-
( (ca123).eq(ca123)[0] ).should == 1
|
25
|
-
end
|
26
|
-
|
27
|
-
it "returns 0 if self and other equal (int)" do
|
28
|
-
ca123 = CA_INT([123])
|
29
|
-
ca124 = CA_INT([124])
|
30
|
-
|
31
|
-
( (ca123).eq(124 )[0] ).should == 0
|
32
|
-
( (ca123).eq(ca124)[0] ).should == 0
|
33
|
-
end
|
34
|
-
|
35
|
-
it "returns 0 if self and other equal (object)" do
|
36
|
-
ca123 = CA_OBJECT(["123"])
|
37
|
-
ca124 = CA_OBJECT(["124"])
|
38
|
-
|
39
|
-
( (ca123).eq("124")[0] ).should == 0
|
40
|
-
( (ca123).eq(ca124)[0] ).should == 0
|
41
|
-
end
|
42
|
-
|
43
|
-
it "returns 0 if self and other equal (fixlen)" do
|
44
|
-
ca123 = CA_FIXLEN(["123"], :bytes=>3)
|
45
|
-
ca124 = CA_FIXLEN(["124"], :bytes=>3)
|
46
|
-
ca12 = CA_FIXLEN(["12"], :bytes=>3)
|
47
|
-
|
48
|
-
( (ca123).eq("124")[0] ).should == 0
|
49
|
-
( (ca123).eq(ca124)[0] ).should == 0
|
50
|
-
|
51
|
-
( (ca123).eq("12")[0] ).should == 0
|
52
|
-
( (ca123).eq(ca12)[0] ).should == 0
|
53
|
-
end
|
54
|
-
|
55
|
-
it "returns 0 if self is a NaN" do
|
56
|
-
nan = 0.0/0.0
|
57
|
-
|
58
|
-
( (nan ).eq(CA_DOUBLE([0.0]))[0] ).should == 0
|
59
|
-
( (CA_DOUBLE([nan])).eq(0.0 )[0] ).should == 0
|
60
|
-
( (CA_DOUBLE([nan])).eq(CA_DOUBLE([0.0]))[0] ).should == 0
|
61
|
-
end
|
62
|
-
|
63
|
-
it "returns 0 if self and other are NaN" do
|
64
|
-
nan = 0.0/0.0
|
65
|
-
|
66
|
-
( (nan ).eq(CA_DOUBLE([nan]))[0] ).should == 0
|
67
|
-
( (CA_DOUBLE([nan])).eq(nan )[0] ).should == 0
|
68
|
-
( (CA_DOUBLE([nan])).eq(CA_DOUBLE([nan]))[0] ).should == 0
|
69
|
-
end
|
70
|
-
|
71
|
-
it "returns 0 if other is a NaN" do
|
72
|
-
nan = 0.0/0.0
|
73
|
-
|
74
|
-
( (0.0 ).eq(CA_DOUBLE([nan]))[0] ).should == 0
|
75
|
-
( (CA_DOUBLE([0.0])).eq(nan )[0] ).should == 0
|
76
|
-
( (CA_DOUBLE([0.0])).eq(CA_DOUBLE([nan]))[0] ).should == 0
|
77
|
-
end
|
78
|
-
|
79
|
-
end
|
80
|
-
|
@@ -1,12 +0,0 @@
|
|
1
|
-
|
2
|
-
require "carray"
|
3
|
-
|
4
|
-
describe "CArray#is_nan" do
|
5
|
-
it "returns 1 if self is not a valid IEEE floating-point number" do
|
6
|
-
CA_DOUBLE(0.0).is_nan[0].should == 0
|
7
|
-
CA_DOUBLE(-1.5).is_nan[0].should == 0
|
8
|
-
(CA_DOUBLE(0.0)/CA_DOUBLE(0.0)).is_nan[0].should == 1
|
9
|
-
CA_DOUBLE(0.0/0.0).is_nan[0].should == 1
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
@@ -1,18 +0,0 @@
|
|
1
|
-
|
2
|
-
require "carray"
|
3
|
-
|
4
|
-
describe "CArray#ne" do
|
5
|
-
it "returns 0 if self is not a valid IEEE floating-point number" do
|
6
|
-
nan = 0.0/0.0
|
7
|
-
0.0.ne(CA_DOUBLE(nan))[0].should == 1
|
8
|
-
nan.ne(CA_DOUBLE(nan))[0].should == 1
|
9
|
-
nan.ne(CA_DOUBLE(0.0))[0].should == 1
|
10
|
-
CA_DOUBLE(nan).ne(0.0)[0].should == 1
|
11
|
-
CA_DOUBLE(nan).ne(nan)[0].should == 1
|
12
|
-
CA_DOUBLE(0.0).ne(nan)[0].should == 1
|
13
|
-
CA_DOUBLE(nan).ne(CA_DOUBLE(0.0))[0].should == 1
|
14
|
-
CA_DOUBLE(nan).ne(CA_DOUBLE(nan))[0].should == 1
|
15
|
-
CA_DOUBLE(0.0).ne(CA_DOUBLE(nan))[0].should == 1
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
@@ -1,32 +0,0 @@
|
|
1
|
-
|
2
|
-
require "carray"
|
3
|
-
|
4
|
-
describe "CArray#elements" do
|
5
|
-
|
6
|
-
it "should return element number of array" do
|
7
|
-
ca = CArray.int32(2,3,4)
|
8
|
-
( ca.elements ).should == 2*3*4
|
9
|
-
( ca.length ).should == 2*3*4
|
10
|
-
( ca.size ).should == 2*3*4
|
11
|
-
end
|
12
|
-
|
13
|
-
end
|
14
|
-
|
15
|
-
describe "CArray#data_type" do
|
16
|
-
|
17
|
-
it "should return data type of array" do
|
18
|
-
ca = CArray.int32(2,3,4)
|
19
|
-
( ca.data_type ).should == CA_INT32
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
23
|
-
|
24
|
-
describe "CArray#dim" do
|
25
|
-
|
26
|
-
it "should return a array contains the shape of array" do
|
27
|
-
ca = CArray.int32(2,3,4)
|
28
|
-
( ca.dim ).should == [2,3,4]
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
|
@@ -1,31 +0,0 @@
|
|
1
|
-
|
2
|
-
require "carray"
|
3
|
-
|
4
|
-
describe "CArray.new" do
|
5
|
-
|
6
|
-
it "should return a CA_INT type carray if CA_INT is specified as data_type" do
|
7
|
-
ca = CArray.new(CA_INT, [2,3,4])
|
8
|
-
( ca.class ).should == CArray
|
9
|
-
( ca.data_type ).should == CA_INT
|
10
|
-
end
|
11
|
-
|
12
|
-
it "should return a CA_FIXLEN type carray if CA_FIXLEN is specified as data_type" do
|
13
|
-
ca = CArray.new(CA_FIXLEN, [2,3,4], :bytes=>3)
|
14
|
-
( ca.class ).should == CArray
|
15
|
-
( ca.data_type ).should == CA_FIXLEN
|
16
|
-
( ca.bytes ).should == 3
|
17
|
-
end
|
18
|
-
|
19
|
-
it "should return a carray filled by 0 when data_type == CA_INT" do
|
20
|
-
ca = CArray.new(CA_INT, [2,3,4])
|
21
|
-
( ca[0] ).should == 0
|
22
|
-
( ca.all_equal?(0) ).should == true
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should return a carray filled by string filled by 0 when data_type == CA_FIXLEN" do
|
26
|
-
ca = CArray.new(CA_FIXLEN, [2,3,4], :bytes=>3)
|
27
|
-
( ca[0] ).should == "\0\0\0"
|
28
|
-
( ca.all_equal?("\0\0\0") ).should == true
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
@@ -1,89 +0,0 @@
|
|
1
|
-
require "carray"
|
2
|
-
|
3
|
-
describe CArray do
|
4
|
-
|
5
|
-
describe "loaded from binary format (int32 type)" do
|
6
|
-
|
7
|
-
before do
|
8
|
-
@original = CArray.int32(10,10) { 10 }
|
9
|
-
@original[5,5] = UNDEF
|
10
|
-
CArray.save(@original, "test.ca")
|
11
|
-
@it = CArray.load("test.ca")
|
12
|
-
end
|
13
|
-
|
14
|
-
it "should equal to original" do
|
15
|
-
( @it ).should == @original
|
16
|
-
( @it.has_mask? ).should == true
|
17
|
-
end
|
18
|
-
|
19
|
-
it "should dump string of same contents with file from which it was loaded" do
|
20
|
-
( CArray.dump(@it) ).should == File.read("test.ca")
|
21
|
-
end
|
22
|
-
|
23
|
-
after do
|
24
|
-
File.unlink("test.ca")
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
28
|
-
|
29
|
-
describe "loaded from binary format (object type)" do
|
30
|
-
|
31
|
-
before do
|
32
|
-
@original = CArray.object(10,10) { 3.times { Time.now } }
|
33
|
-
@original[5,5] = UNDEF
|
34
|
-
CArray.save(@original, "test.ca")
|
35
|
-
@it = CArray.load("test.ca")
|
36
|
-
end
|
37
|
-
|
38
|
-
it "should equal to original" do
|
39
|
-
( @it ).should == @original
|
40
|
-
( @it.has_mask? ).should == true
|
41
|
-
end
|
42
|
-
|
43
|
-
after do
|
44
|
-
File.unlink("test.ca")
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
48
|
-
|
49
|
-
describe "loaded by marshal (int32 type)" do
|
50
|
-
|
51
|
-
before do
|
52
|
-
@original = CArray.int32(10,10) { 10 }
|
53
|
-
@original[5,5] = UNDEF
|
54
|
-
open("test.ca", "w") { |io| Marshal.dump(@original, io) }
|
55
|
-
@it = open("test.ca") { |io| Marshal.load(io) }
|
56
|
-
end
|
57
|
-
|
58
|
-
it "should equal to original" do
|
59
|
-
( @it ).should == @original
|
60
|
-
( @it.has_mask? ).should == true
|
61
|
-
end
|
62
|
-
|
63
|
-
after do
|
64
|
-
File.unlink("test.ca")
|
65
|
-
end
|
66
|
-
|
67
|
-
end
|
68
|
-
|
69
|
-
describe "loaded by marshal (object type)" do
|
70
|
-
|
71
|
-
before do
|
72
|
-
@original = CArray.object(10,10) { 3.times { Time.now } }
|
73
|
-
@original[5,5] = UNDEF
|
74
|
-
open("test.ca", "w") { |io| Marshal.dump(@original, io) }
|
75
|
-
@it = open("test.ca") { |io| Marshal.load(io) }
|
76
|
-
end
|
77
|
-
|
78
|
-
it "should equal to original" do
|
79
|
-
( @it ).should == @original
|
80
|
-
( @it.has_mask? ).should == true
|
81
|
-
end
|
82
|
-
|
83
|
-
after do
|
84
|
-
File.unlink("test.ca")
|
85
|
-
end
|
86
|
-
|
87
|
-
end
|
88
|
-
|
89
|
-
end
|
data/test/test_130.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
$:.unshift("../lib", "..")
|
2
|
-
|
3
|
-
require 'test/unit'
|
4
|
-
require 'carray'
|
5
|
-
|
6
|
-
class Test130 < Test::Unit::TestCase
|
7
|
-
|
8
|
-
def test_float_arithmetic
|
9
|
-
assert_equal((CA_FLOAT([100])+1)[0], 101.0)
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_int64
|
13
|
-
assert_raise(RangeError) { CA_INT64([0xffffffffffffffff]) }
|
14
|
-
assert_equal(CA_INT64([0x7fffffffffffffff])[0],
|
15
|
-
0x7fffffffffffffff)
|
16
|
-
assert_equal(CA_INT64([0x7fffffffffffffff])+1,
|
17
|
-
CA_INT64([-0x8000000000000000]))
|
18
|
-
assert_equal(CA_INT64([0x7fffffffffffffff, 0x7fffffffffffffff]).sum,
|
19
|
-
(2*0x7fffffffffffffff).to_f)
|
20
|
-
end
|
21
|
-
|
22
|
-
|
23
|
-
end
|