Class: Hornetseye::Sequence
- Extended by:
- MultiArrayConstructor
- Defined in:
- docs/multiarray/lib/multiarray/sequence.rb
Overview
Class for representing uniform arrays
Class Method Summary collapse
-
.[](*args) ⇒ Node
Convert array to uniform array.
-
.import(typecode, string, size) ⇒ Node
Import array from string.
-
.new(element_type, size) ⇒ Node
Allocate new uniform array.
Class Method Details
.[](*args) ⇒ Node
Convert array to uniform array
A native type which fits all elements is determined and used to create a uniform array of those elements.
63 64 65 66 67 68 69 70 71 |
# File 'docs/multiarray/lib/multiarray/sequence.rb', line 63 def []( *args ) target = Node.fit args if target.dimension == 0 target = Hornetseye::MultiArray target, 1 elsif target.dimension > 1 target = Hornetseye::MultiArray OBJECT, 1 end target[*args] end |
.import(typecode, string, size) ⇒ Node
Import array from string
Create an array from raw data provided as a string.
44 45 46 47 48 49 50 51 52 53 |
# File 'docs/multiarray/lib/multiarray/sequence.rb', line 44 def import( typecode, string, size ) t = Hornetseye::Sequence typecode if string.is_a? Malloc memory = string else memory = Malloc.new t.storage_size(size) memory.write string end t.new size, :memory => memory end |
.new(element_type, size) ⇒ Node
Allocate new uniform array
31 32 33 |
# File 'docs/multiarray/lib/multiarray/sequence.rb', line 31 def new( element_type, size ) MultiArray.new element_type, size end |