Class: Hornetseye::Sequence
- Extended by:
- MultiArrayConstructor
- Defined in:
- 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) ⇒ Object
-
.new(typecode, size) ⇒ Node
Allocate new uniform array.
Methods included from MultiArrayConstructor
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.
54 55 56 57 58 59 60 61 62 |
# File 'lib/multiarray/sequence.rb', line 54 def []( *args ) target = Node.fit args if target.dimension == 0 target = Hornetseye::Sequence target, 0 elsif target.dimension > 1 target = Hornetseye::Sequence OBJECT, args.size end target[ *args ] end |
.import(typecode, string, size) ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/multiarray/sequence.rb', line 35 def import( typecode, string, size ) t = Hornetseye::Sequence typecode, size if string.is_a? Malloc memory = string else memory = Malloc.new t.storage_size memory.write string end t.new memory end |
.new(typecode, size) ⇒ Node
Allocate new uniform array
31 32 33 |
# File 'lib/multiarray/sequence.rb', line 31 def new( typecode, size ) MultiArray.new typecode, size end |