numo-narray-alt 0.9.3 → 0.9.4
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/Gemfile +6 -0
- data/Rakefile +18 -6
- data/ext/numo/narray/index.c +5 -3
- data/ext/numo/narray/numo/narray.h +2 -2
- data/ext/numo/narray/step.c +16 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e9e18fd6506f406eafb8165f2d167f71ab53c77801c5fbcf9124eb9c5aa49e9
|
4
|
+
data.tar.gz: 064b228731e03805711f7f2d662ddb71305df3125b75738106e7ed477dc22415
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af18cc5d7d017240601b59c80ec8d4a804a03e206ede0ede39fc85c0c50aad62de385c6e0df72931435c16297851a093beda4991baa9a0ce9fdbb20fa8965a44
|
7
|
+
data.tar.gz: f1149100a201b20cfda5d8a382e04b19f6b30a19f775139a72c80ae87ce41a55b4ff362f7ea62bc623613f179a009c7ef05811b3b5daddad4f330bafd7a6d0aa
|
data/Gemfile
CHANGED
@@ -5,10 +5,16 @@ source 'https://rubygems.org'
|
|
5
5
|
# Specify your gem's dependencies in narray-devel.gemspec
|
6
6
|
gemspec
|
7
7
|
|
8
|
+
gem 'minitest', '~> 5.25'
|
8
9
|
gem 'rake', '~> 13.3'
|
9
10
|
gem 'rake-compiler', '~> 1.3'
|
10
11
|
gem 'rubocop', '~> 1.80'
|
12
|
+
gem 'rubocop-minitest', '~> 0.38.2'
|
11
13
|
gem 'rubocop-performance', '~> 1.26'
|
12
14
|
gem 'rubocop-rake', '~> 0.7.1'
|
13
15
|
gem 'simplecov', '~> 0.22.0'
|
14
16
|
gem 'test-unit', '~> 3.7'
|
17
|
+
|
18
|
+
group :memcheck, optional: true do
|
19
|
+
gem 'ruby_memcheck', '~> 3.0' if RUBY_VERSION.split('.')[0].to_i >= 3
|
20
|
+
end
|
data/Rakefile
CHANGED
@@ -11,13 +11,25 @@ task :doc do
|
|
11
11
|
sh "rm -rf yard .yardoc; yard doc -o yard -m markdown -r README.md #{src.join(' ')}"
|
12
12
|
end
|
13
13
|
|
14
|
+
require 'ruby_memcheck' if ENV['BUNDLE_WITH'] == 'memcheck'
|
14
15
|
require 'rake/testtask'
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
16
|
+
|
17
|
+
if ENV['BUNDLE_WITH'] == 'memcheck'
|
18
|
+
test_config = lambda do |t|
|
19
|
+
t.libs << 'test'
|
20
|
+
t.libs << 'lib'
|
21
|
+
t.test_files = FileList['test/**/test_*.rb']
|
22
|
+
end
|
23
|
+
Rake::TestTask.new(test: :compile, &test_config)
|
24
|
+
namespace :test do
|
25
|
+
RubyMemcheck::TestTask.new(valgrind: :compile, &test_config)
|
26
|
+
end
|
27
|
+
else
|
28
|
+
Rake::TestTask.new(:test) do |t|
|
29
|
+
t.libs << 'test'
|
30
|
+
t.libs << 'lib'
|
31
|
+
t.test_files = FileList['test/**/test_*.rb']
|
32
|
+
end
|
21
33
|
end
|
22
34
|
|
23
35
|
require 'rake/extensiontask'
|
data/ext/numo/narray/index.c
CHANGED
@@ -473,9 +473,11 @@ static size_t na_index_parse_args(VALUE args, narray_t* na, na_index_arg_t* q, i
|
|
473
473
|
|
474
474
|
static void na_get_strides_nadata(const narray_data_t* na, ssize_t* strides, ssize_t elmsz) {
|
475
475
|
int i = na->base.ndim - 1;
|
476
|
-
|
477
|
-
|
478
|
-
|
476
|
+
if (i >= 0) {
|
477
|
+
strides[i] = elmsz;
|
478
|
+
for (; i > 0; i--) {
|
479
|
+
strides[i - 1] = strides[i] * na->base.shape[i];
|
480
|
+
}
|
479
481
|
}
|
480
482
|
}
|
481
483
|
|
data/ext/numo/narray/step.c
CHANGED
@@ -63,6 +63,14 @@ void nary_step_array_index(VALUE obj, size_t ary_size, size_t* plen, ssize_t* pb
|
|
63
63
|
vbeg = rb_funcall(obj, id_beg, 0);
|
64
64
|
vend = rb_funcall(obj, id_end, 0);
|
65
65
|
#endif
|
66
|
+
// Range does not have a length instance variable, which causes rb_ivar_get
|
67
|
+
// to output a warning when retrieving the length instance variable in Ruby 2.7.
|
68
|
+
// Since Range is not frozen in Ruby 2.7, we set the length instance variable.
|
69
|
+
if (RUBY_API_VERSION_MAJOR < 3) {
|
70
|
+
if (!RTEST(rb_ivar_defined(obj, id_len))) {
|
71
|
+
rb_ivar_set(obj, id_len, Qnil);
|
72
|
+
}
|
73
|
+
}
|
66
74
|
vlen = rb_ivar_get(obj, id_len);
|
67
75
|
|
68
76
|
if (RTEST(vbeg)) {
|
@@ -203,6 +211,14 @@ void nary_step_sequence(VALUE obj, size_t* plen, double* pbeg, double* pstep) {
|
|
203
211
|
dbeg = NUM2DBL(rb_funcall(obj, id_beg, 0));
|
204
212
|
vend = rb_funcall(obj, id_end, 0);
|
205
213
|
#endif
|
214
|
+
// Range does not have a length instance variable, which causes rb_ivar_get
|
215
|
+
// to output a warning when retrieving the length instance variable in Ruby 2.7.
|
216
|
+
// Since Range is not frozen in Ruby 2.7, we set the length instance variable.
|
217
|
+
if (RUBY_API_VERSION_MAJOR < 3) {
|
218
|
+
if (!RTEST(rb_ivar_defined(obj, id_len))) {
|
219
|
+
rb_ivar_set(obj, id_len, Qnil);
|
220
|
+
}
|
221
|
+
}
|
206
222
|
vlen = rb_ivar_get(obj, id_len);
|
207
223
|
|
208
224
|
if (RTEST(vlen)) {
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: numo-narray-alt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- yoshoku
|
@@ -100,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
100
|
- !ruby/object:Gem::Version
|
101
101
|
version: '0'
|
102
102
|
requirements: []
|
103
|
-
rubygems_version: 3.
|
103
|
+
rubygems_version: 3.6.9
|
104
104
|
specification_version: 4
|
105
105
|
summary: Numo::NArray Alternative is an experimental project forked from Numo::NArray.
|
106
106
|
test_files: []
|