neuronika 0.2.0

Tensors and dynamic neural networks.
mod matrix_matrix_mul;
mod matrix_matrix_mul_t;
mod matrix_vector_mul;
mod vector_matrix_mul;
mod vector_vector_mul;

use super::{
    expect_tensor, expect_tensor_mut, push_mat_mat_gradient, push_mat_vec_gradient,
    push_vec_mat_gradient, push_vec_vec_gradient, Backward, Data, DotDim, Forward, Gradient,
    Overwrite, Tensor,
};

#[cfg(test)]
use super::{assert_almost_equals, new_backward_input, new_input, new_tensor};

pub(crate) use matrix_matrix_mul::{
    MatrixMatrixMul, MatrixMatrixMulBackward, MatrixMatrixMulBackwardLeft,
    MatrixMatrixMulBackwardRight,
};

pub(crate) use matrix_matrix_mul_t::{
    MatrixMatrixMulT, MatrixMatrixMulTBackward, MatrixMatrixMulTBackwardLeft,
    MatrixMatrixMulTBackwardRight,
};
pub(crate) use matrix_vector_mul::{
    MatrixVectorMul, MatrixVectorMulBackward, MatrixVectorMulBackwardLeft,
    MatrixVectorMulBackwardRight,
};
pub(crate) use vector_matrix_mul::{
    VectorMatrixMul, VectorMatrixMulBackward, VectorMatrixMulBackwardLeft,
    VectorMatrixMulBackwardRight,
};
pub(crate) use vector_vector_mul::{
    VectorVectorMul, VectorVectorMulBackward, VectorVectorMulBackwardUnary,
};