//------------------------------------------------------------------------------ // GB_assign.h: definitions for GB_assign and related functions //------------------------------------------------------------------------------ // SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2023, All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 //------------------------------------------------------------------------------ #ifndef GB_ASSIGN_H #define GB_ASSIGN_H #include "GB.h" #include "GB_math.h" GrB_Info GB_assign // C(Rows,Cols) += A or A' ( GrB_Matrix C, // input/output matrix for results bool C_replace, // descriptor for C const GrB_Matrix M_in, // optional mask for C const bool Mask_comp, // true if mask is complemented const bool Mask_struct, // if true, use the only structure of M const bool M_transpose, // true if the mask should be transposed const GrB_BinaryOp accum, // optional accum for accum(C,T) const GrB_Matrix A_in, // input matrix const bool A_transpose, // true if A is transposed const GrB_Index *Rows, // row indices const GrB_Index nRows_in, // number of row indices const GrB_Index *Cols, // column indices const GrB_Index nCols_in, // number of column indices const bool scalar_expansion, // if true, expand scalar to A const void *scalar, // scalar to be expanded const GB_Type_code scalar_code, // type code of scalar to expand int assign_kind, // row, col, or matrix/vector assign GB_Werk Werk ) ; GrB_Info GB_assign_scalar // C(Rows,Cols) += x ( GrB_Matrix C, // input/output matrix for results const GrB_Matrix M, // mask for C(Rows,Cols), unused if NULL const GrB_BinaryOp accum, // accum for Z=accum(C(Rows,Cols),T) const void *scalar, // scalar to assign to C(Rows,Cols) const GB_Type_code scalar_code, // type code of scalar to assign const GrB_Index *Rows, // row indices const GrB_Index nRows, // number of row indices const GrB_Index *Cols, // column indices const GrB_Index nCols, // number of column indices const GrB_Descriptor desc, // descriptor for C and M GB_Werk Werk ) ; #endif