Module: Mitie::Utils
- Defined in:
- lib/mitie/utils.rb
Class Method Summary collapse
- .array_to_pointer(text) ⇒ Object
- .check_range(range, num_tokens) ⇒ Object
- .read_double(ptr) ⇒ Object
Class Method Details
.array_to_pointer(text) ⇒ Object
3 4 5 6 7 8 9 10 |
# File 'lib/mitie/utils.rb', line 3 def self.array_to_pointer(text) # malloc uses memset to set all bytes to 0 tokens_ptr = Fiddle::Pointer.malloc(Fiddle::SIZEOF_VOIDP * (text.size + 1)) text.size.times do |i| tokens_ptr[i * Fiddle::SIZEOF_VOIDP, Fiddle::SIZEOF_VOIDP] = Fiddle::Pointer.to_ptr(text[i]).ref end tokens_ptr end |
.check_range(range, num_tokens) ⇒ Object
12 13 14 15 16 |
# File 'lib/mitie/utils.rb', line 12 def self.check_range(range, num_tokens) if range.none? || !(0..(num_tokens - 1)).cover?(range) raise ArgumentError, "Invalid range" end end |
.read_double(ptr) ⇒ Object
18 19 20 |
# File 'lib/mitie/utils.rb', line 18 def self.read_double(ptr) ptr.to_s(Fiddle::SIZEOF_DOUBLE).unpack1("d") end |