use crate::error::Result;
use crate::runtime::Runtime;
use crate::tensor::Tensor;
use super::TensorOps;
pub trait CompareOps<R: Runtime>: TensorOps<R> {
fn eq(&self, a: &Tensor<R>, b: &Tensor<R>) -> Result<Tensor<R>>;
fn ne(&self, a: &Tensor<R>, b: &Tensor<R>) -> Result<Tensor<R>>;
fn lt(&self, a: &Tensor<R>, b: &Tensor<R>) -> Result<Tensor<R>>;
fn le(&self, a: &Tensor<R>, b: &Tensor<R>) -> Result<Tensor<R>>;
fn gt(&self, a: &Tensor<R>, b: &Tensor<R>) -> Result<Tensor<R>>;
fn ge(&self, a: &Tensor<R>, b: &Tensor<R>) -> Result<Tensor<R>>;
}