1 //------------------------------------------------------------------------------
2 // GxB_BinaryOp_xtype: return the type of x for z=f(x,y)
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 #include "GB.h"
11 
GxB_BinaryOp_xtype(GrB_Type * xtype,GrB_BinaryOp binaryop)12 GrB_Info GxB_BinaryOp_xtype         // type of x
13 (
14     GrB_Type *xtype,                // return type of input x
15     GrB_BinaryOp binaryop           // binary operator to query
16 )
17 {
18 
19     //--------------------------------------------------------------------------
20     // check inputs
21     //--------------------------------------------------------------------------
22 
23     GB_WHERE1 ("GxB_BinaryOp_xtype (&xtype, binaryop)") ;
24     GB_RETURN_IF_NULL (xtype) ;
25     GB_RETURN_IF_NULL_OR_FAULTY (binaryop) ;
26     ASSERT_BINARYOP_OK (binaryop, "binaryop for xtype", GB0) ;
27 
28     //--------------------------------------------------------------------------
29     // return the xtype
30     //--------------------------------------------------------------------------
31 
32     (*xtype) = binaryop->xtype ;
33     return (GrB_SUCCESS) ;
34 }
35 
36