#[cfg(not(feature = "dynamic"))]
fn main() {
println!("Requires --features dynamic");
}
#[cfg(feature = "dynamic")]
fn main() {
use matten::{Element, Tensor};
let t = Tensor::from_elements(
vec![
Element::Int(1),
Element::text("alpha"),
Element::Bool(true),
Element::Float(2.5),
Element::text("beta"),
Element::Bool(false),
Element::Int(3),
Element::None,
Element::Bool(true),
],
&[3, 3],
);
println!("shape = {:?}", t.shape());
println!("is_dynamic = {}", t.is_dynamic());
println!("[0,0] = {:?}", t.get_element(&[0, 0])); println!("[0,1] = {:?}", t.get_element(&[0, 1])); println!("[2,1] = {:?}", t.get_element(&[2, 1]));
let e_float = Element::Float(1.5);
let e_text = Element::text("hi");
let e_none = Element::None;
println!("Float.is_numeric = {}", e_float.is_numeric()); println!("Text.is_numeric = {}", e_text.is_numeric()); println!("None.is_none = {}", e_none.is_none());
println!("none count = {}", t.count_none());
let mask = t.none_mask();
println!("none_mask shape = {:?}", mask.shape()); assert_eq!(mask.get(&[2, 1]), Some(1.0));
assert_eq!(mask.get(&[0, 0]), Some(0.0));
println!("All assertions passed.");
}