1 //------------------------------------------------------------------------------ 2 // GB_Asaxpy3B_M: hard-coded saxpy3 method for a semiring 3 //------------------------------------------------------------------------------ 4 5 // SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved. 6 // SPDX-License-Identifier: Apache-2.0 7 8 //------------------------------------------------------------------------------ 9 10 // If this file is in the Generated/ folder, do not edit it (auto-generated). 11 12 #include "GB_AxB_defs__land_eq_uint16.h" 13 #ifndef GBCOMPACT 14 15 //------------------------------------------------------------------------------ 16 // C=A*B, C<M>=A*B, C<!M>=A*B: saxpy method (Gustavson + Hash) 17 //------------------------------------------------------------------------------ 18 19 #if ( !GB_DISABLE ) 20 21 #include "GB_AxB_saxpy3_template.h" 22 GB(_Asaxpy3B_M__land_eq_uint16)23 GrB_Info GB (_Asaxpy3B_M__land_eq_uint16) 24 ( 25 GrB_Matrix C, // C<M>=A*B, C sparse or hypersparse 26 const GrB_Matrix M, const bool Mask_struct, 27 const bool M_packed_in_place, 28 const GrB_Matrix A, bool A_is_pattern, 29 const GrB_Matrix B, bool B_is_pattern, 30 GB_saxpy3task_struct *restrict SaxpyTasks, 31 const int ntasks, const int nfine, const int nthreads, 32 const int do_sort, 33 GB_Context Context 34 ) 35 { 36 if (GB_IS_SPARSE (A) && GB_IS_SPARSE (B)) 37 { 38 // both A and B are sparse 39 #define GB_META16 40 #define GB_NO_MASK 0 41 #define GB_MASK_COMP 0 42 #define GB_A_IS_SPARSE 1 43 #define GB_A_IS_HYPER 0 44 #define GB_A_IS_BITMAP 0 45 #define GB_A_IS_FULL 0 46 #define GB_B_IS_SPARSE 1 47 #define GB_B_IS_HYPER 0 48 #define GB_B_IS_BITMAP 0 49 #define GB_B_IS_FULL 0 50 #include "GB_meta16_definitions.h" 51 #include "GB_AxB_saxpy3_template.c" 52 } 53 else 54 { 55 // general case 56 #undef GB_META16 57 #define GB_NO_MASK 0 58 #define GB_MASK_COMP 0 59 #include "GB_meta16_definitions.h" 60 #include "GB_AxB_saxpy3_template.c" 61 } 62 return (GrB_SUCCESS) ; 63 } 64 65 #endif 66 67 #endif 68 69