use ella_tensor as tensor;
use tensor::Tensor;
fn main() {
let x = Tensor::linspace(0_f32, 10., 100).cos();
let y = Tensor::linspace(0_f32, 10., 100).sin();
let mask = Tensor::range(0_i32, 100, 1) % 2;
let y = y.with_mask(mask.eq(0));
let z = x.unsqueeze(0) * y.unsqueeze(-1);
println!("{:?}", z);
let s1 = tensor::tensor!["A".to_string(), "B".to_string(), "C".to_string()];
let s2 = tensor::tensor![Some("A".to_string()), None, Some("B".to_string())];
println!("{:?}", s1);
println!("{:?}", s1.eq(s2));
let df = tensor::frame!(
x = Tensor::linspace(0_f32, 10., 100).cos().reshape((10, 10)),
y = Tensor::linspace(0_f32, 10., 10).sin(),
);
println!("{}", df.pretty_print());
}