Module: NDAV::Numo::NArray::FromNDAV

Defined in:
lib/ndav/numo/narray.rb

Instance Method Summary collapse

Instance Method Details

#from_ndav(ndav) ⇒ Object

Raises:

  • (ArgumentError)


24
25
26
27
28
29
30
31
32
33
# File 'lib/ndav/numo/narray.rb', line 24

def from_ndav(ndav)
  cls = FORMAT_TO_CLASS[ndav.format]
  raise ArgumentError, "unsupported format: #{ndav.format}, currently supported: #{FORMAT_TO_CLASS.keys}" unless cls

  array = cls.zeros(ndav.shape)
  address = ::NDAV::Numo::NArray.address(array)
  ::Fiddle::Pointer.write address, ndav.to_s
  array.instance_variable_set(:@ndav, ndav) # keep reference to NDAV to prevent GC
  array
end