cfasttext-sys 0.7.8

fastText ffi binding
Documentation
/* automatically generated by rust-bindgen */

#[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,
    );
}