1 //------------------------------------------------------------------------------ 2 // GxB_Descriptor_get: get a field in a descriptor 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 // Use GxB_Desc_get instead; this is kept for backward compatibility. 11 12 #include "GB.h" 13 GxB_Descriptor_get(GrB_Desc_Value * val,GrB_Descriptor desc,GrB_Desc_Field field)14GrB_Info GxB_Descriptor_get // get a parameter from a descriptor 15 ( 16 GrB_Desc_Value *val, // value of the parameter 17 GrB_Descriptor desc, // descriptor to query; NULL is ok 18 GrB_Desc_Field field // parameter to query 19 ) 20 { 21 22 //-------------------------------------------------------------------------- 23 // check inputs 24 //-------------------------------------------------------------------------- 25 26 GB_WHERE1 ("GxB_Descriptor_get (&value, desc, field)") ; 27 GB_RETURN_IF_NULL (val) ; 28 GB_RETURN_IF_FAULTY (desc) ; 29 30 //-------------------------------------------------------------------------- 31 // get the parameter 32 //-------------------------------------------------------------------------- 33 34 switch (field) 35 { 36 case GrB_OUTP : 37 38 (*val) = (desc == NULL) ? GxB_DEFAULT : desc->out ; break ; 39 40 case GrB_MASK : 41 42 (*val) = (desc == NULL) ? GxB_DEFAULT : desc->mask ; break ; 43 44 case GrB_INP0 : 45 46 (*val) = (desc == NULL) ? GxB_DEFAULT : desc->in0 ; break ; 47 48 case GrB_INP1 : 49 50 (*val) = (desc == NULL) ? GxB_DEFAULT : desc->in1 ; break ; 51 52 case GxB_AxB_METHOD : 53 54 (*val) = (desc == NULL) ? GxB_DEFAULT : desc->axb ; break; 55 56 default : 57 58 return (GrB_INVALID_VALUE) ; 59 } 60 61 return (GrB_SUCCESS) ; 62 } 63 64