use candela::{Dimension, Tensor, arange, ones, zeros};
fn main() {
let filled = Tensor::from_scalar(2.0_f64, &[2, 3]); let zeros = zeros!(&[2, 3]); let ones = ones!(&[4]); let counted: Tensor<f64> = arange!(6);
assert_eq!(filled.shape(), &[2, 3]);
assert_eq!(zeros.data(), &[0.0; 6]);
assert_eq!(ones.data(), &[1.0; 4]);
assert_eq!(counted.data(), &[0.0, 1.0, 2.0, 3.0, 4.0, 5.0]);
let promise = counted * 2.0 + 1.0; let result = promise.materialize(); assert_eq!(result.data(), &[1.0, 3.0, 5.0, 7.0, 9.0, 11.0]);
println!("2x + 1 = {:?}", result.data());
let seq: Tensor<f64> = arange!(6); let matrix = seq.view(&[2, 3]).unwrap().materialize();
assert_eq!(matrix.shape(), &[2, 3]);
println!("as a 2x3 matrix:\n{}", matrix);
let nums: Tensor<f64> = arange!(5);
let total = nums.sum().materialize(); assert_eq!(total.data(), &[10.0]);
println!("sum(0..5) = {:?}", total.data());
}