pub struct AddKernel;Expand description
Elementwise addition kernel.
Computes output = left + right (binary add).
All tensors must have identical shapes. Addition is performed elementwise in row-major order.
§Errors
Returns KernelError::InvalidArguments if inputs.len() != 2.
Returns KernelError::ShapeMismatch if left, right, and output do not all share the
same shape.
§Examples
let shape = vec![1, 4];
let a = Tensor::from_vec(shape.clone(), vec![1.0, 2.0, 3.0, 4.0]).unwrap();
let b = Tensor::from_vec(shape.clone(), vec![10.0, 20.0, 30.0, 40.0]).unwrap();
let mut out = Tensor::zeros(shape).unwrap();
AddKernel.compute(&[&a, &b], &mut out).unwrap();
assert_eq!(out.data(), &[11.0, 22.0, 33.0, 44.0]);Trait Implementations§
Auto Trait Implementations§
impl Freeze for AddKernel
impl RefUnwindSafe for AddKernel
impl Send for AddKernel
impl Sync for AddKernel
impl Unpin for AddKernel
impl UnsafeUnpin for AddKernel
impl UnwindSafe for AddKernel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more