//------------------------------------------------------------------------------ // GB_Asaxpy3B: hard-coded saxpy3 method for a semiring //------------------------------------------------------------------------------ // SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 //------------------------------------------------------------------------------ // If this file is in the Generated/ folder, do not edit it (auto-generated). #include "GB_AxB_defs__plus_firsti1_int64.h" #ifndef GBCOMPACT //------------------------------------------------------------------------------ // C=A*B, C=A*B, C=A*B: saxpy method (Gustavson + Hash) //------------------------------------------------------------------------------ GrB_Info GB (_Asaxpy3B__plus_firsti1_int64) ( GrB_Matrix C, // C=A*B, C sparse or hypersparse const GrB_Matrix M, const bool Mask_comp, const bool Mask_struct, const bool M_packed_in_place, const GrB_Matrix A, bool A_is_pattern, const GrB_Matrix B, bool B_is_pattern, GB_saxpy3task_struct *restrict SaxpyTasks, const int ntasks, const int nfine, const int nthreads, const int do_sort, GB_Context Context ) { #if GB_DISABLE return (GrB_NO_VALUE) ; #else ASSERT (GB_IS_SPARSE (C) || GB_IS_HYPERSPARSE (C)) ; if (M == NULL) { // C = A*B, no mask return (GB (_Asaxpy3B_noM__plus_firsti1_int64) (C, A, A_is_pattern, B, B_is_pattern, SaxpyTasks, ntasks, nfine, nthreads, do_sort, Context)) ; } else if (!Mask_comp) { // C = A*B return (GB (_Asaxpy3B_M__plus_firsti1_int64) (C, M, Mask_struct, M_packed_in_place, A, A_is_pattern, B, B_is_pattern, SaxpyTasks, ntasks, nfine, nthreads, do_sort, Context)) ; } else { // C = A*B return (GB (_Asaxpy3B_notM__plus_firsti1_int64) (C, M, Mask_struct, M_packed_in_place, A, A_is_pattern, B, B_is_pattern, SaxpyTasks, ntasks, nfine, nthreads, do_sort, Context)) ; } #endif } #endif