pub trait ApplyBinaryOperatorWithSparseScalar<EvaluationDomain>where
EvaluationDomain: ValueType,{
// Required methods
fn apply_with_vector_as_left_argument(
&self,
left_argument: &impl GetGraphblasSparseVector,
operator: &impl BinaryOperator<EvaluationDomain>,
right_argument: &impl GetGraphblasSparseScalar,
accumulator: &impl AccumulatorBinaryOperator<EvaluationDomain>,
product: &mut impl GetGraphblasSparseVector,
mask: &impl VectorMask,
options: &impl GetOperatorOptions,
) -> Result<(), SparseLinearAlgebraError>;
fn apply_with_vector_as_right_argument(
&self,
left_argument: &impl GetGraphblasSparseScalar,
operator: &impl BinaryOperator<EvaluationDomain>,
right_argument: &impl GetGraphblasSparseVector,
accumulator: &impl AccumulatorBinaryOperator<EvaluationDomain>,
product: &mut impl GetGraphblasSparseVector,
mask: &impl VectorMask,
options: &impl GetOperatorOptions,
) -> Result<(), SparseLinearAlgebraError>;
fn apply_with_matrix_as_left_argument(
&self,
left_argument: &impl GetGraphblasSparseMatrix,
operator: &impl BinaryOperator<EvaluationDomain>,
right_argument: &impl GetGraphblasSparseScalar,
accumulator: &impl AccumulatorBinaryOperator<EvaluationDomain>,
product: &mut impl GetGraphblasSparseMatrix,
mask: &impl MatrixMask,
options: &impl GetOptionsForOperatorWithMatrixAsFirstArgument,
) -> Result<(), SparseLinearAlgebraError>;
fn apply_with_matrix_as_right_argument(
&self,
left_argument: &impl GetGraphblasSparseScalar,
operator: &impl BinaryOperator<EvaluationDomain>,
rigth_argument: &impl GetGraphblasSparseMatrix,
accumulator: &impl AccumulatorBinaryOperator<EvaluationDomain>,
product: &mut impl GetGraphblasSparseMatrix,
mask: &impl MatrixMask,
options: &impl GetOptionsForOperatorWithMatrixAsSecondArgument,
) -> Result<(), SparseLinearAlgebraError>;
}
Required Methods§
fn apply_with_vector_as_left_argument( &self, left_argument: &impl GetGraphblasSparseVector, operator: &impl BinaryOperator<EvaluationDomain>, right_argument: &impl GetGraphblasSparseScalar, accumulator: &impl AccumulatorBinaryOperator<EvaluationDomain>, product: &mut impl GetGraphblasSparseVector, mask: &impl VectorMask, options: &impl GetOperatorOptions, ) -> Result<(), SparseLinearAlgebraError>
fn apply_with_vector_as_right_argument( &self, left_argument: &impl GetGraphblasSparseScalar, operator: &impl BinaryOperator<EvaluationDomain>, right_argument: &impl GetGraphblasSparseVector, accumulator: &impl AccumulatorBinaryOperator<EvaluationDomain>, product: &mut impl GetGraphblasSparseVector, mask: &impl VectorMask, options: &impl GetOperatorOptions, ) -> Result<(), SparseLinearAlgebraError>
fn apply_with_matrix_as_left_argument( &self, left_argument: &impl GetGraphblasSparseMatrix, operator: &impl BinaryOperator<EvaluationDomain>, right_argument: &impl GetGraphblasSparseScalar, accumulator: &impl AccumulatorBinaryOperator<EvaluationDomain>, product: &mut impl GetGraphblasSparseMatrix, mask: &impl MatrixMask, options: &impl GetOptionsForOperatorWithMatrixAsFirstArgument, ) -> Result<(), SparseLinearAlgebraError>
fn apply_with_matrix_as_right_argument( &self, left_argument: &impl GetGraphblasSparseScalar, operator: &impl BinaryOperator<EvaluationDomain>, rigth_argument: &impl GetGraphblasSparseMatrix, accumulator: &impl AccumulatorBinaryOperator<EvaluationDomain>, product: &mut impl GetGraphblasSparseMatrix, mask: &impl MatrixMask, options: &impl GetOptionsForOperatorWithMatrixAsSecondArgument, ) -> Result<(), SparseLinearAlgebraError>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.