ndav-numo-narray 0.0.3 → 0.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 190876a415d35546ac7c0d2d9f40f1a38b8e7caa183fac3b8785b69c3ed52fb6
4
- data.tar.gz: 2821b6cff34294cf2720a2323ac6ee4b6df69f579beb61ab6d45421051117c72
3
+ metadata.gz: 2135df02ca3fdb6ae9d00cf77a06bace0030e763301ba4091b87c55fd1ef322c
4
+ data.tar.gz: f5492ab0c71b22d7c6c71b22263ff50b1a0dbd108154fbc209cf233ad945794f
5
5
  SHA512:
6
- metadata.gz: c80b97550700626dcaf02917f9c8bfe381aa179fbd1582fd86a8f671648111ea471a99752dff6344fde16243014915fdccfb708aead4649aa82def93e9329077
7
- data.tar.gz: b1684caf9670469949ce16dbf2171660416bf67e866a12f0280058d74445604f51b4413f7b9e2fdd1f70db5934f63a90f097dd8d6a4217661f008d0e1e0da070
6
+ metadata.gz: 6cdbd33861621ec5da3f79ef825303152cf339b3149cbae1eaf0437af155ed70175fd3c84e3b34d42bb6bd7f458c7384a1c68f61794a2ba2abf21e8eef3f9e15
7
+ data.tar.gz: e96eb5572368af47f2fba8b40f3573fe4a9ef4b2951c4b42d82fbcb6699cc58a7d6205cffa8f1cd5572f04c5f26082a10516eac1d97ed3d6b4f77e432940c078
data/README.md CHANGED
@@ -13,6 +13,8 @@ numo = Numo::DFloat.new(2, 3).seq # => Numo::DFloat
13
13
  ndav = numo.to_ndav # => NDAV
14
14
  numo = ndav.to_numo_narray # => Numo::DFloat
15
15
 
16
+ memory_view = Fiddle::MemoryView.new(numo) # => Fiddle::MemoryView, now it may export a MemoryView
17
+
16
18
  ndav = NDAV.from_numo_narray(numo) # => NDAV
17
19
  numo = Numo::DFloat.from_ndav(ndav) # => Numo::DFloat
18
20
  numo = Numo::NDarray.from_ndav(ndav) # => Numo::DFloat
data/ext/narray.c CHANGED
@@ -13,6 +13,19 @@ ndav_numo_narray_s_address_for_read(VALUE self, VALUE obj)
13
13
  return PTR2NUM(ptr);
14
14
  }
15
15
 
16
+ static VALUE
17
+ ndav_numo_narray_s_readonly_p(VALUE self, VALUE obj)
18
+ {
19
+ if (OBJ_FROZEN(obj)) {
20
+ return Qtrue;
21
+ }
22
+
23
+ narray_t *na;
24
+ GetNArray(obj, na);
25
+
26
+ return NA_TYPE(na) == NARRAY_VIEW_T && OBJ_FROZEN(NA_VIEW_DATA(na)) ? Qtrue : Qfalse;
27
+ }
28
+
16
29
  static VALUE
17
30
  ndav_numo_narray_s_strides(VALUE self, VALUE obj)
18
31
  {
@@ -59,6 +72,7 @@ Init_narray(void)
59
72
  VALUE mNArray = rb_path2class("NDAV::Numo::NArray");
60
73
 
61
74
  rb_define_singleton_method(mNArray, "address_for_read",ndav_numo_narray_s_address_for_read, 1);
75
+ rb_define_singleton_method(mNArray, "readonly?", ndav_numo_narray_s_readonly_p, 1);
62
76
  rb_define_singleton_method(mNArray, "strides", ndav_numo_narray_s_strides, 1);
63
77
  }
64
78
 
@@ -30,7 +30,7 @@ class NDAV
30
30
  end
31
31
 
32
32
  module MemoryViewable
33
- def ndav_descriptor(flags = ::NDAV::Flags::FLAGS[:simple])
33
+ def ndav_descriptor(**)
34
34
  unless contiguous?
35
35
  warn "only contiguous NArray is supported"
36
36
  return false
@@ -48,7 +48,7 @@ class NDAV
48
48
  strides: ::NDAV::Numo::NArray.strides(self),
49
49
  format:,
50
50
  byte_size:,
51
- readonly?: true, # TODO: Consier to define #readonly? at C layer
51
+ readonly?: ::NDAV::Numo::NArray.readonly?(self),
52
52
  sub_offsets: nil
53
53
  }
54
54
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "ndav-numo-narray"
3
- s.version = "0.0.3"
3
+ s.version = "0.0.4"
4
4
  s.authors = ["Kitaiti Makoto"]
5
5
  s.summary = "N-Dimensional Array View for Numo::NArray"
6
6
  s.licenses = ["BSD-3-Clause"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ndav-numo-narray
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kitaiti Makoto