tensor_compute 0.1.0

A Tensor computing library for Rust
Documentation
use crate::{GpuTensor, ShapeStrideTrait};

#[test]
fn strides_work() {
    let a = GpuTensor::from(vec![1., 2., 3., 4.], vec![2, 2]);
    assert_eq!(a.strides(), &[2, 1]);

    let a = GpuTensor::from(vec![1., 2., 3., 4., 5., 6., 7., 8.], vec![2, 2, 2]);
    assert_eq!(a.strides(), &[4, 2, 1]);
}

#[test]
fn broadcast_work() {
    let a = GpuTensor::from(vec![1., 2., 3., 4., 1., 2., 3., 4.], vec![2, 2, 2]);
    let b = GpuTensor::from(vec![1., 2., 3., 4.], vec![2, 2]);
    let (a_view, b_view) = a.broadcast(&b, None).unwrap();
    assert_eq!(a_view.shape(), &[2, 2, 2]);
    assert_eq!(a_view.strides(), &[4, 2, 1]);
    assert_eq!(b_view.shape(), &[2, 2, 2]);
    assert_eq!(b_view.strides(), &[0, 2, 1]);
}