Module: Khiva::Dimensionality

Defined in:
lib/khiva/dimensionality.rb

Class Method Summary collapse

Class Method Details

.paa(a, bins) ⇒ Object



4
5
6
7
8
# File 'lib/khiva/dimensionality.rb', line 4

def paa(a, bins)
  result = Utils.create_ptr
  FFI.call(:paa, a, Utils.int_ptr(bins), result)
  Array.new(result)
end

.pip(a, number_ips) ⇒ Object



10
11
12
13
14
# File 'lib/khiva/dimensionality.rb', line 10

def pip(a, number_ips)
  result = Utils.create_ptr
  FFI.call(:pip, a, Utils.int_ptr(number_ips), result)
  Array.new(result)
end

.pla_bottom_up(a, max_error) ⇒ Object



16
17
18
19
20
# File 'lib/khiva/dimensionality.rb', line 16

def pla_bottom_up(a, max_error)
  result = Utils.create_ptr
  FFI.call(:pla_bottom_up, a, Utils.float_ptr(max_error), result)
  Array.new(result)
end

.pla_sliding_window(a, max_error) ⇒ Object



22
23
24
25
26
# File 'lib/khiva/dimensionality.rb', line 22

def pla_sliding_window(a, max_error)
  result = Utils.create_ptr
  FFI.call(:pla_sliding_window, a, Utils.float_ptr(max_error), result)
  Array.new(result)
end

.ramer_douglas_peucker(a, epsilon) ⇒ Object



28
29
30
31
32
# File 'lib/khiva/dimensionality.rb', line 28

def ramer_douglas_peucker(a, epsilon)
  result = Utils.create_ptr
  FFI.call(:ramer_douglas_peucker, a, Utils.double_ptr(epsilon), result)
  Array.new(result)
end

.sax(a, alphabet_size) ⇒ Object



34
35
36
37
38
# File 'lib/khiva/dimensionality.rb', line 34

def sax(a, alphabet_size)
  result = Utils.create_ptr
  FFI.call(:sax, a, Utils.int_ptr(alphabet_size), result)
  Array.new(result)
end

.visvalingam(a, num_points) ⇒ Object



40
41
42
43
44
# File 'lib/khiva/dimensionality.rb', line 40

def visvalingam(a, num_points)
  result = Utils.create_ptr
  FFI.call(:visvalingam, a, Utils.int_ptr(num_points), result)
  Array.new(result)
end