pub type BQNV = u64;
extern "C" {
pub fn bqn_init();
}
extern "C" {
pub fn bqn_free(v: BQNV);
}
extern "C" {
pub fn bqn_copy(v: BQNV) -> BQNV;
}
extern "C" {
pub fn bqn_toF64(v: BQNV) -> f64;
}
extern "C" {
pub fn bqn_toChar(v: BQNV) -> u32;
}
extern "C" {
pub fn bqn_readF64(v: BQNV) -> f64;
}
extern "C" {
pub fn bqn_readChar(v: BQNV) -> u32;
}
extern "C" {
pub fn bqn_type(v: BQNV) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bqn_call1(f: BQNV, x: BQNV) -> BQNV;
}
extern "C" {
pub fn bqn_call2(f: BQNV, w: BQNV, x: BQNV) -> BQNV;
}
extern "C" {
pub fn bqn_eval(src: BQNV) -> BQNV;
}
extern "C" {
pub fn bqn_evalCStr(str_: *const ::std::os::raw::c_char) -> BQNV;
}
extern "C" {
pub fn bqn_bound(a: BQNV) -> usize;
}
extern "C" {
pub fn bqn_rank(a: BQNV) -> usize;
}
extern "C" {
pub fn bqn_shape(a: BQNV, buf: *mut usize);
}
extern "C" {
pub fn bqn_pick(a: BQNV, pos: usize) -> BQNV;
}
extern "C" {
pub fn bqn_readI8Arr(a: BQNV, buf: *mut i8);
}
extern "C" {
pub fn bqn_readI16Arr(a: BQNV, buf: *mut i16);
}
extern "C" {
pub fn bqn_readI32Arr(a: BQNV, buf: *mut i32);
}
extern "C" {
pub fn bqn_readF64Arr(a: BQNV, buf: *mut f64);
}
extern "C" {
pub fn bqn_readC8Arr(a: BQNV, buf: *mut u8);
}
extern "C" {
pub fn bqn_readC16Arr(a: BQNV, buf: *mut u16);
}
extern "C" {
pub fn bqn_readC32Arr(a: BQNV, buf: *mut u32);
}
extern "C" {
pub fn bqn_readObjArr(a: BQNV, buf: *mut BQNV);
}
extern "C" {
pub fn bqn_hasField(ns: BQNV, name: BQNV) -> bool;
}
extern "C" {
pub fn bqn_getField(ns: BQNV, name: BQNV) -> BQNV;
}
extern "C" {
pub fn bqn_makeF64(d: f64) -> BQNV;
}
extern "C" {
pub fn bqn_makeChar(c: u32) -> BQNV;
}
extern "C" {
pub fn bqn_makeI8Arr(rank: usize, shape: *const usize, data: *const i8) -> BQNV;
}
extern "C" {
pub fn bqn_makeI16Arr(rank: usize, shape: *const usize, data: *const i16) -> BQNV;
}
extern "C" {
pub fn bqn_makeI32Arr(rank: usize, shape: *const usize, data: *const i32) -> BQNV;
}
extern "C" {
pub fn bqn_makeF64Arr(rank: usize, shape: *const usize, data: *const f64) -> BQNV;
}
extern "C" {
pub fn bqn_makeC8Arr(rank: usize, shape: *const usize, data: *const u8) -> BQNV;
}
extern "C" {
pub fn bqn_makeC16Arr(rank: usize, shape: *const usize, data: *const u16) -> BQNV;
}
extern "C" {
pub fn bqn_makeC32Arr(rank: usize, shape: *const usize, data: *const u32) -> BQNV;
}
extern "C" {
pub fn bqn_makeObjArr(rank: usize, shape: *const usize, data: *const BQNV) -> BQNV;
}
extern "C" {
pub fn bqn_makeI8Vec(len: usize, data: *const i8) -> BQNV;
}
extern "C" {
pub fn bqn_makeI16Vec(len: usize, data: *const i16) -> BQNV;
}
extern "C" {
pub fn bqn_makeI32Vec(len: usize, data: *const i32) -> BQNV;
}
extern "C" {
pub fn bqn_makeF64Vec(len: usize, data: *const f64) -> BQNV;
}
extern "C" {
pub fn bqn_makeC8Vec(len: usize, data: *const u8) -> BQNV;
}
extern "C" {
pub fn bqn_makeC16Vec(len: usize, data: *const u16) -> BQNV;
}
extern "C" {
pub fn bqn_makeC32Vec(len: usize, data: *const u32) -> BQNV;
}
extern "C" {
pub fn bqn_makeObjVec(len: usize, data: *const BQNV) -> BQNV;
}
extern "C" {
pub fn bqn_makeUTF8Str(len: usize, str_: *const ::std::os::raw::c_char) -> BQNV;
}
pub type bqn_boundFn1 = ::std::option::Option<unsafe extern "C" fn(obj: BQNV, x: BQNV) -> BQNV>;
pub type bqn_boundFn2 =
::std::option::Option<unsafe extern "C" fn(obj: BQNV, w: BQNV, x: BQNV) -> BQNV>;
extern "C" {
pub fn bqn_makeBoundFn1(f: bqn_boundFn1, obj: BQNV) -> BQNV;
}
extern "C" {
pub fn bqn_makeBoundFn2(f: bqn_boundFn2, obj: BQNV) -> BQNV;
}
pub const BQNElType_elt_unk: BQNElType = 0;
pub const BQNElType_elt_i8: BQNElType = 1;
pub const BQNElType_elt_i16: BQNElType = 2;
pub const BQNElType_elt_i32: BQNElType = 3;
pub const BQNElType_elt_f64: BQNElType = 4;
pub const BQNElType_elt_c8: BQNElType = 5;
pub const BQNElType_elt_c16: BQNElType = 6;
pub const BQNElType_elt_c32: BQNElType = 7;
pub type BQNElType = ::std::os::raw::c_uint;
extern "C" {
pub fn bqn_directArrType(a: BQNV) -> BQNElType;
}
extern "C" {
pub fn bqn_directI8(a: BQNV) -> *const i8;
}
extern "C" {
pub fn bqn_directI16(a: BQNV) -> *const i16;
}
extern "C" {
pub fn bqn_directI32(a: BQNV) -> *const i32;
}
extern "C" {
pub fn bqn_directF64(a: BQNV) -> *const f64;
}
extern "C" {
pub fn bqn_directC8(a: BQNV) -> *const u8;
}
extern "C" {
pub fn bqn_directC16(a: BQNV) -> *const u16;
}
extern "C" {
pub fn bqn_directC32(a: BQNV) -> *const u32;
}