/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 4.0.2
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package com.twitter.ann.faiss;
import com.twitter.ann.faiss.NativeUtils;
public class swigfaissJNI {

  static {
    try {
      if (NativeUtils.getOperatingSystemType() == NativeUtils.OSType.MacOS) {
        NativeUtils.loadLibraryFromJar("/com/twitter/ann/faiss/swig/resources/swigfaiss.dylib");
      } else {
        NativeUtils.loadLibraryFromJar("/com/twitter/ann/faiss/swig/resources/libstdc++.so.6");
        NativeUtils.loadLibraryFromJar("/com/twitter/ann/faiss/swig/resources/libgcc_s.so.1");
        NativeUtils.loadLibraryFromJar("/com/twitter/ann/faiss/swig/resources/libgomp.so.1");
        NativeUtils.loadLibraryFromJar("/com/twitter/ann/faiss/swig/resources/libquadmath.so.0");
        NativeUtils.loadLibraryFromJar("/com/twitter/ann/faiss/swig/resources/libgfortran.so.5");
        NativeUtils.loadLibraryFromJar("/com/twitter/ann/faiss/swig/resources/swigfaiss.so");
      }
    } catch (Exception e) {
      System.err.println("Native code library failed to load. \n" + e);
      System.exit(1);
    }
  }

  public final static native long new_intArray(int jarg1);
  public final static native void delete_intArray(long jarg1);
  public final static native int intArray_getitem(long jarg1, intArray jarg1_, int jarg2);
  public final static native void intArray_setitem(long jarg1, intArray jarg1_, int jarg2, int jarg3);
  public final static native long intArray_cast(long jarg1, intArray jarg1_);
  public final static native long intArray_frompointer(long jarg1);
  public final static native long new_floatArray(int jarg1);
  public final static native void delete_floatArray(long jarg1);
  public final static native float floatArray_getitem(long jarg1, floatArray jarg1_, int jarg2);
  public final static native void floatArray_setitem(long jarg1, floatArray jarg1_, int jarg2, float jarg3);
  public final static native long floatArray_cast(long jarg1, floatArray jarg1_);
  public final static native long floatArray_frompointer(long jarg1);
  public final static native long new_longArray(int jarg1);
  public final static native void delete_longArray(long jarg1);
  public final static native long longArray_getitem(long jarg1, longArray jarg1_, int jarg2);
  public final static native void longArray_setitem(long jarg1, longArray jarg1_, int jarg2, long jarg3);
  public final static native long longArray_cast(long jarg1, longArray jarg1_);
  public final static native long longArray_frompointer(long jarg1);
  public final static native long new_doubleArray(int jarg1);
  public final static native void delete_doubleArray(long jarg1);
  public final static native double doubleArray_getitem(long jarg1, doubleArray jarg1_, int jarg2);
  public final static native void doubleArray_setitem(long jarg1, doubleArray jarg1_, int jarg2, double jarg3);
  public final static native long doubleArray_cast(long jarg1, doubleArray jarg1_);
  public final static native long doubleArray_frompointer(long jarg1);
  public final static native long new_FloatVector();
  public final static native void FloatVector_push_back(long jarg1, FloatVector jarg1_, float jarg2);
  public final static native void FloatVector_clear(long jarg1, FloatVector jarg1_);
  public final static native long FloatVector_data(long jarg1, FloatVector jarg1_);
  public final static native long FloatVector_size(long jarg1, FloatVector jarg1_);
  public final static native float FloatVector_at(long jarg1, FloatVector jarg1_, long jarg2);
  public final static native void FloatVector_resize(long jarg1, FloatVector jarg1_, long jarg2);
  public final static native void FloatVector_reserve(long jarg1, FloatVector jarg1_, long jarg2);
  public final static native void FloatVector_swap(long jarg1, FloatVector jarg1_, long jarg2, FloatVector jarg2_);
  public final static native void delete_FloatVector(long jarg1);
  public final static native long new_DoubleVector();
  public final static native void DoubleVector_push_back(long jarg1, DoubleVector jarg1_, double jarg2);
  public final static native void DoubleVector_clear(long jarg1, DoubleVector jarg1_);
  public final static native long DoubleVector_data(long jarg1, DoubleVector jarg1_);
  public final static native long DoubleVector_size(long jarg1, DoubleVector jarg1_);
  public final static native double DoubleVector_at(long jarg1, DoubleVector jarg1_, long jarg2);
  public final static native void DoubleVector_resize(long jarg1, DoubleVector jarg1_, long jarg2);
  public final static native void DoubleVector_reserve(long jarg1, DoubleVector jarg1_, long jarg2);
  public final static native void DoubleVector_swap(long jarg1, DoubleVector jarg1_, long jarg2, DoubleVector jarg2_);
  public final static native void delete_DoubleVector(long jarg1);
  public final static native long new_ByteVector();
  public final static native void ByteVector_push_back(long jarg1, ByteVector jarg1_, short jarg2);
  public final static native void ByteVector_clear(long jarg1, ByteVector jarg1_);
  public final static native long ByteVector_data(long jarg1, ByteVector jarg1_);
  public final static native long ByteVector_size(long jarg1, ByteVector jarg1_);
  public final static native short ByteVector_at(long jarg1, ByteVector jarg1_, long jarg2);
  public final static native void ByteVector_resize(long jarg1, ByteVector jarg1_, long jarg2);
  public final static native void ByteVector_reserve(long jarg1, ByteVector jarg1_, long jarg2);
  public final static native void ByteVector_swap(long jarg1, ByteVector jarg1_, long jarg2, ByteVector jarg2_);
  public final static native void delete_ByteVector(long jarg1);
  public final static native long new_CharVector();
  public final static native void CharVector_push_back(long jarg1, CharVector jarg1_, char jarg2);
  public final static native void CharVector_clear(long jarg1, CharVector jarg1_);
  public final static native String CharVector_data(long jarg1, CharVector jarg1_);
  public final static native long CharVector_size(long jarg1, CharVector jarg1_);
  public final static native char CharVector_at(long jarg1, CharVector jarg1_, long jarg2);
  public final static native void CharVector_resize(long jarg1, CharVector jarg1_, long jarg2);
  public final static native void CharVector_reserve(long jarg1, CharVector jarg1_, long jarg2);
  public final static native void CharVector_swap(long jarg1, CharVector jarg1_, long jarg2, CharVector jarg2_);
  public final static native void delete_CharVector(long jarg1);
  public final static native long new_Uint64Vector();
  public final static native void Uint64Vector_push_back(long jarg1, Uint64Vector jarg1_, long jarg2);
  public final static native void Uint64Vector_clear(long jarg1, Uint64Vector jarg1_);
  public final static native long Uint64Vector_data(long jarg1, Uint64Vector jarg1_);
  public final static native long Uint64Vector_size(long jarg1, Uint64Vector jarg1_);
  public final static native long Uint64Vector_at(long jarg1, Uint64Vector jarg1_, long jarg2);
  public final static native void Uint64Vector_resize(long jarg1, Uint64Vector jarg1_, long jarg2);
  public final static native void Uint64Vector_reserve(long jarg1, Uint64Vector jarg1_, long jarg2);
  public final static native void Uint64Vector_swap(long jarg1, Uint64Vector jarg1_, long jarg2, Uint64Vector jarg2_);
  public final static native void delete_Uint64Vector(long jarg1);
  public final static native long new_LongVector();
  public final static native void LongVector_push_back(long jarg1, LongVector jarg1_, long jarg2);
  public final static native void LongVector_clear(long jarg1, LongVector jarg1_);
  public final static native long LongVector_data(long jarg1, LongVector jarg1_);
  public final static native long LongVector_size(long jarg1, LongVector jarg1_);
  public final static native long LongVector_at(long jarg1, LongVector jarg1_, long jarg2);
  public final static native void LongVector_resize(long jarg1, LongVector jarg1_, long jarg2);
  public final static native void LongVector_reserve(long jarg1, LongVector jarg1_, long jarg2);
  public final static native void LongVector_swap(long jarg1, LongVector jarg1_, long jarg2, LongVector jarg2_);
  public final static native void delete_LongVector(long jarg1);
  public final static native long new_IntVector();
  public final static native void IntVector_push_back(long jarg1, IntVector jarg1_, int jarg2);
  public final static native void IntVector_clear(long jarg1, IntVector jarg1_);
  public final static native long IntVector_data(long jarg1, IntVector jarg1_);
  public final static native long IntVector_size(long jarg1, IntVector jarg1_);
  public final static native int IntVector_at(long jarg1, IntVector jarg1_, long jarg2);
  public final static native void IntVector_resize(long jarg1, IntVector jarg1_, long jarg2);
  public final static native void IntVector_reserve(long jarg1, IntVector jarg1_, long jarg2);
  public final static native void IntVector_swap(long jarg1, IntVector jarg1_, long jarg2, IntVector jarg2_);
  public final static native void delete_IntVector(long jarg1);
  public final static native long new_VectorTransformVector();
  public final static native void VectorTransformVector_push_back(long jarg1, VectorTransformVector jarg1_, long jarg2, VectorTransform jarg2_);
  public final static native void VectorTransformVector_clear(long jarg1, VectorTransformVector jarg1_);
  public final static native long VectorTransformVector_data(long jarg1, VectorTransformVector jarg1_);
  public final static native long VectorTransformVector_size(long jarg1, VectorTransformVector jarg1_);
  public final static native long VectorTransformVector_at(long jarg1, VectorTransformVector jarg1_, long jarg2);
  public final static native void VectorTransformVector_resize(long jarg1, VectorTransformVector jarg1_, long jarg2);
  public final static native void VectorTransformVector_reserve(long jarg1, VectorTransformVector jarg1_, long jarg2);
  public final static native void VectorTransformVector_swap(long jarg1, VectorTransformVector jarg1_, long jarg2, VectorTransformVector jarg2_);
  public final static native void delete_VectorTransformVector(long jarg1);
  public final static native long new_OperatingPointVector();
  public final static native void OperatingPointVector_push_back(long jarg1, OperatingPointVector jarg1_, long jarg2, OperatingPoint jarg2_);
  public final static native void OperatingPointVector_clear(long jarg1, OperatingPointVector jarg1_);
  public final static native long OperatingPointVector_data(long jarg1, OperatingPointVector jarg1_);
  public final static native long OperatingPointVector_size(long jarg1, OperatingPointVector jarg1_);
  public final static native long OperatingPointVector_at(long jarg1, OperatingPointVector jarg1_, long jarg2);
  public final static native void OperatingPointVector_resize(long jarg1, OperatingPointVector jarg1_, long jarg2);
  public final static native void OperatingPointVector_reserve(long jarg1, OperatingPointVector jarg1_, long jarg2);
  public final static native void OperatingPointVector_swap(long jarg1, OperatingPointVector jarg1_, long jarg2, OperatingPointVector jarg2_);
  public final static native void delete_OperatingPointVector(long jarg1);
  public final static native long new_InvertedListsPtrVector();
  public final static native void InvertedListsPtrVector_push_back(long jarg1, InvertedListsPtrVector jarg1_, long jarg2, InvertedLists jarg2_);
  public final static native void InvertedListsPtrVector_clear(long jarg1, InvertedListsPtrVector jarg1_);
  public final static native long InvertedListsPtrVector_data(long jarg1, InvertedListsPtrVector jarg1_);
  public final static native long InvertedListsPtrVector_size(long jarg1, InvertedListsPtrVector jarg1_);
  public final static native long InvertedListsPtrVector_at(long jarg1, InvertedListsPtrVector jarg1_, long jarg2);
  public final static native void InvertedListsPtrVector_resize(long jarg1, InvertedListsPtrVector jarg1_, long jarg2);
  public final static native void InvertedListsPtrVector_reserve(long jarg1, InvertedListsPtrVector jarg1_, long jarg2);
  public final static native void InvertedListsPtrVector_swap(long jarg1, InvertedListsPtrVector jarg1_, long jarg2, InvertedListsPtrVector jarg2_);
  public final static native void delete_InvertedListsPtrVector(long jarg1);
  public final static native long new_FloatVectorVector();
  public final static native void FloatVectorVector_push_back(long jarg1, FloatVectorVector jarg1_, long jarg2, FloatVector jarg2_);
  public final static native void FloatVectorVector_clear(long jarg1, FloatVectorVector jarg1_);
  public final static native long FloatVectorVector_data(long jarg1, FloatVectorVector jarg1_);
  public final static native long FloatVectorVector_size(long jarg1, FloatVectorVector jarg1_);
  public final static native long FloatVectorVector_at(long jarg1, FloatVectorVector jarg1_, long jarg2);
  public final static native void FloatVectorVector_resize(long jarg1, FloatVectorVector jarg1_, long jarg2);
  public final static native void FloatVectorVector_reserve(long jarg1, FloatVectorVector jarg1_, long jarg2);
  public final static native void FloatVectorVector_swap(long jarg1, FloatVectorVector jarg1_, long jarg2, FloatVectorVector jarg2_);
  public final static native void delete_FloatVectorVector(long jarg1);
  public final static native long new_ByteVectorVector();
  public final static native void ByteVectorVector_push_back(long jarg1, ByteVectorVector jarg1_, long jarg2, ByteVector jarg2_);
  public final static native void ByteVectorVector_clear(long jarg1, ByteVectorVector jarg1_);
  public final static native long ByteVectorVector_data(long jarg1, ByteVectorVector jarg1_);
  public final static native long ByteVectorVector_size(long jarg1, ByteVectorVector jarg1_);
  public final static native long ByteVectorVector_at(long jarg1, ByteVectorVector jarg1_, long jarg2);
  public final static native void ByteVectorVector_resize(long jarg1, ByteVectorVector jarg1_, long jarg2);
  public final static native void ByteVectorVector_reserve(long jarg1, ByteVectorVector jarg1_, long jarg2);
  public final static native void ByteVectorVector_swap(long jarg1, ByteVectorVector jarg1_, long jarg2, ByteVectorVector jarg2_);
  public final static native void delete_ByteVectorVector(long jarg1);
  public final static native long new_LongVectorVector();
  public final static native void LongVectorVector_push_back(long jarg1, LongVectorVector jarg1_, long jarg2);
  public final static native void LongVectorVector_clear(long jarg1, LongVectorVector jarg1_);
  public final static native long LongVectorVector_data(long jarg1, LongVectorVector jarg1_);
  public final static native long LongVectorVector_size(long jarg1, LongVectorVector jarg1_);
  public final static native long LongVectorVector_at(long jarg1, LongVectorVector jarg1_, long jarg2);
  public final static native void LongVectorVector_resize(long jarg1, LongVectorVector jarg1_, long jarg2);
  public final static native void LongVectorVector_reserve(long jarg1, LongVectorVector jarg1_, long jarg2);
  public final static native void LongVectorVector_swap(long jarg1, LongVectorVector jarg1_, long jarg2, LongVectorVector jarg2_);
  public final static native void delete_LongVectorVector(long jarg1);
  public final static native void bitvec_print(long jarg1, long jarg2);
  public final static native void fvecs2bitvecs(long jarg1, long jarg2, long jarg3, long jarg4);
  public final static native void bitvecs2fvecs(long jarg1, long jarg2, long jarg3, long jarg4);
  public final static native void fvec2bitvec(long jarg1, long jarg2, long jarg3);
  public final static native void bitvec_shuffle(long jarg1, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native void BitstringWriter_code_set(long jarg1, BitstringWriter jarg1_, long jarg2);
  public final static native long BitstringWriter_code_get(long jarg1, BitstringWriter jarg1_);
  public final static native void BitstringWriter_code_size_set(long jarg1, BitstringWriter jarg1_, long jarg2);
  public final static native long BitstringWriter_code_size_get(long jarg1, BitstringWriter jarg1_);
  public final static native void BitstringWriter_i_set(long jarg1, BitstringWriter jarg1_, long jarg2);
  public final static native long BitstringWriter_i_get(long jarg1, BitstringWriter jarg1_);
  public final static native long new_BitstringWriter(long jarg1, long jarg2);
  public final static native void BitstringWriter_write(long jarg1, BitstringWriter jarg1_, long jarg2, int jarg3);
  public final static native void delete_BitstringWriter(long jarg1);
  public final static native void BitstringReader_code_set(long jarg1, BitstringReader jarg1_, long jarg2);
  public final static native long BitstringReader_code_get(long jarg1, BitstringReader jarg1_);
  public final static native void BitstringReader_code_size_set(long jarg1, BitstringReader jarg1_, long jarg2);
  public final static native long BitstringReader_code_size_get(long jarg1, BitstringReader jarg1_);
  public final static native void BitstringReader_i_set(long jarg1, BitstringReader jarg1_, long jarg2);
  public final static native long BitstringReader_i_get(long jarg1, BitstringReader jarg1_);
  public final static native long new_BitstringReader(long jarg1, long jarg2);
  public final static native long BitstringReader_read(long jarg1, BitstringReader jarg1_, int jarg2);
  public final static native void delete_BitstringReader(long jarg1);
  public final static native void hamming_batch_size_set(long jarg1);
  public final static native long hamming_batch_size_get();
  public final static native int popcount64(long jarg1);
  public final static native void hammings(long jarg1, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native void hammings_knn_hc(long jarg1, long jarg2, long jarg3, long jarg4, long jarg5, int jarg6);
  public final static native void hammings_knn(long jarg1, long jarg2, long jarg3, long jarg4, long jarg5, int jarg6);
  public final static native void hammings_knn_mc(long jarg1, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, long jarg7, long jarg8, LongVector jarg8_);
  public final static native void hamming_range_search(long jarg1, long jarg2, long jarg3, long jarg4, int jarg5, long jarg6, long jarg7, RangeSearchResult jarg7_);
  public final static native void hamming_count_thres(long jarg1, long jarg2, long jarg3, long jarg4, int jarg5, long jarg6, long jarg7);
  public final static native long match_hamming_thres(long jarg1, long jarg2, long jarg3, long jarg4, int jarg5, long jarg6, long jarg7, LongVector jarg7_, long jarg8);
  public final static native void crosshamming_count_thres(long jarg1, long jarg2, int jarg3, long jarg4, long jarg5);
  public final static native int get_num_gpus();
  public final static native int METRIC_INNER_PRODUCT_get();
  public final static native int METRIC_L2_get();
  public final static native int METRIC_Canberra_get();
  public final static native String get_compile_options();
  public final static native double getmillisecs();
  public final static native long get_mem_usage_kb();
  public final static native long get_cycles();
  public final static native void fvec_madd(long jarg1, long jarg2, float jarg3, long jarg4, long jarg5);
  public final static native int fvec_madd_and_argmin(long jarg1, long jarg2, float jarg3, long jarg4, long jarg5);
  public final static native void reflection(long jarg1, long jarg2, long jarg3, long jarg4, long jarg5);
  public final static native void matrix_qr(int jarg1, int jarg2, long jarg3);
  public final static native void ranklist_handle_ties(int jarg1, long jarg2, LongVector jarg2_, long jarg3);
  public final static native long ranklist_intersection_size(long jarg1, long jarg2, LongVector jarg2_, long jarg3, long jarg4, LongVector jarg4_);
  public final static native long merge_result_table_with__SWIG_0(long jarg1, long jarg2, long jarg3, LongVector jarg3_, long jarg4, long jarg5, LongVector jarg5_, long jarg6, boolean jarg7, long jarg8);
  public final static native long merge_result_table_with__SWIG_1(long jarg1, long jarg2, long jarg3, LongVector jarg3_, long jarg4, long jarg5, LongVector jarg5_, long jarg6, boolean jarg7);
  public final static native long merge_result_table_with__SWIG_2(long jarg1, long jarg2, long jarg3, LongVector jarg3_, long jarg4, long jarg5, LongVector jarg5_, long jarg6);
  public final static native double imbalance_factor__SWIG_0(int jarg1, int jarg2, long jarg3, LongVector jarg3_);
  public final static native double imbalance_factor__SWIG_1(int jarg1, long jarg2);
  public final static native void fvec_argsort(long jarg1, long jarg2, long jarg3);
  public final static native void fvec_argsort_parallel(long jarg1, long jarg2, long jarg3);
  public final static native int ivec_hist(long jarg1, long jarg2, int jarg3, long jarg4);
  public final static native void bincode_hist(long jarg1, long jarg2, long jarg3, long jarg4);
  public final static native long ivec_checksum(long jarg1, long jarg2);
  public final static native long fvecs_maybe_subsample__SWIG_0(long jarg1, long jarg2, long jarg3, long jarg4, boolean jarg5, long jarg6);
  public final static native long fvecs_maybe_subsample__SWIG_1(long jarg1, long jarg2, long jarg3, long jarg4, boolean jarg5);
  public final static native long fvecs_maybe_subsample__SWIG_2(long jarg1, long jarg2, long jarg3, long jarg4);
  public final static native void binary_to_real(long jarg1, long jarg2, long jarg3);
  public final static native void real_to_binary(long jarg1, long jarg2, long jarg3);
  public final static native long hash_bytes(long jarg1, long jarg2);
  public final static native boolean check_openmp();
  public final static native int FAISS_VERSION_MAJOR_get();
  public final static native int FAISS_VERSION_MINOR_get();
  public final static native int FAISS_VERSION_PATCH_get();
  public final static native void Index_d_set(long jarg1, Index jarg1_, int jarg2);
  public final static native int Index_d_get(long jarg1, Index jarg1_);
  public final static native void Index_ntotal_set(long jarg1, Index jarg1_, long jarg2);
  public final static native long Index_ntotal_get(long jarg1, Index jarg1_);
  public final static native void Index_verbose_set(long jarg1, Index jarg1_, boolean jarg2);
  public final static native boolean Index_verbose_get(long jarg1, Index jarg1_);
  public final static native void Index_is_trained_set(long jarg1, Index jarg1_, boolean jarg2);
  public final static native boolean Index_is_trained_get(long jarg1, Index jarg1_);
  public final static native void Index_metric_type_set(long jarg1, Index jarg1_, int jarg2);
  public final static native int Index_metric_type_get(long jarg1, Index jarg1_);
  public final static native void Index_metric_arg_set(long jarg1, Index jarg1_, float jarg2);
  public final static native float Index_metric_arg_get(long jarg1, Index jarg1_);
  public final static native void delete_Index(long jarg1);
  public final static native void Index_train(long jarg1, Index jarg1_, long jarg2, long jarg3);
  public final static native void Index_add(long jarg1, Index jarg1_, long jarg2, long jarg3);
  public final static native void Index_add_with_ids(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void Index_search(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void Index_range_search(long jarg1, Index jarg1_, long jarg2, long jarg3, float jarg4, long jarg5, RangeSearchResult jarg5_);
  public final static native void Index_assign__SWIG_0(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void Index_assign__SWIG_1(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void Index_reset(long jarg1, Index jarg1_);
  public final static native long Index_remove_ids(long jarg1, Index jarg1_, long jarg2, IDSelector jarg2_);
  public final static native void Index_reconstruct(long jarg1, Index jarg1_, long jarg2, long jarg3);
  public final static native void Index_reconstruct_n(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void Index_search_and_reconstruct(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_, long jarg7);
  public final static native void Index_compute_residual(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void Index_compute_residual_n(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, LongVector jarg5_);
  public final static native long Index_get_distance_computer(long jarg1, Index jarg1_);
  public final static native long Index_sa_code_size(long jarg1, Index jarg1_);
  public final static native void Index_sa_encode(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void Index_sa_decode(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native long Index_toIVF(long jarg1, Index jarg1_);
  public final static native void ClusteringParameters_niter_set(long jarg1, ClusteringParameters jarg1_, int jarg2);
  public final static native int ClusteringParameters_niter_get(long jarg1, ClusteringParameters jarg1_);
  public final static native void ClusteringParameters_nredo_set(long jarg1, ClusteringParameters jarg1_, int jarg2);
  public final static native int ClusteringParameters_nredo_get(long jarg1, ClusteringParameters jarg1_);
  public final static native void ClusteringParameters_verbose_set(long jarg1, ClusteringParameters jarg1_, boolean jarg2);
  public final static native boolean ClusteringParameters_verbose_get(long jarg1, ClusteringParameters jarg1_);
  public final static native void ClusteringParameters_spherical_set(long jarg1, ClusteringParameters jarg1_, boolean jarg2);
  public final static native boolean ClusteringParameters_spherical_get(long jarg1, ClusteringParameters jarg1_);
  public final static native void ClusteringParameters_int_centroids_set(long jarg1, ClusteringParameters jarg1_, boolean jarg2);
  public final static native boolean ClusteringParameters_int_centroids_get(long jarg1, ClusteringParameters jarg1_);
  public final static native void ClusteringParameters_update_index_set(long jarg1, ClusteringParameters jarg1_, boolean jarg2);
  public final static native boolean ClusteringParameters_update_index_get(long jarg1, ClusteringParameters jarg1_);
  public final static native void ClusteringParameters_frozen_centroids_set(long jarg1, ClusteringParameters jarg1_, boolean jarg2);
  public final static native boolean ClusteringParameters_frozen_centroids_get(long jarg1, ClusteringParameters jarg1_);
  public final static native void ClusteringParameters_min_points_per_centroid_set(long jarg1, ClusteringParameters jarg1_, int jarg2);
  public final static native int ClusteringParameters_min_points_per_centroid_get(long jarg1, ClusteringParameters jarg1_);
  public final static native void ClusteringParameters_max_points_per_centroid_set(long jarg1, ClusteringParameters jarg1_, int jarg2);
  public final static native int ClusteringParameters_max_points_per_centroid_get(long jarg1, ClusteringParameters jarg1_);
  public final static native void ClusteringParameters_seed_set(long jarg1, ClusteringParameters jarg1_, int jarg2);
  public final static native int ClusteringParameters_seed_get(long jarg1, ClusteringParameters jarg1_);
  public final static native void ClusteringParameters_decode_block_size_set(long jarg1, ClusteringParameters jarg1_, long jarg2);
  public final static native long ClusteringParameters_decode_block_size_get(long jarg1, ClusteringParameters jarg1_);
  public final static native long new_ClusteringParameters();
  public final static native void delete_ClusteringParameters(long jarg1);
  public final static native void ClusteringIterationStats_obj_set(long jarg1, ClusteringIterationStats jarg1_, float jarg2);
  public final static native float ClusteringIterationStats_obj_get(long jarg1, ClusteringIterationStats jarg1_);
  public final static native void ClusteringIterationStats_time_set(long jarg1, ClusteringIterationStats jarg1_, double jarg2);
  public final static native double ClusteringIterationStats_time_get(long jarg1, ClusteringIterationStats jarg1_);
  public final static native void ClusteringIterationStats_time_search_set(long jarg1, ClusteringIterationStats jarg1_, double jarg2);
  public final static native double ClusteringIterationStats_time_search_get(long jarg1, ClusteringIterationStats jarg1_);
  public final static native void ClusteringIterationStats_imbalance_factor_set(long jarg1, ClusteringIterationStats jarg1_, double jarg2);
  public final static native double ClusteringIterationStats_imbalance_factor_get(long jarg1, ClusteringIterationStats jarg1_);
  public final static native void ClusteringIterationStats_nsplit_set(long jarg1, ClusteringIterationStats jarg1_, int jarg2);
  public final static native int ClusteringIterationStats_nsplit_get(long jarg1, ClusteringIterationStats jarg1_);
  public final static native long new_ClusteringIterationStats();
  public final static native void delete_ClusteringIterationStats(long jarg1);
  public final static native void Clustering_d_set(long jarg1, Clustering jarg1_, long jarg2);
  public final static native long Clustering_d_get(long jarg1, Clustering jarg1_);
  public final static native void Clustering_k_set(long jarg1, Clustering jarg1_, long jarg2);
  public final static native long Clustering_k_get(long jarg1, Clustering jarg1_);
  public final static native void Clustering_centroids_set(long jarg1, Clustering jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long Clustering_centroids_get(long jarg1, Clustering jarg1_);
  public final static native void Clustering_iteration_stats_set(long jarg1, Clustering jarg1_, long jarg2);
  public final static native long Clustering_iteration_stats_get(long jarg1, Clustering jarg1_);
  public final static native long new_Clustering__SWIG_0(int jarg1, int jarg2);
  public final static native long new_Clustering__SWIG_1(int jarg1, int jarg2, long jarg3, ClusteringParameters jarg3_);
  public final static native void Clustering_train__SWIG_0(long jarg1, Clustering jarg1_, long jarg2, long jarg3, long jarg4, Index jarg4_, long jarg5);
  public final static native void Clustering_train__SWIG_1(long jarg1, Clustering jarg1_, long jarg2, long jarg3, long jarg4, Index jarg4_);
  public final static native void Clustering_train_encoded__SWIG_0(long jarg1, Clustering jarg1_, long jarg2, long jarg3, long jarg4, Index jarg4_, long jarg5, Index jarg5_, long jarg6);
  public final static native void Clustering_train_encoded__SWIG_1(long jarg1, Clustering jarg1_, long jarg2, long jarg3, long jarg4, Index jarg4_, long jarg5, Index jarg5_);
  public final static native void Clustering_post_process_centroids(long jarg1, Clustering jarg1_);
  public final static native void delete_Clustering(long jarg1);
  public final static native long new_Clustering1D__SWIG_0(int jarg1);
  public final static native long new_Clustering1D__SWIG_1(int jarg1, long jarg2, ClusteringParameters jarg2_);
  public final static native void Clustering1D_train_exact(long jarg1, Clustering1D jarg1_, long jarg2, long jarg3);
  public final static native void delete_Clustering1D(long jarg1);
  public final static native void ProgressiveDimClusteringParameters_progressive_dim_steps_set(long jarg1, ProgressiveDimClusteringParameters jarg1_, int jarg2);
  public final static native int ProgressiveDimClusteringParameters_progressive_dim_steps_get(long jarg1, ProgressiveDimClusteringParameters jarg1_);
  public final static native void ProgressiveDimClusteringParameters_apply_pca_set(long jarg1, ProgressiveDimClusteringParameters jarg1_, boolean jarg2);
  public final static native boolean ProgressiveDimClusteringParameters_apply_pca_get(long jarg1, ProgressiveDimClusteringParameters jarg1_);
  public final static native long new_ProgressiveDimClusteringParameters();
  public final static native void delete_ProgressiveDimClusteringParameters(long jarg1);
  public final static native void delete_ProgressiveDimIndexFactory(long jarg1);
  public final static native long new_ProgressiveDimIndexFactory();
  public final static native void ProgressiveDimClustering_d_set(long jarg1, ProgressiveDimClustering jarg1_, long jarg2);
  public final static native long ProgressiveDimClustering_d_get(long jarg1, ProgressiveDimClustering jarg1_);
  public final static native void ProgressiveDimClustering_k_set(long jarg1, ProgressiveDimClustering jarg1_, long jarg2);
  public final static native long ProgressiveDimClustering_k_get(long jarg1, ProgressiveDimClustering jarg1_);
  public final static native void ProgressiveDimClustering_centroids_set(long jarg1, ProgressiveDimClustering jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long ProgressiveDimClustering_centroids_get(long jarg1, ProgressiveDimClustering jarg1_);
  public final static native void ProgressiveDimClustering_iteration_stats_set(long jarg1, ProgressiveDimClustering jarg1_, long jarg2);
  public final static native long ProgressiveDimClustering_iteration_stats_get(long jarg1, ProgressiveDimClustering jarg1_);
  public final static native long new_ProgressiveDimClustering__SWIG_0(int jarg1, int jarg2);
  public final static native long new_ProgressiveDimClustering__SWIG_1(int jarg1, int jarg2, long jarg3, ProgressiveDimClusteringParameters jarg3_);
  public final static native void ProgressiveDimClustering_train(long jarg1, ProgressiveDimClustering jarg1_, long jarg2, long jarg3, long jarg4, ProgressiveDimIndexFactory jarg4_);
  public final static native void delete_ProgressiveDimClustering(long jarg1);
  public final static native float kmeans_clustering(long jarg1, long jarg2, long jarg3, long jarg4, long jarg5);
  public final static native void ProductQuantizer_d_set(long jarg1, ProductQuantizer jarg1_, long jarg2);
  public final static native long ProductQuantizer_d_get(long jarg1, ProductQuantizer jarg1_);
  public final static native void ProductQuantizer_M_set(long jarg1, ProductQuantizer jarg1_, long jarg2);
  public final static native long ProductQuantizer_M_get(long jarg1, ProductQuantizer jarg1_);
  public final static native void ProductQuantizer_nbits_set(long jarg1, ProductQuantizer jarg1_, long jarg2);
  public final static native long ProductQuantizer_nbits_get(long jarg1, ProductQuantizer jarg1_);
  public final static native void ProductQuantizer_dsub_set(long jarg1, ProductQuantizer jarg1_, long jarg2);
  public final static native long ProductQuantizer_dsub_get(long jarg1, ProductQuantizer jarg1_);
  public final static native void ProductQuantizer_code_size_set(long jarg1, ProductQuantizer jarg1_, long jarg2);
  public final static native long ProductQuantizer_code_size_get(long jarg1, ProductQuantizer jarg1_);
  public final static native void ProductQuantizer_ksub_set(long jarg1, ProductQuantizer jarg1_, long jarg2);
  public final static native long ProductQuantizer_ksub_get(long jarg1, ProductQuantizer jarg1_);
  public final static native void ProductQuantizer_verbose_set(long jarg1, ProductQuantizer jarg1_, boolean jarg2);
  public final static native boolean ProductQuantizer_verbose_get(long jarg1, ProductQuantizer jarg1_);
  public final static native void ProductQuantizer_train_type_set(long jarg1, ProductQuantizer jarg1_, int jarg2);
  public final static native int ProductQuantizer_train_type_get(long jarg1, ProductQuantizer jarg1_);
  public final static native void ProductQuantizer_cp_set(long jarg1, ProductQuantizer jarg1_, long jarg2, ClusteringParameters jarg2_);
  public final static native long ProductQuantizer_cp_get(long jarg1, ProductQuantizer jarg1_);
  public final static native void ProductQuantizer_assign_index_set(long jarg1, ProductQuantizer jarg1_, long jarg2, Index jarg2_);
  public final static native long ProductQuantizer_assign_index_get(long jarg1, ProductQuantizer jarg1_);
  public final static native void ProductQuantizer_centroids_set(long jarg1, ProductQuantizer jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long ProductQuantizer_centroids_get(long jarg1, ProductQuantizer jarg1_);
  public final static native long ProductQuantizer_get_centroids(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3);
  public final static native void ProductQuantizer_train(long jarg1, ProductQuantizer jarg1_, int jarg2, long jarg3);
  public final static native long new_ProductQuantizer__SWIG_0(long jarg1, long jarg2, long jarg3);
  public final static native long new_ProductQuantizer__SWIG_1();
  public final static native void ProductQuantizer_set_derived_values(long jarg1, ProductQuantizer jarg1_);
  public final static native void ProductQuantizer_set_params(long jarg1, ProductQuantizer jarg1_, long jarg2, int jarg3);
  public final static native void ProductQuantizer_compute_code(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3);
  public final static native void ProductQuantizer_compute_codes(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void ProductQuantizer_compute_codes_with_assign_index(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void ProductQuantizer_decode__SWIG_0(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3);
  public final static native void ProductQuantizer_decode__SWIG_1(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void ProductQuantizer_compute_code_from_distance_table(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3);
  public final static native void ProductQuantizer_compute_distance_table(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3);
  public final static native void ProductQuantizer_compute_inner_prod_table(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3);
  public final static native void ProductQuantizer_compute_distance_tables(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void ProductQuantizer_compute_inner_prod_tables(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void ProductQuantizer_search__SWIG_0(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, boolean jarg7);
  public final static native void ProductQuantizer_search__SWIG_1(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native void ProductQuantizer_search_ip__SWIG_0(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, boolean jarg7);
  public final static native void ProductQuantizer_search_ip__SWIG_1(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native void ProductQuantizer_sdc_table_set(long jarg1, ProductQuantizer jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long ProductQuantizer_sdc_table_get(long jarg1, ProductQuantizer jarg1_);
  public final static native void ProductQuantizer_compute_sdc_table(long jarg1, ProductQuantizer jarg1_);
  public final static native void ProductQuantizer_search_sdc__SWIG_0(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, boolean jarg7);
  public final static native void ProductQuantizer_search_sdc__SWIG_1(long jarg1, ProductQuantizer jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native void delete_ProductQuantizer(long jarg1);
  public final static native void PQEncoderGeneric_code_set(long jarg1, PQEncoderGeneric jarg1_, long jarg2);
  public final static native long PQEncoderGeneric_code_get(long jarg1, PQEncoderGeneric jarg1_);
  public final static native void PQEncoderGeneric_offset_set(long jarg1, PQEncoderGeneric jarg1_, short jarg2);
  public final static native short PQEncoderGeneric_offset_get(long jarg1, PQEncoderGeneric jarg1_);
  public final static native int PQEncoderGeneric_nbits_get(long jarg1, PQEncoderGeneric jarg1_);
  public final static native void PQEncoderGeneric_reg_set(long jarg1, PQEncoderGeneric jarg1_, short jarg2);
  public final static native short PQEncoderGeneric_reg_get(long jarg1, PQEncoderGeneric jarg1_);
  public final static native long new_PQEncoderGeneric__SWIG_0(long jarg1, int jarg2, short jarg3);
  public final static native long new_PQEncoderGeneric__SWIG_1(long jarg1, int jarg2);
  public final static native void PQEncoderGeneric_encode(long jarg1, PQEncoderGeneric jarg1_, long jarg2);
  public final static native void delete_PQEncoderGeneric(long jarg1);
  public final static native void PQEncoder8_code_set(long jarg1, PQEncoder8 jarg1_, long jarg2);
  public final static native long PQEncoder8_code_get(long jarg1, PQEncoder8 jarg1_);
  public final static native long new_PQEncoder8(long jarg1, int jarg2);
  public final static native void PQEncoder8_encode(long jarg1, PQEncoder8 jarg1_, long jarg2);
  public final static native void delete_PQEncoder8(long jarg1);
  public final static native void PQEncoder16_code_set(long jarg1, PQEncoder16 jarg1_, long jarg2);
  public final static native long PQEncoder16_code_get(long jarg1, PQEncoder16 jarg1_);
  public final static native long new_PQEncoder16(long jarg1, int jarg2);
  public final static native void PQEncoder16_encode(long jarg1, PQEncoder16 jarg1_, long jarg2);
  public final static native void delete_PQEncoder16(long jarg1);
  public final static native void PQDecoderGeneric_code_set(long jarg1, PQDecoderGeneric jarg1_, long jarg2);
  public final static native long PQDecoderGeneric_code_get(long jarg1, PQDecoderGeneric jarg1_);
  public final static native void PQDecoderGeneric_offset_set(long jarg1, PQDecoderGeneric jarg1_, short jarg2);
  public final static native short PQDecoderGeneric_offset_get(long jarg1, PQDecoderGeneric jarg1_);
  public final static native int PQDecoderGeneric_nbits_get(long jarg1, PQDecoderGeneric jarg1_);
  public final static native long PQDecoderGeneric_mask_get(long jarg1, PQDecoderGeneric jarg1_);
  public final static native void PQDecoderGeneric_reg_set(long jarg1, PQDecoderGeneric jarg1_, short jarg2);
  public final static native short PQDecoderGeneric_reg_get(long jarg1, PQDecoderGeneric jarg1_);
  public final static native long new_PQDecoderGeneric(long jarg1, int jarg2);
  public final static native long PQDecoderGeneric_decode(long jarg1, PQDecoderGeneric jarg1_);
  public final static native void delete_PQDecoderGeneric(long jarg1);
  public final static native int PQDecoder8_nbits_get();
  public final static native void PQDecoder8_code_set(long jarg1, PQDecoder8 jarg1_, long jarg2);
  public final static native long PQDecoder8_code_get(long jarg1, PQDecoder8 jarg1_);
  public final static native long new_PQDecoder8(long jarg1, int jarg2);
  public final static native long PQDecoder8_decode(long jarg1, PQDecoder8 jarg1_);
  public final static native void delete_PQDecoder8(long jarg1);
  public final static native int PQDecoder16_nbits_get();
  public final static native void PQDecoder16_code_set(long jarg1, PQDecoder16 jarg1_, long jarg2);
  public final static native long PQDecoder16_code_get(long jarg1, PQDecoder16 jarg1_);
  public final static native long new_PQDecoder16(long jarg1, int jarg2);
  public final static native long PQDecoder16_decode(long jarg1, PQDecoder16 jarg1_);
  public final static native void delete_PQDecoder16(long jarg1);
  public final static native void VectorTransform_d_in_set(long jarg1, VectorTransform jarg1_, int jarg2);
  public final static native int VectorTransform_d_in_get(long jarg1, VectorTransform jarg1_);
  public final static native void VectorTransform_d_out_set(long jarg1, VectorTransform jarg1_, int jarg2);
  public final static native int VectorTransform_d_out_get(long jarg1, VectorTransform jarg1_);
  public final static native void VectorTransform_is_trained_set(long jarg1, VectorTransform jarg1_, boolean jarg2);
  public final static native boolean VectorTransform_is_trained_get(long jarg1, VectorTransform jarg1_);
  public final static native void VectorTransform_train(long jarg1, VectorTransform jarg1_, long jarg2, long jarg3);
  public final static native long VectorTransform_apply(long jarg1, VectorTransform jarg1_, long jarg2, long jarg3);
  public final static native void VectorTransform_apply_noalloc(long jarg1, VectorTransform jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void VectorTransform_reverse_transform(long jarg1, VectorTransform jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void delete_VectorTransform(long jarg1);
  public final static native void LinearTransform_have_bias_set(long jarg1, LinearTransform jarg1_, boolean jarg2);
  public final static native boolean LinearTransform_have_bias_get(long jarg1, LinearTransform jarg1_);
  public final static native void LinearTransform_is_orthonormal_set(long jarg1, LinearTransform jarg1_, boolean jarg2);
  public final static native boolean LinearTransform_is_orthonormal_get(long jarg1, LinearTransform jarg1_);
  public final static native void LinearTransform_A_set(long jarg1, LinearTransform jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long LinearTransform_A_get(long jarg1, LinearTransform jarg1_);
  public final static native void LinearTransform_b_set(long jarg1, LinearTransform jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long LinearTransform_b_get(long jarg1, LinearTransform jarg1_);
  public final static native long new_LinearTransform__SWIG_0(int jarg1, int jarg2, boolean jarg3);
  public final static native long new_LinearTransform__SWIG_1(int jarg1, int jarg2);
  public final static native long new_LinearTransform__SWIG_2(int jarg1);
  public final static native long new_LinearTransform__SWIG_3();
  public final static native void LinearTransform_apply_noalloc(long jarg1, LinearTransform jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void LinearTransform_transform_transpose(long jarg1, LinearTransform jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void LinearTransform_reverse_transform(long jarg1, LinearTransform jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void LinearTransform_set_is_orthonormal(long jarg1, LinearTransform jarg1_);
  public final static native void LinearTransform_verbose_set(long jarg1, LinearTransform jarg1_, boolean jarg2);
  public final static native boolean LinearTransform_verbose_get(long jarg1, LinearTransform jarg1_);
  public final static native void LinearTransform_print_if_verbose(long jarg1, LinearTransform jarg1_, String jarg2, long jarg3, DoubleVector jarg3_, int jarg4, int jarg5);
  public final static native void delete_LinearTransform(long jarg1);
  public final static native long new_RandomRotationMatrix__SWIG_0(int jarg1, int jarg2);
  public final static native void RandomRotationMatrix_init(long jarg1, RandomRotationMatrix jarg1_, int jarg2);
  public final static native void RandomRotationMatrix_train(long jarg1, RandomRotationMatrix jarg1_, long jarg2, long jarg3);
  public final static native long new_RandomRotationMatrix__SWIG_1();
  public final static native void delete_RandomRotationMatrix(long jarg1);
  public final static native void PCAMatrix_eigen_power_set(long jarg1, PCAMatrix jarg1_, float jarg2);
  public final static native float PCAMatrix_eigen_power_get(long jarg1, PCAMatrix jarg1_);
  public final static native void PCAMatrix_epsilon_set(long jarg1, PCAMatrix jarg1_, float jarg2);
  public final static native float PCAMatrix_epsilon_get(long jarg1, PCAMatrix jarg1_);
  public final static native void PCAMatrix_random_rotation_set(long jarg1, PCAMatrix jarg1_, boolean jarg2);
  public final static native boolean PCAMatrix_random_rotation_get(long jarg1, PCAMatrix jarg1_);
  public final static native void PCAMatrix_max_points_per_d_set(long jarg1, PCAMatrix jarg1_, long jarg2);
  public final static native long PCAMatrix_max_points_per_d_get(long jarg1, PCAMatrix jarg1_);
  public final static native void PCAMatrix_balanced_bins_set(long jarg1, PCAMatrix jarg1_, int jarg2);
  public final static native int PCAMatrix_balanced_bins_get(long jarg1, PCAMatrix jarg1_);
  public final static native void PCAMatrix_mean_set(long jarg1, PCAMatrix jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long PCAMatrix_mean_get(long jarg1, PCAMatrix jarg1_);
  public final static native void PCAMatrix_eigenvalues_set(long jarg1, PCAMatrix jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long PCAMatrix_eigenvalues_get(long jarg1, PCAMatrix jarg1_);
  public final static native void PCAMatrix_PCAMat_set(long jarg1, PCAMatrix jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long PCAMatrix_PCAMat_get(long jarg1, PCAMatrix jarg1_);
  public final static native long new_PCAMatrix__SWIG_0(int jarg1, int jarg2, float jarg3, boolean jarg4);
  public final static native long new_PCAMatrix__SWIG_1(int jarg1, int jarg2, float jarg3);
  public final static native long new_PCAMatrix__SWIG_2(int jarg1, int jarg2);
  public final static native long new_PCAMatrix__SWIG_3(int jarg1);
  public final static native long new_PCAMatrix__SWIG_4();
  public final static native void PCAMatrix_train(long jarg1, PCAMatrix jarg1_, long jarg2, long jarg3);
  public final static native void PCAMatrix_copy_from(long jarg1, PCAMatrix jarg1_, long jarg2, PCAMatrix jarg2_);
  public final static native void PCAMatrix_prepare_Ab(long jarg1, PCAMatrix jarg1_);
  public final static native void delete_PCAMatrix(long jarg1);
  public final static native void ITQMatrix_max_iter_set(long jarg1, ITQMatrix jarg1_, int jarg2);
  public final static native int ITQMatrix_max_iter_get(long jarg1, ITQMatrix jarg1_);
  public final static native void ITQMatrix_seed_set(long jarg1, ITQMatrix jarg1_, int jarg2);
  public final static native int ITQMatrix_seed_get(long jarg1, ITQMatrix jarg1_);
  public final static native void ITQMatrix_init_rotation_set(long jarg1, ITQMatrix jarg1_, long jarg2, DoubleVector jarg2_);
  public final static native long ITQMatrix_init_rotation_get(long jarg1, ITQMatrix jarg1_);
  public final static native long new_ITQMatrix__SWIG_0(int jarg1);
  public final static native long new_ITQMatrix__SWIG_1();
  public final static native void ITQMatrix_train(long jarg1, ITQMatrix jarg1_, long jarg2, long jarg3);
  public final static native void delete_ITQMatrix(long jarg1);
  public final static native void ITQTransform_mean_set(long jarg1, ITQTransform jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long ITQTransform_mean_get(long jarg1, ITQTransform jarg1_);
  public final static native void ITQTransform_do_pca_set(long jarg1, ITQTransform jarg1_, boolean jarg2);
  public final static native boolean ITQTransform_do_pca_get(long jarg1, ITQTransform jarg1_);
  public final static native void ITQTransform_itq_set(long jarg1, ITQTransform jarg1_, long jarg2, ITQMatrix jarg2_);
  public final static native long ITQTransform_itq_get(long jarg1, ITQTransform jarg1_);
  public final static native void ITQTransform_max_train_per_dim_set(long jarg1, ITQTransform jarg1_, int jarg2);
  public final static native int ITQTransform_max_train_per_dim_get(long jarg1, ITQTransform jarg1_);
  public final static native void ITQTransform_pca_then_itq_set(long jarg1, ITQTransform jarg1_, long jarg2, LinearTransform jarg2_);
  public final static native long ITQTransform_pca_then_itq_get(long jarg1, ITQTransform jarg1_);
  public final static native long new_ITQTransform__SWIG_0(int jarg1, int jarg2, boolean jarg3);
  public final static native long new_ITQTransform__SWIG_1(int jarg1, int jarg2);
  public final static native long new_ITQTransform__SWIG_2(int jarg1);
  public final static native long new_ITQTransform__SWIG_3();
  public final static native void ITQTransform_train(long jarg1, ITQTransform jarg1_, long jarg2, long jarg3);
  public final static native void ITQTransform_apply_noalloc(long jarg1, ITQTransform jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void delete_ITQTransform(long jarg1);
  public final static native void OPQMatrix_M_set(long jarg1, OPQMatrix jarg1_, int jarg2);
  public final static native int OPQMatrix_M_get(long jarg1, OPQMatrix jarg1_);
  public final static native void OPQMatrix_niter_set(long jarg1, OPQMatrix jarg1_, int jarg2);
  public final static native int OPQMatrix_niter_get(long jarg1, OPQMatrix jarg1_);
  public final static native void OPQMatrix_niter_pq_set(long jarg1, OPQMatrix jarg1_, int jarg2);
  public final static native int OPQMatrix_niter_pq_get(long jarg1, OPQMatrix jarg1_);
  public final static native void OPQMatrix_niter_pq_0_set(long jarg1, OPQMatrix jarg1_, int jarg2);
  public final static native int OPQMatrix_niter_pq_0_get(long jarg1, OPQMatrix jarg1_);
  public final static native void OPQMatrix_max_train_points_set(long jarg1, OPQMatrix jarg1_, long jarg2);
  public final static native long OPQMatrix_max_train_points_get(long jarg1, OPQMatrix jarg1_);
  public final static native void OPQMatrix_verbose_set(long jarg1, OPQMatrix jarg1_, boolean jarg2);
  public final static native boolean OPQMatrix_verbose_get(long jarg1, OPQMatrix jarg1_);
  public final static native void OPQMatrix_pq_set(long jarg1, OPQMatrix jarg1_, long jarg2, ProductQuantizer jarg2_);
  public final static native long OPQMatrix_pq_get(long jarg1, OPQMatrix jarg1_);
  public final static native long new_OPQMatrix__SWIG_0(int jarg1, int jarg2, int jarg3);
  public final static native long new_OPQMatrix__SWIG_1(int jarg1, int jarg2);
  public final static native long new_OPQMatrix__SWIG_2(int jarg1);
  public final static native long new_OPQMatrix__SWIG_3();
  public final static native void OPQMatrix_train(long jarg1, OPQMatrix jarg1_, long jarg2, long jarg3);
  public final static native void delete_OPQMatrix(long jarg1);
  public final static native void RemapDimensionsTransform_map_set(long jarg1, RemapDimensionsTransform jarg1_, long jarg2, IntVector jarg2_);
  public final static native long RemapDimensionsTransform_map_get(long jarg1, RemapDimensionsTransform jarg1_);
  public final static native long new_RemapDimensionsTransform__SWIG_0(int jarg1, int jarg2, long jarg3);
  public final static native long new_RemapDimensionsTransform__SWIG_1(int jarg1, int jarg2, boolean jarg3);
  public final static native long new_RemapDimensionsTransform__SWIG_2(int jarg1, int jarg2);
  public final static native void RemapDimensionsTransform_apply_noalloc(long jarg1, RemapDimensionsTransform jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void RemapDimensionsTransform_reverse_transform(long jarg1, RemapDimensionsTransform jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native long new_RemapDimensionsTransform__SWIG_3();
  public final static native void delete_RemapDimensionsTransform(long jarg1);
  public final static native void NormalizationTransform_norm_set(long jarg1, NormalizationTransform jarg1_, float jarg2);
  public final static native float NormalizationTransform_norm_get(long jarg1, NormalizationTransform jarg1_);
  public final static native long new_NormalizationTransform__SWIG_0(int jarg1, float jarg2);
  public final static native long new_NormalizationTransform__SWIG_1(int jarg1);
  public final static native long new_NormalizationTransform__SWIG_2();
  public final static native void NormalizationTransform_apply_noalloc(long jarg1, NormalizationTransform jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void NormalizationTransform_reverse_transform(long jarg1, NormalizationTransform jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void delete_NormalizationTransform(long jarg1);
  public final static native void CenteringTransform_mean_set(long jarg1, CenteringTransform jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long CenteringTransform_mean_get(long jarg1, CenteringTransform jarg1_);
  public final static native long new_CenteringTransform__SWIG_0(int jarg1);
  public final static native long new_CenteringTransform__SWIG_1();
  public final static native void CenteringTransform_train(long jarg1, CenteringTransform jarg1_, long jarg2, long jarg3);
  public final static native void CenteringTransform_apply_noalloc(long jarg1, CenteringTransform jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void CenteringTransform_reverse_transform(long jarg1, CenteringTransform jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void delete_CenteringTransform(long jarg1);
  public final static native void IndexFlatCodes_code_size_set(long jarg1, IndexFlatCodes jarg1_, long jarg2);
  public final static native long IndexFlatCodes_code_size_get(long jarg1, IndexFlatCodes jarg1_);
  public final static native void IndexFlatCodes_codes_set(long jarg1, IndexFlatCodes jarg1_, long jarg2, ByteVector jarg2_);
  public final static native long IndexFlatCodes_codes_get(long jarg1, IndexFlatCodes jarg1_);
  public final static native void IndexFlatCodes_add(long jarg1, IndexFlatCodes jarg1_, long jarg2, long jarg3);
  public final static native void IndexFlatCodes_reset(long jarg1, IndexFlatCodes jarg1_);
  public final static native void IndexFlatCodes_reconstruct_n(long jarg1, IndexFlatCodes jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexFlatCodes_reconstruct(long jarg1, IndexFlatCodes jarg1_, long jarg2, long jarg3);
  public final static native long IndexFlatCodes_sa_code_size(long jarg1, IndexFlatCodes jarg1_);
  public final static native long IndexFlatCodes_remove_ids(long jarg1, IndexFlatCodes jarg1_, long jarg2, IDSelector jarg2_);
  public final static native void delete_IndexFlatCodes(long jarg1);
  public final static native long new_IndexFlat__SWIG_0(long jarg1, int jarg2);
  public final static native long new_IndexFlat__SWIG_1(long jarg1);
  public final static native void IndexFlat_search(long jarg1, IndexFlat jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexFlat_range_search(long jarg1, IndexFlat jarg1_, long jarg2, long jarg3, float jarg4, long jarg5, RangeSearchResult jarg5_);
  public final static native void IndexFlat_reconstruct(long jarg1, IndexFlat jarg1_, long jarg2, long jarg3);
  public final static native void IndexFlat_compute_distance_subset(long jarg1, IndexFlat jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native long IndexFlat_get_xb__SWIG_0(long jarg1, IndexFlat jarg1_);
  public final static native long new_IndexFlat__SWIG_2();
  public final static native long IndexFlat_get_distance_computer(long jarg1, IndexFlat jarg1_);
  public final static native void IndexFlat_sa_encode(long jarg1, IndexFlat jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexFlat_sa_decode(long jarg1, IndexFlat jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void delete_IndexFlat(long jarg1);
  public final static native long new_IndexFlatIP__SWIG_0(long jarg1);
  public final static native long new_IndexFlatIP__SWIG_1();
  public final static native void delete_IndexFlatIP(long jarg1);
  public final static native long new_IndexFlatL2__SWIG_0(long jarg1);
  public final static native long new_IndexFlatL2__SWIG_1();
  public final static native void delete_IndexFlatL2(long jarg1);
  public final static native void IndexFlat1D_continuous_update_set(long jarg1, IndexFlat1D jarg1_, boolean jarg2);
  public final static native boolean IndexFlat1D_continuous_update_get(long jarg1, IndexFlat1D jarg1_);
  public final static native void IndexFlat1D_perm_set(long jarg1, IndexFlat1D jarg1_, long jarg2);
  public final static native long IndexFlat1D_perm_get(long jarg1, IndexFlat1D jarg1_);
  public final static native long new_IndexFlat1D__SWIG_0(boolean jarg1);
  public final static native long new_IndexFlat1D__SWIG_1();
  public final static native void IndexFlat1D_update_permutation(long jarg1, IndexFlat1D jarg1_);
  public final static native void IndexFlat1D_add(long jarg1, IndexFlat1D jarg1_, long jarg2, long jarg3);
  public final static native void IndexFlat1D_reset(long jarg1, IndexFlat1D jarg1_);
  public final static native void IndexFlat1D_search(long jarg1, IndexFlat1D jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void delete_IndexFlat1D(long jarg1);
  public final static native void IndexLSH_nbits_set(long jarg1, IndexLSH jarg1_, int jarg2);
  public final static native int IndexLSH_nbits_get(long jarg1, IndexLSH jarg1_);
  public final static native void IndexLSH_rotate_data_set(long jarg1, IndexLSH jarg1_, boolean jarg2);
  public final static native boolean IndexLSH_rotate_data_get(long jarg1, IndexLSH jarg1_);
  public final static native void IndexLSH_train_thresholds_set(long jarg1, IndexLSH jarg1_, boolean jarg2);
  public final static native boolean IndexLSH_train_thresholds_get(long jarg1, IndexLSH jarg1_);
  public final static native void IndexLSH_rrot_set(long jarg1, IndexLSH jarg1_, long jarg2, RandomRotationMatrix jarg2_);
  public final static native long IndexLSH_rrot_get(long jarg1, IndexLSH jarg1_);
  public final static native void IndexLSH_thresholds_set(long jarg1, IndexLSH jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long IndexLSH_thresholds_get(long jarg1, IndexLSH jarg1_);
  public final static native long new_IndexLSH__SWIG_0(long jarg1, int jarg2, boolean jarg3, boolean jarg4);
  public final static native long new_IndexLSH__SWIG_1(long jarg1, int jarg2, boolean jarg3);
  public final static native long new_IndexLSH__SWIG_2(long jarg1, int jarg2);
  public final static native long IndexLSH_apply_preprocess(long jarg1, IndexLSH jarg1_, long jarg2, long jarg3);
  public final static native void IndexLSH_train(long jarg1, IndexLSH jarg1_, long jarg2, long jarg3);
  public final static native void IndexLSH_search(long jarg1, IndexLSH jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexLSH_transfer_thresholds(long jarg1, IndexLSH jarg1_, long jarg2, LinearTransform jarg2_);
  public final static native void delete_IndexLSH(long jarg1);
  public final static native long new_IndexLSH__SWIG_3();
  public final static native void IndexLSH_sa_encode(long jarg1, IndexLSH jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexLSH_sa_decode(long jarg1, IndexLSH jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void SimulatedAnnealingParameters_init_temperature_set(long jarg1, SimulatedAnnealingParameters jarg1_, double jarg2);
  public final static native double SimulatedAnnealingParameters_init_temperature_get(long jarg1, SimulatedAnnealingParameters jarg1_);
  public final static native void SimulatedAnnealingParameters_temperature_decay_set(long jarg1, SimulatedAnnealingParameters jarg1_, double jarg2);
  public final static native double SimulatedAnnealingParameters_temperature_decay_get(long jarg1, SimulatedAnnealingParameters jarg1_);
  public final static native void SimulatedAnnealingParameters_n_iter_set(long jarg1, SimulatedAnnealingParameters jarg1_, int jarg2);
  public final static native int SimulatedAnnealingParameters_n_iter_get(long jarg1, SimulatedAnnealingParameters jarg1_);
  public final static native void SimulatedAnnealingParameters_n_redo_set(long jarg1, SimulatedAnnealingParameters jarg1_, int jarg2);
  public final static native int SimulatedAnnealingParameters_n_redo_get(long jarg1, SimulatedAnnealingParameters jarg1_);
  public final static native void SimulatedAnnealingParameters_seed_set(long jarg1, SimulatedAnnealingParameters jarg1_, int jarg2);
  public final static native int SimulatedAnnealingParameters_seed_get(long jarg1, SimulatedAnnealingParameters jarg1_);
  public final static native void SimulatedAnnealingParameters_verbose_set(long jarg1, SimulatedAnnealingParameters jarg1_, int jarg2);
  public final static native int SimulatedAnnealingParameters_verbose_get(long jarg1, SimulatedAnnealingParameters jarg1_);
  public final static native void SimulatedAnnealingParameters_only_bit_flips_set(long jarg1, SimulatedAnnealingParameters jarg1_, boolean jarg2);
  public final static native boolean SimulatedAnnealingParameters_only_bit_flips_get(long jarg1, SimulatedAnnealingParameters jarg1_);
  public final static native void SimulatedAnnealingParameters_init_random_set(long jarg1, SimulatedAnnealingParameters jarg1_, boolean jarg2);
  public final static native boolean SimulatedAnnealingParameters_init_random_get(long jarg1, SimulatedAnnealingParameters jarg1_);
  public final static native long new_SimulatedAnnealingParameters();
  public final static native void delete_SimulatedAnnealingParameters(long jarg1);
  public final static native void PermutationObjective_n_set(long jarg1, PermutationObjective jarg1_, int jarg2);
  public final static native int PermutationObjective_n_get(long jarg1, PermutationObjective jarg1_);
  public final static native double PermutationObjective_compute_cost(long jarg1, PermutationObjective jarg1_, long jarg2);
  public final static native double PermutationObjective_cost_update(long jarg1, PermutationObjective jarg1_, long jarg2, int jarg3, int jarg4);
  public final static native void delete_PermutationObjective(long jarg1);
  public final static native void ReproduceDistancesObjective_dis_weight_factor_set(long jarg1, ReproduceDistancesObjective jarg1_, double jarg2);
  public final static native double ReproduceDistancesObjective_dis_weight_factor_get(long jarg1, ReproduceDistancesObjective jarg1_);
  public final static native double ReproduceDistancesObjective_sqr(double jarg1);
  public final static native double ReproduceDistancesObjective_dis_weight(long jarg1, ReproduceDistancesObjective jarg1_, double jarg2);
  public final static native void ReproduceDistancesObjective_source_dis_set(long jarg1, ReproduceDistancesObjective jarg1_, long jarg2, DoubleVector jarg2_);
  public final static native long ReproduceDistancesObjective_source_dis_get(long jarg1, ReproduceDistancesObjective jarg1_);
  public final static native void ReproduceDistancesObjective_target_dis_set(long jarg1, ReproduceDistancesObjective jarg1_, long jarg2);
  public final static native long ReproduceDistancesObjective_target_dis_get(long jarg1, ReproduceDistancesObjective jarg1_);
  public final static native void ReproduceDistancesObjective_weights_set(long jarg1, ReproduceDistancesObjective jarg1_, long jarg2, DoubleVector jarg2_);
  public final static native long ReproduceDistancesObjective_weights_get(long jarg1, ReproduceDistancesObjective jarg1_);
  public final static native double ReproduceDistancesObjective_get_source_dis(long jarg1, ReproduceDistancesObjective jarg1_, int jarg2, int jarg3);
  public final static native double ReproduceDistancesObjective_compute_cost(long jarg1, ReproduceDistancesObjective jarg1_, long jarg2);
  public final static native double ReproduceDistancesObjective_cost_update(long jarg1, ReproduceDistancesObjective jarg1_, long jarg2, int jarg3, int jarg4);
  public final static native long new_ReproduceDistancesObjective(int jarg1, long jarg2, long jarg3, double jarg4);
  public final static native void ReproduceDistancesObjective_compute_mean_stdev(long jarg1, long jarg2, long jarg3, long jarg4);
  public final static native void ReproduceDistancesObjective_set_affine_target_dis(long jarg1, ReproduceDistancesObjective jarg1_, long jarg2);
  public final static native void delete_ReproduceDistancesObjective(long jarg1);
  public final static native void SimulatedAnnealingOptimizer_obj_set(long jarg1, SimulatedAnnealingOptimizer jarg1_, long jarg2, PermutationObjective jarg2_);
  public final static native long SimulatedAnnealingOptimizer_obj_get(long jarg1, SimulatedAnnealingOptimizer jarg1_);
  public final static native void SimulatedAnnealingOptimizer_n_set(long jarg1, SimulatedAnnealingOptimizer jarg1_, int jarg2);
  public final static native int SimulatedAnnealingOptimizer_n_get(long jarg1, SimulatedAnnealingOptimizer jarg1_);
  public final static native void SimulatedAnnealingOptimizer_logfile_set(long jarg1, SimulatedAnnealingOptimizer jarg1_, long jarg2);
  public final static native long SimulatedAnnealingOptimizer_logfile_get(long jarg1, SimulatedAnnealingOptimizer jarg1_);
  public final static native long new_SimulatedAnnealingOptimizer(long jarg1, PermutationObjective jarg1_, long jarg2, SimulatedAnnealingParameters jarg2_);
  public final static native void SimulatedAnnealingOptimizer_rnd_set(long jarg1, SimulatedAnnealingOptimizer jarg1_, long jarg2);
  public final static native long SimulatedAnnealingOptimizer_rnd_get(long jarg1, SimulatedAnnealingOptimizer jarg1_);
  public final static native void SimulatedAnnealingOptimizer_init_cost_set(long jarg1, SimulatedAnnealingOptimizer jarg1_, double jarg2);
  public final static native double SimulatedAnnealingOptimizer_init_cost_get(long jarg1, SimulatedAnnealingOptimizer jarg1_);
  public final static native double SimulatedAnnealingOptimizer_optimize(long jarg1, SimulatedAnnealingOptimizer jarg1_, long jarg2);
  public final static native double SimulatedAnnealingOptimizer_run_optimization(long jarg1, SimulatedAnnealingOptimizer jarg1_, long jarg2);
  public final static native void delete_SimulatedAnnealingOptimizer(long jarg1);
  public final static native void PolysemousTraining_optimization_type_set(long jarg1, PolysemousTraining jarg1_, int jarg2);
  public final static native int PolysemousTraining_optimization_type_get(long jarg1, PolysemousTraining jarg1_);
  public final static native void PolysemousTraining_ntrain_permutation_set(long jarg1, PolysemousTraining jarg1_, int jarg2);
  public final static native int PolysemousTraining_ntrain_permutation_get(long jarg1, PolysemousTraining jarg1_);
  public final static native void PolysemousTraining_dis_weight_factor_set(long jarg1, PolysemousTraining jarg1_, double jarg2);
  public final static native double PolysemousTraining_dis_weight_factor_get(long jarg1, PolysemousTraining jarg1_);
  public final static native void PolysemousTraining_max_memory_set(long jarg1, PolysemousTraining jarg1_, long jarg2);
  public final static native long PolysemousTraining_max_memory_get(long jarg1, PolysemousTraining jarg1_);
  public final static native void PolysemousTraining_log_pattern_set(long jarg1, PolysemousTraining jarg1_, String jarg2);
  public final static native String PolysemousTraining_log_pattern_get(long jarg1, PolysemousTraining jarg1_);
  public final static native long new_PolysemousTraining();
  public final static native void PolysemousTraining_optimize_pq_for_hamming(long jarg1, PolysemousTraining jarg1_, long jarg2, ProductQuantizer jarg2_, long jarg3, long jarg4);
  public final static native void PolysemousTraining_optimize_ranking(long jarg1, PolysemousTraining jarg1_, long jarg2, ProductQuantizer jarg2_, long jarg3, long jarg4);
  public final static native void PolysemousTraining_optimize_reproduce_distances(long jarg1, PolysemousTraining jarg1_, long jarg2, ProductQuantizer jarg2_);
  public final static native long PolysemousTraining_memory_usage_per_thread(long jarg1, PolysemousTraining jarg1_, long jarg2, ProductQuantizer jarg2_);
  public final static native void delete_PolysemousTraining(long jarg1);
  public final static native void IndexPQ_pq_set(long jarg1, IndexPQ jarg1_, long jarg2, ProductQuantizer jarg2_);
  public final static native long IndexPQ_pq_get(long jarg1, IndexPQ jarg1_);
  public final static native long new_IndexPQ__SWIG_0(int jarg1, long jarg2, long jarg3, int jarg4);
  public final static native long new_IndexPQ__SWIG_1(int jarg1, long jarg2, long jarg3);
  public final static native long new_IndexPQ__SWIG_2();
  public final static native void IndexPQ_train(long jarg1, IndexPQ jarg1_, long jarg2, long jarg3);
  public final static native void IndexPQ_search(long jarg1, IndexPQ jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexPQ_sa_encode(long jarg1, IndexPQ jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexPQ_sa_decode(long jarg1, IndexPQ jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native long IndexPQ_get_distance_computer(long jarg1, IndexPQ jarg1_);
  public final static native void IndexPQ_do_polysemous_training_set(long jarg1, IndexPQ jarg1_, boolean jarg2);
  public final static native boolean IndexPQ_do_polysemous_training_get(long jarg1, IndexPQ jarg1_);
  public final static native void IndexPQ_polysemous_training_set(long jarg1, IndexPQ jarg1_, long jarg2, PolysemousTraining jarg2_);
  public final static native long IndexPQ_polysemous_training_get(long jarg1, IndexPQ jarg1_);
  public final static native void IndexPQ_search_type_set(long jarg1, IndexPQ jarg1_, int jarg2);
  public final static native int IndexPQ_search_type_get(long jarg1, IndexPQ jarg1_);
  public final static native void IndexPQ_encode_signs_set(long jarg1, IndexPQ jarg1_, boolean jarg2);
  public final static native boolean IndexPQ_encode_signs_get(long jarg1, IndexPQ jarg1_);
  public final static native void IndexPQ_polysemous_ht_set(long jarg1, IndexPQ jarg1_, int jarg2);
  public final static native int IndexPQ_polysemous_ht_get(long jarg1, IndexPQ jarg1_);
  public final static native void IndexPQ_search_core_polysemous(long jarg1, IndexPQ jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexPQ_hamming_distance_histogram(long jarg1, IndexPQ jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexPQ_hamming_distance_table(long jarg1, IndexPQ jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void delete_IndexPQ(long jarg1);
  public final static native void IndexPQStats_nq_set(long jarg1, IndexPQStats jarg1_, long jarg2);
  public final static native long IndexPQStats_nq_get(long jarg1, IndexPQStats jarg1_);
  public final static native void IndexPQStats_ncode_set(long jarg1, IndexPQStats jarg1_, long jarg2);
  public final static native long IndexPQStats_ncode_get(long jarg1, IndexPQStats jarg1_);
  public final static native void IndexPQStats_n_hamming_pass_set(long jarg1, IndexPQStats jarg1_, long jarg2);
  public final static native long IndexPQStats_n_hamming_pass_get(long jarg1, IndexPQStats jarg1_);
  public final static native long new_IndexPQStats();
  public final static native void IndexPQStats_reset(long jarg1, IndexPQStats jarg1_);
  public final static native void delete_IndexPQStats(long jarg1);
  public final static native void indexPQ_stats_set(long jarg1, IndexPQStats jarg1_);
  public final static native long indexPQ_stats_get();
  public final static native void MultiIndexQuantizer_pq_set(long jarg1, MultiIndexQuantizer jarg1_, long jarg2, ProductQuantizer jarg2_);
  public final static native long MultiIndexQuantizer_pq_get(long jarg1, MultiIndexQuantizer jarg1_);
  public final static native long new_MultiIndexQuantizer__SWIG_0(int jarg1, long jarg2, long jarg3);
  public final static native void MultiIndexQuantizer_train(long jarg1, MultiIndexQuantizer jarg1_, long jarg2, long jarg3);
  public final static native void MultiIndexQuantizer_search(long jarg1, MultiIndexQuantizer jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void MultiIndexQuantizer_add(long jarg1, MultiIndexQuantizer jarg1_, long jarg2, long jarg3);
  public final static native void MultiIndexQuantizer_reset(long jarg1, MultiIndexQuantizer jarg1_);
  public final static native long new_MultiIndexQuantizer__SWIG_1();
  public final static native void MultiIndexQuantizer_reconstruct(long jarg1, MultiIndexQuantizer jarg1_, long jarg2, long jarg3);
  public final static native void delete_MultiIndexQuantizer(long jarg1);
  public final static native void MultiIndexQuantizer2_assign_indexes_set(long jarg1, MultiIndexQuantizer2 jarg1_, long jarg2);
  public final static native long MultiIndexQuantizer2_assign_indexes_get(long jarg1, MultiIndexQuantizer2 jarg1_);
  public final static native void MultiIndexQuantizer2_own_fields_set(long jarg1, MultiIndexQuantizer2 jarg1_, boolean jarg2);
  public final static native boolean MultiIndexQuantizer2_own_fields_get(long jarg1, MultiIndexQuantizer2 jarg1_);
  public final static native long new_MultiIndexQuantizer2__SWIG_0(int jarg1, long jarg2, long jarg3, long jarg4);
  public final static native long new_MultiIndexQuantizer2__SWIG_1(int jarg1, long jarg2, long jarg3, Index jarg3_, long jarg4, Index jarg4_);
  public final static native void MultiIndexQuantizer2_train(long jarg1, MultiIndexQuantizer2 jarg1_, long jarg2, long jarg3);
  public final static native void MultiIndexQuantizer2_search(long jarg1, MultiIndexQuantizer2 jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void delete_MultiIndexQuantizer2(long jarg1);
  public final static native void InvertedLists_nlist_set(long jarg1, InvertedLists jarg1_, long jarg2);
  public final static native long InvertedLists_nlist_get(long jarg1, InvertedLists jarg1_);
  public final static native void InvertedLists_code_size_set(long jarg1, InvertedLists jarg1_, long jarg2);
  public final static native long InvertedLists_code_size_get(long jarg1, InvertedLists jarg1_);
  public final static native long InvertedLists_INVALID_CODE_SIZE_get();
  public final static native long InvertedLists_list_size(long jarg1, InvertedLists jarg1_, long jarg2);
  public final static native long InvertedLists_get_codes(long jarg1, InvertedLists jarg1_, long jarg2);
  public final static native long InvertedLists_get_ids(long jarg1, InvertedLists jarg1_, long jarg2);
  public final static native void InvertedLists_release_codes(long jarg1, InvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void InvertedLists_release_ids(long jarg1, InvertedLists jarg1_, long jarg2, long jarg3, LongVector jarg3_);
  public final static native long InvertedLists_get_single_id(long jarg1, InvertedLists jarg1_, long jarg2, long jarg3);
  public final static native long InvertedLists_get_single_code(long jarg1, InvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void InvertedLists_prefetch_lists(long jarg1, InvertedLists jarg1_, long jarg2, LongVector jarg2_, int jarg3);
  public final static native long InvertedLists_add_entry(long jarg1, InvertedLists jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native long InvertedLists_add_entries(long jarg1, InvertedLists jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void InvertedLists_update_entry(long jarg1, InvertedLists jarg1_, long jarg2, long jarg3, long jarg4, long jarg5);
  public final static native void InvertedLists_update_entries(long jarg1, InvertedLists jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, LongVector jarg5_, long jarg6);
  public final static native void InvertedLists_resize(long jarg1, InvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void InvertedLists_reset(long jarg1, InvertedLists jarg1_);
  public final static native void InvertedLists_merge_from(long jarg1, InvertedLists jarg1_, long jarg2, InvertedLists jarg2_, long jarg3);
  public final static native void delete_InvertedLists(long jarg1);
  public final static native double InvertedLists_imbalance_factor(long jarg1, InvertedLists jarg1_);
  public final static native void InvertedLists_print_stats(long jarg1, InvertedLists jarg1_);
  public final static native long InvertedLists_compute_ntotal(long jarg1, InvertedLists jarg1_);
  public final static native void InvertedLists_ScopedIds_il_set(long jarg1, InvertedLists.ScopedIds jarg1_, long jarg2, InvertedLists jarg2_);
  public final static native long InvertedLists_ScopedIds_il_get(long jarg1, InvertedLists.ScopedIds jarg1_);
  public final static native void InvertedLists_ScopedIds_ids_set(long jarg1, InvertedLists.ScopedIds jarg1_, long jarg2, LongVector jarg2_);
  public final static native long InvertedLists_ScopedIds_ids_get(long jarg1, InvertedLists.ScopedIds jarg1_);
  public final static native void InvertedLists_ScopedIds_list_no_set(long jarg1, InvertedLists.ScopedIds jarg1_, long jarg2);
  public final static native long InvertedLists_ScopedIds_list_no_get(long jarg1, InvertedLists.ScopedIds jarg1_);
  public final static native long new_InvertedLists_ScopedIds(long jarg1, InvertedLists jarg1_, long jarg2);
  public final static native long InvertedLists_ScopedIds_get(long jarg1, InvertedLists.ScopedIds jarg1_);
  public final static native void delete_InvertedLists_ScopedIds(long jarg1);
  public final static native void InvertedLists_ScopedCodes_il_set(long jarg1, InvertedLists.ScopedCodes jarg1_, long jarg2, InvertedLists jarg2_);
  public final static native long InvertedLists_ScopedCodes_il_get(long jarg1, InvertedLists.ScopedCodes jarg1_);
  public final static native void InvertedLists_ScopedCodes_codes_set(long jarg1, InvertedLists.ScopedCodes jarg1_, long jarg2);
  public final static native long InvertedLists_ScopedCodes_codes_get(long jarg1, InvertedLists.ScopedCodes jarg1_);
  public final static native void InvertedLists_ScopedCodes_list_no_set(long jarg1, InvertedLists.ScopedCodes jarg1_, long jarg2);
  public final static native long InvertedLists_ScopedCodes_list_no_get(long jarg1, InvertedLists.ScopedCodes jarg1_);
  public final static native long new_InvertedLists_ScopedCodes__SWIG_0(long jarg1, InvertedLists jarg1_, long jarg2);
  public final static native long new_InvertedLists_ScopedCodes__SWIG_1(long jarg1, InvertedLists jarg1_, long jarg2, long jarg3);
  public final static native long InvertedLists_ScopedCodes_get(long jarg1, InvertedLists.ScopedCodes jarg1_);
  public final static native void delete_InvertedLists_ScopedCodes(long jarg1);
  public final static native void ArrayInvertedLists_codes_set(long jarg1, ArrayInvertedLists jarg1_, long jarg2, ByteVectorVector jarg2_);
  public final static native long ArrayInvertedLists_codes_get(long jarg1, ArrayInvertedLists jarg1_);
  public final static native void ArrayInvertedLists_ids_set(long jarg1, ArrayInvertedLists jarg1_, long jarg2);
  public final static native long ArrayInvertedLists_ids_get(long jarg1, ArrayInvertedLists jarg1_);
  public final static native long new_ArrayInvertedLists(long jarg1, long jarg2);
  public final static native long ArrayInvertedLists_list_size(long jarg1, ArrayInvertedLists jarg1_, long jarg2);
  public final static native long ArrayInvertedLists_get_codes(long jarg1, ArrayInvertedLists jarg1_, long jarg2);
  public final static native long ArrayInvertedLists_get_ids(long jarg1, ArrayInvertedLists jarg1_, long jarg2);
  public final static native long ArrayInvertedLists_add_entries(long jarg1, ArrayInvertedLists jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void ArrayInvertedLists_update_entries(long jarg1, ArrayInvertedLists jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, LongVector jarg5_, long jarg6);
  public final static native void ArrayInvertedLists_resize(long jarg1, ArrayInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void delete_ArrayInvertedLists(long jarg1);
  public final static native long ReadOnlyInvertedLists_add_entries(long jarg1, ReadOnlyInvertedLists jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void ReadOnlyInvertedLists_update_entries(long jarg1, ReadOnlyInvertedLists jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, LongVector jarg5_, long jarg6);
  public final static native void ReadOnlyInvertedLists_resize(long jarg1, ReadOnlyInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void delete_ReadOnlyInvertedLists(long jarg1);
  public final static native void HStackInvertedLists_ils_set(long jarg1, HStackInvertedLists jarg1_, long jarg2);
  public final static native long HStackInvertedLists_ils_get(long jarg1, HStackInvertedLists jarg1_);
  public final static native long new_HStackInvertedLists(int jarg1, long jarg2);
  public final static native long HStackInvertedLists_list_size(long jarg1, HStackInvertedLists jarg1_, long jarg2);
  public final static native long HStackInvertedLists_get_codes(long jarg1, HStackInvertedLists jarg1_, long jarg2);
  public final static native long HStackInvertedLists_get_ids(long jarg1, HStackInvertedLists jarg1_, long jarg2);
  public final static native void HStackInvertedLists_prefetch_lists(long jarg1, HStackInvertedLists jarg1_, long jarg2, LongVector jarg2_, int jarg3);
  public final static native void HStackInvertedLists_release_codes(long jarg1, HStackInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void HStackInvertedLists_release_ids(long jarg1, HStackInvertedLists jarg1_, long jarg2, long jarg3, LongVector jarg3_);
  public final static native long HStackInvertedLists_get_single_id(long jarg1, HStackInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native long HStackInvertedLists_get_single_code(long jarg1, HStackInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void delete_HStackInvertedLists(long jarg1);
  public final static native void SliceInvertedLists_il_set(long jarg1, SliceInvertedLists jarg1_, long jarg2, InvertedLists jarg2_);
  public final static native long SliceInvertedLists_il_get(long jarg1, SliceInvertedLists jarg1_);
  public final static native void SliceInvertedLists_i0_set(long jarg1, SliceInvertedLists jarg1_, long jarg2);
  public final static native long SliceInvertedLists_i0_get(long jarg1, SliceInvertedLists jarg1_);
  public final static native void SliceInvertedLists_i1_set(long jarg1, SliceInvertedLists jarg1_, long jarg2);
  public final static native long SliceInvertedLists_i1_get(long jarg1, SliceInvertedLists jarg1_);
  public final static native long new_SliceInvertedLists(long jarg1, InvertedLists jarg1_, long jarg2, long jarg3);
  public final static native long SliceInvertedLists_list_size(long jarg1, SliceInvertedLists jarg1_, long jarg2);
  public final static native long SliceInvertedLists_get_codes(long jarg1, SliceInvertedLists jarg1_, long jarg2);
  public final static native long SliceInvertedLists_get_ids(long jarg1, SliceInvertedLists jarg1_, long jarg2);
  public final static native void SliceInvertedLists_release_codes(long jarg1, SliceInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void SliceInvertedLists_release_ids(long jarg1, SliceInvertedLists jarg1_, long jarg2, long jarg3, LongVector jarg3_);
  public final static native long SliceInvertedLists_get_single_id(long jarg1, SliceInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native long SliceInvertedLists_get_single_code(long jarg1, SliceInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void SliceInvertedLists_prefetch_lists(long jarg1, SliceInvertedLists jarg1_, long jarg2, LongVector jarg2_, int jarg3);
  public final static native void delete_SliceInvertedLists(long jarg1);
  public final static native void VStackInvertedLists_ils_set(long jarg1, VStackInvertedLists jarg1_, long jarg2);
  public final static native long VStackInvertedLists_ils_get(long jarg1, VStackInvertedLists jarg1_);
  public final static native void VStackInvertedLists_cumsz_set(long jarg1, VStackInvertedLists jarg1_, long jarg2);
  public final static native long VStackInvertedLists_cumsz_get(long jarg1, VStackInvertedLists jarg1_);
  public final static native long new_VStackInvertedLists(int jarg1, long jarg2);
  public final static native long VStackInvertedLists_list_size(long jarg1, VStackInvertedLists jarg1_, long jarg2);
  public final static native long VStackInvertedLists_get_codes(long jarg1, VStackInvertedLists jarg1_, long jarg2);
  public final static native long VStackInvertedLists_get_ids(long jarg1, VStackInvertedLists jarg1_, long jarg2);
  public final static native void VStackInvertedLists_release_codes(long jarg1, VStackInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void VStackInvertedLists_release_ids(long jarg1, VStackInvertedLists jarg1_, long jarg2, long jarg3, LongVector jarg3_);
  public final static native long VStackInvertedLists_get_single_id(long jarg1, VStackInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native long VStackInvertedLists_get_single_code(long jarg1, VStackInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void VStackInvertedLists_prefetch_lists(long jarg1, VStackInvertedLists jarg1_, long jarg2, LongVector jarg2_, int jarg3);
  public final static native void delete_VStackInvertedLists(long jarg1);
  public final static native void MaskedInvertedLists_il0_set(long jarg1, MaskedInvertedLists jarg1_, long jarg2, InvertedLists jarg2_);
  public final static native long MaskedInvertedLists_il0_get(long jarg1, MaskedInvertedLists jarg1_);
  public final static native void MaskedInvertedLists_il1_set(long jarg1, MaskedInvertedLists jarg1_, long jarg2, InvertedLists jarg2_);
  public final static native long MaskedInvertedLists_il1_get(long jarg1, MaskedInvertedLists jarg1_);
  public final static native long new_MaskedInvertedLists(long jarg1, InvertedLists jarg1_, long jarg2, InvertedLists jarg2_);
  public final static native long MaskedInvertedLists_list_size(long jarg1, MaskedInvertedLists jarg1_, long jarg2);
  public final static native long MaskedInvertedLists_get_codes(long jarg1, MaskedInvertedLists jarg1_, long jarg2);
  public final static native long MaskedInvertedLists_get_ids(long jarg1, MaskedInvertedLists jarg1_, long jarg2);
  public final static native void MaskedInvertedLists_release_codes(long jarg1, MaskedInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void MaskedInvertedLists_release_ids(long jarg1, MaskedInvertedLists jarg1_, long jarg2, long jarg3, LongVector jarg3_);
  public final static native long MaskedInvertedLists_get_single_id(long jarg1, MaskedInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native long MaskedInvertedLists_get_single_code(long jarg1, MaskedInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void MaskedInvertedLists_prefetch_lists(long jarg1, MaskedInvertedLists jarg1_, long jarg2, LongVector jarg2_, int jarg3);
  public final static native void delete_MaskedInvertedLists(long jarg1);
  public final static native void StopWordsInvertedLists_il0_set(long jarg1, StopWordsInvertedLists jarg1_, long jarg2, InvertedLists jarg2_);
  public final static native long StopWordsInvertedLists_il0_get(long jarg1, StopWordsInvertedLists jarg1_);
  public final static native void StopWordsInvertedLists_maxsize_set(long jarg1, StopWordsInvertedLists jarg1_, long jarg2);
  public final static native long StopWordsInvertedLists_maxsize_get(long jarg1, StopWordsInvertedLists jarg1_);
  public final static native long new_StopWordsInvertedLists(long jarg1, InvertedLists jarg1_, long jarg2);
  public final static native long StopWordsInvertedLists_list_size(long jarg1, StopWordsInvertedLists jarg1_, long jarg2);
  public final static native long StopWordsInvertedLists_get_codes(long jarg1, StopWordsInvertedLists jarg1_, long jarg2);
  public final static native long StopWordsInvertedLists_get_ids(long jarg1, StopWordsInvertedLists jarg1_, long jarg2);
  public final static native void StopWordsInvertedLists_release_codes(long jarg1, StopWordsInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void StopWordsInvertedLists_release_ids(long jarg1, StopWordsInvertedLists jarg1_, long jarg2, long jarg3, LongVector jarg3_);
  public final static native long StopWordsInvertedLists_get_single_id(long jarg1, StopWordsInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native long StopWordsInvertedLists_get_single_code(long jarg1, StopWordsInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void StopWordsInvertedLists_prefetch_lists(long jarg1, StopWordsInvertedLists jarg1_, long jarg2, LongVector jarg2_, int jarg3);
  public final static native void delete_StopWordsInvertedLists(long jarg1);
  public final static native void Level1Quantizer_quantizer_set(long jarg1, Level1Quantizer jarg1_, long jarg2, Index jarg2_);
  public final static native long Level1Quantizer_quantizer_get(long jarg1, Level1Quantizer jarg1_);
  public final static native void Level1Quantizer_nlist_set(long jarg1, Level1Quantizer jarg1_, long jarg2);
  public final static native long Level1Quantizer_nlist_get(long jarg1, Level1Quantizer jarg1_);
  public final static native void Level1Quantizer_quantizer_trains_alone_set(long jarg1, Level1Quantizer jarg1_, char jarg2);
  public final static native char Level1Quantizer_quantizer_trains_alone_get(long jarg1, Level1Quantizer jarg1_);
  public final static native void Level1Quantizer_own_fields_set(long jarg1, Level1Quantizer jarg1_, boolean jarg2);
  public final static native boolean Level1Quantizer_own_fields_get(long jarg1, Level1Quantizer jarg1_);
  public final static native void Level1Quantizer_cp_set(long jarg1, Level1Quantizer jarg1_, long jarg2, ClusteringParameters jarg2_);
  public final static native long Level1Quantizer_cp_get(long jarg1, Level1Quantizer jarg1_);
  public final static native void Level1Quantizer_clustering_index_set(long jarg1, Level1Quantizer jarg1_, long jarg2, Index jarg2_);
  public final static native long Level1Quantizer_clustering_index_get(long jarg1, Level1Quantizer jarg1_);
  public final static native void Level1Quantizer_train_q1(long jarg1, Level1Quantizer jarg1_, long jarg2, long jarg3, boolean jarg4, int jarg5);
  public final static native long Level1Quantizer_coarse_code_size(long jarg1, Level1Quantizer jarg1_);
  public final static native void Level1Quantizer_encode_listno(long jarg1, Level1Quantizer jarg1_, long jarg2, long jarg3);
  public final static native long Level1Quantizer_decode_listno(long jarg1, Level1Quantizer jarg1_, long jarg2);
  public final static native long new_Level1Quantizer__SWIG_0(long jarg1, Index jarg1_, long jarg2);
  public final static native long new_Level1Quantizer__SWIG_1();
  public final static native void delete_Level1Quantizer(long jarg1);
  public final static native void IVFSearchParameters_nprobe_set(long jarg1, IVFSearchParameters jarg1_, long jarg2);
  public final static native long IVFSearchParameters_nprobe_get(long jarg1, IVFSearchParameters jarg1_);
  public final static native void IVFSearchParameters_max_codes_set(long jarg1, IVFSearchParameters jarg1_, long jarg2);
  public final static native long IVFSearchParameters_max_codes_get(long jarg1, IVFSearchParameters jarg1_);
  public final static native long new_IVFSearchParameters();
  public final static native void delete_IVFSearchParameters(long jarg1);
  public final static native void IndexIVF_invlists_set(long jarg1, IndexIVF jarg1_, long jarg2, InvertedLists jarg2_);
  public final static native long IndexIVF_invlists_get(long jarg1, IndexIVF jarg1_);
  public final static native void IndexIVF_own_invlists_set(long jarg1, IndexIVF jarg1_, boolean jarg2);
  public final static native boolean IndexIVF_own_invlists_get(long jarg1, IndexIVF jarg1_);
  public final static native void IndexIVF_code_size_set(long jarg1, IndexIVF jarg1_, long jarg2);
  public final static native long IndexIVF_code_size_get(long jarg1, IndexIVF jarg1_);
  public final static native void IndexIVF_nprobe_set(long jarg1, IndexIVF jarg1_, long jarg2);
  public final static native long IndexIVF_nprobe_get(long jarg1, IndexIVF jarg1_);
  public final static native void IndexIVF_max_codes_set(long jarg1, IndexIVF jarg1_, long jarg2);
  public final static native long IndexIVF_max_codes_get(long jarg1, IndexIVF jarg1_);
  public final static native void IndexIVF_parallel_mode_set(long jarg1, IndexIVF jarg1_, int jarg2);
  public final static native int IndexIVF_parallel_mode_get(long jarg1, IndexIVF jarg1_);
  public final static native int IndexIVF_PARALLEL_MODE_NO_HEAP_INIT_get(long jarg1, IndexIVF jarg1_);
  public final static native void IndexIVF_direct_map_set(long jarg1, IndexIVF jarg1_, long jarg2);
  public final static native long IndexIVF_direct_map_get(long jarg1, IndexIVF jarg1_);
  public final static native void IndexIVF_reset(long jarg1, IndexIVF jarg1_);
  public final static native void IndexIVF_train(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3);
  public final static native void IndexIVF_add(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3);
  public final static native void IndexIVF_add_with_ids(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void IndexIVF_add_core(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, LongVector jarg5_);
  public final static native void IndexIVF_encode_vectors__SWIG_0(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, boolean jarg6);
  public final static native void IndexIVF_encode_vectors__SWIG_1(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void IndexIVF_add_sa_codes(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void IndexIVF_train_residual(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3);
  public final static native void IndexIVF_search_preassigned__SWIG_0(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, LongVector jarg5_, long jarg6, long jarg7, long jarg8, LongVector jarg8_, boolean jarg9, long jarg10, IVFSearchParameters jarg10_, long jarg11, IndexIVFStats jarg11_);
  public final static native void IndexIVF_search_preassigned__SWIG_1(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, LongVector jarg5_, long jarg6, long jarg7, long jarg8, LongVector jarg8_, boolean jarg9, long jarg10, IVFSearchParameters jarg10_);
  public final static native void IndexIVF_search_preassigned__SWIG_2(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, LongVector jarg5_, long jarg6, long jarg7, long jarg8, LongVector jarg8_, boolean jarg9);
  public final static native void IndexIVF_search(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexIVF_range_search(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, float jarg4, long jarg5, RangeSearchResult jarg5_);
  public final static native void IndexIVF_range_search_preassigned__SWIG_0(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, float jarg4, long jarg5, LongVector jarg5_, long jarg6, long jarg7, RangeSearchResult jarg7_, boolean jarg8, long jarg9, IVFSearchParameters jarg9_, long jarg10, IndexIVFStats jarg10_);
  public final static native void IndexIVF_range_search_preassigned__SWIG_1(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, float jarg4, long jarg5, LongVector jarg5_, long jarg6, long jarg7, RangeSearchResult jarg7_, boolean jarg8, long jarg9, IVFSearchParameters jarg9_);
  public final static native void IndexIVF_range_search_preassigned__SWIG_2(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, float jarg4, long jarg5, LongVector jarg5_, long jarg6, long jarg7, RangeSearchResult jarg7_, boolean jarg8);
  public final static native void IndexIVF_range_search_preassigned__SWIG_3(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, float jarg4, long jarg5, LongVector jarg5_, long jarg6, long jarg7, RangeSearchResult jarg7_);
  public final static native long IndexIVF_get_InvertedListScanner__SWIG_0(long jarg1, IndexIVF jarg1_, boolean jarg2);
  public final static native long IndexIVF_get_InvertedListScanner__SWIG_1(long jarg1, IndexIVF jarg1_);
  public final static native void IndexIVF_reconstruct(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3);
  public final static native void IndexIVF_update_vectors(long jarg1, IndexIVF jarg1_, int jarg2, long jarg3, LongVector jarg3_, long jarg4);
  public final static native void IndexIVF_reconstruct_n(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexIVF_search_and_reconstruct(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_, long jarg7);
  public final static native void IndexIVF_reconstruct_from_offset(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native long IndexIVF_remove_ids(long jarg1, IndexIVF jarg1_, long jarg2, IDSelector jarg2_);
  public final static native void IndexIVF_check_compatible_for_merge(long jarg1, IndexIVF jarg1_, long jarg2, IndexIVF jarg2_);
  public final static native void IndexIVF_merge_from(long jarg1, IndexIVF jarg1_, long jarg2, IndexIVF jarg2_, long jarg3);
  public final static native void IndexIVF_copy_subset_to(long jarg1, IndexIVF jarg1_, long jarg2, IndexIVF jarg2_, int jarg3, long jarg4, long jarg5);
  public final static native void delete_IndexIVF(long jarg1);
  public final static native long IndexIVF_get_list_size(long jarg1, IndexIVF jarg1_, long jarg2);
  public final static native void IndexIVF_make_direct_map__SWIG_0(long jarg1, IndexIVF jarg1_, boolean jarg2);
  public final static native void IndexIVF_make_direct_map__SWIG_1(long jarg1, IndexIVF jarg1_);
  public final static native void IndexIVF_set_direct_map_type(long jarg1, IndexIVF jarg1_, long jarg2);
  public final static native void IndexIVF_replace_invlists__SWIG_0(long jarg1, IndexIVF jarg1_, long jarg2, InvertedLists jarg2_, boolean jarg3);
  public final static native void IndexIVF_replace_invlists__SWIG_1(long jarg1, IndexIVF jarg1_, long jarg2, InvertedLists jarg2_);
  public final static native long IndexIVF_sa_code_size(long jarg1, IndexIVF jarg1_);
  public final static native void IndexIVF_sa_encode(long jarg1, IndexIVF jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexIVFStats_nq_set(long jarg1, IndexIVFStats jarg1_, long jarg2);
  public final static native long IndexIVFStats_nq_get(long jarg1, IndexIVFStats jarg1_);
  public final static native void IndexIVFStats_nlist_set(long jarg1, IndexIVFStats jarg1_, long jarg2);
  public final static native long IndexIVFStats_nlist_get(long jarg1, IndexIVFStats jarg1_);
  public final static native void IndexIVFStats_ndis_set(long jarg1, IndexIVFStats jarg1_, long jarg2);
  public final static native long IndexIVFStats_ndis_get(long jarg1, IndexIVFStats jarg1_);
  public final static native void IndexIVFStats_nheap_updates_set(long jarg1, IndexIVFStats jarg1_, long jarg2);
  public final static native long IndexIVFStats_nheap_updates_get(long jarg1, IndexIVFStats jarg1_);
  public final static native void IndexIVFStats_quantization_time_set(long jarg1, IndexIVFStats jarg1_, double jarg2);
  public final static native double IndexIVFStats_quantization_time_get(long jarg1, IndexIVFStats jarg1_);
  public final static native void IndexIVFStats_search_time_set(long jarg1, IndexIVFStats jarg1_, double jarg2);
  public final static native double IndexIVFStats_search_time_get(long jarg1, IndexIVFStats jarg1_);
  public final static native long new_IndexIVFStats();
  public final static native void IndexIVFStats_reset(long jarg1, IndexIVFStats jarg1_);
  public final static native void IndexIVFStats_add(long jarg1, IndexIVFStats jarg1_, long jarg2, IndexIVFStats jarg2_);
  public final static native void delete_IndexIVFStats(long jarg1);
  public final static native void indexIVF_stats_set(long jarg1, IndexIVFStats jarg1_);
  public final static native long indexIVF_stats_get();
  public final static native short[] hamdis_tab_ham_bytes_get();
  public final static native void HammingComputer4_a0_set(long jarg1, HammingComputer4 jarg1_, long jarg2);
  public final static native long HammingComputer4_a0_get(long jarg1, HammingComputer4 jarg1_);
  public final static native long new_HammingComputer4__SWIG_0();
  public final static native long new_HammingComputer4__SWIG_1(long jarg1, int jarg2);
  public final static native void HammingComputer4_set(long jarg1, HammingComputer4 jarg1_, long jarg2, int jarg3);
  public final static native int HammingComputer4_hamming(long jarg1, HammingComputer4 jarg1_, long jarg2);
  public final static native void delete_HammingComputer4(long jarg1);
  public final static native void HammingComputer8_a0_set(long jarg1, HammingComputer8 jarg1_, long jarg2);
  public final static native long HammingComputer8_a0_get(long jarg1, HammingComputer8 jarg1_);
  public final static native long new_HammingComputer8__SWIG_0();
  public final static native long new_HammingComputer8__SWIG_1(long jarg1, int jarg2);
  public final static native void HammingComputer8_set(long jarg1, HammingComputer8 jarg1_, long jarg2, int jarg3);
  public final static native int HammingComputer8_hamming(long jarg1, HammingComputer8 jarg1_, long jarg2);
  public final static native void delete_HammingComputer8(long jarg1);
  public final static native void HammingComputer16_a0_set(long jarg1, HammingComputer16 jarg1_, long jarg2);
  public final static native long HammingComputer16_a0_get(long jarg1, HammingComputer16 jarg1_);
  public final static native void HammingComputer16_a1_set(long jarg1, HammingComputer16 jarg1_, long jarg2);
  public final static native long HammingComputer16_a1_get(long jarg1, HammingComputer16 jarg1_);
  public final static native long new_HammingComputer16__SWIG_0();
  public final static native long new_HammingComputer16__SWIG_1(long jarg1, int jarg2);
  public final static native void HammingComputer16_set(long jarg1, HammingComputer16 jarg1_, long jarg2, int jarg3);
  public final static native int HammingComputer16_hamming(long jarg1, HammingComputer16 jarg1_, long jarg2);
  public final static native void delete_HammingComputer16(long jarg1);
  public final static native void HammingComputer20_a0_set(long jarg1, HammingComputer20 jarg1_, long jarg2);
  public final static native long HammingComputer20_a0_get(long jarg1, HammingComputer20 jarg1_);
  public final static native void HammingComputer20_a1_set(long jarg1, HammingComputer20 jarg1_, long jarg2);
  public final static native long HammingComputer20_a1_get(long jarg1, HammingComputer20 jarg1_);
  public final static native void HammingComputer20_a2_set(long jarg1, HammingComputer20 jarg1_, long jarg2);
  public final static native long HammingComputer20_a2_get(long jarg1, HammingComputer20 jarg1_);
  public final static native long new_HammingComputer20__SWIG_0();
  public final static native long new_HammingComputer20__SWIG_1(long jarg1, int jarg2);
  public final static native void HammingComputer20_set(long jarg1, HammingComputer20 jarg1_, long jarg2, int jarg3);
  public final static native int HammingComputer20_hamming(long jarg1, HammingComputer20 jarg1_, long jarg2);
  public final static native void delete_HammingComputer20(long jarg1);
  public final static native void HammingComputer32_a0_set(long jarg1, HammingComputer32 jarg1_, long jarg2);
  public final static native long HammingComputer32_a0_get(long jarg1, HammingComputer32 jarg1_);
  public final static native void HammingComputer32_a1_set(long jarg1, HammingComputer32 jarg1_, long jarg2);
  public final static native long HammingComputer32_a1_get(long jarg1, HammingComputer32 jarg1_);
  public final static native void HammingComputer32_a2_set(long jarg1, HammingComputer32 jarg1_, long jarg2);
  public final static native long HammingComputer32_a2_get(long jarg1, HammingComputer32 jarg1_);
  public final static native void HammingComputer32_a3_set(long jarg1, HammingComputer32 jarg1_, long jarg2);
  public final static native long HammingComputer32_a3_get(long jarg1, HammingComputer32 jarg1_);
  public final static native long new_HammingComputer32__SWIG_0();
  public final static native long new_HammingComputer32__SWIG_1(long jarg1, int jarg2);
  public final static native void HammingComputer32_set(long jarg1, HammingComputer32 jarg1_, long jarg2, int jarg3);
  public final static native int HammingComputer32_hamming(long jarg1, HammingComputer32 jarg1_, long jarg2);
  public final static native void delete_HammingComputer32(long jarg1);
  public final static native void HammingComputer64_a0_set(long jarg1, HammingComputer64 jarg1_, long jarg2);
  public final static native long HammingComputer64_a0_get(long jarg1, HammingComputer64 jarg1_);
  public final static native void HammingComputer64_a1_set(long jarg1, HammingComputer64 jarg1_, long jarg2);
  public final static native long HammingComputer64_a1_get(long jarg1, HammingComputer64 jarg1_);
  public final static native void HammingComputer64_a2_set(long jarg1, HammingComputer64 jarg1_, long jarg2);
  public final static native long HammingComputer64_a2_get(long jarg1, HammingComputer64 jarg1_);
  public final static native void HammingComputer64_a3_set(long jarg1, HammingComputer64 jarg1_, long jarg2);
  public final static native long HammingComputer64_a3_get(long jarg1, HammingComputer64 jarg1_);
  public final static native void HammingComputer64_a4_set(long jarg1, HammingComputer64 jarg1_, long jarg2);
  public final static native long HammingComputer64_a4_get(long jarg1, HammingComputer64 jarg1_);
  public final static native void HammingComputer64_a5_set(long jarg1, HammingComputer64 jarg1_, long jarg2);
  public final static native long HammingComputer64_a5_get(long jarg1, HammingComputer64 jarg1_);
  public final static native void HammingComputer64_a6_set(long jarg1, HammingComputer64 jarg1_, long jarg2);
  public final static native long HammingComputer64_a6_get(long jarg1, HammingComputer64 jarg1_);
  public final static native void HammingComputer64_a7_set(long jarg1, HammingComputer64 jarg1_, long jarg2);
  public final static native long HammingComputer64_a7_get(long jarg1, HammingComputer64 jarg1_);
  public final static native long new_HammingComputer64__SWIG_0();
  public final static native long new_HammingComputer64__SWIG_1(long jarg1, int jarg2);
  public final static native void HammingComputer64_set(long jarg1, HammingComputer64 jarg1_, long jarg2, int jarg3);
  public final static native int HammingComputer64_hamming(long jarg1, HammingComputer64 jarg1_, long jarg2);
  public final static native void delete_HammingComputer64(long jarg1);
  public final static native void HammingComputerDefault_a8_set(long jarg1, HammingComputerDefault jarg1_, long jarg2);
  public final static native long HammingComputerDefault_a8_get(long jarg1, HammingComputerDefault jarg1_);
  public final static native void HammingComputerDefault_quotient8_set(long jarg1, HammingComputerDefault jarg1_, int jarg2);
  public final static native int HammingComputerDefault_quotient8_get(long jarg1, HammingComputerDefault jarg1_);
  public final static native void HammingComputerDefault_remainder8_set(long jarg1, HammingComputerDefault jarg1_, int jarg2);
  public final static native int HammingComputerDefault_remainder8_get(long jarg1, HammingComputerDefault jarg1_);
  public final static native long new_HammingComputerDefault__SWIG_0();
  public final static native long new_HammingComputerDefault__SWIG_1(long jarg1, int jarg2);
  public final static native void HammingComputerDefault_set(long jarg1, HammingComputerDefault jarg1_, long jarg2, int jarg3);
  public final static native int HammingComputerDefault_hamming(long jarg1, HammingComputerDefault jarg1_, long jarg2);
  public final static native void delete_HammingComputerDefault(long jarg1);
  public final static native void HammingComputerM8_a_set(long jarg1, HammingComputerM8 jarg1_, long jarg2);
  public final static native long HammingComputerM8_a_get(long jarg1, HammingComputerM8 jarg1_);
  public final static native void HammingComputerM8_n_set(long jarg1, HammingComputerM8 jarg1_, int jarg2);
  public final static native int HammingComputerM8_n_get(long jarg1, HammingComputerM8 jarg1_);
  public final static native long new_HammingComputerM8__SWIG_0();
  public final static native long new_HammingComputerM8__SWIG_1(long jarg1, int jarg2);
  public final static native void HammingComputerM8_set(long jarg1, HammingComputerM8 jarg1_, long jarg2, int jarg3);
  public final static native int HammingComputerM8_hamming(long jarg1, HammingComputerM8 jarg1_, long jarg2);
  public final static native void delete_HammingComputerM8(long jarg1);
  public final static native void HammingComputerM4_a_set(long jarg1, HammingComputerM4 jarg1_, long jarg2);
  public final static native long HammingComputerM4_a_get(long jarg1, HammingComputerM4 jarg1_);
  public final static native void HammingComputerM4_n_set(long jarg1, HammingComputerM4 jarg1_, int jarg2);
  public final static native int HammingComputerM4_n_get(long jarg1, HammingComputerM4 jarg1_);
  public final static native long new_HammingComputerM4__SWIG_0();
  public final static native long new_HammingComputerM4__SWIG_1(long jarg1, int jarg2);
  public final static native void HammingComputerM4_set(long jarg1, HammingComputerM4 jarg1_, long jarg2, int jarg3);
  public final static native int HammingComputerM4_hamming(long jarg1, HammingComputerM4 jarg1_, long jarg2);
  public final static native void delete_HammingComputerM4(long jarg1);
  public final static native int generalized_hamming_64(long jarg1);
  public final static native void GenHammingComputer8_a0_set(long jarg1, GenHammingComputer8 jarg1_, long jarg2);
  public final static native long GenHammingComputer8_a0_get(long jarg1, GenHammingComputer8 jarg1_);
  public final static native long new_GenHammingComputer8(long jarg1, int jarg2);
  public final static native int GenHammingComputer8_hamming(long jarg1, GenHammingComputer8 jarg1_, long jarg2);
  public final static native void delete_GenHammingComputer8(long jarg1);
  public final static native void GenHammingComputer16_a0_set(long jarg1, GenHammingComputer16 jarg1_, long jarg2);
  public final static native long GenHammingComputer16_a0_get(long jarg1, GenHammingComputer16 jarg1_);
  public final static native void GenHammingComputer16_a1_set(long jarg1, GenHammingComputer16 jarg1_, long jarg2);
  public final static native long GenHammingComputer16_a1_get(long jarg1, GenHammingComputer16 jarg1_);
  public final static native long new_GenHammingComputer16(long jarg1, int jarg2);
  public final static native int GenHammingComputer16_hamming(long jarg1, GenHammingComputer16 jarg1_, long jarg2);
  public final static native void delete_GenHammingComputer16(long jarg1);
  public final static native void GenHammingComputer32_a0_set(long jarg1, GenHammingComputer32 jarg1_, long jarg2);
  public final static native long GenHammingComputer32_a0_get(long jarg1, GenHammingComputer32 jarg1_);
  public final static native void GenHammingComputer32_a1_set(long jarg1, GenHammingComputer32 jarg1_, long jarg2);
  public final static native long GenHammingComputer32_a1_get(long jarg1, GenHammingComputer32 jarg1_);
  public final static native void GenHammingComputer32_a2_set(long jarg1, GenHammingComputer32 jarg1_, long jarg2);
  public final static native long GenHammingComputer32_a2_get(long jarg1, GenHammingComputer32 jarg1_);
  public final static native void GenHammingComputer32_a3_set(long jarg1, GenHammingComputer32 jarg1_, long jarg2);
  public final static native long GenHammingComputer32_a3_get(long jarg1, GenHammingComputer32 jarg1_);
  public final static native long new_GenHammingComputer32(long jarg1, int jarg2);
  public final static native int GenHammingComputer32_hamming(long jarg1, GenHammingComputer32 jarg1_, long jarg2);
  public final static native void delete_GenHammingComputer32(long jarg1);
  public final static native void GenHammingComputerM8_a_set(long jarg1, GenHammingComputerM8 jarg1_, long jarg2);
  public final static native long GenHammingComputerM8_a_get(long jarg1, GenHammingComputerM8 jarg1_);
  public final static native void GenHammingComputerM8_n_set(long jarg1, GenHammingComputerM8 jarg1_, int jarg2);
  public final static native int GenHammingComputerM8_n_get(long jarg1, GenHammingComputerM8 jarg1_);
  public final static native long new_GenHammingComputerM8(long jarg1, int jarg2);
  public final static native int GenHammingComputerM8_hamming(long jarg1, GenHammingComputerM8 jarg1_, long jarg2);
  public final static native void delete_GenHammingComputerM8(long jarg1);
  public final static native void generalized_hammings_knn_hc__SWIG_0(long jarg1, long jarg2, long jarg3, long jarg4, long jarg5, int jarg6);
  public final static native void generalized_hammings_knn_hc__SWIG_1(long jarg1, long jarg2, long jarg3, long jarg4, long jarg5);
  public final static native void check_compatible_for_merge(long jarg1, Index jarg1_, long jarg2, Index jarg2_);
  public final static native long extract_index_ivf__SWIG_0(long jarg1, Index jarg1_);
  public final static native long try_extract_index_ivf__SWIG_0(long jarg1, Index jarg1_);
  public final static native void merge_into(long jarg1, Index jarg1_, long jarg2, Index jarg2_, boolean jarg3);
  public final static native void search_centroid(long jarg1, Index jarg1_, long jarg2, int jarg3, long jarg4, LongVector jarg4_);
  public final static native void search_and_return_centroids(long jarg1, Index jarg1_, long jarg2, long jarg3, int jarg4, long jarg5, long jarg6, LongVector jarg6_, long jarg7, LongVector jarg7_, long jarg8, LongVector jarg8_);
  public final static native void SlidingIndexWindow_index_set(long jarg1, SlidingIndexWindow jarg1_, long jarg2, Index jarg2_);
  public final static native long SlidingIndexWindow_index_get(long jarg1, SlidingIndexWindow jarg1_);
  public final static native void SlidingIndexWindow_ils_set(long jarg1, SlidingIndexWindow jarg1_, long jarg2, ArrayInvertedLists jarg2_);
  public final static native long SlidingIndexWindow_ils_get(long jarg1, SlidingIndexWindow jarg1_);
  public final static native void SlidingIndexWindow_n_slice_set(long jarg1, SlidingIndexWindow jarg1_, int jarg2);
  public final static native int SlidingIndexWindow_n_slice_get(long jarg1, SlidingIndexWindow jarg1_);
  public final static native void SlidingIndexWindow_nlist_set(long jarg1, SlidingIndexWindow jarg1_, long jarg2);
  public final static native long SlidingIndexWindow_nlist_get(long jarg1, SlidingIndexWindow jarg1_);
  public final static native void SlidingIndexWindow_sizes_set(long jarg1, SlidingIndexWindow jarg1_, long jarg2);
  public final static native long SlidingIndexWindow_sizes_get(long jarg1, SlidingIndexWindow jarg1_);
  public final static native long new_SlidingIndexWindow(long jarg1, Index jarg1_);
  public final static native void SlidingIndexWindow_step(long jarg1, SlidingIndexWindow jarg1_, long jarg2, Index jarg2_, boolean jarg3);
  public final static native void delete_SlidingIndexWindow(long jarg1);
  public final static native long get_invlist_range(long jarg1, Index jarg1_, int jarg2, int jarg3);
  public final static native void set_invlist_range(long jarg1, Index jarg1_, int jarg2, int jarg3, long jarg4, ArrayInvertedLists jarg4_);
  public final static native void search_with_parameters__SWIG_0(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_, long jarg7, IVFSearchParameters jarg7_, long jarg8, long jarg9);
  public final static native void search_with_parameters__SWIG_1(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_, long jarg7, IVFSearchParameters jarg7_, long jarg8);
  public final static native void search_with_parameters__SWIG_2(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_, long jarg7, IVFSearchParameters jarg7_);
  public final static native void range_search_with_parameters__SWIG_0(long jarg1, Index jarg1_, long jarg2, long jarg3, float jarg4, long jarg5, RangeSearchResult jarg5_, long jarg6, IVFSearchParameters jarg6_, long jarg7, long jarg8);
  public final static native void range_search_with_parameters__SWIG_1(long jarg1, Index jarg1_, long jarg2, long jarg3, float jarg4, long jarg5, RangeSearchResult jarg5_, long jarg6, IVFSearchParameters jarg6_, long jarg7);
  public final static native void range_search_with_parameters__SWIG_2(long jarg1, Index jarg1_, long jarg2, long jarg3, float jarg4, long jarg5, RangeSearchResult jarg5_, long jarg6, IVFSearchParameters jarg6_);
  public final static native void IndexScalarQuantizer_sq_set(long jarg1, IndexScalarQuantizer jarg1_, long jarg2);
  public final static native long IndexScalarQuantizer_sq_get(long jarg1, IndexScalarQuantizer jarg1_);
  public final static native long new_IndexScalarQuantizer__SWIG_0(int jarg1, long jarg2, int jarg3);
  public final static native long new_IndexScalarQuantizer__SWIG_1(int jarg1, long jarg2);
  public final static native long new_IndexScalarQuantizer__SWIG_2();
  public final static native void IndexScalarQuantizer_train(long jarg1, IndexScalarQuantizer jarg1_, long jarg2, long jarg3);
  public final static native void IndexScalarQuantizer_search(long jarg1, IndexScalarQuantizer jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native long IndexScalarQuantizer_get_distance_computer(long jarg1, IndexScalarQuantizer jarg1_);
  public final static native void IndexScalarQuantizer_sa_encode(long jarg1, IndexScalarQuantizer jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexScalarQuantizer_sa_decode(long jarg1, IndexScalarQuantizer jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void delete_IndexScalarQuantizer(long jarg1);
  public final static native void IndexIVFScalarQuantizer_sq_set(long jarg1, IndexIVFScalarQuantizer jarg1_, long jarg2);
  public final static native long IndexIVFScalarQuantizer_sq_get(long jarg1, IndexIVFScalarQuantizer jarg1_);
  public final static native void IndexIVFScalarQuantizer_by_residual_set(long jarg1, IndexIVFScalarQuantizer jarg1_, boolean jarg2);
  public final static native boolean IndexIVFScalarQuantizer_by_residual_get(long jarg1, IndexIVFScalarQuantizer jarg1_);
  public final static native long new_IndexIVFScalarQuantizer__SWIG_0(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4, int jarg5, boolean jarg6);
  public final static native long new_IndexIVFScalarQuantizer__SWIG_1(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4, int jarg5);
  public final static native long new_IndexIVFScalarQuantizer__SWIG_2(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native long new_IndexIVFScalarQuantizer__SWIG_3();
  public final static native void IndexIVFScalarQuantizer_train_residual(long jarg1, IndexIVFScalarQuantizer jarg1_, long jarg2, long jarg3);
  public final static native void IndexIVFScalarQuantizer_encode_vectors__SWIG_0(long jarg1, IndexIVFScalarQuantizer jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, boolean jarg6);
  public final static native void IndexIVFScalarQuantizer_encode_vectors__SWIG_1(long jarg1, IndexIVFScalarQuantizer jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void IndexIVFScalarQuantizer_add_core(long jarg1, IndexIVFScalarQuantizer jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, LongVector jarg5_);
  public final static native long IndexIVFScalarQuantizer_get_InvertedListScanner(long jarg1, IndexIVFScalarQuantizer jarg1_, boolean jarg2);
  public final static native void IndexIVFScalarQuantizer_reconstruct_from_offset(long jarg1, IndexIVFScalarQuantizer jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexIVFScalarQuantizer_sa_decode(long jarg1, IndexIVFScalarQuantizer jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void delete_IndexIVFScalarQuantizer(long jarg1);
  public final static native void HNSW_MinimaxHeap_n_set(long jarg1, HNSW.MinimaxHeap jarg1_, int jarg2);
  public final static native int HNSW_MinimaxHeap_n_get(long jarg1, HNSW.MinimaxHeap jarg1_);
  public final static native void HNSW_MinimaxHeap_k_set(long jarg1, HNSW.MinimaxHeap jarg1_, int jarg2);
  public final static native int HNSW_MinimaxHeap_k_get(long jarg1, HNSW.MinimaxHeap jarg1_);
  public final static native void HNSW_MinimaxHeap_nvalid_set(long jarg1, HNSW.MinimaxHeap jarg1_, int jarg2);
  public final static native int HNSW_MinimaxHeap_nvalid_get(long jarg1, HNSW.MinimaxHeap jarg1_);
  public final static native void HNSW_MinimaxHeap_ids_set(long jarg1, HNSW.MinimaxHeap jarg1_, long jarg2, IntVector jarg2_);
  public final static native long HNSW_MinimaxHeap_ids_get(long jarg1, HNSW.MinimaxHeap jarg1_);
  public final static native void HNSW_MinimaxHeap_dis_set(long jarg1, HNSW.MinimaxHeap jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long HNSW_MinimaxHeap_dis_get(long jarg1, HNSW.MinimaxHeap jarg1_);
  public final static native long new_HNSW_MinimaxHeap(int jarg1);
  public final static native void HNSW_MinimaxHeap_push(long jarg1, HNSW.MinimaxHeap jarg1_, int jarg2, float jarg3);
  public final static native float HNSW_MinimaxHeap_max(long jarg1, HNSW.MinimaxHeap jarg1_);
  public final static native int HNSW_MinimaxHeap_size(long jarg1, HNSW.MinimaxHeap jarg1_);
  public final static native void HNSW_MinimaxHeap_clear(long jarg1, HNSW.MinimaxHeap jarg1_);
  public final static native int HNSW_MinimaxHeap_pop_min__SWIG_0(long jarg1, HNSW.MinimaxHeap jarg1_, long jarg2);
  public final static native int HNSW_MinimaxHeap_pop_min__SWIG_1(long jarg1, HNSW.MinimaxHeap jarg1_);
  public final static native int HNSW_MinimaxHeap_count_below(long jarg1, HNSW.MinimaxHeap jarg1_, float jarg2);
  public final static native void delete_HNSW_MinimaxHeap(long jarg1);
  public final static native void HNSW_NodeDistCloser_d_set(long jarg1, HNSW.NodeDistCloser jarg1_, float jarg2);
  public final static native float HNSW_NodeDistCloser_d_get(long jarg1, HNSW.NodeDistCloser jarg1_);
  public final static native void HNSW_NodeDistCloser_id_set(long jarg1, HNSW.NodeDistCloser jarg1_, int jarg2);
  public final static native int HNSW_NodeDistCloser_id_get(long jarg1, HNSW.NodeDistCloser jarg1_);
  public final static native long new_HNSW_NodeDistCloser(float jarg1, int jarg2);
  public final static native void delete_HNSW_NodeDistCloser(long jarg1);
  public final static native void HNSW_NodeDistFarther_d_set(long jarg1, HNSW.NodeDistFarther jarg1_, float jarg2);
  public final static native float HNSW_NodeDistFarther_d_get(long jarg1, HNSW.NodeDistFarther jarg1_);
  public final static native void HNSW_NodeDistFarther_id_set(long jarg1, HNSW.NodeDistFarther jarg1_, int jarg2);
  public final static native int HNSW_NodeDistFarther_id_get(long jarg1, HNSW.NodeDistFarther jarg1_);
  public final static native long new_HNSW_NodeDistFarther(float jarg1, int jarg2);
  public final static native void delete_HNSW_NodeDistFarther(long jarg1);
  public final static native void HNSW_assign_probas_set(long jarg1, HNSW jarg1_, long jarg2, DoubleVector jarg2_);
  public final static native long HNSW_assign_probas_get(long jarg1, HNSW jarg1_);
  public final static native void HNSW_cum_nneighbor_per_level_set(long jarg1, HNSW jarg1_, long jarg2, IntVector jarg2_);
  public final static native long HNSW_cum_nneighbor_per_level_get(long jarg1, HNSW jarg1_);
  public final static native void HNSW_levels_set(long jarg1, HNSW jarg1_, long jarg2, IntVector jarg2_);
  public final static native long HNSW_levels_get(long jarg1, HNSW jarg1_);
  public final static native void HNSW_offsets_set(long jarg1, HNSW jarg1_, long jarg2, Uint64Vector jarg2_);
  public final static native long HNSW_offsets_get(long jarg1, HNSW jarg1_);
  public final static native void HNSW_neighbors_set(long jarg1, HNSW jarg1_, long jarg2, IntVector jarg2_);
  public final static native long HNSW_neighbors_get(long jarg1, HNSW jarg1_);
  public final static native void HNSW_entry_point_set(long jarg1, HNSW jarg1_, int jarg2);
  public final static native int HNSW_entry_point_get(long jarg1, HNSW jarg1_);
  public final static native void HNSW_rng_set(long jarg1, HNSW jarg1_, long jarg2);
  public final static native long HNSW_rng_get(long jarg1, HNSW jarg1_);
  public final static native void HNSW_max_level_set(long jarg1, HNSW jarg1_, int jarg2);
  public final static native int HNSW_max_level_get(long jarg1, HNSW jarg1_);
  public final static native void HNSW_efConstruction_set(long jarg1, HNSW jarg1_, int jarg2);
  public final static native int HNSW_efConstruction_get(long jarg1, HNSW jarg1_);
  public final static native void HNSW_efSearch_set(long jarg1, HNSW jarg1_, int jarg2);
  public final static native int HNSW_efSearch_get(long jarg1, HNSW jarg1_);
  public final static native void HNSW_check_relative_distance_set(long jarg1, HNSW jarg1_, boolean jarg2);
  public final static native boolean HNSW_check_relative_distance_get(long jarg1, HNSW jarg1_);
  public final static native void HNSW_upper_beam_set(long jarg1, HNSW jarg1_, int jarg2);
  public final static native int HNSW_upper_beam_get(long jarg1, HNSW jarg1_);
  public final static native void HNSW_search_bounded_queue_set(long jarg1, HNSW jarg1_, boolean jarg2);
  public final static native boolean HNSW_search_bounded_queue_get(long jarg1, HNSW jarg1_);
  public final static native void HNSW_set_default_probas(long jarg1, HNSW jarg1_, int jarg2, float jarg3);
  public final static native void HNSW_set_nb_neighbors(long jarg1, HNSW jarg1_, int jarg2, int jarg3);
  public final static native int HNSW_nb_neighbors(long jarg1, HNSW jarg1_, int jarg2);
  public final static native int HNSW_cum_nb_neighbors(long jarg1, HNSW jarg1_, int jarg2);
  public final static native void HNSW_neighbor_range(long jarg1, HNSW jarg1_, long jarg2, int jarg3, long jarg4, long jarg5);
  public final static native long new_HNSW__SWIG_0(int jarg1);
  public final static native long new_HNSW__SWIG_1();
  public final static native int HNSW_random_level(long jarg1, HNSW jarg1_);
  public final static native void HNSW_fill_with_random_links(long jarg1, HNSW jarg1_, long jarg2);
  public final static native void HNSW_add_links_starting_from(long jarg1, HNSW jarg1_, long jarg2, DistanceComputer jarg2_, int jarg3, int jarg4, float jarg5, int jarg6, long jarg7, long jarg8, VisitedTable jarg8_);
  public final static native void HNSW_add_with_locks(long jarg1, HNSW jarg1_, long jarg2, DistanceComputer jarg2_, int jarg3, int jarg4, long jarg5, long jarg6, VisitedTable jarg6_);
  public final static native int HNSW_search_from_candidates__SWIG_0(long jarg1, HNSW jarg1_, long jarg2, DistanceComputer jarg2_, int jarg3, long jarg4, LongVector jarg4_, long jarg5, long jarg6, HNSW.MinimaxHeap jarg6_, long jarg7, VisitedTable jarg7_, long jarg8, HNSWStats jarg8_, int jarg9, int jarg10);
  public final static native int HNSW_search_from_candidates__SWIG_1(long jarg1, HNSW jarg1_, long jarg2, DistanceComputer jarg2_, int jarg3, long jarg4, LongVector jarg4_, long jarg5, long jarg6, HNSW.MinimaxHeap jarg6_, long jarg7, VisitedTable jarg7_, long jarg8, HNSWStats jarg8_, int jarg9);
  public final static native long HNSW_search_from_candidate_unbounded(long jarg1, HNSW jarg1_, long jarg2, long jarg3, DistanceComputer jarg3_, int jarg4, long jarg5, VisitedTable jarg5_, long jarg6, HNSWStats jarg6_);
  public final static native long HNSW_search(long jarg1, HNSW jarg1_, long jarg2, DistanceComputer jarg2_, int jarg3, long jarg4, LongVector jarg4_, long jarg5, long jarg6, VisitedTable jarg6_);
  public final static native void HNSW_reset(long jarg1, HNSW jarg1_);
  public final static native void HNSW_clear_neighbor_tables(long jarg1, HNSW jarg1_, int jarg2);
  public final static native void HNSW_print_neighbor_stats(long jarg1, HNSW jarg1_, int jarg2);
  public final static native int HNSW_prepare_level_tab__SWIG_0(long jarg1, HNSW jarg1_, long jarg2, boolean jarg3);
  public final static native int HNSW_prepare_level_tab__SWIG_1(long jarg1, HNSW jarg1_, long jarg2);
  public final static native void HNSW_shrink_neighbor_list(long jarg1, DistanceComputer jarg1_, long jarg2, long jarg3, int jarg4);
  public final static native void delete_HNSW(long jarg1);
  public final static native void HNSWStats_n1_set(long jarg1, HNSWStats jarg1_, long jarg2);
  public final static native long HNSWStats_n1_get(long jarg1, HNSWStats jarg1_);
  public final static native void HNSWStats_n2_set(long jarg1, HNSWStats jarg1_, long jarg2);
  public final static native long HNSWStats_n2_get(long jarg1, HNSWStats jarg1_);
  public final static native void HNSWStats_n3_set(long jarg1, HNSWStats jarg1_, long jarg2);
  public final static native long HNSWStats_n3_get(long jarg1, HNSWStats jarg1_);
  public final static native void HNSWStats_ndis_set(long jarg1, HNSWStats jarg1_, long jarg2);
  public final static native long HNSWStats_ndis_get(long jarg1, HNSWStats jarg1_);
  public final static native void HNSWStats_nreorder_set(long jarg1, HNSWStats jarg1_, long jarg2);
  public final static native long HNSWStats_nreorder_get(long jarg1, HNSWStats jarg1_);
  public final static native long new_HNSWStats__SWIG_0(long jarg1, long jarg2, long jarg3, long jarg4, long jarg5);
  public final static native long new_HNSWStats__SWIG_1(long jarg1, long jarg2, long jarg3, long jarg4);
  public final static native long new_HNSWStats__SWIG_2(long jarg1, long jarg2, long jarg3);
  public final static native long new_HNSWStats__SWIG_3(long jarg1, long jarg2);
  public final static native long new_HNSWStats__SWIG_4(long jarg1);
  public final static native long new_HNSWStats__SWIG_5();
  public final static native void HNSWStats_reset(long jarg1, HNSWStats jarg1_);
  public final static native void HNSWStats_combine(long jarg1, HNSWStats jarg1_, long jarg2, HNSWStats jarg2_);
  public final static native void delete_HNSWStats(long jarg1);
  public final static native void hnsw_stats_set(long jarg1, HNSWStats jarg1_);
  public final static native long hnsw_stats_get();
  public final static native long ReconstructFromNeighbors_index_get(long jarg1, ReconstructFromNeighbors jarg1_);
  public final static native void ReconstructFromNeighbors_M_set(long jarg1, ReconstructFromNeighbors jarg1_, long jarg2);
  public final static native long ReconstructFromNeighbors_M_get(long jarg1, ReconstructFromNeighbors jarg1_);
  public final static native void ReconstructFromNeighbors_k_set(long jarg1, ReconstructFromNeighbors jarg1_, long jarg2);
  public final static native long ReconstructFromNeighbors_k_get(long jarg1, ReconstructFromNeighbors jarg1_);
  public final static native void ReconstructFromNeighbors_nsq_set(long jarg1, ReconstructFromNeighbors jarg1_, long jarg2);
  public final static native long ReconstructFromNeighbors_nsq_get(long jarg1, ReconstructFromNeighbors jarg1_);
  public final static native void ReconstructFromNeighbors_code_size_set(long jarg1, ReconstructFromNeighbors jarg1_, long jarg2);
  public final static native long ReconstructFromNeighbors_code_size_get(long jarg1, ReconstructFromNeighbors jarg1_);
  public final static native void ReconstructFromNeighbors_k_reorder_set(long jarg1, ReconstructFromNeighbors jarg1_, int jarg2);
  public final static native int ReconstructFromNeighbors_k_reorder_get(long jarg1, ReconstructFromNeighbors jarg1_);
  public final static native void ReconstructFromNeighbors_codebook_set(long jarg1, ReconstructFromNeighbors jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long ReconstructFromNeighbors_codebook_get(long jarg1, ReconstructFromNeighbors jarg1_);
  public final static native void ReconstructFromNeighbors_codes_set(long jarg1, ReconstructFromNeighbors jarg1_, long jarg2, ByteVector jarg2_);
  public final static native long ReconstructFromNeighbors_codes_get(long jarg1, ReconstructFromNeighbors jarg1_);
  public final static native void ReconstructFromNeighbors_ntotal_set(long jarg1, ReconstructFromNeighbors jarg1_, long jarg2);
  public final static native long ReconstructFromNeighbors_ntotal_get(long jarg1, ReconstructFromNeighbors jarg1_);
  public final static native void ReconstructFromNeighbors_d_set(long jarg1, ReconstructFromNeighbors jarg1_, long jarg2);
  public final static native long ReconstructFromNeighbors_d_get(long jarg1, ReconstructFromNeighbors jarg1_);
  public final static native void ReconstructFromNeighbors_dsub_set(long jarg1, ReconstructFromNeighbors jarg1_, long jarg2);
  public final static native long ReconstructFromNeighbors_dsub_get(long jarg1, ReconstructFromNeighbors jarg1_);
  public final static native long new_ReconstructFromNeighbors__SWIG_0(long jarg1, IndexHNSW jarg1_, long jarg2, long jarg3);
  public final static native long new_ReconstructFromNeighbors__SWIG_1(long jarg1, IndexHNSW jarg1_, long jarg2);
  public final static native long new_ReconstructFromNeighbors__SWIG_2(long jarg1, IndexHNSW jarg1_);
  public final static native void ReconstructFromNeighbors_add_codes(long jarg1, ReconstructFromNeighbors jarg1_, long jarg2, long jarg3);
  public final static native long ReconstructFromNeighbors_compute_distances(long jarg1, ReconstructFromNeighbors jarg1_, long jarg2, long jarg3, LongVector jarg3_, long jarg4, long jarg5);
  public final static native void ReconstructFromNeighbors_estimate_code(long jarg1, ReconstructFromNeighbors jarg1_, long jarg2, int jarg3, long jarg4);
  public final static native void ReconstructFromNeighbors_reconstruct(long jarg1, ReconstructFromNeighbors jarg1_, int jarg2, long jarg3, long jarg4);
  public final static native void ReconstructFromNeighbors_reconstruct_n(long jarg1, ReconstructFromNeighbors jarg1_, int jarg2, int jarg3, long jarg4);
  public final static native void ReconstructFromNeighbors_get_neighbor_table(long jarg1, ReconstructFromNeighbors jarg1_, int jarg2, long jarg3);
  public final static native void delete_ReconstructFromNeighbors(long jarg1);
  public final static native void IndexHNSW_hnsw_set(long jarg1, IndexHNSW jarg1_, long jarg2, HNSW jarg2_);
  public final static native long IndexHNSW_hnsw_get(long jarg1, IndexHNSW jarg1_);
  public final static native void IndexHNSW_own_fields_set(long jarg1, IndexHNSW jarg1_, boolean jarg2);
  public final static native boolean IndexHNSW_own_fields_get(long jarg1, IndexHNSW jarg1_);
  public final static native void IndexHNSW_storage_set(long jarg1, IndexHNSW jarg1_, long jarg2, Index jarg2_);
  public final static native long IndexHNSW_storage_get(long jarg1, IndexHNSW jarg1_);
  public final static native void IndexHNSW_reconstruct_from_neighbors_set(long jarg1, IndexHNSW jarg1_, long jarg2, ReconstructFromNeighbors jarg2_);
  public final static native long IndexHNSW_reconstruct_from_neighbors_get(long jarg1, IndexHNSW jarg1_);
  public final static native long new_IndexHNSW__SWIG_0(int jarg1, int jarg2, int jarg3);
  public final static native long new_IndexHNSW__SWIG_1(int jarg1, int jarg2);
  public final static native long new_IndexHNSW__SWIG_2(int jarg1);
  public final static native long new_IndexHNSW__SWIG_3();
  public final static native long new_IndexHNSW__SWIG_4(long jarg1, Index jarg1_, int jarg2);
  public final static native long new_IndexHNSW__SWIG_5(long jarg1, Index jarg1_);
  public final static native void delete_IndexHNSW(long jarg1);
  public final static native void IndexHNSW_add(long jarg1, IndexHNSW jarg1_, long jarg2, long jarg3);
  public final static native void IndexHNSW_train(long jarg1, IndexHNSW jarg1_, long jarg2, long jarg3);
  public final static native void IndexHNSW_search(long jarg1, IndexHNSW jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexHNSW_reconstruct(long jarg1, IndexHNSW jarg1_, long jarg2, long jarg3);
  public final static native void IndexHNSW_reset(long jarg1, IndexHNSW jarg1_);
  public final static native void IndexHNSW_shrink_level_0_neighbors(long jarg1, IndexHNSW jarg1_, int jarg2);
  public final static native void IndexHNSW_search_level_0__SWIG_0(long jarg1, IndexHNSW jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, long jarg7, long jarg8, LongVector jarg8_, int jarg9, int jarg10);
  public final static native void IndexHNSW_search_level_0__SWIG_1(long jarg1, IndexHNSW jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, long jarg7, long jarg8, LongVector jarg8_, int jarg9);
  public final static native void IndexHNSW_search_level_0__SWIG_2(long jarg1, IndexHNSW jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, long jarg7, long jarg8, LongVector jarg8_);
  public final static native void IndexHNSW_init_level_0_from_knngraph(long jarg1, IndexHNSW jarg1_, int jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void IndexHNSW_init_level_0_from_entry_points(long jarg1, IndexHNSW jarg1_, int jarg2, long jarg3, long jarg4);
  public final static native void IndexHNSW_reorder_links(long jarg1, IndexHNSW jarg1_);
  public final static native void IndexHNSW_link_singletons(long jarg1, IndexHNSW jarg1_);
  public final static native long new_IndexHNSWFlat__SWIG_0();
  public final static native long new_IndexHNSWFlat__SWIG_1(int jarg1, int jarg2, int jarg3);
  public final static native long new_IndexHNSWFlat__SWIG_2(int jarg1, int jarg2);
  public final static native void delete_IndexHNSWFlat(long jarg1);
  public final static native long new_IndexHNSWPQ__SWIG_0();
  public final static native long new_IndexHNSWPQ__SWIG_1(int jarg1, int jarg2, int jarg3);
  public final static native void IndexHNSWPQ_train(long jarg1, IndexHNSWPQ jarg1_, long jarg2, long jarg3);
  public final static native void delete_IndexHNSWPQ(long jarg1);
  public final static native long new_IndexHNSWSQ__SWIG_0();
  public final static native long new_IndexHNSWSQ__SWIG_1(int jarg1, long jarg2, int jarg3, int jarg4);
  public final static native long new_IndexHNSWSQ__SWIG_2(int jarg1, long jarg2, int jarg3);
  public final static native void delete_IndexHNSWSQ(long jarg1);
  public final static native long new_IndexHNSW2Level__SWIG_0();
  public final static native long new_IndexHNSW2Level__SWIG_1(long jarg1, Index jarg1_, long jarg2, int jarg3, int jarg4);
  public final static native void IndexHNSW2Level_flip_to_ivf(long jarg1, IndexHNSW2Level jarg1_);
  public final static native void IndexHNSW2Level_search(long jarg1, IndexHNSW2Level jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void delete_IndexHNSW2Level(long jarg1);
  public final static native long new_IndexIVFFlat__SWIG_0(long jarg1, Index jarg1_, long jarg2, long jarg3, int jarg4);
  public final static native long new_IndexIVFFlat__SWIG_1(long jarg1, Index jarg1_, long jarg2, long jarg3);
  public final static native void IndexIVFFlat_add_core(long jarg1, IndexIVFFlat jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, LongVector jarg5_);
  public final static native void IndexIVFFlat_encode_vectors__SWIG_0(long jarg1, IndexIVFFlat jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, boolean jarg6);
  public final static native void IndexIVFFlat_encode_vectors__SWIG_1(long jarg1, IndexIVFFlat jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native long IndexIVFFlat_get_InvertedListScanner(long jarg1, IndexIVFFlat jarg1_, boolean jarg2);
  public final static native void IndexIVFFlat_reconstruct_from_offset(long jarg1, IndexIVFFlat jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexIVFFlat_sa_decode(long jarg1, IndexIVFFlat jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native long new_IndexIVFFlat__SWIG_2();
  public final static native void delete_IndexIVFFlat(long jarg1);
  public final static native void IndexIVFFlatDedup_instances_set(long jarg1, IndexIVFFlatDedup jarg1_, long jarg2);
  public final static native long IndexIVFFlatDedup_instances_get(long jarg1, IndexIVFFlatDedup jarg1_);
  public final static native long new_IndexIVFFlatDedup__SWIG_0(long jarg1, Index jarg1_, long jarg2, long jarg3, int jarg4);
  public final static native long new_IndexIVFFlatDedup__SWIG_1(long jarg1, Index jarg1_, long jarg2, long jarg3);
  public final static native void IndexIVFFlatDedup_train(long jarg1, IndexIVFFlatDedup jarg1_, long jarg2, long jarg3);
  public final static native void IndexIVFFlatDedup_add_with_ids(long jarg1, IndexIVFFlatDedup jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void IndexIVFFlatDedup_search_preassigned__SWIG_0(long jarg1, IndexIVFFlatDedup jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, LongVector jarg5_, long jarg6, long jarg7, long jarg8, LongVector jarg8_, boolean jarg9, long jarg10, IVFSearchParameters jarg10_, long jarg11, IndexIVFStats jarg11_);
  public final static native void IndexIVFFlatDedup_search_preassigned__SWIG_1(long jarg1, IndexIVFFlatDedup jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, LongVector jarg5_, long jarg6, long jarg7, long jarg8, LongVector jarg8_, boolean jarg9, long jarg10, IVFSearchParameters jarg10_);
  public final static native void IndexIVFFlatDedup_search_preassigned__SWIG_2(long jarg1, IndexIVFFlatDedup jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, LongVector jarg5_, long jarg6, long jarg7, long jarg8, LongVector jarg8_, boolean jarg9);
  public final static native long IndexIVFFlatDedup_remove_ids(long jarg1, IndexIVFFlatDedup jarg1_, long jarg2, IDSelector jarg2_);
  public final static native void IndexIVFFlatDedup_range_search(long jarg1, IndexIVFFlatDedup jarg1_, long jarg2, long jarg3, float jarg4, long jarg5, RangeSearchResult jarg5_);
  public final static native void IndexIVFFlatDedup_update_vectors(long jarg1, IndexIVFFlatDedup jarg1_, int jarg2, long jarg3, LongVector jarg3_, long jarg4);
  public final static native void IndexIVFFlatDedup_reconstruct_from_offset(long jarg1, IndexIVFFlatDedup jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native long new_IndexIVFFlatDedup__SWIG_2();
  public final static native void delete_IndexIVFFlatDedup(long jarg1);
  public final static native void OnDiskOneList_size_set(long jarg1, OnDiskOneList jarg1_, long jarg2);
  public final static native long OnDiskOneList_size_get(long jarg1, OnDiskOneList jarg1_);
  public final static native void OnDiskOneList_capacity_set(long jarg1, OnDiskOneList jarg1_, long jarg2);
  public final static native long OnDiskOneList_capacity_get(long jarg1, OnDiskOneList jarg1_);
  public final static native void OnDiskOneList_offset_set(long jarg1, OnDiskOneList jarg1_, long jarg2);
  public final static native long OnDiskOneList_offset_get(long jarg1, OnDiskOneList jarg1_);
  public final static native long new_OnDiskOneList();
  public final static native void delete_OnDiskOneList(long jarg1);
  public final static native void OnDiskInvertedLists_lists_set(long jarg1, OnDiskInvertedLists jarg1_, long jarg2);
  public final static native long OnDiskInvertedLists_lists_get(long jarg1, OnDiskInvertedLists jarg1_);
  public final static native void OnDiskInvertedLists_Slot_offset_set(long jarg1, OnDiskInvertedLists.Slot jarg1_, long jarg2);
  public final static native long OnDiskInvertedLists_Slot_offset_get(long jarg1, OnDiskInvertedLists.Slot jarg1_);
  public final static native void OnDiskInvertedLists_Slot_capacity_set(long jarg1, OnDiskInvertedLists.Slot jarg1_, long jarg2);
  public final static native long OnDiskInvertedLists_Slot_capacity_get(long jarg1, OnDiskInvertedLists.Slot jarg1_);
  public final static native long new_OnDiskInvertedLists_Slot__SWIG_0(long jarg1, long jarg2);
  public final static native long new_OnDiskInvertedLists_Slot__SWIG_1();
  public final static native void delete_OnDiskInvertedLists_Slot(long jarg1);
  public final static native void OnDiskInvertedLists_slots_set(long jarg1, OnDiskInvertedLists jarg1_, long jarg2);
  public final static native long OnDiskInvertedLists_slots_get(long jarg1, OnDiskInvertedLists jarg1_);
  public final static native void OnDiskInvertedLists_filename_set(long jarg1, OnDiskInvertedLists jarg1_, String jarg2);
  public final static native String OnDiskInvertedLists_filename_get(long jarg1, OnDiskInvertedLists jarg1_);
  public final static native void OnDiskInvertedLists_totsize_set(long jarg1, OnDiskInvertedLists jarg1_, long jarg2);
  public final static native long OnDiskInvertedLists_totsize_get(long jarg1, OnDiskInvertedLists jarg1_);
  public final static native void OnDiskInvertedLists_ptr_set(long jarg1, OnDiskInvertedLists jarg1_, long jarg2);
  public final static native long OnDiskInvertedLists_ptr_get(long jarg1, OnDiskInvertedLists jarg1_);
  public final static native void OnDiskInvertedLists_read_only_set(long jarg1, OnDiskInvertedLists jarg1_, boolean jarg2);
  public final static native boolean OnDiskInvertedLists_read_only_get(long jarg1, OnDiskInvertedLists jarg1_);
  public final static native long new_OnDiskInvertedLists__SWIG_0(long jarg1, long jarg2, String jarg3);
  public final static native long OnDiskInvertedLists_list_size(long jarg1, OnDiskInvertedLists jarg1_, long jarg2);
  public final static native long OnDiskInvertedLists_get_codes(long jarg1, OnDiskInvertedLists jarg1_, long jarg2);
  public final static native long OnDiskInvertedLists_get_ids(long jarg1, OnDiskInvertedLists jarg1_, long jarg2);
  public final static native long OnDiskInvertedLists_add_entries(long jarg1, OnDiskInvertedLists jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void OnDiskInvertedLists_update_entries(long jarg1, OnDiskInvertedLists jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, LongVector jarg5_, long jarg6);
  public final static native void OnDiskInvertedLists_resize(long jarg1, OnDiskInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native long OnDiskInvertedLists_merge_from__SWIG_0(long jarg1, OnDiskInvertedLists jarg1_, long jarg2, int jarg3, boolean jarg4);
  public final static native long OnDiskInvertedLists_merge_from__SWIG_1(long jarg1, OnDiskInvertedLists jarg1_, long jarg2, int jarg3);
  public final static native long OnDiskInvertedLists_merge_from_1__SWIG_0(long jarg1, OnDiskInvertedLists jarg1_, long jarg2, InvertedLists jarg2_, boolean jarg3);
  public final static native long OnDiskInvertedLists_merge_from_1__SWIG_1(long jarg1, OnDiskInvertedLists jarg1_, long jarg2, InvertedLists jarg2_);
  public final static native void OnDiskInvertedLists_crop_invlists(long jarg1, OnDiskInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void OnDiskInvertedLists_prefetch_lists(long jarg1, OnDiskInvertedLists jarg1_, long jarg2, LongVector jarg2_, int jarg3);
  public final static native void delete_OnDiskInvertedLists(long jarg1);
  public final static native void OnDiskInvertedLists_locks_set(long jarg1, OnDiskInvertedLists jarg1_, long jarg2);
  public final static native long OnDiskInvertedLists_locks_get(long jarg1, OnDiskInvertedLists jarg1_);
  public final static native void OnDiskInvertedLists_pf_set(long jarg1, OnDiskInvertedLists jarg1_, long jarg2);
  public final static native long OnDiskInvertedLists_pf_get(long jarg1, OnDiskInvertedLists jarg1_);
  public final static native void OnDiskInvertedLists_prefetch_nthread_set(long jarg1, OnDiskInvertedLists jarg1_, int jarg2);
  public final static native int OnDiskInvertedLists_prefetch_nthread_get(long jarg1, OnDiskInvertedLists jarg1_);
  public final static native void OnDiskInvertedLists_do_mmap(long jarg1, OnDiskInvertedLists jarg1_);
  public final static native void OnDiskInvertedLists_update_totsize(long jarg1, OnDiskInvertedLists jarg1_, long jarg2);
  public final static native void OnDiskInvertedLists_resize_locked(long jarg1, OnDiskInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native long OnDiskInvertedLists_allocate_slot(long jarg1, OnDiskInvertedLists jarg1_, long jarg2);
  public final static native void OnDiskInvertedLists_free_slot(long jarg1, OnDiskInvertedLists jarg1_, long jarg2, long jarg3);
  public final static native void OnDiskInvertedLists_set_all_lists_sizes(long jarg1, OnDiskInvertedLists jarg1_, long jarg2);
  public final static native long new_OnDiskInvertedLists__SWIG_1();
  public final static native long new_OnDiskInvertedListsIOHook();
  public final static native void OnDiskInvertedListsIOHook_write(long jarg1, OnDiskInvertedListsIOHook jarg1_, long jarg2, InvertedLists jarg2_, long jarg3);
  public final static native long OnDiskInvertedListsIOHook_read(long jarg1, OnDiskInvertedListsIOHook jarg1_, long jarg2, int jarg3);
  public final static native long OnDiskInvertedListsIOHook_read_ArrayInvertedLists(long jarg1, OnDiskInvertedListsIOHook jarg1_, long jarg2, int jarg3, long jarg4, long jarg5, long jarg6, Uint64Vector jarg6_);
  public final static native void delete_OnDiskInvertedListsIOHook(long jarg1);
  public final static native void IVFPQSearchParameters_scan_table_threshold_set(long jarg1, IVFPQSearchParameters jarg1_, long jarg2);
  public final static native long IVFPQSearchParameters_scan_table_threshold_get(long jarg1, IVFPQSearchParameters jarg1_);
  public final static native void IVFPQSearchParameters_polysemous_ht_set(long jarg1, IVFPQSearchParameters jarg1_, int jarg2);
  public final static native int IVFPQSearchParameters_polysemous_ht_get(long jarg1, IVFPQSearchParameters jarg1_);
  public final static native long new_IVFPQSearchParameters();
  public final static native void delete_IVFPQSearchParameters(long jarg1);
  public final static native void precomputed_table_max_bytes_set(long jarg1);
  public final static native long precomputed_table_max_bytes_get();
  public final static native void IndexIVFPQ_by_residual_set(long jarg1, IndexIVFPQ jarg1_, boolean jarg2);
  public final static native boolean IndexIVFPQ_by_residual_get(long jarg1, IndexIVFPQ jarg1_);
  public final static native void IndexIVFPQ_pq_set(long jarg1, IndexIVFPQ jarg1_, long jarg2, ProductQuantizer jarg2_);
  public final static native long IndexIVFPQ_pq_get(long jarg1, IndexIVFPQ jarg1_);
  public final static native void IndexIVFPQ_do_polysemous_training_set(long jarg1, IndexIVFPQ jarg1_, boolean jarg2);
  public final static native boolean IndexIVFPQ_do_polysemous_training_get(long jarg1, IndexIVFPQ jarg1_);
  public final static native void IndexIVFPQ_polysemous_training_set(long jarg1, IndexIVFPQ jarg1_, long jarg2, PolysemousTraining jarg2_);
  public final static native long IndexIVFPQ_polysemous_training_get(long jarg1, IndexIVFPQ jarg1_);
  public final static native void IndexIVFPQ_scan_table_threshold_set(long jarg1, IndexIVFPQ jarg1_, long jarg2);
  public final static native long IndexIVFPQ_scan_table_threshold_get(long jarg1, IndexIVFPQ jarg1_);
  public final static native void IndexIVFPQ_polysemous_ht_set(long jarg1, IndexIVFPQ jarg1_, int jarg2);
  public final static native int IndexIVFPQ_polysemous_ht_get(long jarg1, IndexIVFPQ jarg1_);
  public final static native void IndexIVFPQ_use_precomputed_table_set(long jarg1, IndexIVFPQ jarg1_, int jarg2);
  public final static native int IndexIVFPQ_use_precomputed_table_get(long jarg1, IndexIVFPQ jarg1_);
  public final static native void IndexIVFPQ_precomputed_table_set(long jarg1, IndexIVFPQ jarg1_, long jarg2);
  public final static native long IndexIVFPQ_precomputed_table_get(long jarg1, IndexIVFPQ jarg1_);
  public final static native long new_IndexIVFPQ__SWIG_0(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, int jarg6);
  public final static native long new_IndexIVFPQ__SWIG_1(long jarg1, Index jarg1_, long jarg2, long jarg3, long jarg4, long jarg5);
  public final static native void IndexIVFPQ_encode_vectors__SWIG_0(long jarg1, IndexIVFPQ jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, boolean jarg6);
  public final static native void IndexIVFPQ_encode_vectors__SWIG_1(long jarg1, IndexIVFPQ jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void IndexIVFPQ_sa_decode(long jarg1, IndexIVFPQ jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexIVFPQ_add_core(long jarg1, IndexIVFPQ jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, LongVector jarg5_);
  public final static native void IndexIVFPQ_add_core_o__SWIG_0(long jarg1, IndexIVFPQ jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexIVFPQ_add_core_o__SWIG_1(long jarg1, IndexIVFPQ jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void IndexIVFPQ_train_residual(long jarg1, IndexIVFPQ jarg1_, long jarg2, long jarg3);
  public final static native void IndexIVFPQ_train_residual_o(long jarg1, IndexIVFPQ jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexIVFPQ_reconstruct_from_offset(long jarg1, IndexIVFPQ jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native long IndexIVFPQ_find_duplicates(long jarg1, IndexIVFPQ jarg1_, long jarg2, LongVector jarg2_, long jarg3);
  public final static native void IndexIVFPQ_encode(long jarg1, IndexIVFPQ jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexIVFPQ_encode_multiple__SWIG_0(long jarg1, IndexIVFPQ jarg1_, long jarg2, long jarg3, LongVector jarg3_, long jarg4, long jarg5, boolean jarg6);
  public final static native void IndexIVFPQ_encode_multiple__SWIG_1(long jarg1, IndexIVFPQ jarg1_, long jarg2, long jarg3, LongVector jarg3_, long jarg4, long jarg5);
  public final static native void IndexIVFPQ_decode_multiple(long jarg1, IndexIVFPQ jarg1_, long jarg2, long jarg3, LongVector jarg3_, long jarg4, long jarg5);
  public final static native long IndexIVFPQ_get_InvertedListScanner(long jarg1, IndexIVFPQ jarg1_, boolean jarg2);
  public final static native void IndexIVFPQ_precompute_table(long jarg1, IndexIVFPQ jarg1_);
  public final static native long new_IndexIVFPQ__SWIG_2();
  public final static native void delete_IndexIVFPQ(long jarg1);
  public final static native void initialize_IVFPQ_precomputed_table(long jarg1, long jarg2, Index jarg2_, long jarg3, ProductQuantizer jarg3_, long jarg4, boolean jarg5);
  public final static native void IndexIVFPQStats_nrefine_set(long jarg1, IndexIVFPQStats jarg1_, long jarg2);
  public final static native long IndexIVFPQStats_nrefine_get(long jarg1, IndexIVFPQStats jarg1_);
  public final static native void IndexIVFPQStats_n_hamming_pass_set(long jarg1, IndexIVFPQStats jarg1_, long jarg2);
  public final static native long IndexIVFPQStats_n_hamming_pass_get(long jarg1, IndexIVFPQStats jarg1_);
  public final static native void IndexIVFPQStats_search_cycles_set(long jarg1, IndexIVFPQStats jarg1_, long jarg2);
  public final static native long IndexIVFPQStats_search_cycles_get(long jarg1, IndexIVFPQStats jarg1_);
  public final static native void IndexIVFPQStats_refine_cycles_set(long jarg1, IndexIVFPQStats jarg1_, long jarg2);
  public final static native long IndexIVFPQStats_refine_cycles_get(long jarg1, IndexIVFPQStats jarg1_);
  public final static native long new_IndexIVFPQStats();
  public final static native void IndexIVFPQStats_reset(long jarg1, IndexIVFPQStats jarg1_);
  public final static native void delete_IndexIVFPQStats(long jarg1);
  public final static native void indexIVFPQ_stats_set(long jarg1, IndexIVFPQStats jarg1_);
  public final static native long indexIVFPQ_stats_get();
  public final static native void IndexBinary_d_set(long jarg1, IndexBinary jarg1_, int jarg2);
  public final static native int IndexBinary_d_get(long jarg1, IndexBinary jarg1_);
  public final static native void IndexBinary_code_size_set(long jarg1, IndexBinary jarg1_, int jarg2);
  public final static native int IndexBinary_code_size_get(long jarg1, IndexBinary jarg1_);
  public final static native void IndexBinary_ntotal_set(long jarg1, IndexBinary jarg1_, long jarg2);
  public final static native long IndexBinary_ntotal_get(long jarg1, IndexBinary jarg1_);
  public final static native void IndexBinary_verbose_set(long jarg1, IndexBinary jarg1_, boolean jarg2);
  public final static native boolean IndexBinary_verbose_get(long jarg1, IndexBinary jarg1_);
  public final static native void IndexBinary_is_trained_set(long jarg1, IndexBinary jarg1_, boolean jarg2);
  public final static native boolean IndexBinary_is_trained_get(long jarg1, IndexBinary jarg1_);
  public final static native void IndexBinary_metric_type_set(long jarg1, IndexBinary jarg1_, int jarg2);
  public final static native int IndexBinary_metric_type_get(long jarg1, IndexBinary jarg1_);
  public final static native void delete_IndexBinary(long jarg1);
  public final static native void IndexBinary_train(long jarg1, IndexBinary jarg1_, long jarg2, long jarg3);
  public final static native void IndexBinary_add(long jarg1, IndexBinary jarg1_, long jarg2, long jarg3);
  public final static native void IndexBinary_add_with_ids(long jarg1, IndexBinary jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void IndexBinary_search(long jarg1, IndexBinary jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexBinary_range_search(long jarg1, IndexBinary jarg1_, long jarg2, long jarg3, int jarg4, long jarg5, RangeSearchResult jarg5_);
  public final static native void IndexBinary_assign__SWIG_0(long jarg1, IndexBinary jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void IndexBinary_assign__SWIG_1(long jarg1, IndexBinary jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void IndexBinary_reset(long jarg1, IndexBinary jarg1_);
  public final static native long IndexBinary_remove_ids(long jarg1, IndexBinary jarg1_, long jarg2, IDSelector jarg2_);
  public final static native void IndexBinary_reconstruct(long jarg1, IndexBinary jarg1_, long jarg2, long jarg3);
  public final static native void IndexBinary_reconstruct_n(long jarg1, IndexBinary jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexBinary_search_and_reconstruct(long jarg1, IndexBinary jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_, long jarg7);
  public final static native void IndexBinary_display(long jarg1, IndexBinary jarg1_);
  public final static native void Index2Layer_q1_set(long jarg1, Index2Layer jarg1_, long jarg2, Level1Quantizer jarg2_);
  public final static native long Index2Layer_q1_get(long jarg1, Index2Layer jarg1_);
  public final static native void Index2Layer_pq_set(long jarg1, Index2Layer jarg1_, long jarg2, ProductQuantizer jarg2_);
  public final static native long Index2Layer_pq_get(long jarg1, Index2Layer jarg1_);
  public final static native void Index2Layer_code_size_1_set(long jarg1, Index2Layer jarg1_, long jarg2);
  public final static native long Index2Layer_code_size_1_get(long jarg1, Index2Layer jarg1_);
  public final static native void Index2Layer_code_size_2_set(long jarg1, Index2Layer jarg1_, long jarg2);
  public final static native long Index2Layer_code_size_2_get(long jarg1, Index2Layer jarg1_);
  public final static native long new_Index2Layer__SWIG_0(long jarg1, Index jarg1_, long jarg2, int jarg3, int jarg4, int jarg5);
  public final static native long new_Index2Layer__SWIG_1(long jarg1, Index jarg1_, long jarg2, int jarg3, int jarg4);
  public final static native long new_Index2Layer__SWIG_2(long jarg1, Index jarg1_, long jarg2, int jarg3);
  public final static native long new_Index2Layer__SWIG_3();
  public final static native void delete_Index2Layer(long jarg1);
  public final static native void Index2Layer_train(long jarg1, Index2Layer jarg1_, long jarg2, long jarg3);
  public final static native void Index2Layer_search(long jarg1, Index2Layer jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native long Index2Layer_get_distance_computer(long jarg1, Index2Layer jarg1_);
  public final static native void Index2Layer_transfer_to_IVFPQ(long jarg1, Index2Layer jarg1_, long jarg2, IndexIVFPQ jarg2_);
  public final static native void Index2Layer_sa_encode(long jarg1, Index2Layer jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void Index2Layer_sa_decode(long jarg1, Index2Layer jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexBinaryFlat_xb_set(long jarg1, IndexBinaryFlat jarg1_, long jarg2, ByteVector jarg2_);
  public final static native long IndexBinaryFlat_xb_get(long jarg1, IndexBinaryFlat jarg1_);
  public final static native void IndexBinaryFlat_use_heap_set(long jarg1, IndexBinaryFlat jarg1_, boolean jarg2);
  public final static native boolean IndexBinaryFlat_use_heap_get(long jarg1, IndexBinaryFlat jarg1_);
  public final static native void IndexBinaryFlat_query_batch_size_set(long jarg1, IndexBinaryFlat jarg1_, long jarg2);
  public final static native long IndexBinaryFlat_query_batch_size_get(long jarg1, IndexBinaryFlat jarg1_);
  public final static native long new_IndexBinaryFlat__SWIG_0(long jarg1);
  public final static native void IndexBinaryFlat_add(long jarg1, IndexBinaryFlat jarg1_, long jarg2, long jarg3);
  public final static native void IndexBinaryFlat_reset(long jarg1, IndexBinaryFlat jarg1_);
  public final static native void IndexBinaryFlat_search(long jarg1, IndexBinaryFlat jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexBinaryFlat_range_search(long jarg1, IndexBinaryFlat jarg1_, long jarg2, long jarg3, int jarg4, long jarg5, RangeSearchResult jarg5_);
  public final static native void IndexBinaryFlat_reconstruct(long jarg1, IndexBinaryFlat jarg1_, long jarg2, long jarg3);
  public final static native long IndexBinaryFlat_remove_ids(long jarg1, IndexBinaryFlat jarg1_, long jarg2, IDSelector jarg2_);
  public final static native long new_IndexBinaryFlat__SWIG_1();
  public final static native void delete_IndexBinaryFlat(long jarg1);
  public final static native void IndexBinaryIVF_invlists_set(long jarg1, IndexBinaryIVF jarg1_, long jarg2, InvertedLists jarg2_);
  public final static native long IndexBinaryIVF_invlists_get(long jarg1, IndexBinaryIVF jarg1_);
  public final static native void IndexBinaryIVF_own_invlists_set(long jarg1, IndexBinaryIVF jarg1_, boolean jarg2);
  public final static native boolean IndexBinaryIVF_own_invlists_get(long jarg1, IndexBinaryIVF jarg1_);
  public final static native void IndexBinaryIVF_nprobe_set(long jarg1, IndexBinaryIVF jarg1_, long jarg2);
  public final static native long IndexBinaryIVF_nprobe_get(long jarg1, IndexBinaryIVF jarg1_);
  public final static native void IndexBinaryIVF_max_codes_set(long jarg1, IndexBinaryIVF jarg1_, long jarg2);
  public final static native long IndexBinaryIVF_max_codes_get(long jarg1, IndexBinaryIVF jarg1_);
  public final static native void IndexBinaryIVF_use_heap_set(long jarg1, IndexBinaryIVF jarg1_, boolean jarg2);
  public final static native boolean IndexBinaryIVF_use_heap_get(long jarg1, IndexBinaryIVF jarg1_);
  public final static native void IndexBinaryIVF_direct_map_set(long jarg1, IndexBinaryIVF jarg1_, long jarg2);
  public final static native long IndexBinaryIVF_direct_map_get(long jarg1, IndexBinaryIVF jarg1_);
  public final static native void IndexBinaryIVF_quantizer_set(long jarg1, IndexBinaryIVF jarg1_, long jarg2, IndexBinary jarg2_);
  public final static native long IndexBinaryIVF_quantizer_get(long jarg1, IndexBinaryIVF jarg1_);
  public final static native void IndexBinaryIVF_nlist_set(long jarg1, IndexBinaryIVF jarg1_, long jarg2);
  public final static native long IndexBinaryIVF_nlist_get(long jarg1, IndexBinaryIVF jarg1_);
  public final static native void IndexBinaryIVF_own_fields_set(long jarg1, IndexBinaryIVF jarg1_, boolean jarg2);
  public final static native boolean IndexBinaryIVF_own_fields_get(long jarg1, IndexBinaryIVF jarg1_);
  public final static native void IndexBinaryIVF_cp_set(long jarg1, IndexBinaryIVF jarg1_, long jarg2, ClusteringParameters jarg2_);
  public final static native long IndexBinaryIVF_cp_get(long jarg1, IndexBinaryIVF jarg1_);
  public final static native void IndexBinaryIVF_clustering_index_set(long jarg1, IndexBinaryIVF jarg1_, long jarg2, Index jarg2_);
  public final static native long IndexBinaryIVF_clustering_index_get(long jarg1, IndexBinaryIVF jarg1_);
  public final static native long new_IndexBinaryIVF__SWIG_0(long jarg1, IndexBinary jarg1_, long jarg2, long jarg3);
  public final static native long new_IndexBinaryIVF__SWIG_1();
  public final static native void delete_IndexBinaryIVF(long jarg1);
  public final static native void IndexBinaryIVF_reset(long jarg1, IndexBinaryIVF jarg1_);
  public final static native void IndexBinaryIVF_train(long jarg1, IndexBinaryIVF jarg1_, long jarg2, long jarg3);
  public final static native void IndexBinaryIVF_add(long jarg1, IndexBinaryIVF jarg1_, long jarg2, long jarg3);
  public final static native void IndexBinaryIVF_add_with_ids(long jarg1, IndexBinaryIVF jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void IndexBinaryIVF_add_core(long jarg1, IndexBinaryIVF jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, LongVector jarg5_);
  public final static native void IndexBinaryIVF_search_preassigned__SWIG_0(long jarg1, IndexBinaryIVF jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, LongVector jarg5_, long jarg6, long jarg7, long jarg8, LongVector jarg8_, boolean jarg9, long jarg10, IVFSearchParameters jarg10_);
  public final static native void IndexBinaryIVF_search_preassigned__SWIG_1(long jarg1, IndexBinaryIVF jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, LongVector jarg5_, long jarg6, long jarg7, long jarg8, LongVector jarg8_, boolean jarg9);
  public final static native long IndexBinaryIVF_get_InvertedListScanner__SWIG_0(long jarg1, IndexBinaryIVF jarg1_, boolean jarg2);
  public final static native long IndexBinaryIVF_get_InvertedListScanner__SWIG_1(long jarg1, IndexBinaryIVF jarg1_);
  public final static native void IndexBinaryIVF_search(long jarg1, IndexBinaryIVF jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexBinaryIVF_range_search(long jarg1, IndexBinaryIVF jarg1_, long jarg2, long jarg3, int jarg4, long jarg5, RangeSearchResult jarg5_);
  public final static native void IndexBinaryIVF_range_search_preassigned(long jarg1, IndexBinaryIVF jarg1_, long jarg2, long jarg3, int jarg4, long jarg5, LongVector jarg5_, long jarg6, long jarg7, RangeSearchResult jarg7_);
  public final static native void IndexBinaryIVF_reconstruct(long jarg1, IndexBinaryIVF jarg1_, long jarg2, long jarg3);
  public final static native void IndexBinaryIVF_reconstruct_n(long jarg1, IndexBinaryIVF jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexBinaryIVF_search_and_reconstruct(long jarg1, IndexBinaryIVF jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_, long jarg7);
  public final static native void IndexBinaryIVF_reconstruct_from_offset(long jarg1, IndexBinaryIVF jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native long IndexBinaryIVF_remove_ids(long jarg1, IndexBinaryIVF jarg1_, long jarg2, IDSelector jarg2_);
  public final static native void IndexBinaryIVF_merge_from(long jarg1, IndexBinaryIVF jarg1_, long jarg2, IndexBinaryIVF jarg2_, long jarg3);
  public final static native long IndexBinaryIVF_get_list_size(long jarg1, IndexBinaryIVF jarg1_, long jarg2);
  public final static native void IndexBinaryIVF_make_direct_map__SWIG_0(long jarg1, IndexBinaryIVF jarg1_, boolean jarg2);
  public final static native void IndexBinaryIVF_make_direct_map__SWIG_1(long jarg1, IndexBinaryIVF jarg1_);
  public final static native void IndexBinaryIVF_set_direct_map_type(long jarg1, IndexBinaryIVF jarg1_, long jarg2);
  public final static native void IndexBinaryIVF_replace_invlists__SWIG_0(long jarg1, IndexBinaryIVF jarg1_, long jarg2, InvertedLists jarg2_, boolean jarg3);
  public final static native void IndexBinaryIVF_replace_invlists__SWIG_1(long jarg1, IndexBinaryIVF jarg1_, long jarg2, InvertedLists jarg2_);
  public final static native void IndexBinaryFromFloat_index_set(long jarg1, IndexBinaryFromFloat jarg1_, long jarg2, Index jarg2_);
  public final static native long IndexBinaryFromFloat_index_get(long jarg1, IndexBinaryFromFloat jarg1_);
  public final static native void IndexBinaryFromFloat_own_fields_set(long jarg1, IndexBinaryFromFloat jarg1_, boolean jarg2);
  public final static native boolean IndexBinaryFromFloat_own_fields_get(long jarg1, IndexBinaryFromFloat jarg1_);
  public final static native long new_IndexBinaryFromFloat__SWIG_0();
  public final static native long new_IndexBinaryFromFloat__SWIG_1(long jarg1, Index jarg1_);
  public final static native void delete_IndexBinaryFromFloat(long jarg1);
  public final static native void IndexBinaryFromFloat_add(long jarg1, IndexBinaryFromFloat jarg1_, long jarg2, long jarg3);
  public final static native void IndexBinaryFromFloat_reset(long jarg1, IndexBinaryFromFloat jarg1_);
  public final static native void IndexBinaryFromFloat_search(long jarg1, IndexBinaryFromFloat jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexBinaryFromFloat_train(long jarg1, IndexBinaryFromFloat jarg1_, long jarg2, long jarg3);
  public final static native void IndexBinaryHNSW_hnsw_set(long jarg1, IndexBinaryHNSW jarg1_, long jarg2, HNSW jarg2_);
  public final static native long IndexBinaryHNSW_hnsw_get(long jarg1, IndexBinaryHNSW jarg1_);
  public final static native void IndexBinaryHNSW_own_fields_set(long jarg1, IndexBinaryHNSW jarg1_, boolean jarg2);
  public final static native boolean IndexBinaryHNSW_own_fields_get(long jarg1, IndexBinaryHNSW jarg1_);
  public final static native void IndexBinaryHNSW_storage_set(long jarg1, IndexBinaryHNSW jarg1_, long jarg2, IndexBinary jarg2_);
  public final static native long IndexBinaryHNSW_storage_get(long jarg1, IndexBinaryHNSW jarg1_);
  public final static native long new_IndexBinaryHNSW__SWIG_0();
  public final static native long new_IndexBinaryHNSW__SWIG_1(int jarg1, int jarg2);
  public final static native long new_IndexBinaryHNSW__SWIG_2(int jarg1);
  public final static native long new_IndexBinaryHNSW__SWIG_3(long jarg1, IndexBinary jarg1_, int jarg2);
  public final static native long new_IndexBinaryHNSW__SWIG_4(long jarg1, IndexBinary jarg1_);
  public final static native void delete_IndexBinaryHNSW(long jarg1);
  public final static native long IndexBinaryHNSW_get_distance_computer(long jarg1, IndexBinaryHNSW jarg1_);
  public final static native void IndexBinaryHNSW_add(long jarg1, IndexBinaryHNSW jarg1_, long jarg2, long jarg3);
  public final static native void IndexBinaryHNSW_train(long jarg1, IndexBinaryHNSW jarg1_, long jarg2, long jarg3);
  public final static native void IndexBinaryHNSW_search(long jarg1, IndexBinaryHNSW jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexBinaryHNSW_reconstruct(long jarg1, IndexBinaryHNSW jarg1_, long jarg2, long jarg3);
  public final static native void IndexBinaryHNSW_reset(long jarg1, IndexBinaryHNSW jarg1_);
  public final static native void IndexRefine_base_index_set(long jarg1, IndexRefine jarg1_, long jarg2, Index jarg2_);
  public final static native long IndexRefine_base_index_get(long jarg1, IndexRefine jarg1_);
  public final static native void IndexRefine_refine_index_set(long jarg1, IndexRefine jarg1_, long jarg2, Index jarg2_);
  public final static native long IndexRefine_refine_index_get(long jarg1, IndexRefine jarg1_);
  public final static native void IndexRefine_own_fields_set(long jarg1, IndexRefine jarg1_, boolean jarg2);
  public final static native boolean IndexRefine_own_fields_get(long jarg1, IndexRefine jarg1_);
  public final static native void IndexRefine_own_refine_index_set(long jarg1, IndexRefine jarg1_, boolean jarg2);
  public final static native boolean IndexRefine_own_refine_index_get(long jarg1, IndexRefine jarg1_);
  public final static native void IndexRefine_k_factor_set(long jarg1, IndexRefine jarg1_, float jarg2);
  public final static native float IndexRefine_k_factor_get(long jarg1, IndexRefine jarg1_);
  public final static native long new_IndexRefine__SWIG_0(long jarg1, Index jarg1_, long jarg2, Index jarg2_);
  public final static native long new_IndexRefine__SWIG_1();
  public final static native void IndexRefine_train(long jarg1, IndexRefine jarg1_, long jarg2, long jarg3);
  public final static native void IndexRefine_add(long jarg1, IndexRefine jarg1_, long jarg2, long jarg3);
  public final static native void IndexRefine_reset(long jarg1, IndexRefine jarg1_);
  public final static native void IndexRefine_search(long jarg1, IndexRefine jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexRefine_reconstruct(long jarg1, IndexRefine jarg1_, long jarg2, long jarg3);
  public final static native long IndexRefine_sa_code_size(long jarg1, IndexRefine jarg1_);
  public final static native void IndexRefine_sa_encode(long jarg1, IndexRefine jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void IndexRefine_sa_decode(long jarg1, IndexRefine jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void delete_IndexRefine(long jarg1);
  public final static native long new_IndexRefineFlat__SWIG_0(long jarg1, Index jarg1_);
  public final static native long new_IndexRefineFlat__SWIG_1(long jarg1, Index jarg1_, long jarg2);
  public final static native long new_IndexRefineFlat__SWIG_2();
  public final static native void IndexRefineFlat_search(long jarg1, IndexRefineFlat jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void delete_IndexRefineFlat(long jarg1);
  public final static native void IndexSplitVectors_own_fields_set(long jarg1, IndexSplitVectors jarg1_, boolean jarg2);
  public final static native boolean IndexSplitVectors_own_fields_get(long jarg1, IndexSplitVectors jarg1_);
  public final static native void IndexSplitVectors_threaded_set(long jarg1, IndexSplitVectors jarg1_, boolean jarg2);
  public final static native boolean IndexSplitVectors_threaded_get(long jarg1, IndexSplitVectors jarg1_);
  public final static native void IndexSplitVectors_sub_indexes_set(long jarg1, IndexSplitVectors jarg1_, long jarg2);
  public final static native long IndexSplitVectors_sub_indexes_get(long jarg1, IndexSplitVectors jarg1_);
  public final static native void IndexSplitVectors_sum_d_set(long jarg1, IndexSplitVectors jarg1_, long jarg2);
  public final static native long IndexSplitVectors_sum_d_get(long jarg1, IndexSplitVectors jarg1_);
  public final static native void IndexSplitVectors_add_sub_index(long jarg1, IndexSplitVectors jarg1_, long jarg2, Index jarg2_);
  public final static native void IndexSplitVectors_sync_with_sub_indexes(long jarg1, IndexSplitVectors jarg1_);
  public final static native void IndexSplitVectors_add(long jarg1, IndexSplitVectors jarg1_, long jarg2, long jarg3);
  public final static native void IndexSplitVectors_search(long jarg1, IndexSplitVectors jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexSplitVectors_train(long jarg1, IndexSplitVectors jarg1_, long jarg2, long jarg3);
  public final static native void IndexSplitVectors_reset(long jarg1, IndexSplitVectors jarg1_);
  public final static native void delete_IndexSplitVectors(long jarg1);
  public final static native void IndexIDMap_index_set(long jarg1, IndexIDMap jarg1_, long jarg2, Index jarg2_);
  public final static native long IndexIDMap_index_get(long jarg1, IndexIDMap jarg1_);
  public final static native void IndexIDMap_own_fields_set(long jarg1, IndexIDMap jarg1_, boolean jarg2);
  public final static native boolean IndexIDMap_own_fields_get(long jarg1, IndexIDMap jarg1_);
  public final static native void IndexIDMap_id_map_set(long jarg1, IndexIDMap jarg1_, long jarg2);
  public final static native long IndexIDMap_id_map_get(long jarg1, IndexIDMap jarg1_);
  public final static native long new_IndexIDMap__SWIG_0(long jarg1, Index jarg1_);
  public final static native void IndexIDMap_add_with_ids(long jarg1, IndexIDMap jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void IndexIDMap_add(long jarg1, IndexIDMap jarg1_, long jarg2, long jarg3);
  public final static native void IndexIDMap_search(long jarg1, IndexIDMap jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexIDMap_train(long jarg1, IndexIDMap jarg1_, long jarg2, long jarg3);
  public final static native void IndexIDMap_reset(long jarg1, IndexIDMap jarg1_);
  public final static native long IndexIDMap_remove_ids(long jarg1, IndexIDMap jarg1_, long jarg2, IDSelector jarg2_);
  public final static native void IndexIDMap_range_search(long jarg1, IndexIDMap jarg1_, long jarg2, long jarg3, float jarg4, long jarg5, RangeSearchResult jarg5_);
  public final static native void delete_IndexIDMap(long jarg1);
  public final static native long new_IndexIDMap__SWIG_1();
  public final static native long new_IndexShards__SWIG_0(boolean jarg1, boolean jarg2);
  public final static native long new_IndexShards__SWIG_1(boolean jarg1);
  public final static native long new_IndexShards__SWIG_2();
  public final static native long new_IndexShards__SWIG_3(int jarg1, boolean jarg2, boolean jarg3);
  public final static native long new_IndexShards__SWIG_4(int jarg1, boolean jarg2);
  public final static native long new_IndexShards__SWIG_5(int jarg1);
  public final static native void IndexShards_add_shard(long jarg1, IndexShards jarg1_, long jarg2, Index jarg2_);
  public final static native void IndexShards_remove_shard(long jarg1, IndexShards jarg1_, long jarg2, Index jarg2_);
  public final static native void IndexShards_add(long jarg1, IndexShards jarg1_, long jarg2, long jarg3);
  public final static native void IndexShards_add_with_ids(long jarg1, IndexShards jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void IndexShards_search(long jarg1, IndexShards jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6, LongVector jarg6_);
  public final static native void IndexShards_train(long jarg1, IndexShards jarg1_, long jarg2, long jarg3);
  public final static native void IndexShards_successive_ids_set(long jarg1, IndexShards jarg1_, boolean jarg2);
  public final static native boolean IndexShards_successive_ids_get(long jarg1, IndexShards jarg1_);
  public final static native void IndexShards_syncWithSubIndexes(long jarg1, IndexShards jarg1_);
  public final static native void delete_IndexShards(long jarg1);
  public final static native long downcast_index(long jarg1, Index jarg1_);
  public final static native long downcast_VectorTransform(long jarg1, VectorTransform jarg1_);
  public final static native long downcast_IndexBinary(long jarg1, IndexBinary jarg1_);
  public final static native long upcast_IndexShards(long jarg1, IndexShards jarg1_);
  public final static native void write_index__SWIG_0(long jarg1, Index jarg1_, String jarg2);
  public final static native void write_index__SWIG_1(long jarg1, Index jarg1_, long jarg2);
  public final static native void write_index__SWIG_2(long jarg1, Index jarg1_, long jarg2);
  public final static native void write_index_binary__SWIG_0(long jarg1, IndexBinary jarg1_, String jarg2);
  public final static native void write_index_binary__SWIG_1(long jarg1, IndexBinary jarg1_, long jarg2);
  public final static native void write_index_binary__SWIG_2(long jarg1, IndexBinary jarg1_, long jarg2);
  public final static native int IO_FLAG_READ_ONLY_get();
  public final static native int IO_FLAG_ONDISK_SAME_DIR_get();
  public final static native int IO_FLAG_SKIP_IVF_DATA_get();
  public final static native int IO_FLAG_MMAP_get();
  public final static native long read_index__SWIG_0(String jarg1, int jarg2);
  public final static native long read_index__SWIG_1(String jarg1);
  public final static native long read_index__SWIG_2(long jarg1, int jarg2);
  public final static native long read_index__SWIG_3(long jarg1);
  public final static native long read_index__SWIG_4(long jarg1, int jarg2);
  public final static native long read_index__SWIG_5(long jarg1);
  public final static native long read_index_binary__SWIG_0(String jarg1, int jarg2);
  public final static native long read_index_binary__SWIG_1(String jarg1);
  public final static native long read_index_binary__SWIG_2(long jarg1, int jarg2);
  public final static native long read_index_binary__SWIG_3(long jarg1);
  public final static native long read_index_binary__SWIG_4(long jarg1, int jarg2);
  public final static native long read_index_binary__SWIG_5(long jarg1);
  public final static native void write_VectorTransform(long jarg1, VectorTransform jarg1_, String jarg2);
  public final static native long read_VectorTransform(String jarg1);
  public final static native long read_ProductQuantizer__SWIG_0(String jarg1);
  public final static native long read_ProductQuantizer__SWIG_1(long jarg1);
  public final static native void write_ProductQuantizer__SWIG_0(long jarg1, ProductQuantizer jarg1_, String jarg2);
  public final static native void write_ProductQuantizer__SWIG_1(long jarg1, ProductQuantizer jarg1_, long jarg2);
  public final static native void write_InvertedLists(long jarg1, InvertedLists jarg1_, long jarg2);
  public final static native long read_InvertedLists__SWIG_0(long jarg1, int jarg2);
  public final static native long read_InvertedLists__SWIG_1(long jarg1);
  public final static native void AutoTuneCriterion_nq_set(long jarg1, AutoTuneCriterion jarg1_, long jarg2);
  public final static native long AutoTuneCriterion_nq_get(long jarg1, AutoTuneCriterion jarg1_);
  public final static native void AutoTuneCriterion_nnn_set(long jarg1, AutoTuneCriterion jarg1_, long jarg2);
  public final static native long AutoTuneCriterion_nnn_get(long jarg1, AutoTuneCriterion jarg1_);
  public final static native void AutoTuneCriterion_gt_nnn_set(long jarg1, AutoTuneCriterion jarg1_, long jarg2);
  public final static native long AutoTuneCriterion_gt_nnn_get(long jarg1, AutoTuneCriterion jarg1_);
  public final static native void AutoTuneCriterion_gt_D_set(long jarg1, AutoTuneCriterion jarg1_, long jarg2, FloatVector jarg2_);
  public final static native long AutoTuneCriterion_gt_D_get(long jarg1, AutoTuneCriterion jarg1_);
  public final static native void AutoTuneCriterion_gt_I_set(long jarg1, AutoTuneCriterion jarg1_, long jarg2);
  public final static native long AutoTuneCriterion_gt_I_get(long jarg1, AutoTuneCriterion jarg1_);
  public final static native void AutoTuneCriterion_set_groundtruth(long jarg1, AutoTuneCriterion jarg1_, int jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native double AutoTuneCriterion_evaluate(long jarg1, AutoTuneCriterion jarg1_, long jarg2, long jarg3, LongVector jarg3_);
  public final static native void delete_AutoTuneCriterion(long jarg1);
  public final static native void OneRecallAtRCriterion_R_set(long jarg1, OneRecallAtRCriterion jarg1_, long jarg2);
  public final static native long OneRecallAtRCriterion_R_get(long jarg1, OneRecallAtRCriterion jarg1_);
  public final static native long new_OneRecallAtRCriterion(long jarg1, long jarg2);
  public final static native double OneRecallAtRCriterion_evaluate(long jarg1, OneRecallAtRCriterion jarg1_, long jarg2, long jarg3, LongVector jarg3_);
  public final static native void delete_OneRecallAtRCriterion(long jarg1);
  public final static native void IntersectionCriterion_R_set(long jarg1, IntersectionCriterion jarg1_, long jarg2);
  public final static native long IntersectionCriterion_R_get(long jarg1, IntersectionCriterion jarg1_);
  public final static native long new_IntersectionCriterion(long jarg1, long jarg2);
  public final static native double IntersectionCriterion_evaluate(long jarg1, IntersectionCriterion jarg1_, long jarg2, long jarg3, LongVector jarg3_);
  public final static native void delete_IntersectionCriterion(long jarg1);
  public final static native void OperatingPoint_perf_set(long jarg1, OperatingPoint jarg1_, double jarg2);
  public final static native double OperatingPoint_perf_get(long jarg1, OperatingPoint jarg1_);
  public final static native void OperatingPoint_t_set(long jarg1, OperatingPoint jarg1_, double jarg2);
  public final static native double OperatingPoint_t_get(long jarg1, OperatingPoint jarg1_);
  public final static native void OperatingPoint_key_set(long jarg1, OperatingPoint jarg1_, String jarg2);
  public final static native String OperatingPoint_key_get(long jarg1, OperatingPoint jarg1_);
  public final static native void OperatingPoint_cno_set(long jarg1, OperatingPoint jarg1_, long jarg2);
  public final static native long OperatingPoint_cno_get(long jarg1, OperatingPoint jarg1_);
  public final static native long new_OperatingPoint();
  public final static native void delete_OperatingPoint(long jarg1);
  public final static native void OperatingPoints_all_pts_set(long jarg1, OperatingPoints jarg1_, long jarg2, OperatingPointVector jarg2_);
  public final static native long OperatingPoints_all_pts_get(long jarg1, OperatingPoints jarg1_);
  public final static native void OperatingPoints_optimal_pts_set(long jarg1, OperatingPoints jarg1_, long jarg2, OperatingPointVector jarg2_);
  public final static native long OperatingPoints_optimal_pts_get(long jarg1, OperatingPoints jarg1_);
  public final static native long new_OperatingPoints();
  public final static native int OperatingPoints_merge_with__SWIG_0(long jarg1, OperatingPoints jarg1_, long jarg2, OperatingPoints jarg2_, String jarg3);
  public final static native int OperatingPoints_merge_with__SWIG_1(long jarg1, OperatingPoints jarg1_, long jarg2, OperatingPoints jarg2_);
  public final static native void OperatingPoints_clear(long jarg1, OperatingPoints jarg1_);
  public final static native boolean OperatingPoints_add__SWIG_0(long jarg1, OperatingPoints jarg1_, double jarg2, double jarg3, String jarg4, long jarg5);
  public final static native boolean OperatingPoints_add__SWIG_1(long jarg1, OperatingPoints jarg1_, double jarg2, double jarg3, String jarg4);
  public final static native double OperatingPoints_t_for_perf(long jarg1, OperatingPoints jarg1_, double jarg2);
  public final static native void OperatingPoints_display__SWIG_0(long jarg1, OperatingPoints jarg1_, boolean jarg2);
  public final static native void OperatingPoints_display__SWIG_1(long jarg1, OperatingPoints jarg1_);
  public final static native void OperatingPoints_all_to_gnuplot(long jarg1, OperatingPoints jarg1_, String jarg2);
  public final static native void OperatingPoints_optimal_to_gnuplot(long jarg1, OperatingPoints jarg1_, String jarg2);
  public final static native void delete_OperatingPoints(long jarg1);
  public final static native void ParameterRange_name_set(long jarg1, ParameterRange jarg1_, String jarg2);
  public final static native String ParameterRange_name_get(long jarg1, ParameterRange jarg1_);
  public final static native void ParameterRange_values_set(long jarg1, ParameterRange jarg1_, long jarg2, DoubleVector jarg2_);
  public final static native long ParameterRange_values_get(long jarg1, ParameterRange jarg1_);
  public final static native long new_ParameterRange();
  public final static native void delete_ParameterRange(long jarg1);
  public final static native void ParameterSpace_parameter_ranges_set(long jarg1, ParameterSpace jarg1_, long jarg2);
  public final static native long ParameterSpace_parameter_ranges_get(long jarg1, ParameterSpace jarg1_);
  public final static native void ParameterSpace_verbose_set(long jarg1, ParameterSpace jarg1_, int jarg2);
  public final static native int ParameterSpace_verbose_get(long jarg1, ParameterSpace jarg1_);
  public final static native void ParameterSpace_n_experiments_set(long jarg1, ParameterSpace jarg1_, int jarg2);
  public final static native int ParameterSpace_n_experiments_get(long jarg1, ParameterSpace jarg1_);
  public final static native void ParameterSpace_batchsize_set(long jarg1, ParameterSpace jarg1_, long jarg2);
  public final static native long ParameterSpace_batchsize_get(long jarg1, ParameterSpace jarg1_);
  public final static native void ParameterSpace_thread_over_batches_set(long jarg1, ParameterSpace jarg1_, boolean jarg2);
  public final static native boolean ParameterSpace_thread_over_batches_get(long jarg1, ParameterSpace jarg1_);
  public final static native void ParameterSpace_min_test_duration_set(long jarg1, ParameterSpace jarg1_, double jarg2);
  public final static native double ParameterSpace_min_test_duration_get(long jarg1, ParameterSpace jarg1_);
  public final static native long new_ParameterSpace();
  public final static native long ParameterSpace_n_combinations(long jarg1, ParameterSpace jarg1_);
  public final static native boolean ParameterSpace_combination_ge(long jarg1, ParameterSpace jarg1_, long jarg2, long jarg3);
  public final static native String ParameterSpace_combination_name(long jarg1, ParameterSpace jarg1_, long jarg2);
  public final static native void ParameterSpace_display(long jarg1, ParameterSpace jarg1_);
  public final static native long ParameterSpace_add_range(long jarg1, ParameterSpace jarg1_, String jarg2);
  public final static native void ParameterSpace_initialize(long jarg1, ParameterSpace jarg1_, long jarg2, Index jarg2_);
  public final static native void ParameterSpace_set_index_parameters__SWIG_0(long jarg1, ParameterSpace jarg1_, long jarg2, Index jarg2_, long jarg3);
  public final static native void ParameterSpace_set_index_parameters__SWIG_1(long jarg1, ParameterSpace jarg1_, long jarg2, Index jarg2_, String jarg3);
  public final static native void ParameterSpace_set_index_parameter(long jarg1, ParameterSpace jarg1_, long jarg2, Index jarg2_, String jarg3, double jarg4);
  public final static native void ParameterSpace_update_bounds(long jarg1, ParameterSpace jarg1_, long jarg2, long jarg3, OperatingPoint jarg3_, long jarg4, long jarg5);
  public final static native void ParameterSpace_explore(long jarg1, ParameterSpace jarg1_, long jarg2, Index jarg2_, long jarg3, long jarg4, long jarg5, AutoTuneCriterion jarg5_, long jarg6, OperatingPoints jarg6_);
  public final static native void delete_ParameterSpace(long jarg1);
  public final static native long index_factory__SWIG_0(int jarg1, String jarg2, int jarg3);
  public final static native long index_factory__SWIG_1(int jarg1, String jarg2);
  public final static native void index_factory_verbose_set(int jarg1);
  public final static native int index_factory_verbose_get();
  public final static native long index_binary_factory(int jarg1, String jarg2);
  public final static native void simd_histogram_8(long jarg1, int jarg2, long jarg3, int jarg4, long jarg5);
  public final static native void simd_histogram_16(long jarg1, int jarg2, long jarg3, int jarg4, long jarg5);
  public final static native void PartitionStats_bissect_cycles_set(long jarg1, PartitionStats jarg1_, long jarg2);
  public final static native long PartitionStats_bissect_cycles_get(long jarg1, PartitionStats jarg1_);
  public final static native void PartitionStats_compress_cycles_set(long jarg1, PartitionStats jarg1_, long jarg2);
  public final static native long PartitionStats_compress_cycles_get(long jarg1, PartitionStats jarg1_);
  public final static native long new_PartitionStats();
  public final static native void PartitionStats_reset(long jarg1, PartitionStats jarg1_);
  public final static native void delete_PartitionStats(long jarg1);
  public final static native void partition_stats_set(long jarg1, PartitionStats jarg1_);
  public final static native long partition_stats_get();
  public final static native void float_minheap_array_t_nh_set(long jarg1, float_minheap_array_t jarg1_, long jarg2);
  public final static native long float_minheap_array_t_nh_get(long jarg1, float_minheap_array_t jarg1_);
  public final static native void float_minheap_array_t_k_set(long jarg1, float_minheap_array_t jarg1_, long jarg2);
  public final static native long float_minheap_array_t_k_get(long jarg1, float_minheap_array_t jarg1_);
  public final static native void float_minheap_array_t_ids_set(long jarg1, float_minheap_array_t jarg1_, long jarg2, LongVector jarg2_);
  public final static native long float_minheap_array_t_ids_get(long jarg1, float_minheap_array_t jarg1_);
  public final static native void float_minheap_array_t_val_set(long jarg1, float_minheap_array_t jarg1_, long jarg2);
  public final static native long float_minheap_array_t_val_get(long jarg1, float_minheap_array_t jarg1_);
  public final static native long float_minheap_array_t_get_val(long jarg1, float_minheap_array_t jarg1_, long jarg2);
  public final static native long float_minheap_array_t_get_ids(long jarg1, float_minheap_array_t jarg1_, long jarg2);
  public final static native void float_minheap_array_t_heapify(long jarg1, float_minheap_array_t jarg1_);
  public final static native void float_minheap_array_t_addn__SWIG_0(long jarg1, float_minheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native void float_minheap_array_t_addn__SWIG_1(long jarg1, float_minheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, long jarg5);
  public final static native void float_minheap_array_t_addn__SWIG_2(long jarg1, float_minheap_array_t jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void float_minheap_array_t_addn__SWIG_3(long jarg1, float_minheap_array_t jarg1_, long jarg2, long jarg3);
  public final static native void float_minheap_array_t_addn_with_ids__SWIG_0(long jarg1, float_minheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, long jarg6, long jarg7);
  public final static native void float_minheap_array_t_addn_with_ids__SWIG_1(long jarg1, float_minheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, long jarg6);
  public final static native void float_minheap_array_t_addn_with_ids__SWIG_2(long jarg1, float_minheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void float_minheap_array_t_addn_with_ids__SWIG_3(long jarg1, float_minheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void float_minheap_array_t_addn_with_ids__SWIG_4(long jarg1, float_minheap_array_t jarg1_, long jarg2, long jarg3);
  public final static native void float_minheap_array_t_reorder(long jarg1, float_minheap_array_t jarg1_);
  public final static native void float_minheap_array_t_per_line_extrema(long jarg1, float_minheap_array_t jarg1_, long jarg2, long jarg3, LongVector jarg3_);
  public final static native long new_float_minheap_array_t();
  public final static native void delete_float_minheap_array_t(long jarg1);
  public final static native void int_minheap_array_t_nh_set(long jarg1, int_minheap_array_t jarg1_, long jarg2);
  public final static native long int_minheap_array_t_nh_get(long jarg1, int_minheap_array_t jarg1_);
  public final static native void int_minheap_array_t_k_set(long jarg1, int_minheap_array_t jarg1_, long jarg2);
  public final static native long int_minheap_array_t_k_get(long jarg1, int_minheap_array_t jarg1_);
  public final static native void int_minheap_array_t_ids_set(long jarg1, int_minheap_array_t jarg1_, long jarg2, LongVector jarg2_);
  public final static native long int_minheap_array_t_ids_get(long jarg1, int_minheap_array_t jarg1_);
  public final static native void int_minheap_array_t_val_set(long jarg1, int_minheap_array_t jarg1_, long jarg2);
  public final static native long int_minheap_array_t_val_get(long jarg1, int_minheap_array_t jarg1_);
  public final static native long int_minheap_array_t_get_val(long jarg1, int_minheap_array_t jarg1_, long jarg2);
  public final static native long int_minheap_array_t_get_ids(long jarg1, int_minheap_array_t jarg1_, long jarg2);
  public final static native void int_minheap_array_t_heapify(long jarg1, int_minheap_array_t jarg1_);
  public final static native void int_minheap_array_t_addn__SWIG_0(long jarg1, int_minheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native void int_minheap_array_t_addn__SWIG_1(long jarg1, int_minheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, long jarg5);
  public final static native void int_minheap_array_t_addn__SWIG_2(long jarg1, int_minheap_array_t jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void int_minheap_array_t_addn__SWIG_3(long jarg1, int_minheap_array_t jarg1_, long jarg2, long jarg3);
  public final static native void int_minheap_array_t_addn_with_ids__SWIG_0(long jarg1, int_minheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, long jarg6, long jarg7);
  public final static native void int_minheap_array_t_addn_with_ids__SWIG_1(long jarg1, int_minheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, long jarg6);
  public final static native void int_minheap_array_t_addn_with_ids__SWIG_2(long jarg1, int_minheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void int_minheap_array_t_addn_with_ids__SWIG_3(long jarg1, int_minheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void int_minheap_array_t_addn_with_ids__SWIG_4(long jarg1, int_minheap_array_t jarg1_, long jarg2, long jarg3);
  public final static native void int_minheap_array_t_reorder(long jarg1, int_minheap_array_t jarg1_);
  public final static native void int_minheap_array_t_per_line_extrema(long jarg1, int_minheap_array_t jarg1_, long jarg2, long jarg3, LongVector jarg3_);
  public final static native long new_int_minheap_array_t();
  public final static native void delete_int_minheap_array_t(long jarg1);
  public final static native void float_maxheap_array_t_nh_set(long jarg1, float_maxheap_array_t jarg1_, long jarg2);
  public final static native long float_maxheap_array_t_nh_get(long jarg1, float_maxheap_array_t jarg1_);
  public final static native void float_maxheap_array_t_k_set(long jarg1, float_maxheap_array_t jarg1_, long jarg2);
  public final static native long float_maxheap_array_t_k_get(long jarg1, float_maxheap_array_t jarg1_);
  public final static native void float_maxheap_array_t_ids_set(long jarg1, float_maxheap_array_t jarg1_, long jarg2, LongVector jarg2_);
  public final static native long float_maxheap_array_t_ids_get(long jarg1, float_maxheap_array_t jarg1_);
  public final static native void float_maxheap_array_t_val_set(long jarg1, float_maxheap_array_t jarg1_, long jarg2);
  public final static native long float_maxheap_array_t_val_get(long jarg1, float_maxheap_array_t jarg1_);
  public final static native long float_maxheap_array_t_get_val(long jarg1, float_maxheap_array_t jarg1_, long jarg2);
  public final static native long float_maxheap_array_t_get_ids(long jarg1, float_maxheap_array_t jarg1_, long jarg2);
  public final static native void float_maxheap_array_t_heapify(long jarg1, float_maxheap_array_t jarg1_);
  public final static native void float_maxheap_array_t_addn__SWIG_0(long jarg1, float_maxheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native void float_maxheap_array_t_addn__SWIG_1(long jarg1, float_maxheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, long jarg5);
  public final static native void float_maxheap_array_t_addn__SWIG_2(long jarg1, float_maxheap_array_t jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void float_maxheap_array_t_addn__SWIG_3(long jarg1, float_maxheap_array_t jarg1_, long jarg2, long jarg3);
  public final static native void float_maxheap_array_t_addn_with_ids__SWIG_0(long jarg1, float_maxheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, long jarg6, long jarg7);
  public final static native void float_maxheap_array_t_addn_with_ids__SWIG_1(long jarg1, float_maxheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, long jarg6);
  public final static native void float_maxheap_array_t_addn_with_ids__SWIG_2(long jarg1, float_maxheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void float_maxheap_array_t_addn_with_ids__SWIG_3(long jarg1, float_maxheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void float_maxheap_array_t_addn_with_ids__SWIG_4(long jarg1, float_maxheap_array_t jarg1_, long jarg2, long jarg3);
  public final static native void float_maxheap_array_t_reorder(long jarg1, float_maxheap_array_t jarg1_);
  public final static native void float_maxheap_array_t_per_line_extrema(long jarg1, float_maxheap_array_t jarg1_, long jarg2, long jarg3, LongVector jarg3_);
  public final static native long new_float_maxheap_array_t();
  public final static native void delete_float_maxheap_array_t(long jarg1);
  public final static native void int_maxheap_array_t_nh_set(long jarg1, int_maxheap_array_t jarg1_, long jarg2);
  public final static native long int_maxheap_array_t_nh_get(long jarg1, int_maxheap_array_t jarg1_);
  public final static native void int_maxheap_array_t_k_set(long jarg1, int_maxheap_array_t jarg1_, long jarg2);
  public final static native long int_maxheap_array_t_k_get(long jarg1, int_maxheap_array_t jarg1_);
  public final static native void int_maxheap_array_t_ids_set(long jarg1, int_maxheap_array_t jarg1_, long jarg2, LongVector jarg2_);
  public final static native long int_maxheap_array_t_ids_get(long jarg1, int_maxheap_array_t jarg1_);
  public final static native void int_maxheap_array_t_val_set(long jarg1, int_maxheap_array_t jarg1_, long jarg2);
  public final static native long int_maxheap_array_t_val_get(long jarg1, int_maxheap_array_t jarg1_);
  public final static native long int_maxheap_array_t_get_val(long jarg1, int_maxheap_array_t jarg1_, long jarg2);
  public final static native long int_maxheap_array_t_get_ids(long jarg1, int_maxheap_array_t jarg1_, long jarg2);
  public final static native void int_maxheap_array_t_heapify(long jarg1, int_maxheap_array_t jarg1_);
  public final static native void int_maxheap_array_t_addn__SWIG_0(long jarg1, int_maxheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native void int_maxheap_array_t_addn__SWIG_1(long jarg1, int_maxheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, long jarg5);
  public final static native void int_maxheap_array_t_addn__SWIG_2(long jarg1, int_maxheap_array_t jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native void int_maxheap_array_t_addn__SWIG_3(long jarg1, int_maxheap_array_t jarg1_, long jarg2, long jarg3);
  public final static native void int_maxheap_array_t_addn_with_ids__SWIG_0(long jarg1, int_maxheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, long jarg6, long jarg7);
  public final static native void int_maxheap_array_t_addn_with_ids__SWIG_1(long jarg1, int_maxheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5, long jarg6);
  public final static native void int_maxheap_array_t_addn_with_ids__SWIG_2(long jarg1, int_maxheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void int_maxheap_array_t_addn_with_ids__SWIG_3(long jarg1, int_maxheap_array_t jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_);
  public final static native void int_maxheap_array_t_addn_with_ids__SWIG_4(long jarg1, int_maxheap_array_t jarg1_, long jarg2, long jarg3);
  public final static native void int_maxheap_array_t_reorder(long jarg1, int_maxheap_array_t jarg1_);
  public final static native void int_maxheap_array_t_per_line_extrema(long jarg1, int_maxheap_array_t jarg1_, long jarg2, long jarg3, LongVector jarg3_);
  public final static native long new_int_maxheap_array_t();
  public final static native void delete_int_maxheap_array_t(long jarg1);
  public final static native float CMin_float_partition_fuzzy(long jarg1, long jarg2, LongVector jarg2_, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native float CMax_float_partition_fuzzy(long jarg1, long jarg2, LongVector jarg2_, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native void AlignedTableUint8_tab_set(long jarg1, AlignedTableUint8 jarg1_, long jarg2);
  public final static native long AlignedTableUint8_tab_get(long jarg1, AlignedTableUint8 jarg1_);
  public final static native void AlignedTableUint8_numel_set(long jarg1, AlignedTableUint8 jarg1_, long jarg2);
  public final static native long AlignedTableUint8_numel_get(long jarg1, AlignedTableUint8 jarg1_);
  public final static native long AlignedTableUint8_round_capacity(long jarg1);
  public final static native long new_AlignedTableUint8__SWIG_0();
  public final static native long new_AlignedTableUint8__SWIG_1(long jarg1);
  public final static native long AlignedTableUint8_itemsize(long jarg1, AlignedTableUint8 jarg1_);
  public final static native void AlignedTableUint8_resize(long jarg1, AlignedTableUint8 jarg1_, long jarg2);
  public final static native void AlignedTableUint8_clear(long jarg1, AlignedTableUint8 jarg1_);
  public final static native long AlignedTableUint8_size(long jarg1, AlignedTableUint8 jarg1_);
  public final static native long AlignedTableUint8_nbytes(long jarg1, AlignedTableUint8 jarg1_);
  public final static native long AlignedTableUint8_get__SWIG_0(long jarg1, AlignedTableUint8 jarg1_);
  public final static native long AlignedTableUint8_data__SWIG_0(long jarg1, AlignedTableUint8 jarg1_);
  public final static native void delete_AlignedTableUint8(long jarg1);
  public final static native void AlignedTableUint16_tab_set(long jarg1, AlignedTableUint16 jarg1_, long jarg2);
  public final static native long AlignedTableUint16_tab_get(long jarg1, AlignedTableUint16 jarg1_);
  public final static native void AlignedTableUint16_numel_set(long jarg1, AlignedTableUint16 jarg1_, long jarg2);
  public final static native long AlignedTableUint16_numel_get(long jarg1, AlignedTableUint16 jarg1_);
  public final static native long AlignedTableUint16_round_capacity(long jarg1);
  public final static native long new_AlignedTableUint16__SWIG_0();
  public final static native long new_AlignedTableUint16__SWIG_1(long jarg1);
  public final static native long AlignedTableUint16_itemsize(long jarg1, AlignedTableUint16 jarg1_);
  public final static native void AlignedTableUint16_resize(long jarg1, AlignedTableUint16 jarg1_, long jarg2);
  public final static native void AlignedTableUint16_clear(long jarg1, AlignedTableUint16 jarg1_);
  public final static native long AlignedTableUint16_size(long jarg1, AlignedTableUint16 jarg1_);
  public final static native long AlignedTableUint16_nbytes(long jarg1, AlignedTableUint16 jarg1_);
  public final static native long AlignedTableUint16_get__SWIG_0(long jarg1, AlignedTableUint16 jarg1_);
  public final static native long AlignedTableUint16_data__SWIG_0(long jarg1, AlignedTableUint16 jarg1_);
  public final static native void delete_AlignedTableUint16(long jarg1);
  public final static native void AlignedTableFloat32_tab_set(long jarg1, AlignedTableFloat32 jarg1_, long jarg2);
  public final static native long AlignedTableFloat32_tab_get(long jarg1, AlignedTableFloat32 jarg1_);
  public final static native void AlignedTableFloat32_numel_set(long jarg1, AlignedTableFloat32 jarg1_, long jarg2);
  public final static native long AlignedTableFloat32_numel_get(long jarg1, AlignedTableFloat32 jarg1_);
  public final static native long AlignedTableFloat32_round_capacity(long jarg1);
  public final static native long new_AlignedTableFloat32__SWIG_0();
  public final static native long new_AlignedTableFloat32__SWIG_1(long jarg1);
  public final static native long AlignedTableFloat32_itemsize(long jarg1, AlignedTableFloat32 jarg1_);
  public final static native void AlignedTableFloat32_resize(long jarg1, AlignedTableFloat32 jarg1_, long jarg2);
  public final static native void AlignedTableFloat32_clear(long jarg1, AlignedTableFloat32 jarg1_);
  public final static native long AlignedTableFloat32_size(long jarg1, AlignedTableFloat32 jarg1_);
  public final static native long AlignedTableFloat32_nbytes(long jarg1, AlignedTableFloat32 jarg1_);
  public final static native long AlignedTableFloat32_get__SWIG_0(long jarg1, AlignedTableFloat32 jarg1_);
  public final static native long AlignedTableFloat32_data__SWIG_0(long jarg1, AlignedTableFloat32 jarg1_);
  public final static native void delete_AlignedTableFloat32(long jarg1);
  public final static native long CMax_uint16_partition_fuzzy__SWIG_0(long jarg1, long jarg2, LongVector jarg2_, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native long CMin_uint16_partition_fuzzy__SWIG_0(long jarg1, long jarg2, LongVector jarg2_, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native long CMax_uint16_partition_fuzzy__SWIG_1(long jarg1, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native long CMin_uint16_partition_fuzzy__SWIG_1(long jarg1, long jarg2, long jarg3, long jarg4, long jarg5, long jarg6);
  public final static native void omp_set_num_threads(int jarg1);
  public final static native int omp_get_max_threads();
  public final static native long memcpy(long jarg1, long jarg2, long jarg3);
  public final static native long cast_integer_to_float_ptr(int jarg1);
  public final static native long cast_integer_to_long_ptr(int jarg1);
  public final static native long cast_integer_to_int_ptr(int jarg1);
  public final static native void RangeSearchResult_nq_set(long jarg1, RangeSearchResult jarg1_, long jarg2);
  public final static native long RangeSearchResult_nq_get(long jarg1, RangeSearchResult jarg1_);
  public final static native void RangeSearchResult_lims_set(long jarg1, RangeSearchResult jarg1_, long jarg2);
  public final static native long RangeSearchResult_lims_get(long jarg1, RangeSearchResult jarg1_);
  public final static native void RangeSearchResult_labels_set(long jarg1, RangeSearchResult jarg1_, long jarg2, LongVector jarg2_);
  public final static native long RangeSearchResult_labels_get(long jarg1, RangeSearchResult jarg1_);
  public final static native void RangeSearchResult_distances_set(long jarg1, RangeSearchResult jarg1_, long jarg2);
  public final static native long RangeSearchResult_distances_get(long jarg1, RangeSearchResult jarg1_);
  public final static native void RangeSearchResult_buffer_size_set(long jarg1, RangeSearchResult jarg1_, long jarg2);
  public final static native long RangeSearchResult_buffer_size_get(long jarg1, RangeSearchResult jarg1_);
  public final static native void RangeSearchResult_do_allocation(long jarg1, RangeSearchResult jarg1_);
  public final static native void delete_RangeSearchResult(long jarg1);
  public final static native boolean IDSelector_is_member(long jarg1, IDSelector jarg1_, long jarg2);
  public final static native void delete_IDSelector(long jarg1);
  public final static native void IDSelectorRange_imin_set(long jarg1, IDSelectorRange jarg1_, long jarg2);
  public final static native long IDSelectorRange_imin_get(long jarg1, IDSelectorRange jarg1_);
  public final static native void IDSelectorRange_imax_set(long jarg1, IDSelectorRange jarg1_, long jarg2);
  public final static native long IDSelectorRange_imax_get(long jarg1, IDSelectorRange jarg1_);
  public final static native long new_IDSelectorRange(long jarg1, long jarg2);
  public final static native boolean IDSelectorRange_is_member(long jarg1, IDSelectorRange jarg1_, long jarg2);
  public final static native void delete_IDSelectorRange(long jarg1);
  public final static native void IDSelectorArray_n_set(long jarg1, IDSelectorArray jarg1_, long jarg2);
  public final static native long IDSelectorArray_n_get(long jarg1, IDSelectorArray jarg1_);
  public final static native void IDSelectorArray_ids_set(long jarg1, IDSelectorArray jarg1_, long jarg2, LongVector jarg2_);
  public final static native long IDSelectorArray_ids_get(long jarg1, IDSelectorArray jarg1_);
  public final static native long new_IDSelectorArray(long jarg1, long jarg2, LongVector jarg2_);
  public final static native boolean IDSelectorArray_is_member(long jarg1, IDSelectorArray jarg1_, long jarg2);
  public final static native void delete_IDSelectorArray(long jarg1);
  public final static native void IDSelectorBatch_nbits_set(long jarg1, IDSelectorBatch jarg1_, int jarg2);
  public final static native int IDSelectorBatch_nbits_get(long jarg1, IDSelectorBatch jarg1_);
  public final static native void IDSelectorBatch_mask_set(long jarg1, IDSelectorBatch jarg1_, long jarg2);
  public final static native long IDSelectorBatch_mask_get(long jarg1, IDSelectorBatch jarg1_);
  public final static native long new_IDSelectorBatch(long jarg1, long jarg2, LongVector jarg2_);
  public final static native boolean IDSelectorBatch_is_member(long jarg1, IDSelectorBatch jarg1_, long jarg2);
  public final static native void delete_IDSelectorBatch(long jarg1);
  public final static native void BufferList_buffer_size_set(long jarg1, BufferList jarg1_, long jarg2);
  public final static native long BufferList_buffer_size_get(long jarg1, BufferList jarg1_);
  public final static native void BufferList_buffers_set(long jarg1, BufferList jarg1_, long jarg2);
  public final static native long BufferList_buffers_get(long jarg1, BufferList jarg1_);
  public final static native void BufferList_wp_set(long jarg1, BufferList jarg1_, long jarg2);
  public final static native long BufferList_wp_get(long jarg1, BufferList jarg1_);
  public final static native long new_BufferList(long jarg1);
  public final static native void delete_BufferList(long jarg1);
  public final static native void BufferList_append_buffer(long jarg1, BufferList jarg1_);
  public final static native void BufferList_add(long jarg1, BufferList jarg1_, long jarg2, float jarg3);
  public final static native void BufferList_copy_range(long jarg1, BufferList jarg1_, long jarg2, long jarg3, long jarg4, LongVector jarg4_, long jarg5);
  public final static native void RangeQueryResult_qno_set(long jarg1, RangeQueryResult jarg1_, long jarg2);
  public final static native long RangeQueryResult_qno_get(long jarg1, RangeQueryResult jarg1_);
  public final static native void RangeQueryResult_nres_set(long jarg1, RangeQueryResult jarg1_, long jarg2);
  public final static native long RangeQueryResult_nres_get(long jarg1, RangeQueryResult jarg1_);
  public final static native void RangeQueryResult_pres_set(long jarg1, RangeQueryResult jarg1_, long jarg2, RangeSearchPartialResult jarg2_);
  public final static native long RangeQueryResult_pres_get(long jarg1, RangeQueryResult jarg1_);
  public final static native void RangeQueryResult_add(long jarg1, RangeQueryResult jarg1_, float jarg2, long jarg3);
  public final static native long new_RangeQueryResult();
  public final static native void delete_RangeQueryResult(long jarg1);
  public final static native void RangeSearchPartialResult_res_set(long jarg1, RangeSearchPartialResult jarg1_, long jarg2, RangeSearchResult jarg2_);
  public final static native long RangeSearchPartialResult_res_get(long jarg1, RangeSearchPartialResult jarg1_);
  public final static native void RangeSearchPartialResult_queries_set(long jarg1, RangeSearchPartialResult jarg1_, long jarg2);
  public final static native long RangeSearchPartialResult_queries_get(long jarg1, RangeSearchPartialResult jarg1_);
  public final static native long RangeSearchPartialResult_new_result(long jarg1, RangeSearchPartialResult jarg1_, long jarg2);
  public final static native void RangeSearchPartialResult_set_lims(long jarg1, RangeSearchPartialResult jarg1_);
  public final static native void RangeSearchPartialResult_copy_result__SWIG_0(long jarg1, RangeSearchPartialResult jarg1_, boolean jarg2);
  public final static native void RangeSearchPartialResult_copy_result__SWIG_1(long jarg1, RangeSearchPartialResult jarg1_);
  public final static native void RangeSearchPartialResult_merge__SWIG_0(long jarg1, boolean jarg2);
  public final static native void RangeSearchPartialResult_merge__SWIG_1(long jarg1);
  public final static native void delete_RangeSearchPartialResult(long jarg1);
  public final static native void DistanceComputer_set_query(long jarg1, DistanceComputer jarg1_, long jarg2);
  public final static native float DistanceComputer_symmetric_dis(long jarg1, DistanceComputer jarg1_, long jarg2, long jarg3);
  public final static native void delete_DistanceComputer(long jarg1);
  public final static native boolean InterruptCallback_want_interrupt(long jarg1, InterruptCallback jarg1_);
  public final static native void delete_InterruptCallback(long jarg1);
  public final static native void InterruptCallback_clear_instance();
  public final static native void InterruptCallback_check();
  public final static native boolean InterruptCallback_is_interrupted();
  public final static native long InterruptCallback_get_period_hint(long jarg1);
  public final static native void VisitedTable_visited_set(long jarg1, VisitedTable jarg1_, long jarg2, ByteVector jarg2_);
  public final static native long VisitedTable_visited_get(long jarg1, VisitedTable jarg1_);
  public final static native void VisitedTable_visno_set(long jarg1, VisitedTable jarg1_, int jarg2);
  public final static native int VisitedTable_visno_get(long jarg1, VisitedTable jarg1_);
  public final static native long new_VisitedTable(int jarg1);
  public final static native void VisitedTable_set(long jarg1, VisitedTable jarg1_, int jarg2);
  public final static native boolean VisitedTable_get(long jarg1, VisitedTable jarg1_, int jarg2);
  public final static native void VisitedTable_advance(long jarg1, VisitedTable jarg1_);
  public final static native void delete_VisitedTable(long jarg1);
  public final static native void ignore_SIGTTIN();
  public final static native void MapLong2Long_map_set(long jarg1, MapLong2Long jarg1_, long jarg2);
  public final static native long MapLong2Long_map_get(long jarg1, MapLong2Long jarg1_);
  public final static native void MapLong2Long_add(long jarg1, MapLong2Long jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native int MapLong2Long_search(long jarg1, MapLong2Long jarg1_, int jarg2);
  public final static native void MapLong2Long_search_multiple(long jarg1, MapLong2Long jarg1_, long jarg2, long jarg3, long jarg4);
  public final static native long new_MapLong2Long();
  public final static native void delete_MapLong2Long(long jarg1);
  public final static native long Clustering_SWIGUpcast(long jarg1);
  public final static native long Clustering1D_SWIGUpcast(long jarg1);
  public final static native long ProgressiveDimClusteringParameters_SWIGUpcast(long jarg1);
  public final static native long ProgressiveDimClustering_SWIGUpcast(long jarg1);
  public final static native long LinearTransform_SWIGUpcast(long jarg1);
  public final static native long RandomRotationMatrix_SWIGUpcast(long jarg1);
  public final static native long PCAMatrix_SWIGUpcast(long jarg1);
  public final static native long ITQMatrix_SWIGUpcast(long jarg1);
  public final static native long ITQTransform_SWIGUpcast(long jarg1);
  public final static native long OPQMatrix_SWIGUpcast(long jarg1);
  public final static native long RemapDimensionsTransform_SWIGUpcast(long jarg1);
  public final static native long NormalizationTransform_SWIGUpcast(long jarg1);
  public final static native long CenteringTransform_SWIGUpcast(long jarg1);
  public final static native long IndexFlatCodes_SWIGUpcast(long jarg1);
  public final static native long IndexFlat_SWIGUpcast(long jarg1);
  public final static native long IndexFlatIP_SWIGUpcast(long jarg1);
  public final static native long IndexFlatL2_SWIGUpcast(long jarg1);
  public final static native long IndexFlat1D_SWIGUpcast(long jarg1);
  public final static native long IndexLSH_SWIGUpcast(long jarg1);
  public final static native long ReproduceDistancesObjective_SWIGUpcast(long jarg1);
  public final static native long SimulatedAnnealingOptimizer_SWIGUpcast(long jarg1);
  public final static native long PolysemousTraining_SWIGUpcast(long jarg1);
  public final static native long IndexPQ_SWIGUpcast(long jarg1);
  public final static native long MultiIndexQuantizer_SWIGUpcast(long jarg1);
  public final static native long MultiIndexQuantizer2_SWIGUpcast(long jarg1);
  public final static native long ArrayInvertedLists_SWIGUpcast(long jarg1);
  public final static native long ReadOnlyInvertedLists_SWIGUpcast(long jarg1);
  public final static native long HStackInvertedLists_SWIGUpcast(long jarg1);
  public final static native long SliceInvertedLists_SWIGUpcast(long jarg1);
  public final static native long VStackInvertedLists_SWIGUpcast(long jarg1);
  public final static native long MaskedInvertedLists_SWIGUpcast(long jarg1);
  public final static native long StopWordsInvertedLists_SWIGUpcast(long jarg1);
  public final static native long IndexIVF_SWIGUpcast(long jarg1);
  public final static native long IndexScalarQuantizer_SWIGUpcast(long jarg1);
  public final static native long IndexIVFScalarQuantizer_SWIGUpcast(long jarg1);
  public final static native long IndexHNSW_SWIGUpcast(long jarg1);
  public final static native long IndexHNSWFlat_SWIGUpcast(long jarg1);
  public final static native long IndexHNSWPQ_SWIGUpcast(long jarg1);
  public final static native long IndexHNSWSQ_SWIGUpcast(long jarg1);
  public final static native long IndexHNSW2Level_SWIGUpcast(long jarg1);
  public final static native long IndexIVFFlat_SWIGUpcast(long jarg1);
  public final static native long IndexIVFFlatDedup_SWIGUpcast(long jarg1);
  public final static native long OnDiskInvertedLists_SWIGUpcast(long jarg1);
  public final static native long IVFPQSearchParameters_SWIGUpcast(long jarg1);
  public final static native long IndexIVFPQ_SWIGUpcast(long jarg1);
  public final static native long Index2Layer_SWIGUpcast(long jarg1);
  public final static native long IndexBinaryFlat_SWIGUpcast(long jarg1);
  public final static native long IndexBinaryIVF_SWIGUpcast(long jarg1);
  public final static native long IndexBinaryFromFloat_SWIGUpcast(long jarg1);
  public final static native long IndexBinaryHNSW_SWIGUpcast(long jarg1);
  public final static native long IndexRefine_SWIGUpcast(long jarg1);
  public final static native long IndexRefineFlat_SWIGUpcast(long jarg1);
  public final static native long IndexSplitVectors_SWIGUpcast(long jarg1);
  public final static native long IndexIDMap_SWIGUpcast(long jarg1);
  public final static native long OneRecallAtRCriterion_SWIGUpcast(long jarg1);
  public final static native long IntersectionCriterion_SWIGUpcast(long jarg1);
  public final static native long IDSelectorRange_SWIGUpcast(long jarg1);
  public final static native long IDSelectorArray_SWIGUpcast(long jarg1);
  public final static native long IDSelectorBatch_SWIGUpcast(long jarg1);
  public final static native long RangeSearchPartialResult_SWIGUpcast(long jarg1);
}
