use js_sys::{Array, Float32Array};
use wasm_bindgen::prelude::*;
#[wasm_bindgen(module = "@tensorflow/tfjs")]
extern {
pub type Tensor;
#[wasm_bindgen(method)]
pub fn print(this: &Tensor, verbose: bool);
pub fn scalar(value: &JsValue, dtype: Option<&str>) -> Tensor;
pub fn tensor(values: &Array, shape: Option<&Array>, dtype: Option<&str>) -> Tensor;
}
#[wasm_bindgen(module = "@tensorflow/tfjs")]
extern {
pub type TensorBuffer;
pub fn buffer(shape: &Array, dtype: Option<&str>, values: Option<&Float32Array>) -> TensorBuffer;
#[wasm_bindgen(method, variadic)]
pub fn set(this: &TensorBuffer, value: &JsValue, locs: &[usize]);
#[wasm_bindgen(method, js_name = "toTensor")]
pub fn to_tensor(this: &TensorBuffer) -> Tensor;
}
#[wasm_bindgen(module = "@tensorflow/tfjs")]
extern {
#[wasm_bindgen(extends = Tensor)]
pub type Variable;
#[wasm_bindgen(method)]
pub fn assign(this: &Variable, value: &Tensor);
#[wasm_bindgen(constructor)]
pub fn new(that: &Tensor) -> Variable;
}