21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/ucrdtw.rb', line 21
def self.dtw(data, query, warp_width = 0.05)
dataBuf = FFI::MemoryPointer.new(:double, data.size)
dataBuf.write_array_of_double(data)
queryBuf = FFI::MemoryPointer.new(:double, query.size)
queryBuf.write_array_of_double(query)
location = FFI::MemoryPointer.new(:long_long, 1)
distance = FFI::MemoryPointer.new(:double, 1)
ucrdtw(dataBuf, data.length, queryBuf, query.length, warp_width, verbose, location, distance)
[location.read_long_long, distance.read_double]
end
|