1 //------------------------------------------------------------------------------ 2 // GB_meta16_methods: methods for GB_meta16_factory.c 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 { 11 12 // declare macros that depend on the sparsity of A and B 13 #include "GB_meta16_definitions.h" 14 15 // dot product methods 16 #if defined ( GB_DOT4 ) 17 #include "GB_AxB_dot4_template.c" 18 #elif defined ( GB_DOT3_PHASE1 ) 19 #include "GB_AxB_dot3_phase1_template.c" 20 #elif defined ( GB_DOT3_PHASE2 ) 21 #include "GB_AxB_dot3_template.c" 22 #elif defined ( GB_DOT2 ) 23 #include "GB_AxB_dot2_template.c" 24 25 #else 26 #error "method undefined" 27 #endif 28 29 // undefine the macros that define the A and B sparsity 30 #undef GB_A_IS_SPARSE 31 #undef GB_A_IS_HYPER 32 #undef GB_A_IS_BITMAP 33 #undef GB_A_IS_FULL 34 #undef GB_B_IS_SPARSE 35 #undef GB_B_IS_HYPER 36 #undef GB_B_IS_BITMAP 37 #undef GB_B_IS_FULL 38 } 39 40