carray 1.3.6 → 1.5.3
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/LICENSE +22 -0
- data/NEWS.md +65 -0
- data/README.md +23 -26
- data/Rakefile +31 -0
- data/TODO.md +17 -0
- data/carray.gemspec +24 -31
- data/{ca_iter_block.c → ext/ca_iter_block.c} +16 -18
- data/{ca_iter_dimension.c → ext/ca_iter_dimension.c} +20 -21
- data/{ca_iter_window.c → ext/ca_iter_window.c} +12 -14
- data/{ca_obj_array.c → ext/ca_obj_array.c} +451 -176
- data/{ca_obj_bitarray.c → ext/ca_obj_bitarray.c} +18 -23
- data/{ca_obj_bitfield.c → ext/ca_obj_bitfield.c} +12 -16
- data/{ca_obj_block.c → ext/ca_obj_block.c} +47 -54
- data/{ca_obj_fake.c → ext/ca_obj_fake.c} +10 -12
- data/{ca_obj_farray.c → ext/ca_obj_farray.c} +21 -23
- data/{ca_obj_field.c → ext/ca_obj_field.c} +30 -32
- data/{ca_obj_grid.c → ext/ca_obj_grid.c} +32 -33
- data/{ca_obj_mapping.c → ext/ca_obj_mapping.c} +11 -13
- data/{ca_obj_object.c → ext/ca_obj_object.c} +40 -42
- data/{ca_obj_reduce.c → ext/ca_obj_reduce.c} +3 -5
- data/{ca_obj_refer.c → ext/ca_obj_refer.c} +38 -40
- data/{ca_obj_repeat.c → ext/ca_obj_repeat.c} +45 -47
- data/{ca_obj_select.c → ext/ca_obj_select.c} +4 -6
- data/{ca_obj_shift.c → ext/ca_obj_shift.c} +26 -28
- data/{ca_obj_transpose.c → ext/ca_obj_transpose.c} +26 -28
- data/{ca_obj_unbound_repeat.c → ext/ca_obj_unbound_repeat.c} +106 -160
- data/{ca_obj_window.c → ext/ca_obj_window.c} +33 -35
- data/{carray.h → ext/carray.h} +90 -59
- data/{carray_access.c → ext/carray_access.c} +244 -109
- data/{carray_attribute.c → ext/carray_attribute.c} +161 -207
- data/{carray_call_cfunc.c → ext/carray_call_cfunc.c} +1 -3
- data/{carray_cast.c → ext/carray_cast.c} +350 -149
- data/{carray_cast_func.rb → ext/carray_cast_func.rb} +1 -2
- data/{carray_class.c → ext/carray_class.c} +28 -36
- data/{carray_conversion.c → ext/carray_conversion.c} +58 -70
- data/{carray_copy.c → ext/carray_copy.c} +34 -50
- data/{carray_core.c → ext/carray_core.c} +75 -62
- data/ext/carray_data_type.c +66 -0
- data/{carray_element.c → ext/carray_element.c} +34 -53
- data/{carray_generate.c → ext/carray_generate.c} +137 -50
- data/{carray_iterator.c → ext/carray_iterator.c} +53 -53
- data/{carray_loop.c → ext/carray_loop.c} +77 -106
- data/{carray_mask.c → ext/carray_mask.c} +95 -114
- data/{carray_math.rb → ext/carray_math.rb} +47 -31
- data/ext/{mathfunc/carray_mathfunc.c → carray_mathfunc.c} +1 -3
- data/{carray_numeric.c → ext/carray_numeric.c} +43 -46
- data/{carray_operator.c → ext/carray_operator.c} +72 -36
- data/{carray_order.c → ext/carray_order.c} +73 -217
- data/{carray_sort_addr.c → ext/carray_sort_addr.c} +14 -21
- data/{carray_stat.c → ext/carray_stat.c} +6 -8
- data/{carray_stat_proc.rb → ext/carray_stat_proc.rb} +25 -27
- data/{carray_test.c → ext/carray_test.c} +59 -51
- data/{carray_undef.c → ext/carray_undef.c} +1 -11
- data/{carray_utils.c → ext/carray_utils.c} +12 -4
- data/{extconf.rb → ext/extconf.rb} +1 -6
- data/{mkmath.rb → ext/mkmath.rb} +13 -3
- data/{ruby_carray.c → ext/ruby_carray.c} +20 -8
- data/{ruby_ccomplex.c → ext/ruby_ccomplex.c} +1 -3
- data/{ruby_float_func.c → ext/ruby_float_func.c} +1 -3
- data/ext/version.h +16 -0
- data/{version.rb → ext/version.rb} +0 -0
- data/lib/carray.rb +52 -10
- data/lib/carray/{base/autoload.rb → autoload.rb} +48 -8
- data/lib/carray/autoload/autoload_base.rb +1 -5
- data/lib/carray/autoload/autoload_gem_cairo.rb +9 -0
- data/lib/carray/autoload/autoload_gem_ffi.rb +9 -0
- data/lib/carray/autoload/autoload_gem_gnuplot.rb +2 -0
- data/lib/carray/autoload/autoload_gem_io_csv.rb +14 -0
- data/lib/carray/autoload/autoload_gem_io_pg.rb +6 -0
- data/lib/carray/autoload/autoload_gem_io_sqlite3.rb +12 -0
- data/lib/carray/autoload/autoload_gem_narray.rb +10 -0
- data/lib/carray/autoload/autoload_gem_numo_narray.rb +15 -0
- data/lib/carray/autoload/autoload_gem_opencv.rb +16 -0
- data/lib/carray/autoload/autoload_gem_random.rb +8 -0
- data/lib/carray/autoload/autoload_gem_rmagick.rb +23 -0
- data/lib/carray/autoload/{autoload_graphics_zimg.rb → autoload_gem_zimg.rb} +0 -0
- data/lib/carray/basic.rb +191 -0
- data/lib/carray/broadcast.rb +82 -0
- data/lib/carray/compose.rb +315 -0
- data/lib/carray/construct.rb +460 -0
- data/lib/carray/convert.rb +115 -0
- data/lib/carray/info.rb +1 -3
- data/lib/carray/{base/inspect.rb → inspect.rb} +9 -11
- data/lib/carray/io/imagemagick.rb +2 -4
- data/lib/carray/{base/iterator.rb → iterator.rb} +6 -6
- data/lib/carray/mask.rb +102 -0
- data/lib/carray/{base/math.rb → math.rb} +21 -53
- data/lib/carray/math/histogram.rb +8 -10
- data/lib/carray/math/recurrence.rb +1 -3
- data/lib/carray/mkmf.rb +9 -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 +9 -11
- data/lib/carray/obsolete.rb +270 -0
- data/lib/carray/ordering.rb +181 -0
- data/lib/carray/{base/serialize.rb → serialize.rb} +50 -66
- data/lib/carray/string.rb +188 -0
- data/lib/carray/{base/struct.rb → struct.rb} +19 -21
- data/lib/carray/{io/table.rb → table.rb} +1 -9
- data/lib/carray/testing.rb +51 -0
- data/lib/carray/time.rb +76 -0
- data/lib/carray/transform.rb +98 -0
- data/misc/Methods.ja.md +182 -0
- data/{NOTE → misc/NOTE} +0 -0
- 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
- data/{devel → utils}/guess_shape.rb +0 -0
- data/utils/{diff_method.rb → monkey_patch_methods.rb} +17 -7
- metadata +173 -316
- data/COPYING +0 -56
- data/GPL +0 -340
- data/Gemfile +0 -8
- data/Gemfile.lock +0 -33
- data/LEGAL +0 -50
- data/Makefile +0 -451
- data/TODO +0 -5
- data/carray_cast_func.c +0 -8670
- data/carray_config.h +0 -26
- data/carray_math.c +0 -24805
- data/carray_random.c +0 -531
- data/carray_stat_proc.c +0 -12170
- data/ext/calculus/carray_calculus.c +0 -931
- data/ext/calculus/carray_interp.c +0 -358
- data/ext/calculus/extconf.rb +0 -12
- data/ext/calculus/lib/autoload/autoload_math_calculus.rb +0 -2
- data/ext/calculus/lib/math/calculus.rb +0 -119
- data/ext/calculus/lib/math/interp/adapter_interp1d.rb +0 -31
- data/ext/fortio/extconf.rb +0 -3
- data/ext/fortio/lib/carray/autoload/autoload_fortran_format.rb +0 -5
- data/ext/fortio/lib/carray/io/fortran_format.rb +0 -43
- data/ext/fortio/lib/fortio.rb +0 -3
- data/ext/fortio/lib/fortio/fortran_format.rb +0 -605
- data/ext/fortio/lib/fortio/fortran_format.tab.rb +0 -536
- data/ext/fortio/lib/fortio/fortran_format.y +0 -215
- data/ext/fortio/lib/fortio/fortran_namelist.rb +0 -151
- data/ext/fortio/lib/fortio/fortran_namelist.tab.rb +0 -470
- data/ext/fortio/lib/fortio/fortran_namelist.y +0 -213
- data/ext/fortio/lib/fortio/fortran_sequential.rb +0 -345
- data/ext/fortio/ruby_fortio.c +0 -182
- data/ext/fortio/test/test_H.rb +0 -5
- data/ext/fortio/test/test_T.rb +0 -7
- data/ext/fortio/test/test_fortran_format.rb +0 -86
- data/ext/fortio/test/test_namelist.rb +0 -25
- data/ext/fortio/test/test_namelist_write.rb +0 -10
- data/ext/fortio/test/test_sequential.rb +0 -13
- data/ext/fortio/test/test_sequential2.rb +0 -13
- data/ext/fortio/work/test.rb +0 -10
- data/ext/fortio/work/test_e.rb +0 -19
- data/ext/fortio/work/test_ep.rb +0 -10
- data/ext/fortio/work/test_parse.rb +0 -12
- data/ext/imagemap/carray_imagemap.c +0 -495
- data/ext/imagemap/doc/call_graph.dot +0 -28
- data/ext/imagemap/draw.c +0 -567
- data/ext/imagemap/extconf.rb +0 -13
- data/ext/imagemap/lib/autoload/autoload_graphics_imagemap.rb +0 -1
- data/ext/imagemap/lib/graphics/imagemap.rb +0 -273
- data/ext/imagemap/lib/image_map.rb +0 -4
- data/ext/imagemap/test/swath_index.rb +0 -83
- data/ext/imagemap/test/swath_warp.rb +0 -99
- data/ext/imagemap/test/test.rb +0 -23
- data/ext/imagemap/test/test_image.rb +0 -42
- data/ext/imagemap/test/test_line.rb +0 -14
- data/ext/imagemap/test/test_rotate.rb +0 -17
- data/ext/imagemap/test/test_triangle.rb +0 -20
- data/ext/imagemap/test/test_warp.rb +0 -26
- data/ext/mathfunc/extconf.rb +0 -18
- data/ext/mathfunc/lib/autoload/autoload_math_mathfunc.rb +0 -1
- data/ext/mathfunc/lib/math/mathfunc.rb +0 -15
- data/ext/mathfunc/test/test_hypot.rb +0 -5
- data/ext/mathfunc/test/test_j0.rb +0 -22
- data/ext/mathfunc/test/test_jn.rb +0 -8
- data/ext/mathfunc/test/test_sph.rb +0 -9
- data/ext/narray/README +0 -22
- data/ext/narray/ca_wrap_narray.c +0 -500
- data/ext/narray/carray_narray.c +0 -21
- data/ext/narray/extconf.rb +0 -57
- data/ext/narray/lib/autoload/autoload_math_narray.rb +0 -1
- data/ext/narray/lib/autoload/autoload_math_narray_miss.rb +0 -11
- data/ext/narray/lib/math/narray.rb +0 -17
- data/ext/narray/lib/math/narray_miss.rb +0 -45
- data/lib/carray/autoload/autoload_graphics_gnuplot.rb +0 -2
- data/lib/carray/autoload/autoload_io_csv.rb +0 -14
- data/lib/carray/autoload/autoload_io_pg.rb +0 -6
- data/lib/carray/autoload/autoload_io_sqlite3.rb +0 -12
- data/lib/carray/autoload/autoload_io_table.rb +0 -1
- data/lib/carray/autoload/autoload_math_interp.rb +0 -4
- data/lib/carray/base/basic.rb +0 -1090
- data/lib/carray/base/obsolete.rb +0 -131
- data/lib/carray/graphics/gnuplot.rb +0 -2131
- data/lib/carray/graphics/zimg.rb +0 -296
- data/lib/carray/io/csv.rb +0 -572
- data/lib/carray/io/pg.rb +0 -101
- data/lib/carray/io/sqlite3.rb +0 -215
- data/lib/carray/math/interp.rb +0 -57
- data/lib/carray/math/interp/adapter_gsl_spline.rb +0 -47
- data/mkmf.log +0 -375
- data/mt19937ar.c +0 -182
- data/mt19937ar.h +0 -86
- data/rdoc_ext.rb +0 -1115
- data/rdoc_main.rb +0 -27
- data/rdoc_math.rb +0 -5
- data/rdoc_stat.rb +0 -31
- 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 -51
- 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_narray.rb +0 -64
- data/test/test_order.rb +0 -147
- data/test/test_random.rb +0 -15
- data/test/test_ref_store.rb +0 -211
- data/test/test_stat.rb +0 -414
- data/test/test_struct.rb +0 -72
- data/test/test_virtual.rb +0 -49
- data/utils/create_rdoc.sh +0 -9
- data/utils/make_tgz.sh +0 -3
- data/version.h +0 -18
@@ -3,10 +3,8 @@
|
|
3
3
|
carray_undef.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,6 @@ static VALUE rb_ud_equal (VALUE self, VALUE other)
|
|
43
41
|
return ( self == other ) ? Qtrue : Qfalse;
|
44
42
|
}
|
45
43
|
|
46
|
-
|
47
|
-
static VALUE rb_obj_is_undef (VALUE self)
|
48
|
-
{
|
49
|
-
return ( self == CA_UNDEF ) ? Qtrue : Qfalse;
|
50
|
-
}
|
51
|
-
|
52
44
|
void
|
53
45
|
Init_carray_undef ()
|
54
46
|
{
|
@@ -63,7 +55,5 @@ Init_carray_undef ()
|
|
63
55
|
CA_UNDEF = rb_funcall(rb_cUNDEF, rb_intern("new"), 0);
|
64
56
|
rb_undef_method(CLASS_OF(rb_cUNDEF), "new");
|
65
57
|
rb_const_set(rb_cObject, rb_intern("UNDEF"), CA_UNDEF);
|
66
|
-
|
67
|
-
rb_define_method(rb_cObject, "undef?", rb_obj_is_undef, 0);
|
68
58
|
}
|
69
59
|
|
@@ -3,10 +3,8 @@
|
|
3
3
|
carray_utils.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
|
|
@@ -422,6 +420,11 @@ ca_bounds_normalize_index (int8_t bounds, ca_size_t size0, ca_size_t k)
|
|
422
420
|
}
|
423
421
|
}
|
424
422
|
|
423
|
+
/* @private
|
424
|
+
@overload scan_float (str, fill_value=nil)
|
425
|
+
|
426
|
+
*/
|
427
|
+
|
425
428
|
static VALUE
|
426
429
|
rb_ca_s_scan_float (int argc, VALUE *argv, VALUE self)
|
427
430
|
{
|
@@ -447,6 +450,11 @@ rb_ca_s_scan_float (int argc, VALUE *argv, VALUE self)
|
|
447
450
|
}
|
448
451
|
}
|
449
452
|
|
453
|
+
/* @private
|
454
|
+
@overload scan_int (str, fill_value=nil)
|
455
|
+
|
456
|
+
*/
|
457
|
+
|
450
458
|
static VALUE
|
451
459
|
rb_ca_s_scan_int (int argc, VALUE *argv, VALUE self)
|
452
460
|
{
|
@@ -564,7 +572,7 @@ rb_ca_guess_type_and_bytes (VALUE rtype, VALUE rbytes,
|
|
564
572
|
}
|
565
573
|
}
|
566
574
|
|
567
|
-
/*
|
575
|
+
/* @private
|
568
576
|
def CArray.guess_type_and_bytes (type, bytes=0)
|
569
577
|
end
|
570
578
|
*/
|
@@ -189,11 +189,6 @@ if ( not File.exist?("carray_stat_proc.c") ) or
|
|
189
189
|
system("ruby carray_stat_proc.rb > carray_stat_proc.c")
|
190
190
|
end
|
191
191
|
|
192
|
-
puts "creating rdoc_ext.rb"
|
193
|
-
system %{
|
194
|
-
ruby utils/extract_rdoc.rb > rdoc_ext.rb
|
195
|
-
}
|
196
|
-
|
197
192
|
# --- create Makefile
|
198
193
|
|
199
194
|
create_makefile("carray_ext")
|
@@ -224,7 +219,7 @@ carray_stat_proc.c: carray_stat_proc.rb
|
|
224
219
|
carray_math.c: carray_math.rb
|
225
220
|
${RUBY} carray_math.rb
|
226
221
|
|
227
|
-
|
222
|
+
yard:
|
228
223
|
sh utils/create_rdoc.sh
|
229
224
|
|
230
225
|
clean-generated:
|
data/{mkmath.rb → ext/mkmath.rb}
RENAMED
@@ -289,7 +289,12 @@ ca_binop_#{name}_#{type} (ca_size_t n, boolean8_t *m, char *ptr1, ca_size_t i1,
|
|
289
289
|
io.puts
|
290
290
|
io.print %{
|
291
291
|
static VALUE rb_ca_#{name} (VALUE self, VALUE other)
|
292
|
-
{
|
292
|
+
{
|
293
|
+
if ( ! rb_ca_test_castable(other) ) {
|
294
|
+
return rb_ca_binop_pass_to_other(self, other, rb_intern("#{op}"));
|
295
|
+
}
|
296
|
+
return rb_ca_call_binop(self, other, ca_binop_#{name});
|
297
|
+
}
|
293
298
|
static VALUE rb_ca_#{name}_bang (VALUE self, VALUE other)
|
294
299
|
{ return rb_ca_call_binop_bang(self, other, ca_binop_#{name}); }
|
295
300
|
}
|
@@ -300,7 +305,7 @@ static VALUE rb_ca_#{name}_bang (VALUE self, VALUE other)
|
|
300
305
|
}
|
301
306
|
end
|
302
307
|
METHODS << %{
|
303
|
-
rb_define_method(rb_cCArray, "#{
|
308
|
+
rb_define_method(rb_cCArray, "#{name}!", rb_ca_#{name}_bang, 1);
|
304
309
|
}
|
305
310
|
|
306
311
|
end
|
@@ -529,7 +534,12 @@ ca_bincmp_#{name}_#{type} (ca_size_t n, boolean8_t *m,
|
|
529
534
|
io.puts
|
530
535
|
io.print %{
|
531
536
|
static VALUE rb_ca_#{name} (VALUE self, VALUE other)
|
532
|
-
{
|
537
|
+
{
|
538
|
+
if ( ! rb_ca_test_castable(other) ) {
|
539
|
+
return rb_ca_binop_pass_to_other(self, other, rb_intern("#{op}"));
|
540
|
+
}
|
541
|
+
return rb_ca_call_bincmp(self, other, ca_bincmp_#{name});
|
542
|
+
}
|
533
543
|
}
|
534
544
|
DEFINITIONS << io.string
|
535
545
|
if op
|
@@ -3,10 +3,8 @@
|
|
3
3
|
ruby_carray.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
|
|
@@ -24,6 +22,7 @@ void Init_numeric_float_function ();
|
|
24
22
|
void Init_carray_core ();
|
25
23
|
void Init_carray_undef ();
|
26
24
|
void Init_carray_class ();
|
25
|
+
void Init_carray_data_type ();
|
27
26
|
void Init_carray_test ();
|
28
27
|
void Init_carray_attribute ();
|
29
28
|
void Init_carray_loop ();
|
@@ -34,7 +33,6 @@ void Init_carray_iterator ();
|
|
34
33
|
void Init_carray_operator ();
|
35
34
|
void Init_carray_numeric ();
|
36
35
|
void Init_carray_math ();
|
37
|
-
void Init_carray_random ();
|
38
36
|
void Init_carray_utils ();
|
39
37
|
void Init_carray_order ();
|
40
38
|
void Init_carray_sort_addr ();
|
@@ -70,6 +68,9 @@ void Init_ca_iter_dimension ();
|
|
70
68
|
void Init_ca_iter_block ();
|
71
69
|
void Init_ca_iter_window ();
|
72
70
|
|
71
|
+
void Init_carray_mathfunc ();
|
72
|
+
|
73
|
+
|
73
74
|
void
|
74
75
|
Init_carray_ext ()
|
75
76
|
{
|
@@ -94,7 +95,7 @@ Init_carray_ext ()
|
|
94
95
|
rb_eCADataTypeError =
|
95
96
|
rb_define_class_under(rb_cCArray, "DataTypeError", rb_eStandardError);
|
96
97
|
|
97
|
-
/*
|
98
|
+
/* yard:
|
98
99
|
class CArray::DataTypeError # :nodoc:
|
99
100
|
end
|
100
101
|
*/
|
@@ -108,7 +109,7 @@ Init_carray_ext ()
|
|
108
109
|
|
109
110
|
/* -- version -- */
|
110
111
|
|
111
|
-
/*
|
112
|
+
/* yard:
|
112
113
|
class CArray
|
113
114
|
VERSION = nil # :nodoc:
|
114
115
|
VERSION_CODE = nil # :nodoc:
|
@@ -119,11 +120,17 @@ Init_carray_ext ()
|
|
119
120
|
end
|
120
121
|
*/
|
121
122
|
|
123
|
+
/* @private */
|
122
124
|
rb_define_const(rb_cCArray, "VERSION", rb_str_new2(CA_VERSION));
|
125
|
+
/* @private */
|
123
126
|
rb_define_const(rb_cCArray, "VERSION_CODE", INT2NUM(CA_VERSION_CODE));
|
127
|
+
/* @private */
|
124
128
|
rb_define_const(rb_cCArray, "VERSION_MAJOR", INT2NUM(CA_VERSION_MAJOR));
|
129
|
+
/* @private */
|
125
130
|
rb_define_const(rb_cCArray, "VERSION_MINOR", INT2NUM(CA_VERSION_MINOR));
|
131
|
+
/* @private */
|
126
132
|
rb_define_const(rb_cCArray, "VERSION_TEENY", INT2NUM(CA_VERSION_TEENY));
|
133
|
+
/* @private */
|
127
134
|
rb_define_const(rb_cCArray, "VERSION_DATE", rb_str_new2(CA_VERSION_DATE));
|
128
135
|
|
129
136
|
/* -- system -- */
|
@@ -132,8 +139,10 @@ Init_carray_ext ()
|
|
132
139
|
rb_define_const(rb_cObject, "CA_NIL", CA_NIL);
|
133
140
|
|
134
141
|
#ifdef HAVE_COMPLEX_H
|
142
|
+
/* @private */
|
135
143
|
rb_define_const(rb_cCArray, "HAVE_COMPLEX", Qtrue);
|
136
144
|
#else
|
145
|
+
/* @private */
|
137
146
|
rb_define_const(rb_cCArray, "HAVE_COMPLEX", Qfalse);
|
138
147
|
#endif
|
139
148
|
|
@@ -166,7 +175,6 @@ Init_carray_ext ()
|
|
166
175
|
rb_define_const(rb_cObject, "CA_DCOMPLEX", INT2NUM(CA_DCOMPLEX));
|
167
176
|
rb_define_const(rb_cObject, "CA_SIZE", INT2NUM(CA_SIZE));
|
168
177
|
|
169
|
-
|
170
178
|
rb_define_const(rb_cObject, "CA_ALIGN_VOIDP", INT2NUM(CA_ALIGN_VOIDP));
|
171
179
|
rb_define_const(rb_cObject, "CA_ALIGN_FIXLEN", INT2NUM(CA_ALIGN_INT8));
|
172
180
|
rb_define_const(rb_cObject, "CA_ALIGN_BOOLEAN", INT2NUM(CA_ALIGN_INT8));
|
@@ -193,6 +201,7 @@ Init_carray_ext ()
|
|
193
201
|
Init_numeric_float_function();
|
194
202
|
|
195
203
|
Init_carray_class();
|
204
|
+
Init_carray_data_type();
|
196
205
|
Init_carray_test();
|
197
206
|
Init_carray_attribute();
|
198
207
|
Init_carray_undef();
|
@@ -203,7 +212,6 @@ Init_carray_ext ()
|
|
203
212
|
Init_carray_operator();
|
204
213
|
Init_carray_math(); /* order of math, numeric should not be changed */
|
205
214
|
Init_carray_numeric(); /* order of math, numeric should not be changed */
|
206
|
-
Init_carray_random();
|
207
215
|
Init_carray_order();
|
208
216
|
Init_carray_sort_addr();
|
209
217
|
Init_carray_stat();
|
@@ -240,5 +248,9 @@ Init_carray_ext ()
|
|
240
248
|
Init_ca_iter_dimension();
|
241
249
|
Init_ca_iter_block();
|
242
250
|
Init_ca_iter_window();
|
251
|
+
|
252
|
+
Init_carray_mathfunc();
|
253
|
+
|
254
|
+
|
243
255
|
}
|
244
256
|
|
@@ -3,10 +3,8 @@
|
|
3
3
|
ruby_ccomplex.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
|
|
@@ -3,10 +3,8 @@
|
|
3
3
|
ruby_numeric.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
|
|
data/ext/version.h
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
/* ---------------------------------------------------------------------------
|
2
|
+
|
3
|
+
version.h
|
4
|
+
|
5
|
+
This file is part of Ruby/CArray extension library.
|
6
|
+
|
7
|
+
Copyright (C) 2005-2020 Hiroki Motoyoshi
|
8
|
+
|
9
|
+
---------------------------------------------------------------------------- */
|
10
|
+
|
11
|
+
#define CA_VERSION "1.5.3"
|
12
|
+
#define CA_VERSION_CODE 153
|
13
|
+
#define CA_VERSION_MAJOR 1
|
14
|
+
#define CA_VERSION_MINOR 5
|
15
|
+
#define CA_VERSION_TEENY 3
|
16
|
+
#define CA_VERSION_DATE "2020/07/31"
|
File without changes
|
data/lib/carray.rb
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
# lib/carray.rb
|
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,15 +12,59 @@ major = RbConfig::CONFIG['MAJOR'].to_i
|
|
14
12
|
minor = RbConfig::CONFIG['MINOR'].to_i
|
15
13
|
teeny = RbConfig::CONFIG['TEENY'].to_i
|
16
14
|
ruby_version_code = major * 100 + minor * 10 + teeny
|
15
|
+
|
17
16
|
if ruby_version_code < 190
|
18
17
|
require 'complex'
|
19
18
|
end
|
20
19
|
|
20
|
+
# main
|
21
|
+
|
21
22
|
require 'carray_ext'
|
22
|
-
|
23
|
-
require 'carray/
|
24
|
-
require 'carray/
|
25
|
-
require 'carray/
|
26
|
-
require 'carray/
|
27
|
-
require 'carray/
|
28
|
-
require 'carray/
|
23
|
+
|
24
|
+
require 'carray/inspect'
|
25
|
+
require 'carray/basic'
|
26
|
+
require 'carray/construct'
|
27
|
+
require 'carray/mask'
|
28
|
+
require 'carray/compose'
|
29
|
+
require 'carray/transform'
|
30
|
+
require 'carray/convert'
|
31
|
+
require 'carray/testing'
|
32
|
+
require 'carray/ordering'
|
33
|
+
require 'carray/broadcast'
|
34
|
+
|
35
|
+
require 'carray/math'
|
36
|
+
require 'carray/iterator'
|
37
|
+
require 'carray/struct'
|
38
|
+
require 'carray/table'
|
39
|
+
require 'carray/string'
|
40
|
+
|
41
|
+
# obsolete methods
|
42
|
+
|
43
|
+
require 'carray/obsolete'
|
44
|
+
|
45
|
+
# autoload
|
46
|
+
|
47
|
+
unless $CARRAY_NO_AUTOLOAD
|
48
|
+
|
49
|
+
require 'carray/autoload'
|
50
|
+
require 'carray/autoload/autoload_base'
|
51
|
+
require 'carray/autoload/autoload_io_imagemagick'
|
52
|
+
require 'carray/autoload/autoload_math_histogram'
|
53
|
+
require 'carray/autoload/autoload_math_recurrence'
|
54
|
+
require 'carray/autoload/autoload_object_iterator'
|
55
|
+
require 'carray/autoload/autoload_object_link'
|
56
|
+
require 'carray/autoload/autoload_object_pack'
|
57
|
+
|
58
|
+
require 'carray/autoload/autoload_gem_random'
|
59
|
+
require 'carray/autoload/autoload_gem_gnuplot'
|
60
|
+
require 'carray/autoload/autoload_gem_narray'
|
61
|
+
require 'carray/autoload/autoload_gem_numo_narray'
|
62
|
+
require 'carray/autoload/autoload_gem_io_csv'
|
63
|
+
require 'carray/autoload/autoload_gem_io_sqlite3'
|
64
|
+
require 'carray/autoload/autoload_gem_rmagick'
|
65
|
+
require 'carray/autoload/autoload_gem_cairo'
|
66
|
+
require 'carray/autoload/autoload_gem_opencv'
|
67
|
+
require 'carray/autoload/autoload_gem_ffi'
|
68
|
+
|
69
|
+
undef autoload_method
|
70
|
+
end
|
@@ -1,10 +1,8 @@
|
|
1
1
|
# ----------------------------------------------------------------------------
|
2
2
|
#
|
3
|
-
# carray/
|
3
|
+
# carray/autoload.rb
|
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
7
|
# Copyright (C) 2005-2010 Hiroki Motoyoshi
|
10
8
|
#
|
@@ -13,7 +11,11 @@
|
|
13
11
|
def autoload_method (method, library)
|
14
12
|
eval %{
|
15
13
|
def #{method} (*argv, &block)
|
16
|
-
|
14
|
+
begin
|
15
|
+
require "#{library}"
|
16
|
+
rescue LoadError
|
17
|
+
raise "error in autoloading '#{library}' hooked by method '#{method}', check gem installation."
|
18
|
+
end
|
17
19
|
#{method}(*argv, &block)
|
18
20
|
end
|
19
21
|
}
|
@@ -23,7 +25,11 @@ class Class
|
|
23
25
|
def autoload_method (method, library)
|
24
26
|
class_eval %{
|
25
27
|
def #{method} (*argv, &block)
|
26
|
-
|
28
|
+
begin
|
29
|
+
require "#{library}"
|
30
|
+
rescue LoadError
|
31
|
+
raise "error in autoloading '#{library}' hooked by method '#{method}', check gem installation."
|
32
|
+
end
|
27
33
|
#{method}(*argv, &block)
|
28
34
|
end
|
29
35
|
}
|
@@ -34,7 +40,11 @@ class Module
|
|
34
40
|
def autoload_method (method, library)
|
35
41
|
class_eval %{
|
36
42
|
def #{method} (*argv, &block)
|
37
|
-
|
43
|
+
begin
|
44
|
+
require "#{library}"
|
45
|
+
rescue LoadError
|
46
|
+
raise "error in autoloading '#{library}' hooked by method '#{method}', check gem installation."
|
47
|
+
end
|
38
48
|
#{method}(*argv, &block)
|
39
49
|
end
|
40
50
|
}
|
@@ -46,7 +56,11 @@ class Module
|
|
46
56
|
class_eval %{
|
47
57
|
module_function
|
48
58
|
def #{method} (*argv, &block)
|
49
|
-
|
59
|
+
begin
|
60
|
+
require "#{library}"
|
61
|
+
rescue LoadError
|
62
|
+
raise "error in autoloading '#{library}' hooked by method '#{method}', check gem installation."
|
63
|
+
end
|
50
64
|
#{method}(*argv, &block)
|
51
65
|
end
|
52
66
|
}
|
@@ -87,6 +101,33 @@ module CA
|
|
87
101
|
|
88
102
|
end
|
89
103
|
|
104
|
+
__END__
|
105
|
+
names = {"carray" => true}
|
106
|
+
Gem.path.each do |path|
|
107
|
+
gems = File.join(path, "gems")
|
108
|
+
if File.directory?(gems)
|
109
|
+
Dir.chdir(gems) {
|
110
|
+
Dir["carray-*"].sort.reverse.each do |dir|
|
111
|
+
name = dir.sub(/\-\d+\.\d+\.\d+\z/, '')
|
112
|
+
next if names[name]
|
113
|
+
lib = File.join(dir, "lib")
|
114
|
+
if File.directory?(lib)
|
115
|
+
Dir.chdir(lib) {
|
116
|
+
Dir["carray/autoload/autoload_*"].each do |loader|
|
117
|
+
begin
|
118
|
+
load File.expand_path(File.join(gems, dir, lib, loader.sub(/\.rb\z/, "")))
|
119
|
+
rescue LoadError
|
120
|
+
end
|
121
|
+
end
|
122
|
+
}
|
123
|
+
end
|
124
|
+
names[name] = true
|
125
|
+
end
|
126
|
+
}
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
__END__
|
90
131
|
CA.each_load_path("carray/autoload") {
|
91
132
|
Dir["autoload_*.rb"].each do |basename|
|
92
133
|
if basename =~ /\A(autoload_.+)\.rb\Z/
|
@@ -98,4 +139,3 @@ CA.each_load_path("carray/autoload") {
|
|
98
139
|
end
|
99
140
|
}
|
100
141
|
|
101
|
-
undef autoload_method
|