#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fasttext_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fasttext_args_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fasttext_autotune_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fasttext_prediction_t {
pub prob: f32,
pub label: *mut ::std::os::raw::c_char,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fasttext_predictions_t {
pub predictions: *mut fasttext_prediction_t,
pub length: usize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fasttext_tokens_t {
pub tokens: *mut *mut ::std::os::raw::c_char,
pub length: usize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fasttext_words_t {
pub words: *const i32,
pub length: usize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fasttext_vocab_t {
pub words: *mut *mut ::std::os::raw::c_char,
pub freqs: *const i64,
pub length: usize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fasttext_labels_t {
pub labels: *mut *mut ::std::os::raw::c_char,
pub freqs: *const i64,
pub length: usize,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum model_name_t {
MODEL_CBOW = 1,
MODEL_SG = 2,
MODEL_SUP = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum loss_name_t {
LOSS_HS = 1,
LOSS_NS = 2,
LOSS_SOFTMAX = 3,
LOSS_OVA = 4,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum metric_name_t {
F1_SCORE = 1,
LABEL_F1_SCORE = 2,
}
extern "C" {
pub fn cft_str_free(s: *mut ::std::os::raw::c_char);
pub fn cft_args_new() -> *mut fasttext_args_t;
pub fn cft_args_parse(
handle: *mut fasttext_args_t,
argc: ::std::os::raw::c_int,
argv: *mut *mut ::std::os::raw::c_char,
);
pub fn cft_args_free(handle: *mut fasttext_args_t);
pub fn cft_args_get_input(handle: *mut fasttext_args_t) -> *const ::std::os::raw::c_char;
pub fn cft_args_set_input(handle: *mut fasttext_args_t, input: *const ::std::os::raw::c_char);
pub fn cft_args_get_output(handle: *mut fasttext_args_t) -> *const ::std::os::raw::c_char;
pub fn cft_args_set_output(handle: *mut fasttext_args_t, output: *const ::std::os::raw::c_char);
pub fn cft_args_get_lr(handle: *mut fasttext_args_t) -> ::std::os::raw::c_double;
pub fn cft_args_set_lr(handle: *mut fasttext_args_t, lr: ::std::os::raw::c_double);
pub fn cft_args_get_lr_update_rate(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_lr_update_rate(handle: *mut fasttext_args_t, lr: ::std::os::raw::c_int);
pub fn cft_args_get_dim(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_dim(handle: *mut fasttext_args_t, dim: ::std::os::raw::c_int);
pub fn cft_args_get_ws(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_ws(handle: *mut fasttext_args_t, ws: ::std::os::raw::c_int);
pub fn cft_args_get_epoch(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_epoch(handle: *mut fasttext_args_t, epoch: ::std::os::raw::c_int);
pub fn cft_args_get_thread(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_thread(handle: *mut fasttext_args_t, thread: ::std::os::raw::c_int);
pub fn cft_args_get_model(handle: *mut fasttext_args_t) -> model_name_t;
pub fn cft_args_set_model(handle: *mut fasttext_args_t, model: model_name_t);
pub fn cft_args_get_loss(handle: *mut fasttext_args_t) -> loss_name_t;
pub fn cft_args_set_loss(handle: *mut fasttext_args_t, loss: loss_name_t);
pub fn cft_args_get_min_count(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_min_count(handle: *mut fasttext_args_t, min_count: ::std::os::raw::c_int);
pub fn cft_args_get_min_count_label(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_min_count_label(
handle: *mut fasttext_args_t,
min_count: ::std::os::raw::c_int,
);
pub fn cft_args_get_neg(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_neg(handle: *mut fasttext_args_t, neg: ::std::os::raw::c_int);
pub fn cft_args_get_word_ngrams(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_word_ngrams(handle: *mut fasttext_args_t, ngrams: ::std::os::raw::c_int);
pub fn cft_args_get_bucket(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_bucket(handle: *mut fasttext_args_t, bucket: ::std::os::raw::c_int);
pub fn cft_args_get_minn(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_minn(handle: *mut fasttext_args_t, minn: ::std::os::raw::c_int);
pub fn cft_args_get_maxn(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_maxn(handle: *mut fasttext_args_t, maxn: ::std::os::raw::c_int);
pub fn cft_args_get_t(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_t(handle: *mut fasttext_args_t, t: ::std::os::raw::c_int);
pub fn cft_args_get_verbose(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_verbose(handle: *mut fasttext_args_t, verbose: ::std::os::raw::c_int);
pub fn cft_args_get_label(handle: *mut fasttext_args_t) -> *const ::std::os::raw::c_char;
pub fn cft_args_set_label(handle: *mut fasttext_args_t, label: *const ::std::os::raw::c_char);
pub fn cft_args_get_save_output(handle: *mut fasttext_args_t) -> bool;
pub fn cft_args_set_save_output(handle: *mut fasttext_args_t, save_output: bool);
pub fn cft_args_get_qout(handle: *mut fasttext_args_t) -> bool;
pub fn cft_args_set_qout(handle: *mut fasttext_args_t, qout: bool);
pub fn cft_args_get_retrain(handle: *mut fasttext_args_t) -> bool;
pub fn cft_args_set_retrain(handle: *mut fasttext_args_t, retrain: bool);
pub fn cft_args_get_qnorm(handle: *mut fasttext_args_t) -> bool;
pub fn cft_args_set_qnorm(handle: *mut fasttext_args_t, qnorm: bool);
pub fn cft_args_get_cutoff(handle: *mut fasttext_args_t) -> usize;
pub fn cft_args_set_cutoff(handle: *mut fasttext_args_t, cutoff: usize);
pub fn cft_args_get_dsub(handle: *mut fasttext_args_t) -> usize;
pub fn cft_args_set_dsub(handle: *mut fasttext_args_t, dsub: usize);
pub fn cft_args_get_pretrained_vectors(
handle: *mut fasttext_args_t,
) -> *const ::std::os::raw::c_char;
pub fn cft_args_set_pretrained_vectors(
handle: *mut fasttext_args_t,
vectors: *const ::std::os::raw::c_char,
);
pub fn cft_args_get_seed(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_seed(handle: *mut fasttext_args_t, seed: ::std::os::raw::c_int);
pub fn cft_args_get_autotune_validation_file(
handle: *mut fasttext_args_t,
) -> *const ::std::os::raw::c_char;
pub fn cft_args_set_autotune_validation_file(
handle: *mut fasttext_args_t,
autotune_validation_file: *const ::std::os::raw::c_char,
);
pub fn cft_args_get_autotune_metric(handle: *mut fasttext_args_t) -> metric_name_t;
pub fn cft_args_get_autotune_metric_label(
handle: *mut fasttext_args_t,
) -> *const ::std::os::raw::c_char;
pub fn cft_args_get_autotune_model_size(handle: *mut fasttext_args_t) -> i64;
pub fn cft_args_has_autotune(handle: *mut fasttext_args_t) -> bool;
pub fn cft_args_get_autotune_predictions(handle: *mut fasttext_args_t)
-> ::std::os::raw::c_int;
pub fn cft_args_set_autotune_predictions(
handle: *mut fasttext_args_t,
autotune_predictions: ::std::os::raw::c_int,
);
pub fn cft_args_get_autotune_duration(handle: *mut fasttext_args_t) -> ::std::os::raw::c_int;
pub fn cft_args_set_autotune_duration(
handle: *mut fasttext_args_t,
autotune_duration: ::std::os::raw::c_int,
);
pub fn cft_args_print_help(handle: *mut fasttext_args_t);
pub fn cft_args_print_basic_help(handle: *mut fasttext_args_t);
pub fn cft_args_print_dictionary_help(handle: *mut fasttext_args_t);
pub fn cft_args_print_training_help(handle: *mut fasttext_args_t);
pub fn cft_args_print_quantization_help(handle: *mut fasttext_args_t);
pub fn cft_fasttext_new() -> *mut fasttext_t;
pub fn cft_fasttext_free(handle: *mut fasttext_t);
pub fn cft_fasttext_get_args(handle: *mut fasttext_t) -> *mut fasttext_args_t;
pub fn cft_fasttext_load_model(
handle: *mut fasttext_t,
filename: *const ::std::os::raw::c_char,
errptr: *mut *mut ::std::os::raw::c_char,
);
pub fn cft_fasttext_save_model(
handle: *mut fasttext_t,
filename: *const ::std::os::raw::c_char,
errptr: *mut *mut ::std::os::raw::c_char,
);
pub fn cft_fasttext_save_output(
handle: *mut fasttext_t,
filename: *const ::std::os::raw::c_char,
errptr: *mut *mut ::std::os::raw::c_char,
);
pub fn cft_fasttext_save_vectors(
handle: *mut fasttext_t,
filename: *const ::std::os::raw::c_char,
errptr: *mut *mut ::std::os::raw::c_char,
);
pub fn cft_fasttext_get_dimension(handle: *mut fasttext_t) -> ::std::os::raw::c_int;
pub fn cft_fasttext_get_word_id(
handle: *mut fasttext_t,
word: *const ::std::os::raw::c_char,
) -> i32;
pub fn cft_fasttext_get_subword_id(
handle: *mut fasttext_t,
word: *const ::std::os::raw::c_char,
) -> i32;
pub fn cft_fasttext_is_quant(handle: *mut fasttext_t) -> bool;
pub fn cft_fasttext_train(
handle: *mut fasttext_t,
args: *mut fasttext_args_t,
errptr: *mut *mut ::std::os::raw::c_char,
);
pub fn cft_fasttext_predict(
handle: *mut fasttext_t,
text: *const ::std::os::raw::c_char,
k: i32,
threshold: f32,
errptr: *mut *mut ::std::os::raw::c_char,
) -> *mut fasttext_predictions_t;
pub fn cft_fasttext_predict_on_words(
handle: *mut fasttext_t,
words: *const fasttext_words_t,
k: i32,
threshold: f32,
errptr: *mut *mut ::std::os::raw::c_char,
) -> *mut fasttext_predictions_t;
pub fn cft_fasttext_predictions_free(predictions: *mut fasttext_predictions_t);
pub fn cft_fasttext_get_vocab(handle: *mut fasttext_t) -> *mut fasttext_vocab_t;
pub fn cft_fasttext_vocab_free(labels: *mut fasttext_vocab_t);
pub fn cft_fasttext_get_labels(handle: *mut fasttext_t) -> *mut fasttext_labels_t;
pub fn cft_fasttext_labels_free(labels: *mut fasttext_labels_t);
pub fn cft_fasttext_quantize(
handle: *mut fasttext_t,
args: *mut fasttext_args_t,
errptr: *mut *mut ::std::os::raw::c_char,
);
pub fn cft_fasttext_get_word_vector(
handle: *mut fasttext_t,
word: *const ::std::os::raw::c_char,
buf: *mut ::std::os::raw::c_float,
);
pub fn cft_fasttext_get_sentence_vector(
handle: *mut fasttext_t,
sentence: *const ::std::os::raw::c_char,
buf: *mut ::std::os::raw::c_float,
);
pub fn cft_fasttext_abort(handle: *mut fasttext_t);
pub fn cft_fasttext_tokenize(
handle: *mut fasttext_t,
text: *const ::std::os::raw::c_char,
) -> *mut fasttext_tokens_t;
pub fn cft_fasttext_tokens_free(tokens: *mut fasttext_tokens_t);
pub fn cft_autotune_new(handle: *mut fasttext_t) -> *mut fasttext_autotune_t;
pub fn cft_autotune_free(handle: *mut fasttext_autotune_t);
pub fn cft_autotune_train(
handle: *mut fasttext_autotune_t,
args: *mut fasttext_args_t,
errptr: *mut *mut ::std::os::raw::c_char,
);
}