cfasttext_sys/
binding.rs

1/* automatically generated by rust-bindgen */
2
3#[repr(C)]
4#[derive(Debug, Copy, Clone)]
5pub struct fasttext_t {
6    _unused: [u8; 0],
7}
8#[repr(C)]
9#[derive(Debug, Copy, Clone)]
10pub struct fasttext_args_t {
11    _unused: [u8; 0],
12}
13#[repr(C)]
14#[derive(Debug, Copy, Clone)]
15pub struct fasttext_autotune_t {
16    _unused: [u8; 0],
17}
18#[repr(C)]
19#[derive(Debug, Copy, Clone)]
20pub struct fasttext_prediction_t {
21    pub prob: f32,
22    pub label: *mut ::std::os::raw::c_char,
23}
24#[repr(C)]
25#[derive(Debug, Copy, Clone)]
26pub struct fasttext_predictions_t {
27    pub predictions: *mut fasttext_prediction_t,
28    pub length: usize,
29}
30#[repr(C)]
31#[derive(Debug, Copy, Clone)]
32pub struct fasttext_tokens_t {
33    pub tokens: *mut *mut ::std::os::raw::c_char,
34    pub length: usize,
35}
36#[repr(C)]
37#[derive(Debug, Copy, Clone)]
38pub struct fasttext_words_t {
39    pub words: *const i32,
40    pub length: usize,
41}
42#[repr(C)]
43#[derive(Debug, Copy, Clone)]
44pub struct fasttext_vocab_t {
45    pub words: *mut *mut ::std::os::raw::c_char,
46    pub freqs: *const i64,
47    pub length: usize,
48}
49#[repr(C)]
50#[derive(Debug, Copy, Clone)]
51pub struct fasttext_labels_t {
52    pub labels: *mut *mut ::std::os::raw::c_char,
53    pub freqs: *const i64,
54    pub length: usize,
55}
56#[repr(u32)]
57#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
58pub enum model_name_t {
59    MODEL_CBOW = 1,
60    MODEL_SG = 2,
61    MODEL_SUP = 3,
62}
63#[repr(u32)]
64#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
65pub enum loss_name_t {
66    LOSS_HS = 1,
67    LOSS_NS = 2,
68    LOSS_SOFTMAX = 3,
69    LOSS_OVA = 4,
70}
71#[repr(u32)]
72#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
73pub enum metric_name_t {
74    F1_SCORE = 1,
75    LABEL_F1_SCORE = 2,
76}
77
78extern "C" {
79    pub fn cft_str_free(s: *mut ::std::os::raw::c_char);
80    pub fn cft_args_new() -> *mut fasttext_args_t;
81    pub fn cft_args_parse(
82        handle: *mut fasttext_args_t,
83        argc: ::std::os::raw::c_int,
84        argv: *mut *mut ::std::os::raw::c_char,
85    );
86    pub fn cft_args_free(handle: *mut fasttext_args_t);
87    pub fn cft_args_get_input(handle: *mut fasttext_args_t) -> *const ::std::os::raw::c_char;
88    pub fn cft_args_set_input(handle: *mut fasttext_args_t, input: *const ::std::os::raw::c_char);
89    pub fn cft_args_get_output(handle: *mut fasttext_args_t) -> *const ::std::os::raw::c_char;
90    pub fn cft_args_set_output(handle: *mut fasttext_args_t, output: *const ::std::os::raw::c_char);
91    pub fn cft_args_get_lr(handle: *mut fasttext_args_t) -> ::std::os::raw::c_double;
92    pub fn cft_args_set_lr(handle: *mut fasttext_args_t, lr: ::std::os::raw::c_double);
93    pub fn cft_args_get_lr_update_rate(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
94    pub fn cft_args_set_lr_update_rate(handle: *mut fasttext_args_t, lr: ::std::os::raw::c_int);
95    pub fn cft_args_get_dim(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
96    pub fn cft_args_set_dim(handle: *mut fasttext_args_t, dim: ::std::os::raw::c_int);
97    pub fn cft_args_get_ws(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
98    pub fn cft_args_set_ws(handle: *mut fasttext_args_t, ws: ::std::os::raw::c_int);
99    pub fn cft_args_get_epoch(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
100    pub fn cft_args_set_epoch(handle: *mut fasttext_args_t, epoch: ::std::os::raw::c_int);
101    pub fn cft_args_get_thread(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
102    pub fn cft_args_set_thread(handle: *mut fasttext_args_t, thread: ::std::os::raw::c_int);
103    pub fn cft_args_get_model(handle: *mut fasttext_args_t) -> model_name_t;
104    pub fn cft_args_set_model(handle: *mut fasttext_args_t, model: model_name_t);
105    pub fn cft_args_get_loss(handle: *mut fasttext_args_t) -> loss_name_t;
106    pub fn cft_args_set_loss(handle: *mut fasttext_args_t, loss: loss_name_t);
107    pub fn cft_args_get_min_count(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
108    pub fn cft_args_set_min_count(handle: *mut fasttext_args_t, min_count: ::std::os::raw::c_int);
109    pub fn cft_args_get_min_count_label(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
110    pub fn cft_args_set_min_count_label(
111        handle: *mut fasttext_args_t,
112        min_count: ::std::os::raw::c_int,
113    );
114    pub fn cft_args_get_neg(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
115    pub fn cft_args_set_neg(handle: *mut fasttext_args_t, neg: ::std::os::raw::c_int);
116    pub fn cft_args_get_word_ngrams(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
117    pub fn cft_args_set_word_ngrams(handle: *mut fasttext_args_t, ngrams: ::std::os::raw::c_int);
118    pub fn cft_args_get_bucket(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
119    pub fn cft_args_set_bucket(handle: *mut fasttext_args_t, bucket: ::std::os::raw::c_int);
120    pub fn cft_args_get_minn(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
121    pub fn cft_args_set_minn(handle: *mut fasttext_args_t, minn: ::std::os::raw::c_int);
122    pub fn cft_args_get_maxn(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
123    pub fn cft_args_set_maxn(handle: *mut fasttext_args_t, maxn: ::std::os::raw::c_int);
124    pub fn cft_args_get_t(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
125    pub fn cft_args_set_t(handle: *mut fasttext_args_t, t: ::std::os::raw::c_int);
126    pub fn cft_args_get_verbose(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
127    pub fn cft_args_set_verbose(handle: *mut fasttext_args_t, verbose: ::std::os::raw::c_int);
128    pub fn cft_args_get_label(handle: *mut fasttext_args_t) -> *const ::std::os::raw::c_char;
129    pub fn cft_args_set_label(handle: *mut fasttext_args_t, label: *const ::std::os::raw::c_char);
130    pub fn cft_args_get_save_output(handle: *mut fasttext_args_t) -> bool;
131    pub fn cft_args_set_save_output(handle: *mut fasttext_args_t, save_output: bool);
132    pub fn cft_args_get_qout(handle: *mut fasttext_args_t) -> bool;
133    pub fn cft_args_set_qout(handle: *mut fasttext_args_t, qout: bool);
134    pub fn cft_args_get_retrain(handle: *mut fasttext_args_t) -> bool;
135    pub fn cft_args_set_retrain(handle: *mut fasttext_args_t, retrain: bool);
136    pub fn cft_args_get_qnorm(handle: *mut fasttext_args_t) -> bool;
137    pub fn cft_args_set_qnorm(handle: *mut fasttext_args_t, qnorm: bool);
138    pub fn cft_args_get_cutoff(handle: *mut fasttext_args_t) -> usize;
139    pub fn cft_args_set_cutoff(handle: *mut fasttext_args_t, cutoff: usize);
140    pub fn cft_args_get_dsub(handle: *mut fasttext_args_t) -> usize;
141    pub fn cft_args_set_dsub(handle: *mut fasttext_args_t, dsub: usize);
142    pub fn cft_args_get_pretrained_vectors(
143        handle: *mut fasttext_args_t,
144    ) -> *const ::std::os::raw::c_char;
145    pub fn cft_args_set_pretrained_vectors(
146        handle: *mut fasttext_args_t,
147        vectors: *const ::std::os::raw::c_char,
148    );
149    pub fn cft_args_get_seed(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
150    pub fn cft_args_set_seed(handle: *mut fasttext_args_t, seed: ::std::os::raw::c_int);
151    pub fn cft_args_get_autotune_validation_file(
152        handle: *mut fasttext_args_t,
153    ) -> *const ::std::os::raw::c_char;
154    pub fn cft_args_set_autotune_validation_file(
155        handle: *mut fasttext_args_t,
156        autotune_validation_file: *const ::std::os::raw::c_char,
157    );
158    pub fn cft_args_get_autotune_metric(handle: *mut fasttext_args_t) -> metric_name_t;
159    pub fn cft_args_get_autotune_metric_label(
160        handle: *mut fasttext_args_t,
161    ) -> *const ::std::os::raw::c_char;
162    pub fn cft_args_get_autotune_model_size(handle: *mut fasttext_args_t) -> i64;
163    pub fn cft_args_has_autotune(handle: *mut fasttext_args_t) -> bool;
164    pub fn cft_args_get_autotune_predictions(handle: *mut fasttext_args_t)
165        -> ::std::os::raw::c_int;
166    pub fn cft_args_set_autotune_predictions(
167        handle: *mut fasttext_args_t,
168        autotune_predictions: ::std::os::raw::c_int,
169    );
170    pub fn cft_args_get_autotune_duration(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
171    pub fn cft_args_set_autotune_duration(
172        handle: *mut fasttext_args_t,
173        autotune_duration: ::std::os::raw::c_int,
174    );
175    pub fn cft_args_print_help(handle: *mut fasttext_args_t);
176    pub fn cft_args_print_basic_help(handle: *mut fasttext_args_t);
177    pub fn cft_args_print_dictionary_help(handle: *mut fasttext_args_t);
178    pub fn cft_args_print_training_help(handle: *mut fasttext_args_t);
179    pub fn cft_args_print_quantization_help(handle: *mut fasttext_args_t);
180
181    pub fn cft_fasttext_new() -> *mut fasttext_t;
182    pub fn cft_fasttext_free(handle: *mut fasttext_t);
183    pub fn cft_fasttext_get_args(handle: *mut fasttext_t) -> *mut fasttext_args_t;
184    pub fn cft_fasttext_load_model(
185        handle: *mut fasttext_t,
186        filename: *const ::std::os::raw::c_char,
187        errptr: *mut *mut ::std::os::raw::c_char,
188    );
189    pub fn cft_fasttext_save_model(
190        handle: *mut fasttext_t,
191        filename: *const ::std::os::raw::c_char,
192        errptr: *mut *mut ::std::os::raw::c_char,
193    );
194    pub fn cft_fasttext_save_output(
195        handle: *mut fasttext_t,
196        filename: *const ::std::os::raw::c_char,
197        errptr: *mut *mut ::std::os::raw::c_char,
198    );
199    pub fn cft_fasttext_save_vectors(
200        handle: *mut fasttext_t,
201        filename: *const ::std::os::raw::c_char,
202        errptr: *mut *mut ::std::os::raw::c_char,
203    );
204    pub fn cft_fasttext_get_dimension(handle: *mut fasttext_t) -> ::std::os::raw::c_int;
205    pub fn cft_fasttext_get_word_id(
206        handle: *mut fasttext_t,
207        word: *const ::std::os::raw::c_char,
208    ) -> i32;
209    pub fn cft_fasttext_get_subword_id(
210        handle: *mut fasttext_t,
211        word: *const ::std::os::raw::c_char,
212    ) -> i32;
213    pub fn cft_fasttext_is_quant(handle: *mut fasttext_t) -> bool;
214    pub fn cft_fasttext_train(
215        handle: *mut fasttext_t,
216        args: *mut fasttext_args_t,
217        errptr: *mut *mut ::std::os::raw::c_char,
218    );
219    pub fn cft_fasttext_predict(
220        handle: *mut fasttext_t,
221        text: *const ::std::os::raw::c_char,
222        k: i32,
223        threshold: f32,
224        errptr: *mut *mut ::std::os::raw::c_char,
225    ) -> *mut fasttext_predictions_t;
226    pub fn cft_fasttext_predict_on_words(
227        handle: *mut fasttext_t,
228        words: *const fasttext_words_t,
229        k: i32,
230        threshold: f32,
231        errptr: *mut *mut ::std::os::raw::c_char,
232    ) -> *mut fasttext_predictions_t;
233    pub fn cft_fasttext_predictions_free(predictions: *mut fasttext_predictions_t);
234    pub fn cft_fasttext_get_vocab(handle: *mut fasttext_t) -> *mut fasttext_vocab_t;
235    pub fn cft_fasttext_vocab_free(labels: *mut fasttext_vocab_t);
236    pub fn cft_fasttext_get_labels(handle: *mut fasttext_t) -> *mut fasttext_labels_t;
237    pub fn cft_fasttext_labels_free(labels: *mut fasttext_labels_t);
238    pub fn cft_fasttext_quantize(
239        handle: *mut fasttext_t,
240        args: *mut fasttext_args_t,
241        errptr: *mut *mut ::std::os::raw::c_char,
242    );
243    pub fn cft_fasttext_get_word_vector(
244        handle: *mut fasttext_t,
245        word: *const ::std::os::raw::c_char,
246        buf: *mut ::std::os::raw::c_float,
247    );
248    pub fn cft_fasttext_get_sentence_vector(
249        handle: *mut fasttext_t,
250        sentence: *const ::std::os::raw::c_char,
251        buf: *mut ::std::os::raw::c_float,
252    );
253    pub fn cft_fasttext_abort(handle: *mut fasttext_t);
254    pub fn cft_fasttext_tokenize(
255        handle: *mut fasttext_t,
256        text: *const ::std::os::raw::c_char,
257    ) -> *mut fasttext_tokens_t;
258    pub fn cft_fasttext_tokens_free(tokens: *mut fasttext_tokens_t);
259    pub fn cft_autotune_new(handle: *mut fasttext_t) -> *mut fasttext_autotune_t;
260    pub fn cft_autotune_free(handle: *mut fasttext_autotune_t);
261    pub fn cft_autotune_train(
262        handle: *mut fasttext_autotune_t,
263        args: *mut fasttext_args_t,
264        errptr: *mut *mut ::std::os::raw::c_char,
265    );
266}