Class: Rcf::Forest
- Inherits:
-
Object
- Object
- Rcf::Forest
- Defined in:
- lib/rcf/forest.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(dimensions, shingle_size: 1, sample_size: 256, number_of_trees: 100, random_seed: 42, parallel: false) ⇒ Forest
constructor
A new instance of Forest.
- #score(point) ⇒ Object
- #update(point) ⇒ Object
Constructor Details
#initialize(dimensions, shingle_size: 1, sample_size: 256, number_of_trees: 100, random_seed: 42, parallel: false) ⇒ Forest
Returns a new instance of Forest.
3 4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/rcf/forest.rb', line 3 def initialize(dimensions, shingle_size: 1, sample_size: 256, number_of_trees: 100, random_seed: 42, parallel: false) @dimensions = dimensions @pointer = FFI.rcf_create(dimensions) ObjectSpace.define_finalizer(self, self.class.finalize(@pointer)) set_param("shingle_size", shingle_size) set_param("sample_size", sample_size) set_param("number_of_trees", number_of_trees) set_param("random_seed", random_seed) set_param("parallel", parallel) end |
Class Method Details
.finalize(pointer) ⇒ Object
24 25 26 27 |
# File 'lib/rcf/forest.rb', line 24 def self.finalize(pointer) # must use proc instead of stabby lambda proc { FFI.rcf_free(pointer) } end |
Instance Method Details
#score(point) ⇒ Object
16 17 18 |
# File 'lib/rcf/forest.rb', line 16 def score(point) FFI.rcf_score(@pointer, point_ptr(point)) end |
#update(point) ⇒ Object
20 21 22 |
# File 'lib/rcf/forest.rb', line 20 def update(point) FFI.rcf_update(@pointer, point_ptr(point)) end |