/* This file is automatically generated */
/* GrB typedefs */
typedef struct GB_BinaryOp_opaque *GrB_BinaryOp;
typedef struct GB_Descriptor_opaque *GrB_Descriptor;
typedef struct GB_IndexUnaryOp_opaque *GrB_IndexUnaryOp;
typedef struct GB_Matrix_opaque *GrB_Matrix;
typedef struct GB_Monoid_opaque *GrB_Monoid;
typedef struct GB_Scalar_opaque *GrB_Scalar;
typedef struct GB_Semiring_opaque *GrB_Semiring;
typedef struct GB_Type_opaque *GrB_Type;
typedef struct GB_UnaryOp_opaque *GrB_UnaryOp;
typedef struct GB_Vector_opaque *GrB_Vector;
typedef uint64_t GrB_Index;

/* GxB typedefs */
typedef double _Complex GxB_FC64_t;
typedef float _Complex GxB_FC32_t;
typedef struct GB_Iterator_opaque *GxB_Iterator;
typedef struct GB_Scalar_opaque *GxB_Scalar;
typedef struct GB_SelectOp_opaque *GxB_SelectOp;

/* GxB typedefs (functions) */
typedef bool (*GxB_select_function)(GrB_Index i, GrB_Index j, const void *x, const void *thunk);
typedef void (*GxB_binary_function)(void *, const void *, const void *);
typedef void (*GxB_index_unary_function)(void *z, const void *x, GrB_Index i, GrB_Index j, const void *y);
typedef void (*GxB_unary_function)(void *, const void *);

/* GrB enums */
typedef enum
{
  GrB_OUTP = 0,
  GrB_MASK = 1,
  GrB_INP0 = 2,
  GrB_INP1 = 3,
  GxB_DESCRIPTOR_NTHREADS = 5,
  GxB_DESCRIPTOR_CHUNK = 7,
  GxB_DESCRIPTOR_GPU_CONTROL = 21,
  GxB_DESCRIPTOR_GPU_CHUNK = 22,
  GxB_AxB_METHOD = 1000,
  GxB_SORT = 35,
  GxB_COMPRESSION = 36,
  GxB_IMPORT = 37
} GrB_Desc_Field;

typedef enum
{
  GxB_DEFAULT = 0,
  GrB_REPLACE = 1,
  GrB_COMP = 2,
  GrB_STRUCTURE = 4,
  GrB_TRAN = 3,
  GxB_GPU_ALWAYS = 2001,
  GxB_GPU_NEVER = 2002,
  GxB_AxB_GUSTAVSON = 1001,
  GxB_AxB_DOT = 1003,
  GxB_AxB_HASH = 1004,
  GxB_AxB_SAXPY = 1005,
  GxB_SECURE_IMPORT = 502
} GrB_Desc_Value;

typedef enum
{
  GrB_CSR_FORMAT = 0,
  GrB_CSC_FORMAT = 1,
  GrB_COO_FORMAT = 2
} GrB_Format;

typedef enum
{
  GrB_SUCCESS = 0,
  GrB_NO_VALUE = 1,
  GxB_EXHAUSTED = 2,
  GrB_UNINITIALIZED_OBJECT = -1,
  GrB_NULL_POINTER = -2,
  GrB_INVALID_VALUE = -3,
  GrB_INVALID_INDEX = -4,
  GrB_DOMAIN_MISMATCH = -5,
  GrB_DIMENSION_MISMATCH = -6,
  GrB_OUTPUT_NOT_EMPTY = -7,
  GrB_NOT_IMPLEMENTED = -8,
  GrB_PANIC = -101,
  GrB_OUT_OF_MEMORY = -102,
  GrB_INSUFFICIENT_SPACE = -103,
  GrB_INVALID_OBJECT = -104,
  GrB_INDEX_OUT_OF_BOUNDS = -105,
  GrB_EMPTY_OBJECT = -106
} GrB_Info;

typedef enum
{
  GrB_NONBLOCKING = 0,
  GrB_BLOCKING = 1,
  GxB_NONBLOCKING_GPU = 2,
  GxB_BLOCKING_GPU = 3
} GrB_Mode;

typedef enum
{
  GrB_COMPLETE = 0,
  GrB_MATERIALIZE = 1
} GrB_WaitMode;

/* GxB enums */
typedef enum
{
  GxB_BY_ROW = 0,
  GxB_BY_COL = 1,
  GxB_NO_FORMAT = -1
} GxB_Format_Value;

typedef enum
{
  GxB_HYPER_SWITCH = 0,
  GxB_BITMAP_SWITCH = 34,
  GxB_FORMAT = 1,
  GxB_MODE = 2,
  GxB_LIBRARY_NAME = 8,
  GxB_LIBRARY_VERSION = 9,
  GxB_LIBRARY_DATE = 10,
  GxB_LIBRARY_ABOUT = 11,
  GxB_LIBRARY_URL = 12,
  GxB_LIBRARY_LICENSE = 13,
  GxB_LIBRARY_COMPILE_DATE = 14,
  GxB_LIBRARY_COMPILE_TIME = 15,
  GxB_API_VERSION = 16,
  GxB_API_DATE = 17,
  GxB_API_ABOUT = 18,
  GxB_API_URL = 19,
  GxB_COMPILER_VERSION = 23,
  GxB_COMPILER_NAME = 24,
  GxB_LIBRARY_OPENMP = 25,
  GxB_GLOBAL_NTHREADS = 5,
  GxB_GLOBAL_CHUNK = 7,
  GxB_BURBLE = 99,
  GxB_PRINTF = 101,
  GxB_FLUSH = 102,
  GxB_MEMORY_POOL = 103,
  GxB_PRINT_1BASED = 104,
  GxB_SPARSITY_STATUS = 33,
  GxB_SPARSITY_CONTROL = 32,
  GxB_GLOBAL_GPU_CONTROL = 21,
  GxB_GLOBAL_GPU_CHUNK = 22
} GxB_Option_Field;

typedef enum
{
  GxB_SILENT = 0,
  GxB_SUMMARY = 1,
  GxB_SHORT = 2,
  GxB_COMPLETE = 3,
  GxB_SHORT_VERBOSE = 4,
  GxB_COMPLETE_VERBOSE = 5
} GxB_Print_Level;

/* GrB consts */
extern const uint64_t *GrB_ALL;

/* GxB consts */
extern const GxB_Format_Value GxB_FORMAT_DEFAULT;
extern const double GxB_ALWAYS_HYPER;
extern const double GxB_HYPER_DEFAULT;
extern const double GxB_NEVER_HYPER;

/* GrB objects */
extern GrB_BinaryOp GrB_BAND_INT8;
extern GrB_BinaryOp GrB_BAND_INT16;
extern GrB_BinaryOp GrB_BAND_INT32;
extern GrB_BinaryOp GrB_BAND_INT64;
extern GrB_BinaryOp GrB_BAND_UINT8;
extern GrB_BinaryOp GrB_BAND_UINT16;
extern GrB_BinaryOp GrB_BAND_UINT32;
extern GrB_BinaryOp GrB_BAND_UINT64;
extern GrB_BinaryOp GrB_BOR_INT8;
extern GrB_BinaryOp GrB_BOR_INT16;
extern GrB_BinaryOp GrB_BOR_INT32;
extern GrB_BinaryOp GrB_BOR_INT64;
extern GrB_BinaryOp GrB_BOR_UINT8;
extern GrB_BinaryOp GrB_BOR_UINT16;
extern GrB_BinaryOp GrB_BOR_UINT32;
extern GrB_BinaryOp GrB_BOR_UINT64;
extern GrB_BinaryOp GrB_BXNOR_INT8;
extern GrB_BinaryOp GrB_BXNOR_INT16;
extern GrB_BinaryOp GrB_BXNOR_INT32;
extern GrB_BinaryOp GrB_BXNOR_INT64;
extern GrB_BinaryOp GrB_BXNOR_UINT8;
extern GrB_BinaryOp GrB_BXNOR_UINT16;
extern GrB_BinaryOp GrB_BXNOR_UINT32;
extern GrB_BinaryOp GrB_BXNOR_UINT64;
extern GrB_BinaryOp GrB_BXOR_INT8;
extern GrB_BinaryOp GrB_BXOR_INT16;
extern GrB_BinaryOp GrB_BXOR_INT32;
extern GrB_BinaryOp GrB_BXOR_INT64;
extern GrB_BinaryOp GrB_BXOR_UINT8;
extern GrB_BinaryOp GrB_BXOR_UINT16;
extern GrB_BinaryOp GrB_BXOR_UINT32;
extern GrB_BinaryOp GrB_BXOR_UINT64;
extern GrB_BinaryOp GrB_DIV_BOOL;
extern GrB_BinaryOp GrB_DIV_FP32;
extern GrB_BinaryOp GrB_DIV_FP64;
extern GrB_BinaryOp GrB_DIV_INT8;
extern GrB_BinaryOp GrB_DIV_INT16;
extern GrB_BinaryOp GrB_DIV_INT32;
extern GrB_BinaryOp GrB_DIV_INT64;
extern GrB_BinaryOp GrB_DIV_UINT8;
extern GrB_BinaryOp GrB_DIV_UINT16;
extern GrB_BinaryOp GrB_DIV_UINT32;
extern GrB_BinaryOp GrB_DIV_UINT64;
extern GrB_BinaryOp GrB_EQ_BOOL;
extern GrB_BinaryOp GrB_EQ_FP32;
extern GrB_BinaryOp GrB_EQ_FP64;
extern GrB_BinaryOp GrB_EQ_INT8;
extern GrB_BinaryOp GrB_EQ_INT16;
extern GrB_BinaryOp GrB_EQ_INT32;
extern GrB_BinaryOp GrB_EQ_INT64;
extern GrB_BinaryOp GrB_EQ_UINT8;
extern GrB_BinaryOp GrB_EQ_UINT16;
extern GrB_BinaryOp GrB_EQ_UINT32;
extern GrB_BinaryOp GrB_EQ_UINT64;
extern GrB_BinaryOp GrB_FIRST_BOOL;
extern GrB_BinaryOp GrB_FIRST_FP32;
extern GrB_BinaryOp GrB_FIRST_FP64;
extern GrB_BinaryOp GrB_FIRST_INT8;
extern GrB_BinaryOp GrB_FIRST_INT16;
extern GrB_BinaryOp GrB_FIRST_INT32;
extern GrB_BinaryOp GrB_FIRST_INT64;
extern GrB_BinaryOp GrB_FIRST_UINT8;
extern GrB_BinaryOp GrB_FIRST_UINT16;
extern GrB_BinaryOp GrB_FIRST_UINT32;
extern GrB_BinaryOp GrB_FIRST_UINT64;
extern GrB_BinaryOp GrB_GE_BOOL;
extern GrB_BinaryOp GrB_GE_FP32;
extern GrB_BinaryOp GrB_GE_FP64;
extern GrB_BinaryOp GrB_GE_INT8;
extern GrB_BinaryOp GrB_GE_INT16;
extern GrB_BinaryOp GrB_GE_INT32;
extern GrB_BinaryOp GrB_GE_INT64;
extern GrB_BinaryOp GrB_GE_UINT8;
extern GrB_BinaryOp GrB_GE_UINT16;
extern GrB_BinaryOp GrB_GE_UINT32;
extern GrB_BinaryOp GrB_GE_UINT64;
extern GrB_BinaryOp GrB_GT_BOOL;
extern GrB_BinaryOp GrB_GT_FP32;
extern GrB_BinaryOp GrB_GT_FP64;
extern GrB_BinaryOp GrB_GT_INT8;
extern GrB_BinaryOp GrB_GT_INT16;
extern GrB_BinaryOp GrB_GT_INT32;
extern GrB_BinaryOp GrB_GT_INT64;
extern GrB_BinaryOp GrB_GT_UINT8;
extern GrB_BinaryOp GrB_GT_UINT16;
extern GrB_BinaryOp GrB_GT_UINT32;
extern GrB_BinaryOp GrB_GT_UINT64;
extern GrB_BinaryOp GrB_LAND;
extern GrB_BinaryOp GrB_LE_BOOL;
extern GrB_BinaryOp GrB_LE_FP32;
extern GrB_BinaryOp GrB_LE_FP64;
extern GrB_BinaryOp GrB_LE_INT8;
extern GrB_BinaryOp GrB_LE_INT16;
extern GrB_BinaryOp GrB_LE_INT32;
extern GrB_BinaryOp GrB_LE_INT64;
extern GrB_BinaryOp GrB_LE_UINT8;
extern GrB_BinaryOp GrB_LE_UINT16;
extern GrB_BinaryOp GrB_LE_UINT32;
extern GrB_BinaryOp GrB_LE_UINT64;
extern GrB_BinaryOp GrB_LOR;
extern GrB_BinaryOp GrB_LT_BOOL;
extern GrB_BinaryOp GrB_LT_FP32;
extern GrB_BinaryOp GrB_LT_FP64;
extern GrB_BinaryOp GrB_LT_INT8;
extern GrB_BinaryOp GrB_LT_INT16;
extern GrB_BinaryOp GrB_LT_INT32;
extern GrB_BinaryOp GrB_LT_INT64;
extern GrB_BinaryOp GrB_LT_UINT8;
extern GrB_BinaryOp GrB_LT_UINT16;
extern GrB_BinaryOp GrB_LT_UINT32;
extern GrB_BinaryOp GrB_LT_UINT64;
extern GrB_BinaryOp GrB_LXNOR;
extern GrB_BinaryOp GrB_LXOR;
extern GrB_BinaryOp GrB_MAX_BOOL;
extern GrB_BinaryOp GrB_MAX_FP32;
extern GrB_BinaryOp GrB_MAX_FP64;
extern GrB_BinaryOp GrB_MAX_INT8;
extern GrB_BinaryOp GrB_MAX_INT16;
extern GrB_BinaryOp GrB_MAX_INT32;
extern GrB_BinaryOp GrB_MAX_INT64;
extern GrB_BinaryOp GrB_MAX_UINT8;
extern GrB_BinaryOp GrB_MAX_UINT16;
extern GrB_BinaryOp GrB_MAX_UINT32;
extern GrB_BinaryOp GrB_MAX_UINT64;
extern GrB_BinaryOp GrB_MINUS_BOOL;
extern GrB_BinaryOp GrB_MINUS_FP32;
extern GrB_BinaryOp GrB_MINUS_FP64;
extern GrB_BinaryOp GrB_MINUS_INT8;
extern GrB_BinaryOp GrB_MINUS_INT16;
extern GrB_BinaryOp GrB_MINUS_INT32;
extern GrB_BinaryOp GrB_MINUS_INT64;
extern GrB_BinaryOp GrB_MINUS_UINT8;
extern GrB_BinaryOp GrB_MINUS_UINT16;
extern GrB_BinaryOp GrB_MINUS_UINT32;
extern GrB_BinaryOp GrB_MINUS_UINT64;
extern GrB_BinaryOp GrB_MIN_BOOL;
extern GrB_BinaryOp GrB_MIN_FP32;
extern GrB_BinaryOp GrB_MIN_FP64;
extern GrB_BinaryOp GrB_MIN_INT8;
extern GrB_BinaryOp GrB_MIN_INT16;
extern GrB_BinaryOp GrB_MIN_INT32;
extern GrB_BinaryOp GrB_MIN_INT64;
extern GrB_BinaryOp GrB_MIN_UINT8;
extern GrB_BinaryOp GrB_MIN_UINT16;
extern GrB_BinaryOp GrB_MIN_UINT32;
extern GrB_BinaryOp GrB_MIN_UINT64;
extern GrB_BinaryOp GrB_NE_BOOL;
extern GrB_BinaryOp GrB_NE_FP32;
extern GrB_BinaryOp GrB_NE_FP64;
extern GrB_BinaryOp GrB_NE_INT8;
extern GrB_BinaryOp GrB_NE_INT16;
extern GrB_BinaryOp GrB_NE_INT32;
extern GrB_BinaryOp GrB_NE_INT64;
extern GrB_BinaryOp GrB_NE_UINT8;
extern GrB_BinaryOp GrB_NE_UINT16;
extern GrB_BinaryOp GrB_NE_UINT32;
extern GrB_BinaryOp GrB_NE_UINT64;
extern GrB_BinaryOp GrB_ONEB_BOOL;
extern GrB_BinaryOp GrB_ONEB_FP32;
extern GrB_BinaryOp GrB_ONEB_FP64;
extern GrB_BinaryOp GrB_ONEB_INT8;
extern GrB_BinaryOp GrB_ONEB_INT16;
extern GrB_BinaryOp GrB_ONEB_INT32;
extern GrB_BinaryOp GrB_ONEB_INT64;
extern GrB_BinaryOp GrB_ONEB_UINT8;
extern GrB_BinaryOp GrB_ONEB_UINT16;
extern GrB_BinaryOp GrB_ONEB_UINT32;
extern GrB_BinaryOp GrB_ONEB_UINT64;
extern GrB_BinaryOp GrB_PLUS_BOOL;
extern GrB_BinaryOp GrB_PLUS_FP32;
extern GrB_BinaryOp GrB_PLUS_FP64;
extern GrB_BinaryOp GrB_PLUS_INT8;
extern GrB_BinaryOp GrB_PLUS_INT16;
extern GrB_BinaryOp GrB_PLUS_INT32;
extern GrB_BinaryOp GrB_PLUS_INT64;
extern GrB_BinaryOp GrB_PLUS_UINT8;
extern GrB_BinaryOp GrB_PLUS_UINT16;
extern GrB_BinaryOp GrB_PLUS_UINT32;
extern GrB_BinaryOp GrB_PLUS_UINT64;
extern GrB_BinaryOp GrB_SECOND_BOOL;
extern GrB_BinaryOp GrB_SECOND_FP32;
extern GrB_BinaryOp GrB_SECOND_FP64;
extern GrB_BinaryOp GrB_SECOND_INT8;
extern GrB_BinaryOp GrB_SECOND_INT16;
extern GrB_BinaryOp GrB_SECOND_INT32;
extern GrB_BinaryOp GrB_SECOND_INT64;
extern GrB_BinaryOp GrB_SECOND_UINT8;
extern GrB_BinaryOp GrB_SECOND_UINT16;
extern GrB_BinaryOp GrB_SECOND_UINT32;
extern GrB_BinaryOp GrB_SECOND_UINT64;
extern GrB_BinaryOp GrB_TIMES_BOOL;
extern GrB_BinaryOp GrB_TIMES_FP32;
extern GrB_BinaryOp GrB_TIMES_FP64;
extern GrB_BinaryOp GrB_TIMES_INT8;
extern GrB_BinaryOp GrB_TIMES_INT16;
extern GrB_BinaryOp GrB_TIMES_INT32;
extern GrB_BinaryOp GrB_TIMES_INT64;
extern GrB_BinaryOp GrB_TIMES_UINT8;
extern GrB_BinaryOp GrB_TIMES_UINT16;
extern GrB_BinaryOp GrB_TIMES_UINT32;
extern GrB_BinaryOp GrB_TIMES_UINT64;
extern GrB_Descriptor GrB_DESC_C;
extern GrB_Descriptor GrB_DESC_CT0;
extern GrB_Descriptor GrB_DESC_CT0T1;
extern GrB_Descriptor GrB_DESC_CT1;
extern GrB_Descriptor GrB_DESC_R;
extern GrB_Descriptor GrB_DESC_RC;
extern GrB_Descriptor GrB_DESC_RCT0;
extern GrB_Descriptor GrB_DESC_RCT0T1;
extern GrB_Descriptor GrB_DESC_RCT1;
extern GrB_Descriptor GrB_DESC_RS;
extern GrB_Descriptor GrB_DESC_RSC;
extern GrB_Descriptor GrB_DESC_RSCT0;
extern GrB_Descriptor GrB_DESC_RSCT0T1;
extern GrB_Descriptor GrB_DESC_RSCT1;
extern GrB_Descriptor GrB_DESC_RST0;
extern GrB_Descriptor GrB_DESC_RST0T1;
extern GrB_Descriptor GrB_DESC_RST1;
extern GrB_Descriptor GrB_DESC_RT0;
extern GrB_Descriptor GrB_DESC_RT0T1;
extern GrB_Descriptor GrB_DESC_RT1;
extern GrB_Descriptor GrB_DESC_S;
extern GrB_Descriptor GrB_DESC_SC;
extern GrB_Descriptor GrB_DESC_SCT0;
extern GrB_Descriptor GrB_DESC_SCT0T1;
extern GrB_Descriptor GrB_DESC_SCT1;
extern GrB_Descriptor GrB_DESC_ST0;
extern GrB_Descriptor GrB_DESC_ST0T1;
extern GrB_Descriptor GrB_DESC_ST1;
extern GrB_Descriptor GrB_DESC_T0;
extern GrB_Descriptor GrB_DESC_T0T1;
extern GrB_Descriptor GrB_DESC_T1;
extern GrB_IndexUnaryOp GrB_COLGT;
extern GrB_IndexUnaryOp GrB_COLINDEX_INT32;
extern GrB_IndexUnaryOp GrB_COLINDEX_INT64;
extern GrB_IndexUnaryOp GrB_COLLE;
extern GrB_IndexUnaryOp GrB_DIAG;
extern GrB_IndexUnaryOp GrB_DIAGINDEX_INT32;
extern GrB_IndexUnaryOp GrB_DIAGINDEX_INT64;
extern GrB_IndexUnaryOp GrB_OFFDIAG;
extern GrB_IndexUnaryOp GrB_ROWGT;
extern GrB_IndexUnaryOp GrB_ROWINDEX_INT32;
extern GrB_IndexUnaryOp GrB_ROWINDEX_INT64;
extern GrB_IndexUnaryOp GrB_ROWLE;
extern GrB_IndexUnaryOp GrB_TRIL;
extern GrB_IndexUnaryOp GrB_TRIU;
extern GrB_IndexUnaryOp GrB_VALUEEQ_BOOL;
extern GrB_IndexUnaryOp GrB_VALUEEQ_FP32;
extern GrB_IndexUnaryOp GrB_VALUEEQ_FP64;
extern GrB_IndexUnaryOp GrB_VALUEEQ_INT8;
extern GrB_IndexUnaryOp GrB_VALUEEQ_INT16;
extern GrB_IndexUnaryOp GrB_VALUEEQ_INT32;
extern GrB_IndexUnaryOp GrB_VALUEEQ_INT64;
extern GrB_IndexUnaryOp GrB_VALUEEQ_UINT8;
extern GrB_IndexUnaryOp GrB_VALUEEQ_UINT16;
extern GrB_IndexUnaryOp GrB_VALUEEQ_UINT32;
extern GrB_IndexUnaryOp GrB_VALUEEQ_UINT64;
extern GrB_IndexUnaryOp GrB_VALUEGE_BOOL;
extern GrB_IndexUnaryOp GrB_VALUEGE_FP32;
extern GrB_IndexUnaryOp GrB_VALUEGE_FP64;
extern GrB_IndexUnaryOp GrB_VALUEGE_INT8;
extern GrB_IndexUnaryOp GrB_VALUEGE_INT16;
extern GrB_IndexUnaryOp GrB_VALUEGE_INT32;
extern GrB_IndexUnaryOp GrB_VALUEGE_INT64;
extern GrB_IndexUnaryOp GrB_VALUEGE_UINT8;
extern GrB_IndexUnaryOp GrB_VALUEGE_UINT16;
extern GrB_IndexUnaryOp GrB_VALUEGE_UINT32;
extern GrB_IndexUnaryOp GrB_VALUEGE_UINT64;
extern GrB_IndexUnaryOp GrB_VALUEGT_BOOL;
extern GrB_IndexUnaryOp GrB_VALUEGT_FP32;
extern GrB_IndexUnaryOp GrB_VALUEGT_FP64;
extern GrB_IndexUnaryOp GrB_VALUEGT_INT8;
extern GrB_IndexUnaryOp GrB_VALUEGT_INT16;
extern GrB_IndexUnaryOp GrB_VALUEGT_INT32;
extern GrB_IndexUnaryOp GrB_VALUEGT_INT64;
extern GrB_IndexUnaryOp GrB_VALUEGT_UINT8;
extern GrB_IndexUnaryOp GrB_VALUEGT_UINT16;
extern GrB_IndexUnaryOp GrB_VALUEGT_UINT32;
extern GrB_IndexUnaryOp GrB_VALUEGT_UINT64;
extern GrB_IndexUnaryOp GrB_VALUELE_BOOL;
extern GrB_IndexUnaryOp GrB_VALUELE_FP32;
extern GrB_IndexUnaryOp GrB_VALUELE_FP64;
extern GrB_IndexUnaryOp GrB_VALUELE_INT8;
extern GrB_IndexUnaryOp GrB_VALUELE_INT16;
extern GrB_IndexUnaryOp GrB_VALUELE_INT32;
extern GrB_IndexUnaryOp GrB_VALUELE_INT64;
extern GrB_IndexUnaryOp GrB_VALUELE_UINT8;
extern GrB_IndexUnaryOp GrB_VALUELE_UINT16;
extern GrB_IndexUnaryOp GrB_VALUELE_UINT32;
extern GrB_IndexUnaryOp GrB_VALUELE_UINT64;
extern GrB_IndexUnaryOp GrB_VALUELT_BOOL;
extern GrB_IndexUnaryOp GrB_VALUELT_FP32;
extern GrB_IndexUnaryOp GrB_VALUELT_FP64;
extern GrB_IndexUnaryOp GrB_VALUELT_INT8;
extern GrB_IndexUnaryOp GrB_VALUELT_INT16;
extern GrB_IndexUnaryOp GrB_VALUELT_INT32;
extern GrB_IndexUnaryOp GrB_VALUELT_INT64;
extern GrB_IndexUnaryOp GrB_VALUELT_UINT8;
extern GrB_IndexUnaryOp GrB_VALUELT_UINT16;
extern GrB_IndexUnaryOp GrB_VALUELT_UINT32;
extern GrB_IndexUnaryOp GrB_VALUELT_UINT64;
extern GrB_IndexUnaryOp GrB_VALUENE_BOOL;
extern GrB_IndexUnaryOp GrB_VALUENE_FP32;
extern GrB_IndexUnaryOp GrB_VALUENE_FP64;
extern GrB_IndexUnaryOp GrB_VALUENE_INT8;
extern GrB_IndexUnaryOp GrB_VALUENE_INT16;
extern GrB_IndexUnaryOp GrB_VALUENE_INT32;
extern GrB_IndexUnaryOp GrB_VALUENE_INT64;
extern GrB_IndexUnaryOp GrB_VALUENE_UINT8;
extern GrB_IndexUnaryOp GrB_VALUENE_UINT16;
extern GrB_IndexUnaryOp GrB_VALUENE_UINT32;
extern GrB_IndexUnaryOp GrB_VALUENE_UINT64;
extern GrB_Monoid GrB_LAND_MONOID_BOOL;
extern GrB_Monoid GrB_LOR_MONOID_BOOL;
extern GrB_Monoid GrB_LXNOR_MONOID_BOOL;
extern GrB_Monoid GrB_LXOR_MONOID_BOOL;
extern GrB_Monoid GrB_MAX_MONOID_FP32;
extern GrB_Monoid GrB_MAX_MONOID_FP64;
extern GrB_Monoid GrB_MAX_MONOID_INT8;
extern GrB_Monoid GrB_MAX_MONOID_INT16;
extern GrB_Monoid GrB_MAX_MONOID_INT32;
extern GrB_Monoid GrB_MAX_MONOID_INT64;
extern GrB_Monoid GrB_MAX_MONOID_UINT8;
extern GrB_Monoid GrB_MAX_MONOID_UINT16;
extern GrB_Monoid GrB_MAX_MONOID_UINT32;
extern GrB_Monoid GrB_MAX_MONOID_UINT64;
extern GrB_Monoid GrB_MIN_MONOID_FP32;
extern GrB_Monoid GrB_MIN_MONOID_FP64;
extern GrB_Monoid GrB_MIN_MONOID_INT8;
extern GrB_Monoid GrB_MIN_MONOID_INT16;
extern GrB_Monoid GrB_MIN_MONOID_INT32;
extern GrB_Monoid GrB_MIN_MONOID_INT64;
extern GrB_Monoid GrB_MIN_MONOID_UINT8;
extern GrB_Monoid GrB_MIN_MONOID_UINT16;
extern GrB_Monoid GrB_MIN_MONOID_UINT32;
extern GrB_Monoid GrB_MIN_MONOID_UINT64;
extern GrB_Monoid GrB_PLUS_MONOID_FP32;
extern GrB_Monoid GrB_PLUS_MONOID_FP64;
extern GrB_Monoid GrB_PLUS_MONOID_INT8;
extern GrB_Monoid GrB_PLUS_MONOID_INT16;
extern GrB_Monoid GrB_PLUS_MONOID_INT32;
extern GrB_Monoid GrB_PLUS_MONOID_INT64;
extern GrB_Monoid GrB_PLUS_MONOID_UINT8;
extern GrB_Monoid GrB_PLUS_MONOID_UINT16;
extern GrB_Monoid GrB_PLUS_MONOID_UINT32;
extern GrB_Monoid GrB_PLUS_MONOID_UINT64;
extern GrB_Monoid GrB_TIMES_MONOID_FP32;
extern GrB_Monoid GrB_TIMES_MONOID_FP64;
extern GrB_Monoid GrB_TIMES_MONOID_INT8;
extern GrB_Monoid GrB_TIMES_MONOID_INT16;
extern GrB_Monoid GrB_TIMES_MONOID_INT32;
extern GrB_Monoid GrB_TIMES_MONOID_INT64;
extern GrB_Monoid GrB_TIMES_MONOID_UINT8;
extern GrB_Monoid GrB_TIMES_MONOID_UINT16;
extern GrB_Monoid GrB_TIMES_MONOID_UINT32;
extern GrB_Monoid GrB_TIMES_MONOID_UINT64;
extern GrB_Semiring GrB_LAND_LOR_SEMIRING_BOOL;
extern GrB_Semiring GrB_LOR_LAND_SEMIRING_BOOL;
extern GrB_Semiring GrB_LXNOR_LOR_SEMIRING_BOOL;
extern GrB_Semiring GrB_LXOR_LAND_SEMIRING_BOOL;
extern GrB_Semiring GrB_MAX_FIRST_SEMIRING_FP32;
extern GrB_Semiring GrB_MAX_FIRST_SEMIRING_FP64;
extern GrB_Semiring GrB_MAX_FIRST_SEMIRING_INT8;
extern GrB_Semiring GrB_MAX_FIRST_SEMIRING_INT16;
extern GrB_Semiring GrB_MAX_FIRST_SEMIRING_INT32;
extern GrB_Semiring GrB_MAX_FIRST_SEMIRING_INT64;
extern GrB_Semiring GrB_MAX_FIRST_SEMIRING_UINT8;
extern GrB_Semiring GrB_MAX_FIRST_SEMIRING_UINT16;
extern GrB_Semiring GrB_MAX_FIRST_SEMIRING_UINT32;
extern GrB_Semiring GrB_MAX_FIRST_SEMIRING_UINT64;
extern GrB_Semiring GrB_MAX_MIN_SEMIRING_FP32;
extern GrB_Semiring GrB_MAX_MIN_SEMIRING_FP64;
extern GrB_Semiring GrB_MAX_MIN_SEMIRING_INT8;
extern GrB_Semiring GrB_MAX_MIN_SEMIRING_INT16;
extern GrB_Semiring GrB_MAX_MIN_SEMIRING_INT32;
extern GrB_Semiring GrB_MAX_MIN_SEMIRING_INT64;
extern GrB_Semiring GrB_MAX_MIN_SEMIRING_UINT8;
extern GrB_Semiring GrB_MAX_MIN_SEMIRING_UINT16;
extern GrB_Semiring GrB_MAX_MIN_SEMIRING_UINT32;
extern GrB_Semiring GrB_MAX_MIN_SEMIRING_UINT64;
extern GrB_Semiring GrB_MAX_PLUS_SEMIRING_FP32;
extern GrB_Semiring GrB_MAX_PLUS_SEMIRING_FP64;
extern GrB_Semiring GrB_MAX_PLUS_SEMIRING_INT8;
extern GrB_Semiring GrB_MAX_PLUS_SEMIRING_INT16;
extern GrB_Semiring GrB_MAX_PLUS_SEMIRING_INT32;
extern GrB_Semiring GrB_MAX_PLUS_SEMIRING_INT64;
extern GrB_Semiring GrB_MAX_PLUS_SEMIRING_UINT8;
extern GrB_Semiring GrB_MAX_PLUS_SEMIRING_UINT16;
extern GrB_Semiring GrB_MAX_PLUS_SEMIRING_UINT32;
extern GrB_Semiring GrB_MAX_PLUS_SEMIRING_UINT64;
extern GrB_Semiring GrB_MAX_SECOND_SEMIRING_FP32;
extern GrB_Semiring GrB_MAX_SECOND_SEMIRING_FP64;
extern GrB_Semiring GrB_MAX_SECOND_SEMIRING_INT8;
extern GrB_Semiring GrB_MAX_SECOND_SEMIRING_INT16;
extern GrB_Semiring GrB_MAX_SECOND_SEMIRING_INT32;
extern GrB_Semiring GrB_MAX_SECOND_SEMIRING_INT64;
extern GrB_Semiring GrB_MAX_SECOND_SEMIRING_UINT8;
extern GrB_Semiring GrB_MAX_SECOND_SEMIRING_UINT16;
extern GrB_Semiring GrB_MAX_SECOND_SEMIRING_UINT32;
extern GrB_Semiring GrB_MAX_SECOND_SEMIRING_UINT64;
extern GrB_Semiring GrB_MAX_TIMES_SEMIRING_FP32;
extern GrB_Semiring GrB_MAX_TIMES_SEMIRING_FP64;
extern GrB_Semiring GrB_MAX_TIMES_SEMIRING_INT8;
extern GrB_Semiring GrB_MAX_TIMES_SEMIRING_INT16;
extern GrB_Semiring GrB_MAX_TIMES_SEMIRING_INT32;
extern GrB_Semiring GrB_MAX_TIMES_SEMIRING_INT64;
extern GrB_Semiring GrB_MAX_TIMES_SEMIRING_UINT8;
extern GrB_Semiring GrB_MAX_TIMES_SEMIRING_UINT16;
extern GrB_Semiring GrB_MAX_TIMES_SEMIRING_UINT32;
extern GrB_Semiring GrB_MAX_TIMES_SEMIRING_UINT64;
extern GrB_Semiring GrB_MIN_FIRST_SEMIRING_FP32;
extern GrB_Semiring GrB_MIN_FIRST_SEMIRING_FP64;
extern GrB_Semiring GrB_MIN_FIRST_SEMIRING_INT8;
extern GrB_Semiring GrB_MIN_FIRST_SEMIRING_INT16;
extern GrB_Semiring GrB_MIN_FIRST_SEMIRING_INT32;
extern GrB_Semiring GrB_MIN_FIRST_SEMIRING_INT64;
extern GrB_Semiring GrB_MIN_FIRST_SEMIRING_UINT8;
extern GrB_Semiring GrB_MIN_FIRST_SEMIRING_UINT16;
extern GrB_Semiring GrB_MIN_FIRST_SEMIRING_UINT32;
extern GrB_Semiring GrB_MIN_FIRST_SEMIRING_UINT64;
extern GrB_Semiring GrB_MIN_MAX_SEMIRING_FP32;
extern GrB_Semiring GrB_MIN_MAX_SEMIRING_FP64;
extern GrB_Semiring GrB_MIN_MAX_SEMIRING_INT8;
extern GrB_Semiring GrB_MIN_MAX_SEMIRING_INT16;
extern GrB_Semiring GrB_MIN_MAX_SEMIRING_INT32;
extern GrB_Semiring GrB_MIN_MAX_SEMIRING_INT64;
extern GrB_Semiring GrB_MIN_MAX_SEMIRING_UINT8;
extern GrB_Semiring GrB_MIN_MAX_SEMIRING_UINT16;
extern GrB_Semiring GrB_MIN_MAX_SEMIRING_UINT32;
extern GrB_Semiring GrB_MIN_MAX_SEMIRING_UINT64;
extern GrB_Semiring GrB_MIN_PLUS_SEMIRING_FP32;
extern GrB_Semiring GrB_MIN_PLUS_SEMIRING_FP64;
extern GrB_Semiring GrB_MIN_PLUS_SEMIRING_INT8;
extern GrB_Semiring GrB_MIN_PLUS_SEMIRING_INT16;
extern GrB_Semiring GrB_MIN_PLUS_SEMIRING_INT32;
extern GrB_Semiring GrB_MIN_PLUS_SEMIRING_INT64;
extern GrB_Semiring GrB_MIN_PLUS_SEMIRING_UINT8;
extern GrB_Semiring GrB_MIN_PLUS_SEMIRING_UINT16;
extern GrB_Semiring GrB_MIN_PLUS_SEMIRING_UINT32;
extern GrB_Semiring GrB_MIN_PLUS_SEMIRING_UINT64;
extern GrB_Semiring GrB_MIN_SECOND_SEMIRING_FP32;
extern GrB_Semiring GrB_MIN_SECOND_SEMIRING_FP64;
extern GrB_Semiring GrB_MIN_SECOND_SEMIRING_INT8;
extern GrB_Semiring GrB_MIN_SECOND_SEMIRING_INT16;
extern GrB_Semiring GrB_MIN_SECOND_SEMIRING_INT32;
extern GrB_Semiring GrB_MIN_SECOND_SEMIRING_INT64;
extern GrB_Semiring GrB_MIN_SECOND_SEMIRING_UINT8;
extern GrB_Semiring GrB_MIN_SECOND_SEMIRING_UINT16;
extern GrB_Semiring GrB_MIN_SECOND_SEMIRING_UINT32;
extern GrB_Semiring GrB_MIN_SECOND_SEMIRING_UINT64;
extern GrB_Semiring GrB_MIN_TIMES_SEMIRING_FP32;
extern GrB_Semiring GrB_MIN_TIMES_SEMIRING_FP64;
extern GrB_Semiring GrB_MIN_TIMES_SEMIRING_INT8;
extern GrB_Semiring GrB_MIN_TIMES_SEMIRING_INT16;
extern GrB_Semiring GrB_MIN_TIMES_SEMIRING_INT32;
extern GrB_Semiring GrB_MIN_TIMES_SEMIRING_INT64;
extern GrB_Semiring GrB_MIN_TIMES_SEMIRING_UINT8;
extern GrB_Semiring GrB_MIN_TIMES_SEMIRING_UINT16;
extern GrB_Semiring GrB_MIN_TIMES_SEMIRING_UINT32;
extern GrB_Semiring GrB_MIN_TIMES_SEMIRING_UINT64;
extern GrB_Semiring GrB_PLUS_MIN_SEMIRING_FP32;
extern GrB_Semiring GrB_PLUS_MIN_SEMIRING_FP64;
extern GrB_Semiring GrB_PLUS_MIN_SEMIRING_INT8;
extern GrB_Semiring GrB_PLUS_MIN_SEMIRING_INT16;
extern GrB_Semiring GrB_PLUS_MIN_SEMIRING_INT32;
extern GrB_Semiring GrB_PLUS_MIN_SEMIRING_INT64;
extern GrB_Semiring GrB_PLUS_MIN_SEMIRING_UINT8;
extern GrB_Semiring GrB_PLUS_MIN_SEMIRING_UINT16;
extern GrB_Semiring GrB_PLUS_MIN_SEMIRING_UINT32;
extern GrB_Semiring GrB_PLUS_MIN_SEMIRING_UINT64;
extern GrB_Semiring GrB_PLUS_TIMES_SEMIRING_FP32;
extern GrB_Semiring GrB_PLUS_TIMES_SEMIRING_FP64;
extern GrB_Semiring GrB_PLUS_TIMES_SEMIRING_INT8;
extern GrB_Semiring GrB_PLUS_TIMES_SEMIRING_INT16;
extern GrB_Semiring GrB_PLUS_TIMES_SEMIRING_INT32;
extern GrB_Semiring GrB_PLUS_TIMES_SEMIRING_INT64;
extern GrB_Semiring GrB_PLUS_TIMES_SEMIRING_UINT8;
extern GrB_Semiring GrB_PLUS_TIMES_SEMIRING_UINT16;
extern GrB_Semiring GrB_PLUS_TIMES_SEMIRING_UINT32;
extern GrB_Semiring GrB_PLUS_TIMES_SEMIRING_UINT64;
extern GrB_Type GrB_BOOL;
extern GrB_Type GrB_FP32;
extern GrB_Type GrB_FP64;
extern GrB_Type GrB_INT8;
extern GrB_Type GrB_INT16;
extern GrB_Type GrB_INT32;
extern GrB_Type GrB_INT64;
extern GrB_Type GrB_UINT8;
extern GrB_Type GrB_UINT16;
extern GrB_Type GrB_UINT32;
extern GrB_Type GrB_UINT64;
extern GrB_UnaryOp GrB_ABS_BOOL;
extern GrB_UnaryOp GrB_ABS_FP32;
extern GrB_UnaryOp GrB_ABS_FP64;
extern GrB_UnaryOp GrB_ABS_INT8;
extern GrB_UnaryOp GrB_ABS_INT16;
extern GrB_UnaryOp GrB_ABS_INT32;
extern GrB_UnaryOp GrB_ABS_INT64;
extern GrB_UnaryOp GrB_ABS_UINT8;
extern GrB_UnaryOp GrB_ABS_UINT16;
extern GrB_UnaryOp GrB_ABS_UINT32;
extern GrB_UnaryOp GrB_ABS_UINT64;
extern GrB_UnaryOp GrB_AINV_BOOL;
extern GrB_UnaryOp GrB_AINV_FP32;
extern GrB_UnaryOp GrB_AINV_FP64;
extern GrB_UnaryOp GrB_AINV_INT8;
extern GrB_UnaryOp GrB_AINV_INT16;
extern GrB_UnaryOp GrB_AINV_INT32;
extern GrB_UnaryOp GrB_AINV_INT64;
extern GrB_UnaryOp GrB_AINV_UINT8;
extern GrB_UnaryOp GrB_AINV_UINT16;
extern GrB_UnaryOp GrB_AINV_UINT32;
extern GrB_UnaryOp GrB_AINV_UINT64;
extern GrB_UnaryOp GrB_BNOT_INT8;
extern GrB_UnaryOp GrB_BNOT_INT16;
extern GrB_UnaryOp GrB_BNOT_INT32;
extern GrB_UnaryOp GrB_BNOT_INT64;
extern GrB_UnaryOp GrB_BNOT_UINT8;
extern GrB_UnaryOp GrB_BNOT_UINT16;
extern GrB_UnaryOp GrB_BNOT_UINT32;
extern GrB_UnaryOp GrB_BNOT_UINT64;
extern GrB_UnaryOp GrB_IDENTITY_BOOL;
extern GrB_UnaryOp GrB_IDENTITY_FP32;
extern GrB_UnaryOp GrB_IDENTITY_FP64;
extern GrB_UnaryOp GrB_IDENTITY_INT8;
extern GrB_UnaryOp GrB_IDENTITY_INT16;
extern GrB_UnaryOp GrB_IDENTITY_INT32;
extern GrB_UnaryOp GrB_IDENTITY_INT64;
extern GrB_UnaryOp GrB_IDENTITY_UINT8;
extern GrB_UnaryOp GrB_IDENTITY_UINT16;
extern GrB_UnaryOp GrB_IDENTITY_UINT32;
extern GrB_UnaryOp GrB_IDENTITY_UINT64;
extern GrB_UnaryOp GrB_LNOT;
extern GrB_UnaryOp GrB_MINV_BOOL;
extern GrB_UnaryOp GrB_MINV_FP32;
extern GrB_UnaryOp GrB_MINV_FP64;
extern GrB_UnaryOp GrB_MINV_INT8;
extern GrB_UnaryOp GrB_MINV_INT16;
extern GrB_UnaryOp GrB_MINV_INT32;
extern GrB_UnaryOp GrB_MINV_INT64;
extern GrB_UnaryOp GrB_MINV_UINT8;
extern GrB_UnaryOp GrB_MINV_UINT16;
extern GrB_UnaryOp GrB_MINV_UINT32;
extern GrB_UnaryOp GrB_MINV_UINT64;

/* GrB objects (extended) */
extern GrB_BinaryOp GxB_ANY_BOOL;
extern GrB_BinaryOp GxB_ANY_FC32;
extern GrB_BinaryOp GxB_ANY_FC64;
extern GrB_BinaryOp GxB_ANY_FP32;
extern GrB_BinaryOp GxB_ANY_FP64;
extern GrB_BinaryOp GxB_ANY_INT8;
extern GrB_BinaryOp GxB_ANY_INT16;
extern GrB_BinaryOp GxB_ANY_INT32;
extern GrB_BinaryOp GxB_ANY_INT64;
extern GrB_BinaryOp GxB_ANY_UINT8;
extern GrB_BinaryOp GxB_ANY_UINT16;
extern GrB_BinaryOp GxB_ANY_UINT32;
extern GrB_BinaryOp GxB_ANY_UINT64;
extern GrB_BinaryOp GxB_ATAN2_FP32;
extern GrB_BinaryOp GxB_ATAN2_FP64;
extern GrB_BinaryOp GxB_BCLR_INT8;
extern GrB_BinaryOp GxB_BCLR_INT16;
extern GrB_BinaryOp GxB_BCLR_INT32;
extern GrB_BinaryOp GxB_BCLR_INT64;
extern GrB_BinaryOp GxB_BCLR_UINT8;
extern GrB_BinaryOp GxB_BCLR_UINT16;
extern GrB_BinaryOp GxB_BCLR_UINT32;
extern GrB_BinaryOp GxB_BCLR_UINT64;
extern GrB_BinaryOp GxB_BGET_INT8;
extern GrB_BinaryOp GxB_BGET_INT16;
extern GrB_BinaryOp GxB_BGET_INT32;
extern GrB_BinaryOp GxB_BGET_INT64;
extern GrB_BinaryOp GxB_BGET_UINT8;
extern GrB_BinaryOp GxB_BGET_UINT16;
extern GrB_BinaryOp GxB_BGET_UINT32;
extern GrB_BinaryOp GxB_BGET_UINT64;
extern GrB_BinaryOp GxB_BSET_INT8;
extern GrB_BinaryOp GxB_BSET_INT16;
extern GrB_BinaryOp GxB_BSET_INT32;
extern GrB_BinaryOp GxB_BSET_INT64;
extern GrB_BinaryOp GxB_BSET_UINT8;
extern GrB_BinaryOp GxB_BSET_UINT16;
extern GrB_BinaryOp GxB_BSET_UINT32;
extern GrB_BinaryOp GxB_BSET_UINT64;
extern GrB_BinaryOp GxB_BSHIFT_INT8;
extern GrB_BinaryOp GxB_BSHIFT_INT16;
extern GrB_BinaryOp GxB_BSHIFT_INT32;
extern GrB_BinaryOp GxB_BSHIFT_INT64;
extern GrB_BinaryOp GxB_BSHIFT_UINT8;
extern GrB_BinaryOp GxB_BSHIFT_UINT16;
extern GrB_BinaryOp GxB_BSHIFT_UINT32;
extern GrB_BinaryOp GxB_BSHIFT_UINT64;
extern GrB_BinaryOp GxB_CMPLX_FP32;
extern GrB_BinaryOp GxB_CMPLX_FP64;
extern GrB_BinaryOp GxB_COPYSIGN_FP32;
extern GrB_BinaryOp GxB_COPYSIGN_FP64;
extern GrB_BinaryOp GxB_DIV_FC32;
extern GrB_BinaryOp GxB_DIV_FC64;
extern GrB_BinaryOp GxB_EQ_FC32;
extern GrB_BinaryOp GxB_EQ_FC64;
extern GrB_BinaryOp GxB_FIRSTI1_INT32;
extern GrB_BinaryOp GxB_FIRSTI1_INT64;
extern GrB_BinaryOp GxB_FIRSTI_INT32;
extern GrB_BinaryOp GxB_FIRSTI_INT64;
extern GrB_BinaryOp GxB_FIRSTJ1_INT32;
extern GrB_BinaryOp GxB_FIRSTJ1_INT64;
extern GrB_BinaryOp GxB_FIRSTJ_INT32;
extern GrB_BinaryOp GxB_FIRSTJ_INT64;
extern GrB_BinaryOp GxB_FIRST_FC32;
extern GrB_BinaryOp GxB_FIRST_FC64;
extern GrB_BinaryOp GxB_FMOD_FP32;
extern GrB_BinaryOp GxB_FMOD_FP64;
extern GrB_BinaryOp GxB_HYPOT_FP32;
extern GrB_BinaryOp GxB_HYPOT_FP64;
extern GrB_BinaryOp GxB_IGNORE_DUP;
extern GrB_BinaryOp GxB_ISEQ_BOOL;
extern GrB_BinaryOp GxB_ISEQ_FC32;
extern GrB_BinaryOp GxB_ISEQ_FC64;
extern GrB_BinaryOp GxB_ISEQ_FP32;
extern GrB_BinaryOp GxB_ISEQ_FP64;
extern GrB_BinaryOp GxB_ISEQ_INT8;
extern GrB_BinaryOp GxB_ISEQ_INT16;
extern GrB_BinaryOp GxB_ISEQ_INT32;
extern GrB_BinaryOp GxB_ISEQ_INT64;
extern GrB_BinaryOp GxB_ISEQ_UINT8;
extern GrB_BinaryOp GxB_ISEQ_UINT16;
extern GrB_BinaryOp GxB_ISEQ_UINT32;
extern GrB_BinaryOp GxB_ISEQ_UINT64;
extern GrB_BinaryOp GxB_ISGE_BOOL;
extern GrB_BinaryOp GxB_ISGE_FP32;
extern GrB_BinaryOp GxB_ISGE_FP64;
extern GrB_BinaryOp GxB_ISGE_INT8;
extern GrB_BinaryOp GxB_ISGE_INT16;
extern GrB_BinaryOp GxB_ISGE_INT32;
extern GrB_BinaryOp GxB_ISGE_INT64;
extern GrB_BinaryOp GxB_ISGE_UINT8;
extern GrB_BinaryOp GxB_ISGE_UINT16;
extern GrB_BinaryOp GxB_ISGE_UINT32;
extern GrB_BinaryOp GxB_ISGE_UINT64;
extern GrB_BinaryOp GxB_ISGT_BOOL;
extern GrB_BinaryOp GxB_ISGT_FP32;
extern GrB_BinaryOp GxB_ISGT_FP64;
extern GrB_BinaryOp GxB_ISGT_INT8;
extern GrB_BinaryOp GxB_ISGT_INT16;
extern GrB_BinaryOp GxB_ISGT_INT32;
extern GrB_BinaryOp GxB_ISGT_INT64;
extern GrB_BinaryOp GxB_ISGT_UINT8;
extern GrB_BinaryOp GxB_ISGT_UINT16;
extern GrB_BinaryOp GxB_ISGT_UINT32;
extern GrB_BinaryOp GxB_ISGT_UINT64;
extern GrB_BinaryOp GxB_ISLE_BOOL;
extern GrB_BinaryOp GxB_ISLE_FP32;
extern GrB_BinaryOp GxB_ISLE_FP64;
extern GrB_BinaryOp GxB_ISLE_INT8;
extern GrB_BinaryOp GxB_ISLE_INT16;
extern GrB_BinaryOp GxB_ISLE_INT32;
extern GrB_BinaryOp GxB_ISLE_INT64;
extern GrB_BinaryOp GxB_ISLE_UINT8;
extern GrB_BinaryOp GxB_ISLE_UINT16;
extern GrB_BinaryOp GxB_ISLE_UINT32;
extern GrB_BinaryOp GxB_ISLE_UINT64;
extern GrB_BinaryOp GxB_ISLT_BOOL;
extern GrB_BinaryOp GxB_ISLT_FP32;
extern GrB_BinaryOp GxB_ISLT_FP64;
extern GrB_BinaryOp GxB_ISLT_INT8;
extern GrB_BinaryOp GxB_ISLT_INT16;
extern GrB_BinaryOp GxB_ISLT_INT32;
extern GrB_BinaryOp GxB_ISLT_INT64;
extern GrB_BinaryOp GxB_ISLT_UINT8;
extern GrB_BinaryOp GxB_ISLT_UINT16;
extern GrB_BinaryOp GxB_ISLT_UINT32;
extern GrB_BinaryOp GxB_ISLT_UINT64;
extern GrB_BinaryOp GxB_ISNE_BOOL;
extern GrB_BinaryOp GxB_ISNE_FC32;
extern GrB_BinaryOp GxB_ISNE_FC64;
extern GrB_BinaryOp GxB_ISNE_FP32;
extern GrB_BinaryOp GxB_ISNE_FP64;
extern GrB_BinaryOp GxB_ISNE_INT8;
extern GrB_BinaryOp GxB_ISNE_INT16;
extern GrB_BinaryOp GxB_ISNE_INT32;
extern GrB_BinaryOp GxB_ISNE_INT64;
extern GrB_BinaryOp GxB_ISNE_UINT8;
extern GrB_BinaryOp GxB_ISNE_UINT16;
extern GrB_BinaryOp GxB_ISNE_UINT32;
extern GrB_BinaryOp GxB_ISNE_UINT64;
extern GrB_BinaryOp GxB_LAND_BOOL;
extern GrB_BinaryOp GxB_LAND_FP32;
extern GrB_BinaryOp GxB_LAND_FP64;
extern GrB_BinaryOp GxB_LAND_INT8;
extern GrB_BinaryOp GxB_LAND_INT16;
extern GrB_BinaryOp GxB_LAND_INT32;
extern GrB_BinaryOp GxB_LAND_INT64;
extern GrB_BinaryOp GxB_LAND_UINT8;
extern GrB_BinaryOp GxB_LAND_UINT16;
extern GrB_BinaryOp GxB_LAND_UINT32;
extern GrB_BinaryOp GxB_LAND_UINT64;
extern GrB_BinaryOp GxB_LDEXP_FP32;
extern GrB_BinaryOp GxB_LDEXP_FP64;
extern GrB_BinaryOp GxB_LOR_BOOL;
extern GrB_BinaryOp GxB_LOR_FP32;
extern GrB_BinaryOp GxB_LOR_FP64;
extern GrB_BinaryOp GxB_LOR_INT8;
extern GrB_BinaryOp GxB_LOR_INT16;
extern GrB_BinaryOp GxB_LOR_INT32;
extern GrB_BinaryOp GxB_LOR_INT64;
extern GrB_BinaryOp GxB_LOR_UINT8;
extern GrB_BinaryOp GxB_LOR_UINT16;
extern GrB_BinaryOp GxB_LOR_UINT32;
extern GrB_BinaryOp GxB_LOR_UINT64;
extern GrB_BinaryOp GxB_LXOR_BOOL;
extern GrB_BinaryOp GxB_LXOR_FP32;
extern GrB_BinaryOp GxB_LXOR_FP64;
extern GrB_BinaryOp GxB_LXOR_INT8;
extern GrB_BinaryOp GxB_LXOR_INT16;
extern GrB_BinaryOp GxB_LXOR_INT32;
extern GrB_BinaryOp GxB_LXOR_INT64;
extern GrB_BinaryOp GxB_LXOR_UINT8;
extern GrB_BinaryOp GxB_LXOR_UINT16;
extern GrB_BinaryOp GxB_LXOR_UINT32;
extern GrB_BinaryOp GxB_LXOR_UINT64;
extern GrB_BinaryOp GxB_MINUS_FC32;
extern GrB_BinaryOp GxB_MINUS_FC64;
extern GrB_BinaryOp GxB_NE_FC32;
extern GrB_BinaryOp GxB_NE_FC64;
extern GrB_BinaryOp GxB_ONEB_FC32;
extern GrB_BinaryOp GxB_ONEB_FC64;
extern GrB_BinaryOp GxB_PAIR_BOOL;
extern GrB_BinaryOp GxB_PAIR_FC32;
extern GrB_BinaryOp GxB_PAIR_FC64;
extern GrB_BinaryOp GxB_PAIR_FP32;
extern GrB_BinaryOp GxB_PAIR_FP64;
extern GrB_BinaryOp GxB_PAIR_INT8;
extern GrB_BinaryOp GxB_PAIR_INT16;
extern GrB_BinaryOp GxB_PAIR_INT32;
extern GrB_BinaryOp GxB_PAIR_INT64;
extern GrB_BinaryOp GxB_PAIR_UINT8;
extern GrB_BinaryOp GxB_PAIR_UINT16;
extern GrB_BinaryOp GxB_PAIR_UINT32;
extern GrB_BinaryOp GxB_PAIR_UINT64;
extern GrB_BinaryOp GxB_PLUS_FC32;
extern GrB_BinaryOp GxB_PLUS_FC64;
extern GrB_BinaryOp GxB_POW_BOOL;
extern GrB_BinaryOp GxB_POW_FC32;
extern GrB_BinaryOp GxB_POW_FC64;
extern GrB_BinaryOp GxB_POW_FP32;
extern GrB_BinaryOp GxB_POW_FP64;
extern GrB_BinaryOp GxB_POW_INT8;
extern GrB_BinaryOp GxB_POW_INT16;
extern GrB_BinaryOp GxB_POW_INT32;
extern GrB_BinaryOp GxB_POW_INT64;
extern GrB_BinaryOp GxB_POW_UINT8;
extern GrB_BinaryOp GxB_POW_UINT16;
extern GrB_BinaryOp GxB_POW_UINT32;
extern GrB_BinaryOp GxB_POW_UINT64;
extern GrB_BinaryOp GxB_RDIV_BOOL;
extern GrB_BinaryOp GxB_RDIV_FC32;
extern GrB_BinaryOp GxB_RDIV_FC64;
extern GrB_BinaryOp GxB_RDIV_FP32;
extern GrB_BinaryOp GxB_RDIV_FP64;
extern GrB_BinaryOp GxB_RDIV_INT8;
extern GrB_BinaryOp GxB_RDIV_INT16;
extern GrB_BinaryOp GxB_RDIV_INT32;
extern GrB_BinaryOp GxB_RDIV_INT64;
extern GrB_BinaryOp GxB_RDIV_UINT8;
extern GrB_BinaryOp GxB_RDIV_UINT16;
extern GrB_BinaryOp GxB_RDIV_UINT32;
extern GrB_BinaryOp GxB_RDIV_UINT64;
extern GrB_BinaryOp GxB_REMAINDER_FP32;
extern GrB_BinaryOp GxB_REMAINDER_FP64;
extern GrB_BinaryOp GxB_RMINUS_BOOL;
extern GrB_BinaryOp GxB_RMINUS_FC32;
extern GrB_BinaryOp GxB_RMINUS_FC64;
extern GrB_BinaryOp GxB_RMINUS_FP32;
extern GrB_BinaryOp GxB_RMINUS_FP64;
extern GrB_BinaryOp GxB_RMINUS_INT8;
extern GrB_BinaryOp GxB_RMINUS_INT16;
extern GrB_BinaryOp GxB_RMINUS_INT32;
extern GrB_BinaryOp GxB_RMINUS_INT64;
extern GrB_BinaryOp GxB_RMINUS_UINT8;
extern GrB_BinaryOp GxB_RMINUS_UINT16;
extern GrB_BinaryOp GxB_RMINUS_UINT32;
extern GrB_BinaryOp GxB_RMINUS_UINT64;
extern GrB_BinaryOp GxB_SECONDI1_INT32;
extern GrB_BinaryOp GxB_SECONDI1_INT64;
extern GrB_BinaryOp GxB_SECONDI_INT32;
extern GrB_BinaryOp GxB_SECONDI_INT64;
extern GrB_BinaryOp GxB_SECONDJ1_INT32;
extern GrB_BinaryOp GxB_SECONDJ1_INT64;
extern GrB_BinaryOp GxB_SECONDJ_INT32;
extern GrB_BinaryOp GxB_SECONDJ_INT64;
extern GrB_BinaryOp GxB_SECOND_FC32;
extern GrB_BinaryOp GxB_SECOND_FC64;
extern GrB_BinaryOp GxB_TIMES_FC32;
extern GrB_BinaryOp GxB_TIMES_FC64;
extern GrB_IndexUnaryOp GxB_VALUEEQ_FC32;
extern GrB_IndexUnaryOp GxB_VALUEEQ_FC64;
extern GrB_IndexUnaryOp GxB_VALUENE_FC32;
extern GrB_IndexUnaryOp GxB_VALUENE_FC64;
extern GrB_Monoid GxB_ANY_BOOL_MONOID;
extern GrB_Monoid GxB_ANY_FC32_MONOID;
extern GrB_Monoid GxB_ANY_FC64_MONOID;
extern GrB_Monoid GxB_ANY_FP32_MONOID;
extern GrB_Monoid GxB_ANY_FP64_MONOID;
extern GrB_Monoid GxB_ANY_INT8_MONOID;
extern GrB_Monoid GxB_ANY_INT16_MONOID;
extern GrB_Monoid GxB_ANY_INT32_MONOID;
extern GrB_Monoid GxB_ANY_INT64_MONOID;
extern GrB_Monoid GxB_ANY_UINT8_MONOID;
extern GrB_Monoid GxB_ANY_UINT16_MONOID;
extern GrB_Monoid GxB_ANY_UINT32_MONOID;
extern GrB_Monoid GxB_ANY_UINT64_MONOID;
extern GrB_Monoid GxB_BAND_UINT8_MONOID;
extern GrB_Monoid GxB_BAND_UINT16_MONOID;
extern GrB_Monoid GxB_BAND_UINT32_MONOID;
extern GrB_Monoid GxB_BAND_UINT64_MONOID;
extern GrB_Monoid GxB_BOR_UINT8_MONOID;
extern GrB_Monoid GxB_BOR_UINT16_MONOID;
extern GrB_Monoid GxB_BOR_UINT32_MONOID;
extern GrB_Monoid GxB_BOR_UINT64_MONOID;
extern GrB_Monoid GxB_BXNOR_UINT8_MONOID;
extern GrB_Monoid GxB_BXNOR_UINT16_MONOID;
extern GrB_Monoid GxB_BXNOR_UINT32_MONOID;
extern GrB_Monoid GxB_BXNOR_UINT64_MONOID;
extern GrB_Monoid GxB_BXOR_UINT8_MONOID;
extern GrB_Monoid GxB_BXOR_UINT16_MONOID;
extern GrB_Monoid GxB_BXOR_UINT32_MONOID;
extern GrB_Monoid GxB_BXOR_UINT64_MONOID;
extern GrB_Monoid GxB_EQ_BOOL_MONOID;
extern GrB_Monoid GxB_PLUS_FC32_MONOID;
extern GrB_Monoid GxB_PLUS_FC64_MONOID;
extern GrB_Monoid GxB_TIMES_FC32_MONOID;
extern GrB_Monoid GxB_TIMES_FC64_MONOID;
extern GrB_Semiring GxB_ANY_DIV_FC32;
extern GrB_Semiring GxB_ANY_DIV_FC64;
extern GrB_Semiring GxB_ANY_DIV_FP32;
extern GrB_Semiring GxB_ANY_DIV_FP64;
extern GrB_Semiring GxB_ANY_DIV_INT8;
extern GrB_Semiring GxB_ANY_DIV_INT16;
extern GrB_Semiring GxB_ANY_DIV_INT32;
extern GrB_Semiring GxB_ANY_DIV_INT64;
extern GrB_Semiring GxB_ANY_DIV_UINT8;
extern GrB_Semiring GxB_ANY_DIV_UINT16;
extern GrB_Semiring GxB_ANY_DIV_UINT32;
extern GrB_Semiring GxB_ANY_DIV_UINT64;
extern GrB_Semiring GxB_ANY_EQ_BOOL;
extern GrB_Semiring GxB_ANY_EQ_FP32;
extern GrB_Semiring GxB_ANY_EQ_FP64;
extern GrB_Semiring GxB_ANY_EQ_INT8;
extern GrB_Semiring GxB_ANY_EQ_INT16;
extern GrB_Semiring GxB_ANY_EQ_INT32;
extern GrB_Semiring GxB_ANY_EQ_INT64;
extern GrB_Semiring GxB_ANY_EQ_UINT8;
extern GrB_Semiring GxB_ANY_EQ_UINT16;
extern GrB_Semiring GxB_ANY_EQ_UINT32;
extern GrB_Semiring GxB_ANY_EQ_UINT64;
extern GrB_Semiring GxB_ANY_FIRSTI1_INT32;
extern GrB_Semiring GxB_ANY_FIRSTI1_INT64;
extern GrB_Semiring GxB_ANY_FIRSTI_INT32;
extern GrB_Semiring GxB_ANY_FIRSTI_INT64;
extern GrB_Semiring GxB_ANY_FIRSTJ1_INT32;
extern GrB_Semiring GxB_ANY_FIRSTJ1_INT64;
extern GrB_Semiring GxB_ANY_FIRSTJ_INT32;
extern GrB_Semiring GxB_ANY_FIRSTJ_INT64;
extern GrB_Semiring GxB_ANY_FIRST_BOOL;
extern GrB_Semiring GxB_ANY_FIRST_FC32;
extern GrB_Semiring GxB_ANY_FIRST_FC64;
extern GrB_Semiring GxB_ANY_FIRST_FP32;
extern GrB_Semiring GxB_ANY_FIRST_FP64;
extern GrB_Semiring GxB_ANY_FIRST_INT8;
extern GrB_Semiring GxB_ANY_FIRST_INT16;
extern GrB_Semiring GxB_ANY_FIRST_INT32;
extern GrB_Semiring GxB_ANY_FIRST_INT64;
extern GrB_Semiring GxB_ANY_FIRST_UINT8;
extern GrB_Semiring GxB_ANY_FIRST_UINT16;
extern GrB_Semiring GxB_ANY_FIRST_UINT32;
extern GrB_Semiring GxB_ANY_FIRST_UINT64;
extern GrB_Semiring GxB_ANY_GE_BOOL;
extern GrB_Semiring GxB_ANY_GE_FP32;
extern GrB_Semiring GxB_ANY_GE_FP64;
extern GrB_Semiring GxB_ANY_GE_INT8;
extern GrB_Semiring GxB_ANY_GE_INT16;
extern GrB_Semiring GxB_ANY_GE_INT32;
extern GrB_Semiring GxB_ANY_GE_INT64;
extern GrB_Semiring GxB_ANY_GE_UINT8;
extern GrB_Semiring GxB_ANY_GE_UINT16;
extern GrB_Semiring GxB_ANY_GE_UINT32;
extern GrB_Semiring GxB_ANY_GE_UINT64;
extern GrB_Semiring GxB_ANY_GT_BOOL;
extern GrB_Semiring GxB_ANY_GT_FP32;
extern GrB_Semiring GxB_ANY_GT_FP64;
extern GrB_Semiring GxB_ANY_GT_INT8;
extern GrB_Semiring GxB_ANY_GT_INT16;
extern GrB_Semiring GxB_ANY_GT_INT32;
extern GrB_Semiring GxB_ANY_GT_INT64;
extern GrB_Semiring GxB_ANY_GT_UINT8;
extern GrB_Semiring GxB_ANY_GT_UINT16;
extern GrB_Semiring GxB_ANY_GT_UINT32;
extern GrB_Semiring GxB_ANY_GT_UINT64;
extern GrB_Semiring GxB_ANY_ISEQ_FP32;
extern GrB_Semiring GxB_ANY_ISEQ_FP64;
extern GrB_Semiring GxB_ANY_ISEQ_INT8;
extern GrB_Semiring GxB_ANY_ISEQ_INT16;
extern GrB_Semiring GxB_ANY_ISEQ_INT32;
extern GrB_Semiring GxB_ANY_ISEQ_INT64;
extern GrB_Semiring GxB_ANY_ISEQ_UINT8;
extern GrB_Semiring GxB_ANY_ISEQ_UINT16;
extern GrB_Semiring GxB_ANY_ISEQ_UINT32;
extern GrB_Semiring GxB_ANY_ISEQ_UINT64;
extern GrB_Semiring GxB_ANY_ISGE_FP32;
extern GrB_Semiring GxB_ANY_ISGE_FP64;
extern GrB_Semiring GxB_ANY_ISGE_INT8;
extern GrB_Semiring GxB_ANY_ISGE_INT16;
extern GrB_Semiring GxB_ANY_ISGE_INT32;
extern GrB_Semiring GxB_ANY_ISGE_INT64;
extern GrB_Semiring GxB_ANY_ISGE_UINT8;
extern GrB_Semiring GxB_ANY_ISGE_UINT16;
extern GrB_Semiring GxB_ANY_ISGE_UINT32;
extern GrB_Semiring GxB_ANY_ISGE_UINT64;
extern GrB_Semiring GxB_ANY_ISGT_FP32;
extern GrB_Semiring GxB_ANY_ISGT_FP64;
extern GrB_Semiring GxB_ANY_ISGT_INT8;
extern GrB_Semiring GxB_ANY_ISGT_INT16;
extern GrB_Semiring GxB_ANY_ISGT_INT32;
extern GrB_Semiring GxB_ANY_ISGT_INT64;
extern GrB_Semiring GxB_ANY_ISGT_UINT8;
extern GrB_Semiring GxB_ANY_ISGT_UINT16;
extern GrB_Semiring GxB_ANY_ISGT_UINT32;
extern GrB_Semiring GxB_ANY_ISGT_UINT64;
extern GrB_Semiring GxB_ANY_ISLE_FP32;
extern GrB_Semiring GxB_ANY_ISLE_FP64;
extern GrB_Semiring GxB_ANY_ISLE_INT8;
extern GrB_Semiring GxB_ANY_ISLE_INT16;
extern GrB_Semiring GxB_ANY_ISLE_INT32;
extern GrB_Semiring GxB_ANY_ISLE_INT64;
extern GrB_Semiring GxB_ANY_ISLE_UINT8;
extern GrB_Semiring GxB_ANY_ISLE_UINT16;
extern GrB_Semiring GxB_ANY_ISLE_UINT32;
extern GrB_Semiring GxB_ANY_ISLE_UINT64;
extern GrB_Semiring GxB_ANY_ISLT_FP32;
extern GrB_Semiring GxB_ANY_ISLT_FP64;
extern GrB_Semiring GxB_ANY_ISLT_INT8;
extern GrB_Semiring GxB_ANY_ISLT_INT16;
extern GrB_Semiring GxB_ANY_ISLT_INT32;
extern GrB_Semiring GxB_ANY_ISLT_INT64;
extern GrB_Semiring GxB_ANY_ISLT_UINT8;
extern GrB_Semiring GxB_ANY_ISLT_UINT16;
extern GrB_Semiring GxB_ANY_ISLT_UINT32;
extern GrB_Semiring GxB_ANY_ISLT_UINT64;
extern GrB_Semiring GxB_ANY_ISNE_FP32;
extern GrB_Semiring GxB_ANY_ISNE_FP64;
extern GrB_Semiring GxB_ANY_ISNE_INT8;
extern GrB_Semiring GxB_ANY_ISNE_INT16;
extern GrB_Semiring GxB_ANY_ISNE_INT32;
extern GrB_Semiring GxB_ANY_ISNE_INT64;
extern GrB_Semiring GxB_ANY_ISNE_UINT8;
extern GrB_Semiring GxB_ANY_ISNE_UINT16;
extern GrB_Semiring GxB_ANY_ISNE_UINT32;
extern GrB_Semiring GxB_ANY_ISNE_UINT64;
extern GrB_Semiring GxB_ANY_LAND_BOOL;
extern GrB_Semiring GxB_ANY_LAND_FP32;
extern GrB_Semiring GxB_ANY_LAND_FP64;
extern GrB_Semiring GxB_ANY_LAND_INT8;
extern GrB_Semiring GxB_ANY_LAND_INT16;
extern GrB_Semiring GxB_ANY_LAND_INT32;
extern GrB_Semiring GxB_ANY_LAND_INT64;
extern GrB_Semiring GxB_ANY_LAND_UINT8;
extern GrB_Semiring GxB_ANY_LAND_UINT16;
extern GrB_Semiring GxB_ANY_LAND_UINT32;
extern GrB_Semiring GxB_ANY_LAND_UINT64;
extern GrB_Semiring GxB_ANY_LE_BOOL;
extern GrB_Semiring GxB_ANY_LE_FP32;
extern GrB_Semiring GxB_ANY_LE_FP64;
extern GrB_Semiring GxB_ANY_LE_INT8;
extern GrB_Semiring GxB_ANY_LE_INT16;
extern GrB_Semiring GxB_ANY_LE_INT32;
extern GrB_Semiring GxB_ANY_LE_INT64;
extern GrB_Semiring GxB_ANY_LE_UINT8;
extern GrB_Semiring GxB_ANY_LE_UINT16;
extern GrB_Semiring GxB_ANY_LE_UINT32;
extern GrB_Semiring GxB_ANY_LE_UINT64;
extern GrB_Semiring GxB_ANY_LOR_BOOL;
extern GrB_Semiring GxB_ANY_LOR_FP32;
extern GrB_Semiring GxB_ANY_LOR_FP64;
extern GrB_Semiring GxB_ANY_LOR_INT8;
extern GrB_Semiring GxB_ANY_LOR_INT16;
extern GrB_Semiring GxB_ANY_LOR_INT32;
extern GrB_Semiring GxB_ANY_LOR_INT64;
extern GrB_Semiring GxB_ANY_LOR_UINT8;
extern GrB_Semiring GxB_ANY_LOR_UINT16;
extern GrB_Semiring GxB_ANY_LOR_UINT32;
extern GrB_Semiring GxB_ANY_LOR_UINT64;
extern GrB_Semiring GxB_ANY_LT_BOOL;
extern GrB_Semiring GxB_ANY_LT_FP32;
extern GrB_Semiring GxB_ANY_LT_FP64;
extern GrB_Semiring GxB_ANY_LT_INT8;
extern GrB_Semiring GxB_ANY_LT_INT16;
extern GrB_Semiring GxB_ANY_LT_INT32;
extern GrB_Semiring GxB_ANY_LT_INT64;
extern GrB_Semiring GxB_ANY_LT_UINT8;
extern GrB_Semiring GxB_ANY_LT_UINT16;
extern GrB_Semiring GxB_ANY_LT_UINT32;
extern GrB_Semiring GxB_ANY_LT_UINT64;
extern GrB_Semiring GxB_ANY_LXOR_BOOL;
extern GrB_Semiring GxB_ANY_LXOR_FP32;
extern GrB_Semiring GxB_ANY_LXOR_FP64;
extern GrB_Semiring GxB_ANY_LXOR_INT8;
extern GrB_Semiring GxB_ANY_LXOR_INT16;
extern GrB_Semiring GxB_ANY_LXOR_INT32;
extern GrB_Semiring GxB_ANY_LXOR_INT64;
extern GrB_Semiring GxB_ANY_LXOR_UINT8;
extern GrB_Semiring GxB_ANY_LXOR_UINT16;
extern GrB_Semiring GxB_ANY_LXOR_UINT32;
extern GrB_Semiring GxB_ANY_LXOR_UINT64;
extern GrB_Semiring GxB_ANY_MAX_FP32;
extern GrB_Semiring GxB_ANY_MAX_FP64;
extern GrB_Semiring GxB_ANY_MAX_INT8;
extern GrB_Semiring GxB_ANY_MAX_INT16;
extern GrB_Semiring GxB_ANY_MAX_INT32;
extern GrB_Semiring GxB_ANY_MAX_INT64;
extern GrB_Semiring GxB_ANY_MAX_UINT8;
extern GrB_Semiring GxB_ANY_MAX_UINT16;
extern GrB_Semiring GxB_ANY_MAX_UINT32;
extern GrB_Semiring GxB_ANY_MAX_UINT64;
extern GrB_Semiring GxB_ANY_MINUS_FC32;
extern GrB_Semiring GxB_ANY_MINUS_FC64;
extern GrB_Semiring GxB_ANY_MINUS_FP32;
extern GrB_Semiring GxB_ANY_MINUS_FP64;
extern GrB_Semiring GxB_ANY_MINUS_INT8;
extern GrB_Semiring GxB_ANY_MINUS_INT16;
extern GrB_Semiring GxB_ANY_MINUS_INT32;
extern GrB_Semiring GxB_ANY_MINUS_INT64;
extern GrB_Semiring GxB_ANY_MINUS_UINT8;
extern GrB_Semiring GxB_ANY_MINUS_UINT16;
extern GrB_Semiring GxB_ANY_MINUS_UINT32;
extern GrB_Semiring GxB_ANY_MINUS_UINT64;
extern GrB_Semiring GxB_ANY_MIN_FP32;
extern GrB_Semiring GxB_ANY_MIN_FP64;
extern GrB_Semiring GxB_ANY_MIN_INT8;
extern GrB_Semiring GxB_ANY_MIN_INT16;
extern GrB_Semiring GxB_ANY_MIN_INT32;
extern GrB_Semiring GxB_ANY_MIN_INT64;
extern GrB_Semiring GxB_ANY_MIN_UINT8;
extern GrB_Semiring GxB_ANY_MIN_UINT16;
extern GrB_Semiring GxB_ANY_MIN_UINT32;
extern GrB_Semiring GxB_ANY_MIN_UINT64;
extern GrB_Semiring GxB_ANY_NE_FP32;
extern GrB_Semiring GxB_ANY_NE_FP64;
extern GrB_Semiring GxB_ANY_NE_INT8;
extern GrB_Semiring GxB_ANY_NE_INT16;
extern GrB_Semiring GxB_ANY_NE_INT32;
extern GrB_Semiring GxB_ANY_NE_INT64;
extern GrB_Semiring GxB_ANY_NE_UINT8;
extern GrB_Semiring GxB_ANY_NE_UINT16;
extern GrB_Semiring GxB_ANY_NE_UINT32;
extern GrB_Semiring GxB_ANY_NE_UINT64;
extern GrB_Semiring GxB_ANY_PAIR_BOOL;
extern GrB_Semiring GxB_ANY_PAIR_FC32;
extern GrB_Semiring GxB_ANY_PAIR_FC64;
extern GrB_Semiring GxB_ANY_PAIR_FP32;
extern GrB_Semiring GxB_ANY_PAIR_FP64;
extern GrB_Semiring GxB_ANY_PAIR_INT8;
extern GrB_Semiring GxB_ANY_PAIR_INT16;
extern GrB_Semiring GxB_ANY_PAIR_INT32;
extern GrB_Semiring GxB_ANY_PAIR_INT64;
extern GrB_Semiring GxB_ANY_PAIR_UINT8;
extern GrB_Semiring GxB_ANY_PAIR_UINT16;
extern GrB_Semiring GxB_ANY_PAIR_UINT32;
extern GrB_Semiring GxB_ANY_PAIR_UINT64;
extern GrB_Semiring GxB_ANY_PLUS_FC32;
extern GrB_Semiring GxB_ANY_PLUS_FC64;
extern GrB_Semiring GxB_ANY_PLUS_FP32;
extern GrB_Semiring GxB_ANY_PLUS_FP64;
extern GrB_Semiring GxB_ANY_PLUS_INT8;
extern GrB_Semiring GxB_ANY_PLUS_INT16;
extern GrB_Semiring GxB_ANY_PLUS_INT32;
extern GrB_Semiring GxB_ANY_PLUS_INT64;
extern GrB_Semiring GxB_ANY_PLUS_UINT8;
extern GrB_Semiring GxB_ANY_PLUS_UINT16;
extern GrB_Semiring GxB_ANY_PLUS_UINT32;
extern GrB_Semiring GxB_ANY_PLUS_UINT64;
extern GrB_Semiring GxB_ANY_RDIV_FC32;
extern GrB_Semiring GxB_ANY_RDIV_FC64;
extern GrB_Semiring GxB_ANY_RDIV_FP32;
extern GrB_Semiring GxB_ANY_RDIV_FP64;
extern GrB_Semiring GxB_ANY_RDIV_INT8;
extern GrB_Semiring GxB_ANY_RDIV_INT16;
extern GrB_Semiring GxB_ANY_RDIV_INT32;
extern GrB_Semiring GxB_ANY_RDIV_INT64;
extern GrB_Semiring GxB_ANY_RDIV_UINT8;
extern GrB_Semiring GxB_ANY_RDIV_UINT16;
extern GrB_Semiring GxB_ANY_RDIV_UINT32;
extern GrB_Semiring GxB_ANY_RDIV_UINT64;
extern GrB_Semiring GxB_ANY_RMINUS_FC32;
extern GrB_Semiring GxB_ANY_RMINUS_FC64;
extern GrB_Semiring GxB_ANY_RMINUS_FP32;
extern GrB_Semiring GxB_ANY_RMINUS_FP64;
extern GrB_Semiring GxB_ANY_RMINUS_INT8;
extern GrB_Semiring GxB_ANY_RMINUS_INT16;
extern GrB_Semiring GxB_ANY_RMINUS_INT32;
extern GrB_Semiring GxB_ANY_RMINUS_INT64;
extern GrB_Semiring GxB_ANY_RMINUS_UINT8;
extern GrB_Semiring GxB_ANY_RMINUS_UINT16;
extern GrB_Semiring GxB_ANY_RMINUS_UINT32;
extern GrB_Semiring GxB_ANY_RMINUS_UINT64;
extern GrB_Semiring GxB_ANY_SECONDI1_INT32;
extern GrB_Semiring GxB_ANY_SECONDI1_INT64;
extern GrB_Semiring GxB_ANY_SECONDI_INT32;
extern GrB_Semiring GxB_ANY_SECONDI_INT64;
extern GrB_Semiring GxB_ANY_SECONDJ1_INT32;
extern GrB_Semiring GxB_ANY_SECONDJ1_INT64;
extern GrB_Semiring GxB_ANY_SECONDJ_INT32;
extern GrB_Semiring GxB_ANY_SECONDJ_INT64;
extern GrB_Semiring GxB_ANY_SECOND_BOOL;
extern GrB_Semiring GxB_ANY_SECOND_FC32;
extern GrB_Semiring GxB_ANY_SECOND_FC64;
extern GrB_Semiring GxB_ANY_SECOND_FP32;
extern GrB_Semiring GxB_ANY_SECOND_FP64;
extern GrB_Semiring GxB_ANY_SECOND_INT8;
extern GrB_Semiring GxB_ANY_SECOND_INT16;
extern GrB_Semiring GxB_ANY_SECOND_INT32;
extern GrB_Semiring GxB_ANY_SECOND_INT64;
extern GrB_Semiring GxB_ANY_SECOND_UINT8;
extern GrB_Semiring GxB_ANY_SECOND_UINT16;
extern GrB_Semiring GxB_ANY_SECOND_UINT32;
extern GrB_Semiring GxB_ANY_SECOND_UINT64;
extern GrB_Semiring GxB_ANY_TIMES_FC32;
extern GrB_Semiring GxB_ANY_TIMES_FC64;
extern GrB_Semiring GxB_ANY_TIMES_FP32;
extern GrB_Semiring GxB_ANY_TIMES_FP64;
extern GrB_Semiring GxB_ANY_TIMES_INT8;
extern GrB_Semiring GxB_ANY_TIMES_INT16;
extern GrB_Semiring GxB_ANY_TIMES_INT32;
extern GrB_Semiring GxB_ANY_TIMES_INT64;
extern GrB_Semiring GxB_ANY_TIMES_UINT8;
extern GrB_Semiring GxB_ANY_TIMES_UINT16;
extern GrB_Semiring GxB_ANY_TIMES_UINT32;
extern GrB_Semiring GxB_ANY_TIMES_UINT64;
extern GrB_Semiring GxB_BAND_BAND_UINT8;
extern GrB_Semiring GxB_BAND_BAND_UINT16;
extern GrB_Semiring GxB_BAND_BAND_UINT32;
extern GrB_Semiring GxB_BAND_BAND_UINT64;
extern GrB_Semiring GxB_BAND_BOR_UINT8;
extern GrB_Semiring GxB_BAND_BOR_UINT16;
extern GrB_Semiring GxB_BAND_BOR_UINT32;
extern GrB_Semiring GxB_BAND_BOR_UINT64;
extern GrB_Semiring GxB_BAND_BXNOR_UINT8;
extern GrB_Semiring GxB_BAND_BXNOR_UINT16;
extern GrB_Semiring GxB_BAND_BXNOR_UINT32;
extern GrB_Semiring GxB_BAND_BXNOR_UINT64;
extern GrB_Semiring GxB_BAND_BXOR_UINT8;
extern GrB_Semiring GxB_BAND_BXOR_UINT16;
extern GrB_Semiring GxB_BAND_BXOR_UINT32;
extern GrB_Semiring GxB_BAND_BXOR_UINT64;
extern GrB_Semiring GxB_BOR_BAND_UINT8;
extern GrB_Semiring GxB_BOR_BAND_UINT16;
extern GrB_Semiring GxB_BOR_BAND_UINT32;
extern GrB_Semiring GxB_BOR_BAND_UINT64;
extern GrB_Semiring GxB_BOR_BOR_UINT8;
extern GrB_Semiring GxB_BOR_BOR_UINT16;
extern GrB_Semiring GxB_BOR_BOR_UINT32;
extern GrB_Semiring GxB_BOR_BOR_UINT64;
extern GrB_Semiring GxB_BOR_BXNOR_UINT8;
extern GrB_Semiring GxB_BOR_BXNOR_UINT16;
extern GrB_Semiring GxB_BOR_BXNOR_UINT32;
extern GrB_Semiring GxB_BOR_BXNOR_UINT64;
extern GrB_Semiring GxB_BOR_BXOR_UINT8;
extern GrB_Semiring GxB_BOR_BXOR_UINT16;
extern GrB_Semiring GxB_BOR_BXOR_UINT32;
extern GrB_Semiring GxB_BOR_BXOR_UINT64;
extern GrB_Semiring GxB_BXNOR_BAND_UINT8;
extern GrB_Semiring GxB_BXNOR_BAND_UINT16;
extern GrB_Semiring GxB_BXNOR_BAND_UINT32;
extern GrB_Semiring GxB_BXNOR_BAND_UINT64;
extern GrB_Semiring GxB_BXNOR_BOR_UINT8;
extern GrB_Semiring GxB_BXNOR_BOR_UINT16;
extern GrB_Semiring GxB_BXNOR_BOR_UINT32;
extern GrB_Semiring GxB_BXNOR_BOR_UINT64;
extern GrB_Semiring GxB_BXNOR_BXNOR_UINT8;
extern GrB_Semiring GxB_BXNOR_BXNOR_UINT16;
extern GrB_Semiring GxB_BXNOR_BXNOR_UINT32;
extern GrB_Semiring GxB_BXNOR_BXNOR_UINT64;
extern GrB_Semiring GxB_BXNOR_BXOR_UINT8;
extern GrB_Semiring GxB_BXNOR_BXOR_UINT16;
extern GrB_Semiring GxB_BXNOR_BXOR_UINT32;
extern GrB_Semiring GxB_BXNOR_BXOR_UINT64;
extern GrB_Semiring GxB_BXOR_BAND_UINT8;
extern GrB_Semiring GxB_BXOR_BAND_UINT16;
extern GrB_Semiring GxB_BXOR_BAND_UINT32;
extern GrB_Semiring GxB_BXOR_BAND_UINT64;
extern GrB_Semiring GxB_BXOR_BOR_UINT8;
extern GrB_Semiring GxB_BXOR_BOR_UINT16;
extern GrB_Semiring GxB_BXOR_BOR_UINT32;
extern GrB_Semiring GxB_BXOR_BOR_UINT64;
extern GrB_Semiring GxB_BXOR_BXNOR_UINT8;
extern GrB_Semiring GxB_BXOR_BXNOR_UINT16;
extern GrB_Semiring GxB_BXOR_BXNOR_UINT32;
extern GrB_Semiring GxB_BXOR_BXNOR_UINT64;
extern GrB_Semiring GxB_BXOR_BXOR_UINT8;
extern GrB_Semiring GxB_BXOR_BXOR_UINT16;
extern GrB_Semiring GxB_BXOR_BXOR_UINT32;
extern GrB_Semiring GxB_BXOR_BXOR_UINT64;
extern GrB_Semiring GxB_EQ_EQ_BOOL;
extern GrB_Semiring GxB_EQ_EQ_FP32;
extern GrB_Semiring GxB_EQ_EQ_FP64;
extern GrB_Semiring GxB_EQ_EQ_INT8;
extern GrB_Semiring GxB_EQ_EQ_INT16;
extern GrB_Semiring GxB_EQ_EQ_INT32;
extern GrB_Semiring GxB_EQ_EQ_INT64;
extern GrB_Semiring GxB_EQ_EQ_UINT8;
extern GrB_Semiring GxB_EQ_EQ_UINT16;
extern GrB_Semiring GxB_EQ_EQ_UINT32;
extern GrB_Semiring GxB_EQ_EQ_UINT64;
extern GrB_Semiring GxB_EQ_FIRST_BOOL;
extern GrB_Semiring GxB_EQ_GE_BOOL;
extern GrB_Semiring GxB_EQ_GE_FP32;
extern GrB_Semiring GxB_EQ_GE_FP64;
extern GrB_Semiring GxB_EQ_GE_INT8;
extern GrB_Semiring GxB_EQ_GE_INT16;
extern GrB_Semiring GxB_EQ_GE_INT32;
extern GrB_Semiring GxB_EQ_GE_INT64;
extern GrB_Semiring GxB_EQ_GE_UINT8;
extern GrB_Semiring GxB_EQ_GE_UINT16;
extern GrB_Semiring GxB_EQ_GE_UINT32;
extern GrB_Semiring GxB_EQ_GE_UINT64;
extern GrB_Semiring GxB_EQ_GT_BOOL;
extern GrB_Semiring GxB_EQ_GT_FP32;
extern GrB_Semiring GxB_EQ_GT_FP64;
extern GrB_Semiring GxB_EQ_GT_INT8;
extern GrB_Semiring GxB_EQ_GT_INT16;
extern GrB_Semiring GxB_EQ_GT_INT32;
extern GrB_Semiring GxB_EQ_GT_INT64;
extern GrB_Semiring GxB_EQ_GT_UINT8;
extern GrB_Semiring GxB_EQ_GT_UINT16;
extern GrB_Semiring GxB_EQ_GT_UINT32;
extern GrB_Semiring GxB_EQ_GT_UINT64;
extern GrB_Semiring GxB_EQ_LAND_BOOL;
extern GrB_Semiring GxB_EQ_LE_BOOL;
extern GrB_Semiring GxB_EQ_LE_FP32;
extern GrB_Semiring GxB_EQ_LE_FP64;
extern GrB_Semiring GxB_EQ_LE_INT8;
extern GrB_Semiring GxB_EQ_LE_INT16;
extern GrB_Semiring GxB_EQ_LE_INT32;
extern GrB_Semiring GxB_EQ_LE_INT64;
extern GrB_Semiring GxB_EQ_LE_UINT8;
extern GrB_Semiring GxB_EQ_LE_UINT16;
extern GrB_Semiring GxB_EQ_LE_UINT32;
extern GrB_Semiring GxB_EQ_LE_UINT64;
extern GrB_Semiring GxB_EQ_LOR_BOOL;
extern GrB_Semiring GxB_EQ_LT_BOOL;
extern GrB_Semiring GxB_EQ_LT_FP32;
extern GrB_Semiring GxB_EQ_LT_FP64;
extern GrB_Semiring GxB_EQ_LT_INT8;
extern GrB_Semiring GxB_EQ_LT_INT16;
extern GrB_Semiring GxB_EQ_LT_INT32;
extern GrB_Semiring GxB_EQ_LT_INT64;
extern GrB_Semiring GxB_EQ_LT_UINT8;
extern GrB_Semiring GxB_EQ_LT_UINT16;
extern GrB_Semiring GxB_EQ_LT_UINT32;
extern GrB_Semiring GxB_EQ_LT_UINT64;
extern GrB_Semiring GxB_EQ_LXOR_BOOL;
extern GrB_Semiring GxB_EQ_NE_FP32;
extern GrB_Semiring GxB_EQ_NE_FP64;
extern GrB_Semiring GxB_EQ_NE_INT8;
extern GrB_Semiring GxB_EQ_NE_INT16;
extern GrB_Semiring GxB_EQ_NE_INT32;
extern GrB_Semiring GxB_EQ_NE_INT64;
extern GrB_Semiring GxB_EQ_NE_UINT8;
extern GrB_Semiring GxB_EQ_NE_UINT16;
extern GrB_Semiring GxB_EQ_NE_UINT32;
extern GrB_Semiring GxB_EQ_NE_UINT64;
extern GrB_Semiring GxB_EQ_PAIR_BOOL;
extern GrB_Semiring GxB_EQ_SECOND_BOOL;
extern GrB_Semiring GxB_LAND_EQ_BOOL;
extern GrB_Semiring GxB_LAND_EQ_FP32;
extern GrB_Semiring GxB_LAND_EQ_FP64;
extern GrB_Semiring GxB_LAND_EQ_INT8;
extern GrB_Semiring GxB_LAND_EQ_INT16;
extern GrB_Semiring GxB_LAND_EQ_INT32;
extern GrB_Semiring GxB_LAND_EQ_INT64;
extern GrB_Semiring GxB_LAND_EQ_UINT8;
extern GrB_Semiring GxB_LAND_EQ_UINT16;
extern GrB_Semiring GxB_LAND_EQ_UINT32;
extern GrB_Semiring GxB_LAND_EQ_UINT64;
extern GrB_Semiring GxB_LAND_FIRST_BOOL;
extern GrB_Semiring GxB_LAND_GE_BOOL;
extern GrB_Semiring GxB_LAND_GE_FP32;
extern GrB_Semiring GxB_LAND_GE_FP64;
extern GrB_Semiring GxB_LAND_GE_INT8;
extern GrB_Semiring GxB_LAND_GE_INT16;
extern GrB_Semiring GxB_LAND_GE_INT32;
extern GrB_Semiring GxB_LAND_GE_INT64;
extern GrB_Semiring GxB_LAND_GE_UINT8;
extern GrB_Semiring GxB_LAND_GE_UINT16;
extern GrB_Semiring GxB_LAND_GE_UINT32;
extern GrB_Semiring GxB_LAND_GE_UINT64;
extern GrB_Semiring GxB_LAND_GT_BOOL;
extern GrB_Semiring GxB_LAND_GT_FP32;
extern GrB_Semiring GxB_LAND_GT_FP64;
extern GrB_Semiring GxB_LAND_GT_INT8;
extern GrB_Semiring GxB_LAND_GT_INT16;
extern GrB_Semiring GxB_LAND_GT_INT32;
extern GrB_Semiring GxB_LAND_GT_INT64;
extern GrB_Semiring GxB_LAND_GT_UINT8;
extern GrB_Semiring GxB_LAND_GT_UINT16;
extern GrB_Semiring GxB_LAND_GT_UINT32;
extern GrB_Semiring GxB_LAND_GT_UINT64;
extern GrB_Semiring GxB_LAND_LAND_BOOL;
extern GrB_Semiring GxB_LAND_LE_BOOL;
extern GrB_Semiring GxB_LAND_LE_FP32;
extern GrB_Semiring GxB_LAND_LE_FP64;
extern GrB_Semiring GxB_LAND_LE_INT8;
extern GrB_Semiring GxB_LAND_LE_INT16;
extern GrB_Semiring GxB_LAND_LE_INT32;
extern GrB_Semiring GxB_LAND_LE_INT64;
extern GrB_Semiring GxB_LAND_LE_UINT8;
extern GrB_Semiring GxB_LAND_LE_UINT16;
extern GrB_Semiring GxB_LAND_LE_UINT32;
extern GrB_Semiring GxB_LAND_LE_UINT64;
extern GrB_Semiring GxB_LAND_LT_BOOL;
extern GrB_Semiring GxB_LAND_LT_FP32;
extern GrB_Semiring GxB_LAND_LT_FP64;
extern GrB_Semiring GxB_LAND_LT_INT8;
extern GrB_Semiring GxB_LAND_LT_INT16;
extern GrB_Semiring GxB_LAND_LT_INT32;
extern GrB_Semiring GxB_LAND_LT_INT64;
extern GrB_Semiring GxB_LAND_LT_UINT8;
extern GrB_Semiring GxB_LAND_LT_UINT16;
extern GrB_Semiring GxB_LAND_LT_UINT32;
extern GrB_Semiring GxB_LAND_LT_UINT64;
extern GrB_Semiring GxB_LAND_LXOR_BOOL;
extern GrB_Semiring GxB_LAND_NE_FP32;
extern GrB_Semiring GxB_LAND_NE_FP64;
extern GrB_Semiring GxB_LAND_NE_INT8;
extern GrB_Semiring GxB_LAND_NE_INT16;
extern GrB_Semiring GxB_LAND_NE_INT32;
extern GrB_Semiring GxB_LAND_NE_INT64;
extern GrB_Semiring GxB_LAND_NE_UINT8;
extern GrB_Semiring GxB_LAND_NE_UINT16;
extern GrB_Semiring GxB_LAND_NE_UINT32;
extern GrB_Semiring GxB_LAND_NE_UINT64;
extern GrB_Semiring GxB_LAND_PAIR_BOOL;
extern GrB_Semiring GxB_LAND_SECOND_BOOL;
extern GrB_Semiring GxB_LOR_EQ_BOOL;
extern GrB_Semiring GxB_LOR_EQ_FP32;
extern GrB_Semiring GxB_LOR_EQ_FP64;
extern GrB_Semiring GxB_LOR_EQ_INT8;
extern GrB_Semiring GxB_LOR_EQ_INT16;
extern GrB_Semiring GxB_LOR_EQ_INT32;
extern GrB_Semiring GxB_LOR_EQ_INT64;
extern GrB_Semiring GxB_LOR_EQ_UINT8;
extern GrB_Semiring GxB_LOR_EQ_UINT16;
extern GrB_Semiring GxB_LOR_EQ_UINT32;
extern GrB_Semiring GxB_LOR_EQ_UINT64;
extern GrB_Semiring GxB_LOR_FIRST_BOOL;
extern GrB_Semiring GxB_LOR_GE_BOOL;
extern GrB_Semiring GxB_LOR_GE_FP32;
extern GrB_Semiring GxB_LOR_GE_FP64;
extern GrB_Semiring GxB_LOR_GE_INT8;
extern GrB_Semiring GxB_LOR_GE_INT16;
extern GrB_Semiring GxB_LOR_GE_INT32;
extern GrB_Semiring GxB_LOR_GE_INT64;
extern GrB_Semiring GxB_LOR_GE_UINT8;
extern GrB_Semiring GxB_LOR_GE_UINT16;
extern GrB_Semiring GxB_LOR_GE_UINT32;
extern GrB_Semiring GxB_LOR_GE_UINT64;
extern GrB_Semiring GxB_LOR_GT_BOOL;
extern GrB_Semiring GxB_LOR_GT_FP32;
extern GrB_Semiring GxB_LOR_GT_FP64;
extern GrB_Semiring GxB_LOR_GT_INT8;
extern GrB_Semiring GxB_LOR_GT_INT16;
extern GrB_Semiring GxB_LOR_GT_INT32;
extern GrB_Semiring GxB_LOR_GT_INT64;
extern GrB_Semiring GxB_LOR_GT_UINT8;
extern GrB_Semiring GxB_LOR_GT_UINT16;
extern GrB_Semiring GxB_LOR_GT_UINT32;
extern GrB_Semiring GxB_LOR_GT_UINT64;
extern GrB_Semiring GxB_LOR_LE_BOOL;
extern GrB_Semiring GxB_LOR_LE_FP32;
extern GrB_Semiring GxB_LOR_LE_FP64;
extern GrB_Semiring GxB_LOR_LE_INT8;
extern GrB_Semiring GxB_LOR_LE_INT16;
extern GrB_Semiring GxB_LOR_LE_INT32;
extern GrB_Semiring GxB_LOR_LE_INT64;
extern GrB_Semiring GxB_LOR_LE_UINT8;
extern GrB_Semiring GxB_LOR_LE_UINT16;
extern GrB_Semiring GxB_LOR_LE_UINT32;
extern GrB_Semiring GxB_LOR_LE_UINT64;
extern GrB_Semiring GxB_LOR_LOR_BOOL;
extern GrB_Semiring GxB_LOR_LT_BOOL;
extern GrB_Semiring GxB_LOR_LT_FP32;
extern GrB_Semiring GxB_LOR_LT_FP64;
extern GrB_Semiring GxB_LOR_LT_INT8;
extern GrB_Semiring GxB_LOR_LT_INT16;
extern GrB_Semiring GxB_LOR_LT_INT32;
extern GrB_Semiring GxB_LOR_LT_INT64;
extern GrB_Semiring GxB_LOR_LT_UINT8;
extern GrB_Semiring GxB_LOR_LT_UINT16;
extern GrB_Semiring GxB_LOR_LT_UINT32;
extern GrB_Semiring GxB_LOR_LT_UINT64;
extern GrB_Semiring GxB_LOR_LXOR_BOOL;
extern GrB_Semiring GxB_LOR_NE_FP32;
extern GrB_Semiring GxB_LOR_NE_FP64;
extern GrB_Semiring GxB_LOR_NE_INT8;
extern GrB_Semiring GxB_LOR_NE_INT16;
extern GrB_Semiring GxB_LOR_NE_INT32;
extern GrB_Semiring GxB_LOR_NE_INT64;
extern GrB_Semiring GxB_LOR_NE_UINT8;
extern GrB_Semiring GxB_LOR_NE_UINT16;
extern GrB_Semiring GxB_LOR_NE_UINT32;
extern GrB_Semiring GxB_LOR_NE_UINT64;
extern GrB_Semiring GxB_LOR_PAIR_BOOL;
extern GrB_Semiring GxB_LOR_SECOND_BOOL;
extern GrB_Semiring GxB_LXOR_EQ_BOOL;
extern GrB_Semiring GxB_LXOR_EQ_FP32;
extern GrB_Semiring GxB_LXOR_EQ_FP64;
extern GrB_Semiring GxB_LXOR_EQ_INT8;
extern GrB_Semiring GxB_LXOR_EQ_INT16;
extern GrB_Semiring GxB_LXOR_EQ_INT32;
extern GrB_Semiring GxB_LXOR_EQ_INT64;
extern GrB_Semiring GxB_LXOR_EQ_UINT8;
extern GrB_Semiring GxB_LXOR_EQ_UINT16;
extern GrB_Semiring GxB_LXOR_EQ_UINT32;
extern GrB_Semiring GxB_LXOR_EQ_UINT64;
extern GrB_Semiring GxB_LXOR_FIRST_BOOL;
extern GrB_Semiring GxB_LXOR_GE_BOOL;
extern GrB_Semiring GxB_LXOR_GE_FP32;
extern GrB_Semiring GxB_LXOR_GE_FP64;
extern GrB_Semiring GxB_LXOR_GE_INT8;
extern GrB_Semiring GxB_LXOR_GE_INT16;
extern GrB_Semiring GxB_LXOR_GE_INT32;
extern GrB_Semiring GxB_LXOR_GE_INT64;
extern GrB_Semiring GxB_LXOR_GE_UINT8;
extern GrB_Semiring GxB_LXOR_GE_UINT16;
extern GrB_Semiring GxB_LXOR_GE_UINT32;
extern GrB_Semiring GxB_LXOR_GE_UINT64;
extern GrB_Semiring GxB_LXOR_GT_BOOL;
extern GrB_Semiring GxB_LXOR_GT_FP32;
extern GrB_Semiring GxB_LXOR_GT_FP64;
extern GrB_Semiring GxB_LXOR_GT_INT8;
extern GrB_Semiring GxB_LXOR_GT_INT16;
extern GrB_Semiring GxB_LXOR_GT_INT32;
extern GrB_Semiring GxB_LXOR_GT_INT64;
extern GrB_Semiring GxB_LXOR_GT_UINT8;
extern GrB_Semiring GxB_LXOR_GT_UINT16;
extern GrB_Semiring GxB_LXOR_GT_UINT32;
extern GrB_Semiring GxB_LXOR_GT_UINT64;
extern GrB_Semiring GxB_LXOR_LE_BOOL;
extern GrB_Semiring GxB_LXOR_LE_FP32;
extern GrB_Semiring GxB_LXOR_LE_FP64;
extern GrB_Semiring GxB_LXOR_LE_INT8;
extern GrB_Semiring GxB_LXOR_LE_INT16;
extern GrB_Semiring GxB_LXOR_LE_INT32;
extern GrB_Semiring GxB_LXOR_LE_INT64;
extern GrB_Semiring GxB_LXOR_LE_UINT8;
extern GrB_Semiring GxB_LXOR_LE_UINT16;
extern GrB_Semiring GxB_LXOR_LE_UINT32;
extern GrB_Semiring GxB_LXOR_LE_UINT64;
extern GrB_Semiring GxB_LXOR_LOR_BOOL;
extern GrB_Semiring GxB_LXOR_LT_BOOL;
extern GrB_Semiring GxB_LXOR_LT_FP32;
extern GrB_Semiring GxB_LXOR_LT_FP64;
extern GrB_Semiring GxB_LXOR_LT_INT8;
extern GrB_Semiring GxB_LXOR_LT_INT16;
extern GrB_Semiring GxB_LXOR_LT_INT32;
extern GrB_Semiring GxB_LXOR_LT_INT64;
extern GrB_Semiring GxB_LXOR_LT_UINT8;
extern GrB_Semiring GxB_LXOR_LT_UINT16;
extern GrB_Semiring GxB_LXOR_LT_UINT32;
extern GrB_Semiring GxB_LXOR_LT_UINT64;
extern GrB_Semiring GxB_LXOR_LXOR_BOOL;
extern GrB_Semiring GxB_LXOR_NE_FP32;
extern GrB_Semiring GxB_LXOR_NE_FP64;
extern GrB_Semiring GxB_LXOR_NE_INT8;
extern GrB_Semiring GxB_LXOR_NE_INT16;
extern GrB_Semiring GxB_LXOR_NE_INT32;
extern GrB_Semiring GxB_LXOR_NE_INT64;
extern GrB_Semiring GxB_LXOR_NE_UINT8;
extern GrB_Semiring GxB_LXOR_NE_UINT16;
extern GrB_Semiring GxB_LXOR_NE_UINT32;
extern GrB_Semiring GxB_LXOR_NE_UINT64;
extern GrB_Semiring GxB_LXOR_PAIR_BOOL;
extern GrB_Semiring GxB_LXOR_SECOND_BOOL;
extern GrB_Semiring GxB_MAX_DIV_FP32;
extern GrB_Semiring GxB_MAX_DIV_FP64;
extern GrB_Semiring GxB_MAX_DIV_INT8;
extern GrB_Semiring GxB_MAX_DIV_INT16;
extern GrB_Semiring GxB_MAX_DIV_INT32;
extern GrB_Semiring GxB_MAX_DIV_INT64;
extern GrB_Semiring GxB_MAX_DIV_UINT8;
extern GrB_Semiring GxB_MAX_DIV_UINT16;
extern GrB_Semiring GxB_MAX_DIV_UINT32;
extern GrB_Semiring GxB_MAX_DIV_UINT64;
extern GrB_Semiring GxB_MAX_FIRSTI1_INT32;
extern GrB_Semiring GxB_MAX_FIRSTI1_INT64;
extern GrB_Semiring GxB_MAX_FIRSTI_INT32;
extern GrB_Semiring GxB_MAX_FIRSTI_INT64;
extern GrB_Semiring GxB_MAX_FIRSTJ1_INT32;
extern GrB_Semiring GxB_MAX_FIRSTJ1_INT64;
extern GrB_Semiring GxB_MAX_FIRSTJ_INT32;
extern GrB_Semiring GxB_MAX_FIRSTJ_INT64;
extern GrB_Semiring GxB_MAX_ISEQ_FP32;
extern GrB_Semiring GxB_MAX_ISEQ_FP64;
extern GrB_Semiring GxB_MAX_ISEQ_INT8;
extern GrB_Semiring GxB_MAX_ISEQ_INT16;
extern GrB_Semiring GxB_MAX_ISEQ_INT32;
extern GrB_Semiring GxB_MAX_ISEQ_INT64;
extern GrB_Semiring GxB_MAX_ISEQ_UINT8;
extern GrB_Semiring GxB_MAX_ISEQ_UINT16;
extern GrB_Semiring GxB_MAX_ISEQ_UINT32;
extern GrB_Semiring GxB_MAX_ISEQ_UINT64;
extern GrB_Semiring GxB_MAX_ISGE_FP32;
extern GrB_Semiring GxB_MAX_ISGE_FP64;
extern GrB_Semiring GxB_MAX_ISGE_INT8;
extern GrB_Semiring GxB_MAX_ISGE_INT16;
extern GrB_Semiring GxB_MAX_ISGE_INT32;
extern GrB_Semiring GxB_MAX_ISGE_INT64;
extern GrB_Semiring GxB_MAX_ISGE_UINT8;
extern GrB_Semiring GxB_MAX_ISGE_UINT16;
extern GrB_Semiring GxB_MAX_ISGE_UINT32;
extern GrB_Semiring GxB_MAX_ISGE_UINT64;
extern GrB_Semiring GxB_MAX_ISGT_FP32;
extern GrB_Semiring GxB_MAX_ISGT_FP64;
extern GrB_Semiring GxB_MAX_ISGT_INT8;
extern GrB_Semiring GxB_MAX_ISGT_INT16;
extern GrB_Semiring GxB_MAX_ISGT_INT32;
extern GrB_Semiring GxB_MAX_ISGT_INT64;
extern GrB_Semiring GxB_MAX_ISGT_UINT8;
extern GrB_Semiring GxB_MAX_ISGT_UINT16;
extern GrB_Semiring GxB_MAX_ISGT_UINT32;
extern GrB_Semiring GxB_MAX_ISGT_UINT64;
extern GrB_Semiring GxB_MAX_ISLE_FP32;
extern GrB_Semiring GxB_MAX_ISLE_FP64;
extern GrB_Semiring GxB_MAX_ISLE_INT8;
extern GrB_Semiring GxB_MAX_ISLE_INT16;
extern GrB_Semiring GxB_MAX_ISLE_INT32;
extern GrB_Semiring GxB_MAX_ISLE_INT64;
extern GrB_Semiring GxB_MAX_ISLE_UINT8;
extern GrB_Semiring GxB_MAX_ISLE_UINT16;
extern GrB_Semiring GxB_MAX_ISLE_UINT32;
extern GrB_Semiring GxB_MAX_ISLE_UINT64;
extern GrB_Semiring GxB_MAX_ISLT_FP32;
extern GrB_Semiring GxB_MAX_ISLT_FP64;
extern GrB_Semiring GxB_MAX_ISLT_INT8;
extern GrB_Semiring GxB_MAX_ISLT_INT16;
extern GrB_Semiring GxB_MAX_ISLT_INT32;
extern GrB_Semiring GxB_MAX_ISLT_INT64;
extern GrB_Semiring GxB_MAX_ISLT_UINT8;
extern GrB_Semiring GxB_MAX_ISLT_UINT16;
extern GrB_Semiring GxB_MAX_ISLT_UINT32;
extern GrB_Semiring GxB_MAX_ISLT_UINT64;
extern GrB_Semiring GxB_MAX_ISNE_FP32;
extern GrB_Semiring GxB_MAX_ISNE_FP64;
extern GrB_Semiring GxB_MAX_ISNE_INT8;
extern GrB_Semiring GxB_MAX_ISNE_INT16;
extern GrB_Semiring GxB_MAX_ISNE_INT32;
extern GrB_Semiring GxB_MAX_ISNE_INT64;
extern GrB_Semiring GxB_MAX_ISNE_UINT8;
extern GrB_Semiring GxB_MAX_ISNE_UINT16;
extern GrB_Semiring GxB_MAX_ISNE_UINT32;
extern GrB_Semiring GxB_MAX_ISNE_UINT64;
extern GrB_Semiring GxB_MAX_LAND_FP32;
extern GrB_Semiring GxB_MAX_LAND_FP64;
extern GrB_Semiring GxB_MAX_LAND_INT8;
extern GrB_Semiring GxB_MAX_LAND_INT16;
extern GrB_Semiring GxB_MAX_LAND_INT32;
extern GrB_Semiring GxB_MAX_LAND_INT64;
extern GrB_Semiring GxB_MAX_LAND_UINT8;
extern GrB_Semiring GxB_MAX_LAND_UINT16;
extern GrB_Semiring GxB_MAX_LAND_UINT32;
extern GrB_Semiring GxB_MAX_LAND_UINT64;
extern GrB_Semiring GxB_MAX_LOR_FP32;
extern GrB_Semiring GxB_MAX_LOR_FP64;
extern GrB_Semiring GxB_MAX_LOR_INT8;
extern GrB_Semiring GxB_MAX_LOR_INT16;
extern GrB_Semiring GxB_MAX_LOR_INT32;
extern GrB_Semiring GxB_MAX_LOR_INT64;
extern GrB_Semiring GxB_MAX_LOR_UINT8;
extern GrB_Semiring GxB_MAX_LOR_UINT16;
extern GrB_Semiring GxB_MAX_LOR_UINT32;
extern GrB_Semiring GxB_MAX_LOR_UINT64;
extern GrB_Semiring GxB_MAX_LXOR_FP32;
extern GrB_Semiring GxB_MAX_LXOR_FP64;
extern GrB_Semiring GxB_MAX_LXOR_INT8;
extern GrB_Semiring GxB_MAX_LXOR_INT16;
extern GrB_Semiring GxB_MAX_LXOR_INT32;
extern GrB_Semiring GxB_MAX_LXOR_INT64;
extern GrB_Semiring GxB_MAX_LXOR_UINT8;
extern GrB_Semiring GxB_MAX_LXOR_UINT16;
extern GrB_Semiring GxB_MAX_LXOR_UINT32;
extern GrB_Semiring GxB_MAX_LXOR_UINT64;
extern GrB_Semiring GxB_MAX_MAX_FP32;
extern GrB_Semiring GxB_MAX_MAX_FP64;
extern GrB_Semiring GxB_MAX_MAX_INT8;
extern GrB_Semiring GxB_MAX_MAX_INT16;
extern GrB_Semiring GxB_MAX_MAX_INT32;
extern GrB_Semiring GxB_MAX_MAX_INT64;
extern GrB_Semiring GxB_MAX_MAX_UINT8;
extern GrB_Semiring GxB_MAX_MAX_UINT16;
extern GrB_Semiring GxB_MAX_MAX_UINT32;
extern GrB_Semiring GxB_MAX_MAX_UINT64;
extern GrB_Semiring GxB_MAX_MINUS_FP32;
extern GrB_Semiring GxB_MAX_MINUS_FP64;
extern GrB_Semiring GxB_MAX_MINUS_INT8;
extern GrB_Semiring GxB_MAX_MINUS_INT16;
extern GrB_Semiring GxB_MAX_MINUS_INT32;
extern GrB_Semiring GxB_MAX_MINUS_INT64;
extern GrB_Semiring GxB_MAX_MINUS_UINT8;
extern GrB_Semiring GxB_MAX_MINUS_UINT16;
extern GrB_Semiring GxB_MAX_MINUS_UINT32;
extern GrB_Semiring GxB_MAX_MINUS_UINT64;
extern GrB_Semiring GxB_MAX_PAIR_FP32;
extern GrB_Semiring GxB_MAX_PAIR_FP64;
extern GrB_Semiring GxB_MAX_PAIR_INT8;
extern GrB_Semiring GxB_MAX_PAIR_INT16;
extern GrB_Semiring GxB_MAX_PAIR_INT32;
extern GrB_Semiring GxB_MAX_PAIR_INT64;
extern GrB_Semiring GxB_MAX_PAIR_UINT8;
extern GrB_Semiring GxB_MAX_PAIR_UINT16;
extern GrB_Semiring GxB_MAX_PAIR_UINT32;
extern GrB_Semiring GxB_MAX_PAIR_UINT64;
extern GrB_Semiring GxB_MAX_RDIV_FP32;
extern GrB_Semiring GxB_MAX_RDIV_FP64;
extern GrB_Semiring GxB_MAX_RDIV_INT8;
extern GrB_Semiring GxB_MAX_RDIV_INT16;
extern GrB_Semiring GxB_MAX_RDIV_INT32;
extern GrB_Semiring GxB_MAX_RDIV_INT64;
extern GrB_Semiring GxB_MAX_RDIV_UINT8;
extern GrB_Semiring GxB_MAX_RDIV_UINT16;
extern GrB_Semiring GxB_MAX_RDIV_UINT32;
extern GrB_Semiring GxB_MAX_RDIV_UINT64;
extern GrB_Semiring GxB_MAX_RMINUS_FP32;
extern GrB_Semiring GxB_MAX_RMINUS_FP64;
extern GrB_Semiring GxB_MAX_RMINUS_INT8;
extern GrB_Semiring GxB_MAX_RMINUS_INT16;
extern GrB_Semiring GxB_MAX_RMINUS_INT32;
extern GrB_Semiring GxB_MAX_RMINUS_INT64;
extern GrB_Semiring GxB_MAX_RMINUS_UINT8;
extern GrB_Semiring GxB_MAX_RMINUS_UINT16;
extern GrB_Semiring GxB_MAX_RMINUS_UINT32;
extern GrB_Semiring GxB_MAX_RMINUS_UINT64;
extern GrB_Semiring GxB_MAX_SECONDI1_INT32;
extern GrB_Semiring GxB_MAX_SECONDI1_INT64;
extern GrB_Semiring GxB_MAX_SECONDI_INT32;
extern GrB_Semiring GxB_MAX_SECONDI_INT64;
extern GrB_Semiring GxB_MAX_SECONDJ1_INT32;
extern GrB_Semiring GxB_MAX_SECONDJ1_INT64;
extern GrB_Semiring GxB_MAX_SECONDJ_INT32;
extern GrB_Semiring GxB_MAX_SECONDJ_INT64;
extern GrB_Semiring GxB_MIN_DIV_FP32;
extern GrB_Semiring GxB_MIN_DIV_FP64;
extern GrB_Semiring GxB_MIN_DIV_INT8;
extern GrB_Semiring GxB_MIN_DIV_INT16;
extern GrB_Semiring GxB_MIN_DIV_INT32;
extern GrB_Semiring GxB_MIN_DIV_INT64;
extern GrB_Semiring GxB_MIN_DIV_UINT8;
extern GrB_Semiring GxB_MIN_DIV_UINT16;
extern GrB_Semiring GxB_MIN_DIV_UINT32;
extern GrB_Semiring GxB_MIN_DIV_UINT64;
extern GrB_Semiring GxB_MIN_FIRSTI1_INT32;
extern GrB_Semiring GxB_MIN_FIRSTI1_INT64;
extern GrB_Semiring GxB_MIN_FIRSTI_INT32;
extern GrB_Semiring GxB_MIN_FIRSTI_INT64;
extern GrB_Semiring GxB_MIN_FIRSTJ1_INT32;
extern GrB_Semiring GxB_MIN_FIRSTJ1_INT64;
extern GrB_Semiring GxB_MIN_FIRSTJ_INT32;
extern GrB_Semiring GxB_MIN_FIRSTJ_INT64;
extern GrB_Semiring GxB_MIN_ISEQ_FP32;
extern GrB_Semiring GxB_MIN_ISEQ_FP64;
extern GrB_Semiring GxB_MIN_ISEQ_INT8;
extern GrB_Semiring GxB_MIN_ISEQ_INT16;
extern GrB_Semiring GxB_MIN_ISEQ_INT32;
extern GrB_Semiring GxB_MIN_ISEQ_INT64;
extern GrB_Semiring GxB_MIN_ISEQ_UINT8;
extern GrB_Semiring GxB_MIN_ISEQ_UINT16;
extern GrB_Semiring GxB_MIN_ISEQ_UINT32;
extern GrB_Semiring GxB_MIN_ISEQ_UINT64;
extern GrB_Semiring GxB_MIN_ISGE_FP32;
extern GrB_Semiring GxB_MIN_ISGE_FP64;
extern GrB_Semiring GxB_MIN_ISGE_INT8;
extern GrB_Semiring GxB_MIN_ISGE_INT16;
extern GrB_Semiring GxB_MIN_ISGE_INT32;
extern GrB_Semiring GxB_MIN_ISGE_INT64;
extern GrB_Semiring GxB_MIN_ISGE_UINT8;
extern GrB_Semiring GxB_MIN_ISGE_UINT16;
extern GrB_Semiring GxB_MIN_ISGE_UINT32;
extern GrB_Semiring GxB_MIN_ISGE_UINT64;
extern GrB_Semiring GxB_MIN_ISGT_FP32;
extern GrB_Semiring GxB_MIN_ISGT_FP64;
extern GrB_Semiring GxB_MIN_ISGT_INT8;
extern GrB_Semiring GxB_MIN_ISGT_INT16;
extern GrB_Semiring GxB_MIN_ISGT_INT32;
extern GrB_Semiring GxB_MIN_ISGT_INT64;
extern GrB_Semiring GxB_MIN_ISGT_UINT8;
extern GrB_Semiring GxB_MIN_ISGT_UINT16;
extern GrB_Semiring GxB_MIN_ISGT_UINT32;
extern GrB_Semiring GxB_MIN_ISGT_UINT64;
extern GrB_Semiring GxB_MIN_ISLE_FP32;
extern GrB_Semiring GxB_MIN_ISLE_FP64;
extern GrB_Semiring GxB_MIN_ISLE_INT8;
extern GrB_Semiring GxB_MIN_ISLE_INT16;
extern GrB_Semiring GxB_MIN_ISLE_INT32;
extern GrB_Semiring GxB_MIN_ISLE_INT64;
extern GrB_Semiring GxB_MIN_ISLE_UINT8;
extern GrB_Semiring GxB_MIN_ISLE_UINT16;
extern GrB_Semiring GxB_MIN_ISLE_UINT32;
extern GrB_Semiring GxB_MIN_ISLE_UINT64;
extern GrB_Semiring GxB_MIN_ISLT_FP32;
extern GrB_Semiring GxB_MIN_ISLT_FP64;
extern GrB_Semiring GxB_MIN_ISLT_INT8;
extern GrB_Semiring GxB_MIN_ISLT_INT16;
extern GrB_Semiring GxB_MIN_ISLT_INT32;
extern GrB_Semiring GxB_MIN_ISLT_INT64;
extern GrB_Semiring GxB_MIN_ISLT_UINT8;
extern GrB_Semiring GxB_MIN_ISLT_UINT16;
extern GrB_Semiring GxB_MIN_ISLT_UINT32;
extern GrB_Semiring GxB_MIN_ISLT_UINT64;
extern GrB_Semiring GxB_MIN_ISNE_FP32;
extern GrB_Semiring GxB_MIN_ISNE_FP64;
extern GrB_Semiring GxB_MIN_ISNE_INT8;
extern GrB_Semiring GxB_MIN_ISNE_INT16;
extern GrB_Semiring GxB_MIN_ISNE_INT32;
extern GrB_Semiring GxB_MIN_ISNE_INT64;
extern GrB_Semiring GxB_MIN_ISNE_UINT8;
extern GrB_Semiring GxB_MIN_ISNE_UINT16;
extern GrB_Semiring GxB_MIN_ISNE_UINT32;
extern GrB_Semiring GxB_MIN_ISNE_UINT64;
extern GrB_Semiring GxB_MIN_LAND_FP32;
extern GrB_Semiring GxB_MIN_LAND_FP64;
extern GrB_Semiring GxB_MIN_LAND_INT8;
extern GrB_Semiring GxB_MIN_LAND_INT16;
extern GrB_Semiring GxB_MIN_LAND_INT32;
extern GrB_Semiring GxB_MIN_LAND_INT64;
extern GrB_Semiring GxB_MIN_LAND_UINT8;
extern GrB_Semiring GxB_MIN_LAND_UINT16;
extern GrB_Semiring GxB_MIN_LAND_UINT32;
extern GrB_Semiring GxB_MIN_LAND_UINT64;
extern GrB_Semiring GxB_MIN_LOR_FP32;
extern GrB_Semiring GxB_MIN_LOR_FP64;
extern GrB_Semiring GxB_MIN_LOR_INT8;
extern GrB_Semiring GxB_MIN_LOR_INT16;
extern GrB_Semiring GxB_MIN_LOR_INT32;
extern GrB_Semiring GxB_MIN_LOR_INT64;
extern GrB_Semiring GxB_MIN_LOR_UINT8;
extern GrB_Semiring GxB_MIN_LOR_UINT16;
extern GrB_Semiring GxB_MIN_LOR_UINT32;
extern GrB_Semiring GxB_MIN_LOR_UINT64;
extern GrB_Semiring GxB_MIN_LXOR_FP32;
extern GrB_Semiring GxB_MIN_LXOR_FP64;
extern GrB_Semiring GxB_MIN_LXOR_INT8;
extern GrB_Semiring GxB_MIN_LXOR_INT16;
extern GrB_Semiring GxB_MIN_LXOR_INT32;
extern GrB_Semiring GxB_MIN_LXOR_INT64;
extern GrB_Semiring GxB_MIN_LXOR_UINT8;
extern GrB_Semiring GxB_MIN_LXOR_UINT16;
extern GrB_Semiring GxB_MIN_LXOR_UINT32;
extern GrB_Semiring GxB_MIN_LXOR_UINT64;
extern GrB_Semiring GxB_MIN_MINUS_FP32;
extern GrB_Semiring GxB_MIN_MINUS_FP64;
extern GrB_Semiring GxB_MIN_MINUS_INT8;
extern GrB_Semiring GxB_MIN_MINUS_INT16;
extern GrB_Semiring GxB_MIN_MINUS_INT32;
extern GrB_Semiring GxB_MIN_MINUS_INT64;
extern GrB_Semiring GxB_MIN_MINUS_UINT8;
extern GrB_Semiring GxB_MIN_MINUS_UINT16;
extern GrB_Semiring GxB_MIN_MINUS_UINT32;
extern GrB_Semiring GxB_MIN_MINUS_UINT64;
extern GrB_Semiring GxB_MIN_MIN_FP32;
extern GrB_Semiring GxB_MIN_MIN_FP64;
extern GrB_Semiring GxB_MIN_MIN_INT8;
extern GrB_Semiring GxB_MIN_MIN_INT16;
extern GrB_Semiring GxB_MIN_MIN_INT32;
extern GrB_Semiring GxB_MIN_MIN_INT64;
extern GrB_Semiring GxB_MIN_MIN_UINT8;
extern GrB_Semiring GxB_MIN_MIN_UINT16;
extern GrB_Semiring GxB_MIN_MIN_UINT32;
extern GrB_Semiring GxB_MIN_MIN_UINT64;
extern GrB_Semiring GxB_MIN_PAIR_FP32;
extern GrB_Semiring GxB_MIN_PAIR_FP64;
extern GrB_Semiring GxB_MIN_PAIR_INT8;
extern GrB_Semiring GxB_MIN_PAIR_INT16;
extern GrB_Semiring GxB_MIN_PAIR_INT32;
extern GrB_Semiring GxB_MIN_PAIR_INT64;
extern GrB_Semiring GxB_MIN_PAIR_UINT8;
extern GrB_Semiring GxB_MIN_PAIR_UINT16;
extern GrB_Semiring GxB_MIN_PAIR_UINT32;
extern GrB_Semiring GxB_MIN_PAIR_UINT64;
extern GrB_Semiring GxB_MIN_RDIV_FP32;
extern GrB_Semiring GxB_MIN_RDIV_FP64;
extern GrB_Semiring GxB_MIN_RDIV_INT8;
extern GrB_Semiring GxB_MIN_RDIV_INT16;
extern GrB_Semiring GxB_MIN_RDIV_INT32;
extern GrB_Semiring GxB_MIN_RDIV_INT64;
extern GrB_Semiring GxB_MIN_RDIV_UINT8;
extern GrB_Semiring GxB_MIN_RDIV_UINT16;
extern GrB_Semiring GxB_MIN_RDIV_UINT32;
extern GrB_Semiring GxB_MIN_RDIV_UINT64;
extern GrB_Semiring GxB_MIN_RMINUS_FP32;
extern GrB_Semiring GxB_MIN_RMINUS_FP64;
extern GrB_Semiring GxB_MIN_RMINUS_INT8;
extern GrB_Semiring GxB_MIN_RMINUS_INT16;
extern GrB_Semiring GxB_MIN_RMINUS_INT32;
extern GrB_Semiring GxB_MIN_RMINUS_INT64;
extern GrB_Semiring GxB_MIN_RMINUS_UINT8;
extern GrB_Semiring GxB_MIN_RMINUS_UINT16;
extern GrB_Semiring GxB_MIN_RMINUS_UINT32;
extern GrB_Semiring GxB_MIN_RMINUS_UINT64;
extern GrB_Semiring GxB_MIN_SECONDI1_INT32;
extern GrB_Semiring GxB_MIN_SECONDI1_INT64;
extern GrB_Semiring GxB_MIN_SECONDI_INT32;
extern GrB_Semiring GxB_MIN_SECONDI_INT64;
extern GrB_Semiring GxB_MIN_SECONDJ1_INT32;
extern GrB_Semiring GxB_MIN_SECONDJ1_INT64;
extern GrB_Semiring GxB_MIN_SECONDJ_INT32;
extern GrB_Semiring GxB_MIN_SECONDJ_INT64;
extern GrB_Semiring GxB_PLUS_DIV_FC32;
extern GrB_Semiring GxB_PLUS_DIV_FC64;
extern GrB_Semiring GxB_PLUS_DIV_FP32;
extern GrB_Semiring GxB_PLUS_DIV_FP64;
extern GrB_Semiring GxB_PLUS_DIV_INT8;
extern GrB_Semiring GxB_PLUS_DIV_INT16;
extern GrB_Semiring GxB_PLUS_DIV_INT32;
extern GrB_Semiring GxB_PLUS_DIV_INT64;
extern GrB_Semiring GxB_PLUS_DIV_UINT8;
extern GrB_Semiring GxB_PLUS_DIV_UINT16;
extern GrB_Semiring GxB_PLUS_DIV_UINT32;
extern GrB_Semiring GxB_PLUS_DIV_UINT64;
extern GrB_Semiring GxB_PLUS_FIRSTI1_INT32;
extern GrB_Semiring GxB_PLUS_FIRSTI1_INT64;
extern GrB_Semiring GxB_PLUS_FIRSTI_INT32;
extern GrB_Semiring GxB_PLUS_FIRSTI_INT64;
extern GrB_Semiring GxB_PLUS_FIRSTJ1_INT32;
extern GrB_Semiring GxB_PLUS_FIRSTJ1_INT64;
extern GrB_Semiring GxB_PLUS_FIRSTJ_INT32;
extern GrB_Semiring GxB_PLUS_FIRSTJ_INT64;
extern GrB_Semiring GxB_PLUS_FIRST_FC32;
extern GrB_Semiring GxB_PLUS_FIRST_FC64;
extern GrB_Semiring GxB_PLUS_FIRST_FP32;
extern GrB_Semiring GxB_PLUS_FIRST_FP64;
extern GrB_Semiring GxB_PLUS_FIRST_INT8;
extern GrB_Semiring GxB_PLUS_FIRST_INT16;
extern GrB_Semiring GxB_PLUS_FIRST_INT32;
extern GrB_Semiring GxB_PLUS_FIRST_INT64;
extern GrB_Semiring GxB_PLUS_FIRST_UINT8;
extern GrB_Semiring GxB_PLUS_FIRST_UINT16;
extern GrB_Semiring GxB_PLUS_FIRST_UINT32;
extern GrB_Semiring GxB_PLUS_FIRST_UINT64;
extern GrB_Semiring GxB_PLUS_ISEQ_FP32;
extern GrB_Semiring GxB_PLUS_ISEQ_FP64;
extern GrB_Semiring GxB_PLUS_ISEQ_INT8;
extern GrB_Semiring GxB_PLUS_ISEQ_INT16;
extern GrB_Semiring GxB_PLUS_ISEQ_INT32;
extern GrB_Semiring GxB_PLUS_ISEQ_INT64;
extern GrB_Semiring GxB_PLUS_ISEQ_UINT8;
extern GrB_Semiring GxB_PLUS_ISEQ_UINT16;
extern GrB_Semiring GxB_PLUS_ISEQ_UINT32;
extern GrB_Semiring GxB_PLUS_ISEQ_UINT64;
extern GrB_Semiring GxB_PLUS_ISGE_FP32;
extern GrB_Semiring GxB_PLUS_ISGE_FP64;
extern GrB_Semiring GxB_PLUS_ISGE_INT8;
extern GrB_Semiring GxB_PLUS_ISGE_INT16;
extern GrB_Semiring GxB_PLUS_ISGE_INT32;
extern GrB_Semiring GxB_PLUS_ISGE_INT64;
extern GrB_Semiring GxB_PLUS_ISGE_UINT8;
extern GrB_Semiring GxB_PLUS_ISGE_UINT16;
extern GrB_Semiring GxB_PLUS_ISGE_UINT32;
extern GrB_Semiring GxB_PLUS_ISGE_UINT64;
extern GrB_Semiring GxB_PLUS_ISGT_FP32;
extern GrB_Semiring GxB_PLUS_ISGT_FP64;
extern GrB_Semiring GxB_PLUS_ISGT_INT8;
extern GrB_Semiring GxB_PLUS_ISGT_INT16;
extern GrB_Semiring GxB_PLUS_ISGT_INT32;
extern GrB_Semiring GxB_PLUS_ISGT_INT64;
extern GrB_Semiring GxB_PLUS_ISGT_UINT8;
extern GrB_Semiring GxB_PLUS_ISGT_UINT16;
extern GrB_Semiring GxB_PLUS_ISGT_UINT32;
extern GrB_Semiring GxB_PLUS_ISGT_UINT64;
extern GrB_Semiring GxB_PLUS_ISLE_FP32;
extern GrB_Semiring GxB_PLUS_ISLE_FP64;
extern GrB_Semiring GxB_PLUS_ISLE_INT8;
extern GrB_Semiring GxB_PLUS_ISLE_INT16;
extern GrB_Semiring GxB_PLUS_ISLE_INT32;
extern GrB_Semiring GxB_PLUS_ISLE_INT64;
extern GrB_Semiring GxB_PLUS_ISLE_UINT8;
extern GrB_Semiring GxB_PLUS_ISLE_UINT16;
extern GrB_Semiring GxB_PLUS_ISLE_UINT32;
extern GrB_Semiring GxB_PLUS_ISLE_UINT64;
extern GrB_Semiring GxB_PLUS_ISLT_FP32;
extern GrB_Semiring GxB_PLUS_ISLT_FP64;
extern GrB_Semiring GxB_PLUS_ISLT_INT8;
extern GrB_Semiring GxB_PLUS_ISLT_INT16;
extern GrB_Semiring GxB_PLUS_ISLT_INT32;
extern GrB_Semiring GxB_PLUS_ISLT_INT64;
extern GrB_Semiring GxB_PLUS_ISLT_UINT8;
extern GrB_Semiring GxB_PLUS_ISLT_UINT16;
extern GrB_Semiring GxB_PLUS_ISLT_UINT32;
extern GrB_Semiring GxB_PLUS_ISLT_UINT64;
extern GrB_Semiring GxB_PLUS_ISNE_FP32;
extern GrB_Semiring GxB_PLUS_ISNE_FP64;
extern GrB_Semiring GxB_PLUS_ISNE_INT8;
extern GrB_Semiring GxB_PLUS_ISNE_INT16;
extern GrB_Semiring GxB_PLUS_ISNE_INT32;
extern GrB_Semiring GxB_PLUS_ISNE_INT64;
extern GrB_Semiring GxB_PLUS_ISNE_UINT8;
extern GrB_Semiring GxB_PLUS_ISNE_UINT16;
extern GrB_Semiring GxB_PLUS_ISNE_UINT32;
extern GrB_Semiring GxB_PLUS_ISNE_UINT64;
extern GrB_Semiring GxB_PLUS_LAND_FP32;
extern GrB_Semiring GxB_PLUS_LAND_FP64;
extern GrB_Semiring GxB_PLUS_LAND_INT8;
extern GrB_Semiring GxB_PLUS_LAND_INT16;
extern GrB_Semiring GxB_PLUS_LAND_INT32;
extern GrB_Semiring GxB_PLUS_LAND_INT64;
extern GrB_Semiring GxB_PLUS_LAND_UINT8;
extern GrB_Semiring GxB_PLUS_LAND_UINT16;
extern GrB_Semiring GxB_PLUS_LAND_UINT32;
extern GrB_Semiring GxB_PLUS_LAND_UINT64;
extern GrB_Semiring GxB_PLUS_LOR_FP32;
extern GrB_Semiring GxB_PLUS_LOR_FP64;
extern GrB_Semiring GxB_PLUS_LOR_INT8;
extern GrB_Semiring GxB_PLUS_LOR_INT16;
extern GrB_Semiring GxB_PLUS_LOR_INT32;
extern GrB_Semiring GxB_PLUS_LOR_INT64;
extern GrB_Semiring GxB_PLUS_LOR_UINT8;
extern GrB_Semiring GxB_PLUS_LOR_UINT16;
extern GrB_Semiring GxB_PLUS_LOR_UINT32;
extern GrB_Semiring GxB_PLUS_LOR_UINT64;
extern GrB_Semiring GxB_PLUS_LXOR_FP32;
extern GrB_Semiring GxB_PLUS_LXOR_FP64;
extern GrB_Semiring GxB_PLUS_LXOR_INT8;
extern GrB_Semiring GxB_PLUS_LXOR_INT16;
extern GrB_Semiring GxB_PLUS_LXOR_INT32;
extern GrB_Semiring GxB_PLUS_LXOR_INT64;
extern GrB_Semiring GxB_PLUS_LXOR_UINT8;
extern GrB_Semiring GxB_PLUS_LXOR_UINT16;
extern GrB_Semiring GxB_PLUS_LXOR_UINT32;
extern GrB_Semiring GxB_PLUS_LXOR_UINT64;
extern GrB_Semiring GxB_PLUS_MAX_FP32;
extern GrB_Semiring GxB_PLUS_MAX_FP64;
extern GrB_Semiring GxB_PLUS_MAX_INT8;
extern GrB_Semiring GxB_PLUS_MAX_INT16;
extern GrB_Semiring GxB_PLUS_MAX_INT32;
extern GrB_Semiring GxB_PLUS_MAX_INT64;
extern GrB_Semiring GxB_PLUS_MAX_UINT8;
extern GrB_Semiring GxB_PLUS_MAX_UINT16;
extern GrB_Semiring GxB_PLUS_MAX_UINT32;
extern GrB_Semiring GxB_PLUS_MAX_UINT64;
extern GrB_Semiring GxB_PLUS_MINUS_FC32;
extern GrB_Semiring GxB_PLUS_MINUS_FC64;
extern GrB_Semiring GxB_PLUS_MINUS_FP32;
extern GrB_Semiring GxB_PLUS_MINUS_FP64;
extern GrB_Semiring GxB_PLUS_MINUS_INT8;
extern GrB_Semiring GxB_PLUS_MINUS_INT16;
extern GrB_Semiring GxB_PLUS_MINUS_INT32;
extern GrB_Semiring GxB_PLUS_MINUS_INT64;
extern GrB_Semiring GxB_PLUS_MINUS_UINT8;
extern GrB_Semiring GxB_PLUS_MINUS_UINT16;
extern GrB_Semiring GxB_PLUS_MINUS_UINT32;
extern GrB_Semiring GxB_PLUS_MINUS_UINT64;
extern GrB_Semiring GxB_PLUS_PAIR_FC32;
extern GrB_Semiring GxB_PLUS_PAIR_FC64;
extern GrB_Semiring GxB_PLUS_PAIR_FP32;
extern GrB_Semiring GxB_PLUS_PAIR_FP64;
extern GrB_Semiring GxB_PLUS_PAIR_INT8;
extern GrB_Semiring GxB_PLUS_PAIR_INT16;
extern GrB_Semiring GxB_PLUS_PAIR_INT32;
extern GrB_Semiring GxB_PLUS_PAIR_INT64;
extern GrB_Semiring GxB_PLUS_PAIR_UINT8;
extern GrB_Semiring GxB_PLUS_PAIR_UINT16;
extern GrB_Semiring GxB_PLUS_PAIR_UINT32;
extern GrB_Semiring GxB_PLUS_PAIR_UINT64;
extern GrB_Semiring GxB_PLUS_PLUS_FC32;
extern GrB_Semiring GxB_PLUS_PLUS_FC64;
extern GrB_Semiring GxB_PLUS_PLUS_FP32;
extern GrB_Semiring GxB_PLUS_PLUS_FP64;
extern GrB_Semiring GxB_PLUS_PLUS_INT8;
extern GrB_Semiring GxB_PLUS_PLUS_INT16;
extern GrB_Semiring GxB_PLUS_PLUS_INT32;
extern GrB_Semiring GxB_PLUS_PLUS_INT64;
extern GrB_Semiring GxB_PLUS_PLUS_UINT8;
extern GrB_Semiring GxB_PLUS_PLUS_UINT16;
extern GrB_Semiring GxB_PLUS_PLUS_UINT32;
extern GrB_Semiring GxB_PLUS_PLUS_UINT64;
extern GrB_Semiring GxB_PLUS_RDIV_FC32;
extern GrB_Semiring GxB_PLUS_RDIV_FC64;
extern GrB_Semiring GxB_PLUS_RDIV_FP32;
extern GrB_Semiring GxB_PLUS_RDIV_FP64;
extern GrB_Semiring GxB_PLUS_RDIV_INT8;
extern GrB_Semiring GxB_PLUS_RDIV_INT16;
extern GrB_Semiring GxB_PLUS_RDIV_INT32;
extern GrB_Semiring GxB_PLUS_RDIV_INT64;
extern GrB_Semiring GxB_PLUS_RDIV_UINT8;
extern GrB_Semiring GxB_PLUS_RDIV_UINT16;
extern GrB_Semiring GxB_PLUS_RDIV_UINT32;
extern GrB_Semiring GxB_PLUS_RDIV_UINT64;
extern GrB_Semiring GxB_PLUS_RMINUS_FC32;
extern GrB_Semiring GxB_PLUS_RMINUS_FC64;
extern GrB_Semiring GxB_PLUS_RMINUS_FP32;
extern GrB_Semiring GxB_PLUS_RMINUS_FP64;
extern GrB_Semiring GxB_PLUS_RMINUS_INT8;
extern GrB_Semiring GxB_PLUS_RMINUS_INT16;
extern GrB_Semiring GxB_PLUS_RMINUS_INT32;
extern GrB_Semiring GxB_PLUS_RMINUS_INT64;
extern GrB_Semiring GxB_PLUS_RMINUS_UINT8;
extern GrB_Semiring GxB_PLUS_RMINUS_UINT16;
extern GrB_Semiring GxB_PLUS_RMINUS_UINT32;
extern GrB_Semiring GxB_PLUS_RMINUS_UINT64;
extern GrB_Semiring GxB_PLUS_SECONDI1_INT32;
extern GrB_Semiring GxB_PLUS_SECONDI1_INT64;
extern GrB_Semiring GxB_PLUS_SECONDI_INT32;
extern GrB_Semiring GxB_PLUS_SECONDI_INT64;
extern GrB_Semiring GxB_PLUS_SECONDJ1_INT32;
extern GrB_Semiring GxB_PLUS_SECONDJ1_INT64;
extern GrB_Semiring GxB_PLUS_SECONDJ_INT32;
extern GrB_Semiring GxB_PLUS_SECONDJ_INT64;
extern GrB_Semiring GxB_PLUS_SECOND_FC32;
extern GrB_Semiring GxB_PLUS_SECOND_FC64;
extern GrB_Semiring GxB_PLUS_SECOND_FP32;
extern GrB_Semiring GxB_PLUS_SECOND_FP64;
extern GrB_Semiring GxB_PLUS_SECOND_INT8;
extern GrB_Semiring GxB_PLUS_SECOND_INT16;
extern GrB_Semiring GxB_PLUS_SECOND_INT32;
extern GrB_Semiring GxB_PLUS_SECOND_INT64;
extern GrB_Semiring GxB_PLUS_SECOND_UINT8;
extern GrB_Semiring GxB_PLUS_SECOND_UINT16;
extern GrB_Semiring GxB_PLUS_SECOND_UINT32;
extern GrB_Semiring GxB_PLUS_SECOND_UINT64;
extern GrB_Semiring GxB_PLUS_TIMES_FC32;
extern GrB_Semiring GxB_PLUS_TIMES_FC64;
extern GrB_Semiring GxB_TIMES_DIV_FC32;
extern GrB_Semiring GxB_TIMES_DIV_FC64;
extern GrB_Semiring GxB_TIMES_DIV_FP32;
extern GrB_Semiring GxB_TIMES_DIV_FP64;
extern GrB_Semiring GxB_TIMES_DIV_INT8;
extern GrB_Semiring GxB_TIMES_DIV_INT16;
extern GrB_Semiring GxB_TIMES_DIV_INT32;
extern GrB_Semiring GxB_TIMES_DIV_INT64;
extern GrB_Semiring GxB_TIMES_DIV_UINT8;
extern GrB_Semiring GxB_TIMES_DIV_UINT16;
extern GrB_Semiring GxB_TIMES_DIV_UINT32;
extern GrB_Semiring GxB_TIMES_DIV_UINT64;
extern GrB_Semiring GxB_TIMES_FIRSTI1_INT32;
extern GrB_Semiring GxB_TIMES_FIRSTI1_INT64;
extern GrB_Semiring GxB_TIMES_FIRSTI_INT32;
extern GrB_Semiring GxB_TIMES_FIRSTI_INT64;
extern GrB_Semiring GxB_TIMES_FIRSTJ1_INT32;
extern GrB_Semiring GxB_TIMES_FIRSTJ1_INT64;
extern GrB_Semiring GxB_TIMES_FIRSTJ_INT32;
extern GrB_Semiring GxB_TIMES_FIRSTJ_INT64;
extern GrB_Semiring GxB_TIMES_FIRST_FC32;
extern GrB_Semiring GxB_TIMES_FIRST_FC64;
extern GrB_Semiring GxB_TIMES_FIRST_FP32;
extern GrB_Semiring GxB_TIMES_FIRST_FP64;
extern GrB_Semiring GxB_TIMES_FIRST_INT8;
extern GrB_Semiring GxB_TIMES_FIRST_INT16;
extern GrB_Semiring GxB_TIMES_FIRST_INT32;
extern GrB_Semiring GxB_TIMES_FIRST_INT64;
extern GrB_Semiring GxB_TIMES_FIRST_UINT8;
extern GrB_Semiring GxB_TIMES_FIRST_UINT16;
extern GrB_Semiring GxB_TIMES_FIRST_UINT32;
extern GrB_Semiring GxB_TIMES_FIRST_UINT64;
extern GrB_Semiring GxB_TIMES_ISEQ_FP32;
extern GrB_Semiring GxB_TIMES_ISEQ_FP64;
extern GrB_Semiring GxB_TIMES_ISEQ_INT8;
extern GrB_Semiring GxB_TIMES_ISEQ_INT16;
extern GrB_Semiring GxB_TIMES_ISEQ_INT32;
extern GrB_Semiring GxB_TIMES_ISEQ_INT64;
extern GrB_Semiring GxB_TIMES_ISEQ_UINT8;
extern GrB_Semiring GxB_TIMES_ISEQ_UINT16;
extern GrB_Semiring GxB_TIMES_ISEQ_UINT32;
extern GrB_Semiring GxB_TIMES_ISEQ_UINT64;
extern GrB_Semiring GxB_TIMES_ISGE_FP32;
extern GrB_Semiring GxB_TIMES_ISGE_FP64;
extern GrB_Semiring GxB_TIMES_ISGE_INT8;
extern GrB_Semiring GxB_TIMES_ISGE_INT16;
extern GrB_Semiring GxB_TIMES_ISGE_INT32;
extern GrB_Semiring GxB_TIMES_ISGE_INT64;
extern GrB_Semiring GxB_TIMES_ISGE_UINT8;
extern GrB_Semiring GxB_TIMES_ISGE_UINT16;
extern GrB_Semiring GxB_TIMES_ISGE_UINT32;
extern GrB_Semiring GxB_TIMES_ISGE_UINT64;
extern GrB_Semiring GxB_TIMES_ISGT_FP32;
extern GrB_Semiring GxB_TIMES_ISGT_FP64;
extern GrB_Semiring GxB_TIMES_ISGT_INT8;
extern GrB_Semiring GxB_TIMES_ISGT_INT16;
extern GrB_Semiring GxB_TIMES_ISGT_INT32;
extern GrB_Semiring GxB_TIMES_ISGT_INT64;
extern GrB_Semiring GxB_TIMES_ISGT_UINT8;
extern GrB_Semiring GxB_TIMES_ISGT_UINT16;
extern GrB_Semiring GxB_TIMES_ISGT_UINT32;
extern GrB_Semiring GxB_TIMES_ISGT_UINT64;
extern GrB_Semiring GxB_TIMES_ISLE_FP32;
extern GrB_Semiring GxB_TIMES_ISLE_FP64;
extern GrB_Semiring GxB_TIMES_ISLE_INT8;
extern GrB_Semiring GxB_TIMES_ISLE_INT16;
extern GrB_Semiring GxB_TIMES_ISLE_INT32;
extern GrB_Semiring GxB_TIMES_ISLE_INT64;
extern GrB_Semiring GxB_TIMES_ISLE_UINT8;
extern GrB_Semiring GxB_TIMES_ISLE_UINT16;
extern GrB_Semiring GxB_TIMES_ISLE_UINT32;
extern GrB_Semiring GxB_TIMES_ISLE_UINT64;
extern GrB_Semiring GxB_TIMES_ISLT_FP32;
extern GrB_Semiring GxB_TIMES_ISLT_FP64;
extern GrB_Semiring GxB_TIMES_ISLT_INT8;
extern GrB_Semiring GxB_TIMES_ISLT_INT16;
extern GrB_Semiring GxB_TIMES_ISLT_INT32;
extern GrB_Semiring GxB_TIMES_ISLT_INT64;
extern GrB_Semiring GxB_TIMES_ISLT_UINT8;
extern GrB_Semiring GxB_TIMES_ISLT_UINT16;
extern GrB_Semiring GxB_TIMES_ISLT_UINT32;
extern GrB_Semiring GxB_TIMES_ISLT_UINT64;
extern GrB_Semiring GxB_TIMES_ISNE_FP32;
extern GrB_Semiring GxB_TIMES_ISNE_FP64;
extern GrB_Semiring GxB_TIMES_ISNE_INT8;
extern GrB_Semiring GxB_TIMES_ISNE_INT16;
extern GrB_Semiring GxB_TIMES_ISNE_INT32;
extern GrB_Semiring GxB_TIMES_ISNE_INT64;
extern GrB_Semiring GxB_TIMES_ISNE_UINT8;
extern GrB_Semiring GxB_TIMES_ISNE_UINT16;
extern GrB_Semiring GxB_TIMES_ISNE_UINT32;
extern GrB_Semiring GxB_TIMES_ISNE_UINT64;
extern GrB_Semiring GxB_TIMES_LAND_FP32;
extern GrB_Semiring GxB_TIMES_LAND_FP64;
extern GrB_Semiring GxB_TIMES_LAND_INT8;
extern GrB_Semiring GxB_TIMES_LAND_INT16;
extern GrB_Semiring GxB_TIMES_LAND_INT32;
extern GrB_Semiring GxB_TIMES_LAND_INT64;
extern GrB_Semiring GxB_TIMES_LAND_UINT8;
extern GrB_Semiring GxB_TIMES_LAND_UINT16;
extern GrB_Semiring GxB_TIMES_LAND_UINT32;
extern GrB_Semiring GxB_TIMES_LAND_UINT64;
extern GrB_Semiring GxB_TIMES_LOR_FP32;
extern GrB_Semiring GxB_TIMES_LOR_FP64;
extern GrB_Semiring GxB_TIMES_LOR_INT8;
extern GrB_Semiring GxB_TIMES_LOR_INT16;
extern GrB_Semiring GxB_TIMES_LOR_INT32;
extern GrB_Semiring GxB_TIMES_LOR_INT64;
extern GrB_Semiring GxB_TIMES_LOR_UINT8;
extern GrB_Semiring GxB_TIMES_LOR_UINT16;
extern GrB_Semiring GxB_TIMES_LOR_UINT32;
extern GrB_Semiring GxB_TIMES_LOR_UINT64;
extern GrB_Semiring GxB_TIMES_LXOR_FP32;
extern GrB_Semiring GxB_TIMES_LXOR_FP64;
extern GrB_Semiring GxB_TIMES_LXOR_INT8;
extern GrB_Semiring GxB_TIMES_LXOR_INT16;
extern GrB_Semiring GxB_TIMES_LXOR_INT32;
extern GrB_Semiring GxB_TIMES_LXOR_INT64;
extern GrB_Semiring GxB_TIMES_LXOR_UINT8;
extern GrB_Semiring GxB_TIMES_LXOR_UINT16;
extern GrB_Semiring GxB_TIMES_LXOR_UINT32;
extern GrB_Semiring GxB_TIMES_LXOR_UINT64;
extern GrB_Semiring GxB_TIMES_MAX_FP32;
extern GrB_Semiring GxB_TIMES_MAX_FP64;
extern GrB_Semiring GxB_TIMES_MAX_INT8;
extern GrB_Semiring GxB_TIMES_MAX_INT16;
extern GrB_Semiring GxB_TIMES_MAX_INT32;
extern GrB_Semiring GxB_TIMES_MAX_INT64;
extern GrB_Semiring GxB_TIMES_MAX_UINT8;
extern GrB_Semiring GxB_TIMES_MAX_UINT16;
extern GrB_Semiring GxB_TIMES_MAX_UINT32;
extern GrB_Semiring GxB_TIMES_MAX_UINT64;
extern GrB_Semiring GxB_TIMES_MINUS_FC32;
extern GrB_Semiring GxB_TIMES_MINUS_FC64;
extern GrB_Semiring GxB_TIMES_MINUS_FP32;
extern GrB_Semiring GxB_TIMES_MINUS_FP64;
extern GrB_Semiring GxB_TIMES_MINUS_INT8;
extern GrB_Semiring GxB_TIMES_MINUS_INT16;
extern GrB_Semiring GxB_TIMES_MINUS_INT32;
extern GrB_Semiring GxB_TIMES_MINUS_INT64;
extern GrB_Semiring GxB_TIMES_MINUS_UINT8;
extern GrB_Semiring GxB_TIMES_MINUS_UINT16;
extern GrB_Semiring GxB_TIMES_MINUS_UINT32;
extern GrB_Semiring GxB_TIMES_MINUS_UINT64;
extern GrB_Semiring GxB_TIMES_MIN_FP32;
extern GrB_Semiring GxB_TIMES_MIN_FP64;
extern GrB_Semiring GxB_TIMES_MIN_INT8;
extern GrB_Semiring GxB_TIMES_MIN_INT16;
extern GrB_Semiring GxB_TIMES_MIN_INT32;
extern GrB_Semiring GxB_TIMES_MIN_INT64;
extern GrB_Semiring GxB_TIMES_MIN_UINT8;
extern GrB_Semiring GxB_TIMES_MIN_UINT16;
extern GrB_Semiring GxB_TIMES_MIN_UINT32;
extern GrB_Semiring GxB_TIMES_MIN_UINT64;
extern GrB_Semiring GxB_TIMES_PAIR_FC32;
extern GrB_Semiring GxB_TIMES_PAIR_FC64;
extern GrB_Semiring GxB_TIMES_PAIR_FP32;
extern GrB_Semiring GxB_TIMES_PAIR_FP64;
extern GrB_Semiring GxB_TIMES_PAIR_INT8;
extern GrB_Semiring GxB_TIMES_PAIR_INT16;
extern GrB_Semiring GxB_TIMES_PAIR_INT32;
extern GrB_Semiring GxB_TIMES_PAIR_INT64;
extern GrB_Semiring GxB_TIMES_PAIR_UINT8;
extern GrB_Semiring GxB_TIMES_PAIR_UINT16;
extern GrB_Semiring GxB_TIMES_PAIR_UINT32;
extern GrB_Semiring GxB_TIMES_PAIR_UINT64;
extern GrB_Semiring GxB_TIMES_PLUS_FC32;
extern GrB_Semiring GxB_TIMES_PLUS_FC64;
extern GrB_Semiring GxB_TIMES_PLUS_FP32;
extern GrB_Semiring GxB_TIMES_PLUS_FP64;
extern GrB_Semiring GxB_TIMES_PLUS_INT8;
extern GrB_Semiring GxB_TIMES_PLUS_INT16;
extern GrB_Semiring GxB_TIMES_PLUS_INT32;
extern GrB_Semiring GxB_TIMES_PLUS_INT64;
extern GrB_Semiring GxB_TIMES_PLUS_UINT8;
extern GrB_Semiring GxB_TIMES_PLUS_UINT16;
extern GrB_Semiring GxB_TIMES_PLUS_UINT32;
extern GrB_Semiring GxB_TIMES_PLUS_UINT64;
extern GrB_Semiring GxB_TIMES_RDIV_FC32;
extern GrB_Semiring GxB_TIMES_RDIV_FC64;
extern GrB_Semiring GxB_TIMES_RDIV_FP32;
extern GrB_Semiring GxB_TIMES_RDIV_FP64;
extern GrB_Semiring GxB_TIMES_RDIV_INT8;
extern GrB_Semiring GxB_TIMES_RDIV_INT16;
extern GrB_Semiring GxB_TIMES_RDIV_INT32;
extern GrB_Semiring GxB_TIMES_RDIV_INT64;
extern GrB_Semiring GxB_TIMES_RDIV_UINT8;
extern GrB_Semiring GxB_TIMES_RDIV_UINT16;
extern GrB_Semiring GxB_TIMES_RDIV_UINT32;
extern GrB_Semiring GxB_TIMES_RDIV_UINT64;
extern GrB_Semiring GxB_TIMES_RMINUS_FC32;
extern GrB_Semiring GxB_TIMES_RMINUS_FC64;
extern GrB_Semiring GxB_TIMES_RMINUS_FP32;
extern GrB_Semiring GxB_TIMES_RMINUS_FP64;
extern GrB_Semiring GxB_TIMES_RMINUS_INT8;
extern GrB_Semiring GxB_TIMES_RMINUS_INT16;
extern GrB_Semiring GxB_TIMES_RMINUS_INT32;
extern GrB_Semiring GxB_TIMES_RMINUS_INT64;
extern GrB_Semiring GxB_TIMES_RMINUS_UINT8;
extern GrB_Semiring GxB_TIMES_RMINUS_UINT16;
extern GrB_Semiring GxB_TIMES_RMINUS_UINT32;
extern GrB_Semiring GxB_TIMES_RMINUS_UINT64;
extern GrB_Semiring GxB_TIMES_SECONDI1_INT32;
extern GrB_Semiring GxB_TIMES_SECONDI1_INT64;
extern GrB_Semiring GxB_TIMES_SECONDI_INT32;
extern GrB_Semiring GxB_TIMES_SECONDI_INT64;
extern GrB_Semiring GxB_TIMES_SECONDJ1_INT32;
extern GrB_Semiring GxB_TIMES_SECONDJ1_INT64;
extern GrB_Semiring GxB_TIMES_SECONDJ_INT32;
extern GrB_Semiring GxB_TIMES_SECONDJ_INT64;
extern GrB_Semiring GxB_TIMES_SECOND_FC32;
extern GrB_Semiring GxB_TIMES_SECOND_FC64;
extern GrB_Semiring GxB_TIMES_SECOND_FP32;
extern GrB_Semiring GxB_TIMES_SECOND_FP64;
extern GrB_Semiring GxB_TIMES_SECOND_INT8;
extern GrB_Semiring GxB_TIMES_SECOND_INT16;
extern GrB_Semiring GxB_TIMES_SECOND_INT32;
extern GrB_Semiring GxB_TIMES_SECOND_INT64;
extern GrB_Semiring GxB_TIMES_SECOND_UINT8;
extern GrB_Semiring GxB_TIMES_SECOND_UINT16;
extern GrB_Semiring GxB_TIMES_SECOND_UINT32;
extern GrB_Semiring GxB_TIMES_SECOND_UINT64;
extern GrB_Semiring GxB_TIMES_TIMES_FC32;
extern GrB_Semiring GxB_TIMES_TIMES_FC64;
extern GrB_Semiring GxB_TIMES_TIMES_FP32;
extern GrB_Semiring GxB_TIMES_TIMES_FP64;
extern GrB_Semiring GxB_TIMES_TIMES_INT8;
extern GrB_Semiring GxB_TIMES_TIMES_INT16;
extern GrB_Semiring GxB_TIMES_TIMES_INT32;
extern GrB_Semiring GxB_TIMES_TIMES_INT64;
extern GrB_Semiring GxB_TIMES_TIMES_UINT8;
extern GrB_Semiring GxB_TIMES_TIMES_UINT16;
extern GrB_Semiring GxB_TIMES_TIMES_UINT32;
extern GrB_Semiring GxB_TIMES_TIMES_UINT64;
extern GrB_Type GxB_FC32;
extern GrB_Type GxB_FC64;
extern GrB_UnaryOp GxB_ABS_FC32;
extern GrB_UnaryOp GxB_ABS_FC64;
extern GrB_UnaryOp GxB_ACOSH_FC32;
extern GrB_UnaryOp GxB_ACOSH_FC64;
extern GrB_UnaryOp GxB_ACOSH_FP32;
extern GrB_UnaryOp GxB_ACOSH_FP64;
extern GrB_UnaryOp GxB_ACOS_FC32;
extern GrB_UnaryOp GxB_ACOS_FC64;
extern GrB_UnaryOp GxB_ACOS_FP32;
extern GrB_UnaryOp GxB_ACOS_FP64;
extern GrB_UnaryOp GxB_AINV_FC32;
extern GrB_UnaryOp GxB_AINV_FC64;
extern GrB_UnaryOp GxB_ASINH_FC32;
extern GrB_UnaryOp GxB_ASINH_FC64;
extern GrB_UnaryOp GxB_ASINH_FP32;
extern GrB_UnaryOp GxB_ASINH_FP64;
extern GrB_UnaryOp GxB_ASIN_FC32;
extern GrB_UnaryOp GxB_ASIN_FC64;
extern GrB_UnaryOp GxB_ASIN_FP32;
extern GrB_UnaryOp GxB_ASIN_FP64;
extern GrB_UnaryOp GxB_ATANH_FC32;
extern GrB_UnaryOp GxB_ATANH_FC64;
extern GrB_UnaryOp GxB_ATANH_FP32;
extern GrB_UnaryOp GxB_ATANH_FP64;
extern GrB_UnaryOp GxB_ATAN_FC32;
extern GrB_UnaryOp GxB_ATAN_FC64;
extern GrB_UnaryOp GxB_ATAN_FP32;
extern GrB_UnaryOp GxB_ATAN_FP64;
extern GrB_UnaryOp GxB_CARG_FC32;
extern GrB_UnaryOp GxB_CARG_FC64;
extern GrB_UnaryOp GxB_CBRT_FP32;
extern GrB_UnaryOp GxB_CBRT_FP64;
extern GrB_UnaryOp GxB_CEIL_FC32;
extern GrB_UnaryOp GxB_CEIL_FC64;
extern GrB_UnaryOp GxB_CEIL_FP32;
extern GrB_UnaryOp GxB_CEIL_FP64;
extern GrB_UnaryOp GxB_CIMAG_FC32;
extern GrB_UnaryOp GxB_CIMAG_FC64;
extern GrB_UnaryOp GxB_CONJ_FC32;
extern GrB_UnaryOp GxB_CONJ_FC64;
extern GrB_UnaryOp GxB_COSH_FC32;
extern GrB_UnaryOp GxB_COSH_FC64;
extern GrB_UnaryOp GxB_COSH_FP32;
extern GrB_UnaryOp GxB_COSH_FP64;
extern GrB_UnaryOp GxB_COS_FC32;
extern GrB_UnaryOp GxB_COS_FC64;
extern GrB_UnaryOp GxB_COS_FP32;
extern GrB_UnaryOp GxB_COS_FP64;
extern GrB_UnaryOp GxB_CREAL_FC32;
extern GrB_UnaryOp GxB_CREAL_FC64;
extern GrB_UnaryOp GxB_ERFC_FP32;
extern GrB_UnaryOp GxB_ERFC_FP64;
extern GrB_UnaryOp GxB_ERF_FP32;
extern GrB_UnaryOp GxB_ERF_FP64;
extern GrB_UnaryOp GxB_EXP2_FC32;
extern GrB_UnaryOp GxB_EXP2_FC64;
extern GrB_UnaryOp GxB_EXP2_FP32;
extern GrB_UnaryOp GxB_EXP2_FP64;
extern GrB_UnaryOp GxB_EXPM1_FC32;
extern GrB_UnaryOp GxB_EXPM1_FC64;
extern GrB_UnaryOp GxB_EXPM1_FP32;
extern GrB_UnaryOp GxB_EXPM1_FP64;
extern GrB_UnaryOp GxB_EXP_FC32;
extern GrB_UnaryOp GxB_EXP_FC64;
extern GrB_UnaryOp GxB_EXP_FP32;
extern GrB_UnaryOp GxB_EXP_FP64;
extern GrB_UnaryOp GxB_FLOOR_FC32;
extern GrB_UnaryOp GxB_FLOOR_FC64;
extern GrB_UnaryOp GxB_FLOOR_FP32;
extern GrB_UnaryOp GxB_FLOOR_FP64;
extern GrB_UnaryOp GxB_FREXPE_FP32;
extern GrB_UnaryOp GxB_FREXPE_FP64;
extern GrB_UnaryOp GxB_FREXPX_FP32;
extern GrB_UnaryOp GxB_FREXPX_FP64;
extern GrB_UnaryOp GxB_IDENTITY_FC32;
extern GrB_UnaryOp GxB_IDENTITY_FC64;
extern GrB_UnaryOp GxB_ISFINITE_FC32;
extern GrB_UnaryOp GxB_ISFINITE_FC64;
extern GrB_UnaryOp GxB_ISFINITE_FP32;
extern GrB_UnaryOp GxB_ISFINITE_FP64;
extern GrB_UnaryOp GxB_ISINF_FC32;
extern GrB_UnaryOp GxB_ISINF_FC64;
extern GrB_UnaryOp GxB_ISINF_FP32;
extern GrB_UnaryOp GxB_ISINF_FP64;
extern GrB_UnaryOp GxB_ISNAN_FC32;
extern GrB_UnaryOp GxB_ISNAN_FC64;
extern GrB_UnaryOp GxB_ISNAN_FP32;
extern GrB_UnaryOp GxB_ISNAN_FP64;
extern GrB_UnaryOp GxB_LGAMMA_FP32;
extern GrB_UnaryOp GxB_LGAMMA_FP64;
extern GrB_UnaryOp GxB_LNOT_BOOL;
extern GrB_UnaryOp GxB_LNOT_FP32;
extern GrB_UnaryOp GxB_LNOT_FP64;
extern GrB_UnaryOp GxB_LNOT_INT8;
extern GrB_UnaryOp GxB_LNOT_INT16;
extern GrB_UnaryOp GxB_LNOT_INT32;
extern GrB_UnaryOp GxB_LNOT_INT64;
extern GrB_UnaryOp GxB_LNOT_UINT8;
extern GrB_UnaryOp GxB_LNOT_UINT16;
extern GrB_UnaryOp GxB_LNOT_UINT32;
extern GrB_UnaryOp GxB_LNOT_UINT64;
extern GrB_UnaryOp GxB_LOG10_FC32;
extern GrB_UnaryOp GxB_LOG10_FC64;
extern GrB_UnaryOp GxB_LOG10_FP32;
extern GrB_UnaryOp GxB_LOG10_FP64;
extern GrB_UnaryOp GxB_LOG1P_FC32;
extern GrB_UnaryOp GxB_LOG1P_FC64;
extern GrB_UnaryOp GxB_LOG1P_FP32;
extern GrB_UnaryOp GxB_LOG1P_FP64;
extern GrB_UnaryOp GxB_LOG2_FC32;
extern GrB_UnaryOp GxB_LOG2_FC64;
extern GrB_UnaryOp GxB_LOG2_FP32;
extern GrB_UnaryOp GxB_LOG2_FP64;
extern GrB_UnaryOp GxB_LOG_FC32;
extern GrB_UnaryOp GxB_LOG_FC64;
extern GrB_UnaryOp GxB_LOG_FP32;
extern GrB_UnaryOp GxB_LOG_FP64;
extern GrB_UnaryOp GxB_MINV_FC32;
extern GrB_UnaryOp GxB_MINV_FC64;
extern GrB_UnaryOp GxB_ONE_BOOL;
extern GrB_UnaryOp GxB_ONE_FC32;
extern GrB_UnaryOp GxB_ONE_FC64;
extern GrB_UnaryOp GxB_ONE_FP32;
extern GrB_UnaryOp GxB_ONE_FP64;
extern GrB_UnaryOp GxB_ONE_INT8;
extern GrB_UnaryOp GxB_ONE_INT16;
extern GrB_UnaryOp GxB_ONE_INT32;
extern GrB_UnaryOp GxB_ONE_INT64;
extern GrB_UnaryOp GxB_ONE_UINT8;
extern GrB_UnaryOp GxB_ONE_UINT16;
extern GrB_UnaryOp GxB_ONE_UINT32;
extern GrB_UnaryOp GxB_ONE_UINT64;
extern GrB_UnaryOp GxB_POSITIONI1_INT32;
extern GrB_UnaryOp GxB_POSITIONI1_INT64;
extern GrB_UnaryOp GxB_POSITIONI_INT32;
extern GrB_UnaryOp GxB_POSITIONI_INT64;
extern GrB_UnaryOp GxB_POSITIONJ1_INT32;
extern GrB_UnaryOp GxB_POSITIONJ1_INT64;
extern GrB_UnaryOp GxB_POSITIONJ_INT32;
extern GrB_UnaryOp GxB_POSITIONJ_INT64;
extern GrB_UnaryOp GxB_ROUND_FC32;
extern GrB_UnaryOp GxB_ROUND_FC64;
extern GrB_UnaryOp GxB_ROUND_FP32;
extern GrB_UnaryOp GxB_ROUND_FP64;
extern GrB_UnaryOp GxB_SIGNUM_FC32;
extern GrB_UnaryOp GxB_SIGNUM_FC64;
extern GrB_UnaryOp GxB_SIGNUM_FP32;
extern GrB_UnaryOp GxB_SIGNUM_FP64;
extern GrB_UnaryOp GxB_SINH_FC32;
extern GrB_UnaryOp GxB_SINH_FC64;
extern GrB_UnaryOp GxB_SINH_FP32;
extern GrB_UnaryOp GxB_SINH_FP64;
extern GrB_UnaryOp GxB_SIN_FC32;
extern GrB_UnaryOp GxB_SIN_FC64;
extern GrB_UnaryOp GxB_SIN_FP32;
extern GrB_UnaryOp GxB_SIN_FP64;
extern GrB_UnaryOp GxB_SQRT_FC32;
extern GrB_UnaryOp GxB_SQRT_FC64;
extern GrB_UnaryOp GxB_SQRT_FP32;
extern GrB_UnaryOp GxB_SQRT_FP64;
extern GrB_UnaryOp GxB_TANH_FC32;
extern GrB_UnaryOp GxB_TANH_FC64;
extern GrB_UnaryOp GxB_TANH_FP32;
extern GrB_UnaryOp GxB_TANH_FP64;
extern GrB_UnaryOp GxB_TAN_FC32;
extern GrB_UnaryOp GxB_TAN_FC64;
extern GrB_UnaryOp GxB_TAN_FP32;
extern GrB_UnaryOp GxB_TAN_FP64;
extern GrB_UnaryOp GxB_TGAMMA_FP32;
extern GrB_UnaryOp GxB_TGAMMA_FP64;
extern GrB_UnaryOp GxB_TRUNC_FC32;
extern GrB_UnaryOp GxB_TRUNC_FC64;
extern GrB_UnaryOp GxB_TRUNC_FP32;
extern GrB_UnaryOp GxB_TRUNC_FP64;

/* GxB objects */
extern GxB_SelectOp GxB_DIAG;
extern GxB_SelectOp GxB_EQ_THUNK;
extern GxB_SelectOp GxB_EQ_ZERO;
extern GxB_SelectOp GxB_GE_THUNK;
extern GxB_SelectOp GxB_GE_ZERO;
extern GxB_SelectOp GxB_GT_THUNK;
extern GxB_SelectOp GxB_GT_ZERO;
extern GxB_SelectOp GxB_LE_THUNK;
extern GxB_SelectOp GxB_LE_ZERO;
extern GxB_SelectOp GxB_LT_THUNK;
extern GxB_SelectOp GxB_LT_ZERO;
extern GxB_SelectOp GxB_NE_THUNK;
extern GxB_SelectOp GxB_NONZERO;
extern GxB_SelectOp GxB_OFFDIAG;
extern GxB_SelectOp GxB_TRIL;
extern GxB_SelectOp GxB_TRIU;

/****************
* GrB functions *
****************/

/* binary */
extern GrB_Info GrB_BinaryOp_error(const char **error, const GrB_BinaryOp op);
extern GrB_Info GrB_BinaryOp_free(GrB_BinaryOp *binaryop);
extern GrB_Info GrB_BinaryOp_new(GrB_BinaryOp *binaryop, GxB_binary_function function, GrB_Type ztype, GrB_Type xtype, GrB_Type ytype);
extern GrB_Info GrB_BinaryOp_wait(GrB_BinaryOp op, GrB_WaitMode waitmode);

/* core */
extern GrB_Info GrB_finalize(void);
extern GrB_Info GrB_getVersion(unsigned int *version, unsigned int *subversion);
extern GrB_Info GrB_init(GrB_Mode mode);

/* descriptor */
extern GrB_Info GrB_Descriptor_error(const char **error, const GrB_Descriptor d);
extern GrB_Info GrB_Descriptor_free(GrB_Descriptor *descriptor);
extern GrB_Info GrB_Descriptor_new(GrB_Descriptor *descriptor);
extern GrB_Info GrB_Descriptor_set(GrB_Descriptor desc, GrB_Desc_Field field, GrB_Desc_Value val);
extern GrB_Info GrB_Descriptor_wait(GrB_Descriptor desc, GrB_WaitMode waitmode);

/* indexunary */
extern GrB_Info GrB_IndexUnaryOp_error(const char **error, const GrB_IndexUnaryOp op);
extern GrB_Info GrB_IndexUnaryOp_free(GrB_IndexUnaryOp *op);
extern GrB_Info GrB_IndexUnaryOp_new(GrB_IndexUnaryOp *op, GxB_index_unary_function function, GrB_Type ztype, GrB_Type xtype, GrB_Type ytype);
extern GrB_Info GrB_IndexUnaryOp_wait(GrB_IndexUnaryOp op, GrB_WaitMode waitmode);

/* matrix */
extern GrB_Info GrB_Col_assign(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *I, GrB_Index ni, GrB_Index j, const GrB_Descriptor desc);
extern GrB_Info GrB_Col_extract(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Index *I, GrB_Index ni, GrB_Index j, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_UnaryOp op, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp1st_BOOL(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, bool x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp1st_FP32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, float x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp1st_FP64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, double x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp1st_INT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, int8_t x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp1st_INT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, int16_t x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp1st_INT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, int32_t x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp1st_INT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, int64_t x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp1st_Scalar(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Scalar x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp1st_UDT(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const void *x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp1st_UINT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, uint8_t x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp1st_UINT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, uint16_t x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp1st_UINT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, uint32_t x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp1st_UINT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, uint64_t x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp2nd_BOOL(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, bool y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp2nd_FP32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, float y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp2nd_FP64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, double y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp2nd_INT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, int8_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp2nd_INT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, int16_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp2nd_INT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, int32_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp2nd_INT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, int64_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp2nd_Scalar(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, const GrB_Scalar y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp2nd_UDT(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, const void *y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp2nd_UINT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, uint8_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp2nd_UINT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, uint16_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp2nd_UINT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, uint32_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_BinaryOp2nd_UINT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, uint64_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_IndexOp_BOOL(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, bool y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_IndexOp_FP32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, float y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_IndexOp_FP64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, double y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_IndexOp_INT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, int8_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_IndexOp_INT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, int16_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_IndexOp_INT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, int32_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_IndexOp_INT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, int64_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_IndexOp_Scalar(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, const GrB_Scalar y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_IndexOp_UDT(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, const void *y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_IndexOp_UINT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, uint8_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_IndexOp_UINT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, uint16_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_IndexOp_UINT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, uint32_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_apply_IndexOp_UINT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, uint64_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_assign(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_assign_BOOL(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, bool x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_assign_FP32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, float x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_assign_FP64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, double x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_assign_INT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int8_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_assign_INT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int16_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_assign_INT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int32_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_assign_INT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int64_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_assign_Scalar(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, GrB_Scalar x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_assign_UDT(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, void *x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_assign_UINT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint8_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_assign_UINT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint16_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_assign_UINT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint32_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_assign_UINT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint64_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_build_BOOL(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, const bool *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Matrix_build_FP32(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, const float *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Matrix_build_FP64(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, const double *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Matrix_build_INT8(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, const int8_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Matrix_build_INT16(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, const int16_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Matrix_build_INT32(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, const int32_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Matrix_build_INT64(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, const int64_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Matrix_build_UDT(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, const void *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Matrix_build_UINT8(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, const uint8_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Matrix_build_UINT16(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, const uint16_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Matrix_build_UINT32(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, const uint32_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Matrix_build_UINT64(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, const uint64_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Matrix_clear(GrB_Matrix A);
extern GrB_Info GrB_Matrix_deserialize(GrB_Matrix *C, GrB_Type type, const void *blob, GrB_Index blob_size);
extern GrB_Info GrB_Matrix_diag(GrB_Matrix *C, const GrB_Vector v, int64_t k);
extern GrB_Info GrB_Matrix_dup(GrB_Matrix *C, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_eWiseAdd_BinaryOp(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp add, const GrB_Matrix A, const GrB_Matrix B, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_eWiseAdd_Monoid(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Matrix B, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_eWiseAdd_Semiring(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Semiring semiring, const GrB_Matrix A, const GrB_Matrix B, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_eWiseMult_BinaryOp(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp mult, const GrB_Matrix A, const GrB_Matrix B, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_eWiseMult_Monoid(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Matrix B, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_eWiseMult_Semiring(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Semiring semiring, const GrB_Matrix A, const GrB_Matrix B, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_error(const char **error, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_exportHint(GrB_Format *format, GrB_Matrix A);
extern GrB_Info GrB_Matrix_exportSize(GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GrB_Matrix_export_BOOL(GrB_Index *Ap, GrB_Index *Ai, bool *Ax, GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GrB_Matrix_export_FP32(GrB_Index *Ap, GrB_Index *Ai, float *Ax, GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GrB_Matrix_export_FP64(GrB_Index *Ap, GrB_Index *Ai, double *Ax, GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GrB_Matrix_export_INT8(GrB_Index *Ap, GrB_Index *Ai, int8_t *Ax, GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GrB_Matrix_export_INT16(GrB_Index *Ap, GrB_Index *Ai, int16_t *Ax, GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GrB_Matrix_export_INT32(GrB_Index *Ap, GrB_Index *Ai, int32_t *Ax, GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GrB_Matrix_export_INT64(GrB_Index *Ap, GrB_Index *Ai, int64_t *Ax, GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GrB_Matrix_export_UDT(GrB_Index *Ap, GrB_Index *Ai, void *Ax, GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GrB_Matrix_export_UINT8(GrB_Index *Ap, GrB_Index *Ai, uint8_t *Ax, GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GrB_Matrix_export_UINT16(GrB_Index *Ap, GrB_Index *Ai, uint16_t *Ax, GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GrB_Matrix_export_UINT32(GrB_Index *Ap, GrB_Index *Ai, uint32_t *Ax, GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GrB_Matrix_export_UINT64(GrB_Index *Ap, GrB_Index *Ai, uint64_t *Ax, GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GrB_Matrix_extract(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_extractElement_BOOL(bool *x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_extractElement_FP32(float *x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_extractElement_FP64(double *x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_extractElement_INT8(int8_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_extractElement_INT16(int16_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_extractElement_INT32(int32_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_extractElement_INT64(int64_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_extractElement_Scalar(GrB_Scalar x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_extractElement_UDT(void *x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_extractElement_UINT8(uint8_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_extractElement_UINT16(uint16_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_extractElement_UINT32(uint32_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_extractElement_UINT64(uint64_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_extractTuples_BOOL(GrB_Index *I, GrB_Index *J, bool *X, GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_extractTuples_FP32(GrB_Index *I, GrB_Index *J, float *X, GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_extractTuples_FP64(GrB_Index *I, GrB_Index *J, double *X, GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_extractTuples_INT8(GrB_Index *I, GrB_Index *J, int8_t *X, GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_extractTuples_INT16(GrB_Index *I, GrB_Index *J, int16_t *X, GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_extractTuples_INT32(GrB_Index *I, GrB_Index *J, int32_t *X, GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_extractTuples_INT64(GrB_Index *I, GrB_Index *J, int64_t *X, GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_extractTuples_UDT(GrB_Index *I, GrB_Index *J, void *X, GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_extractTuples_UINT8(GrB_Index *I, GrB_Index *J, uint8_t *X, GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_extractTuples_UINT16(GrB_Index *I, GrB_Index *J, uint16_t *X, GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_extractTuples_UINT32(GrB_Index *I, GrB_Index *J, uint32_t *X, GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_extractTuples_UINT64(GrB_Index *I, GrB_Index *J, uint64_t *X, GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_free(GrB_Matrix *A);
extern GrB_Info GrB_Matrix_import_BOOL(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, const GrB_Index *Ap, const GrB_Index *Ai, const bool *Ax, GrB_Index Ap_len, GrB_Index Ai_len, GrB_Index Ax_len, GrB_Format format);
extern GrB_Info GrB_Matrix_import_FP32(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, const GrB_Index *Ap, const GrB_Index *Ai, const float *Ax, GrB_Index Ap_len, GrB_Index Ai_len, GrB_Index Ax_len, GrB_Format format);
extern GrB_Info GrB_Matrix_import_FP64(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, const GrB_Index *Ap, const GrB_Index *Ai, const double *Ax, GrB_Index Ap_len, GrB_Index Ai_len, GrB_Index Ax_len, GrB_Format format);
extern GrB_Info GrB_Matrix_import_INT8(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, const GrB_Index *Ap, const GrB_Index *Ai, const int8_t *Ax, GrB_Index Ap_len, GrB_Index Ai_len, GrB_Index Ax_len, GrB_Format format);
extern GrB_Info GrB_Matrix_import_INT16(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, const GrB_Index *Ap, const GrB_Index *Ai, const int16_t *Ax, GrB_Index Ap_len, GrB_Index Ai_len, GrB_Index Ax_len, GrB_Format format);
extern GrB_Info GrB_Matrix_import_INT32(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, const GrB_Index *Ap, const GrB_Index *Ai, const int32_t *Ax, GrB_Index Ap_len, GrB_Index Ai_len, GrB_Index Ax_len, GrB_Format format);
extern GrB_Info GrB_Matrix_import_INT64(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, const GrB_Index *Ap, const GrB_Index *Ai, const int64_t *Ax, GrB_Index Ap_len, GrB_Index Ai_len, GrB_Index Ax_len, GrB_Format format);
extern GrB_Info GrB_Matrix_import_UDT(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, const GrB_Index *Ap, const GrB_Index *Ai, const void *Ax, GrB_Index Ap_len, GrB_Index Ai_len, GrB_Index Ax_len, GrB_Format format);
extern GrB_Info GrB_Matrix_import_UINT8(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, const GrB_Index *Ap, const GrB_Index *Ai, const uint8_t *Ax, GrB_Index Ap_len, GrB_Index Ai_len, GrB_Index Ax_len, GrB_Format format);
extern GrB_Info GrB_Matrix_import_UINT16(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, const GrB_Index *Ap, const GrB_Index *Ai, const uint16_t *Ax, GrB_Index Ap_len, GrB_Index Ai_len, GrB_Index Ax_len, GrB_Format format);
extern GrB_Info GrB_Matrix_import_UINT32(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, const GrB_Index *Ap, const GrB_Index *Ai, const uint32_t *Ax, GrB_Index Ap_len, GrB_Index Ai_len, GrB_Index Ax_len, GrB_Format format);
extern GrB_Info GrB_Matrix_import_UINT64(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, const GrB_Index *Ap, const GrB_Index *Ai, const uint64_t *Ax, GrB_Index Ap_len, GrB_Index Ai_len, GrB_Index Ax_len, GrB_Format format);
extern GrB_Info GrB_Matrix_kronecker_BinaryOp(GrB_Matrix C, const GrB_Matrix M, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, const GrB_Matrix B, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_kronecker_Monoid(GrB_Matrix C, const GrB_Matrix M, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Matrix B, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_kronecker_Semiring(GrB_Matrix C, const GrB_Matrix M, const GrB_BinaryOp accum, const GrB_Semiring semiring, const GrB_Matrix A, const GrB_Matrix B, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_ncols(GrB_Index *ncols, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_new(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols);
extern GrB_Info GrB_Matrix_nrows(GrB_Index *nrows, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_nvals(GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GrB_Matrix_reduce_BOOL(bool *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_BinaryOp(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_BinaryOp_Scalar(GrB_Scalar S, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_FP32(float *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_FP64(double *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_INT8(int8_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_INT16(int16_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_INT32(int32_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_INT64(int64_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_Monoid(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_Monoid_Scalar(GrB_Scalar c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_UDT(void *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_UINT8(uint8_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_UINT16(uint16_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_UINT32(uint32_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_reduce_UINT64(uint64_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_removeElement(GrB_Matrix C, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_resize(GrB_Matrix C, GrB_Index nrows_new, GrB_Index ncols_new);
extern GrB_Info GrB_Matrix_select_BOOL(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, bool y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_select_FP32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, float y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_select_FP64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, double y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_select_INT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, int8_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_select_INT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, int16_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_select_INT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, int32_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_select_INT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, int64_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_select_Scalar(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, const GrB_Scalar y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_select_UDT(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, const void *y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_select_UINT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, uint8_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_select_UINT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, uint16_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_select_UINT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, uint32_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_select_UINT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, uint64_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Matrix_serialize(void *blob, GrB_Index *blob_size_handle, GrB_Matrix A);
extern GrB_Info GrB_Matrix_serializeSize(GrB_Index *blob_size_handle, GrB_Matrix A);
extern GrB_Info GrB_Matrix_setElement_BOOL(GrB_Matrix C, bool x, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_setElement_FP32(GrB_Matrix C, float x, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_setElement_FP64(GrB_Matrix C, double x, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_setElement_INT8(GrB_Matrix C, int8_t x, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_setElement_INT16(GrB_Matrix C, int16_t x, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_setElement_INT32(GrB_Matrix C, int32_t x, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_setElement_INT64(GrB_Matrix C, int64_t x, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_setElement_Scalar(GrB_Matrix C, GrB_Scalar x, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_setElement_UDT(GrB_Matrix C, void *x, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_setElement_UINT8(GrB_Matrix C, uint8_t x, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_setElement_UINT16(GrB_Matrix C, uint16_t x, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_setElement_UINT32(GrB_Matrix C, uint32_t x, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_setElement_UINT64(GrB_Matrix C, uint64_t x, GrB_Index i, GrB_Index j);
extern GrB_Info GrB_Matrix_wait(GrB_Matrix A, GrB_WaitMode waitmode);
extern GrB_Info GrB_Row_assign(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, GrB_Index i, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GrB_mxm(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Semiring semiring, const GrB_Matrix A, const GrB_Matrix B, const GrB_Descriptor desc);
extern GrB_Info GrB_mxv(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Semiring semiring, const GrB_Matrix A, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_transpose(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GrB_vxm(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Semiring semiring, const GrB_Vector u, const GrB_Matrix A, const GrB_Descriptor desc);

/* monoid */
extern GrB_Info GrB_Monoid_error(const char **error, const GrB_Monoid monoid);
extern GrB_Info GrB_Monoid_free(GrB_Monoid *monoid);
extern GrB_Info GrB_Monoid_new_BOOL(GrB_Monoid *monoid, GrB_BinaryOp op, bool identity);
extern GrB_Info GrB_Monoid_new_FP32(GrB_Monoid *monoid, GrB_BinaryOp op, float identity);
extern GrB_Info GrB_Monoid_new_FP64(GrB_Monoid *monoid, GrB_BinaryOp op, double identity);
extern GrB_Info GrB_Monoid_new_INT8(GrB_Monoid *monoid, GrB_BinaryOp op, int8_t identity);
extern GrB_Info GrB_Monoid_new_INT16(GrB_Monoid *monoid, GrB_BinaryOp op, int16_t identity);
extern GrB_Info GrB_Monoid_new_INT32(GrB_Monoid *monoid, GrB_BinaryOp op, int32_t identity);
extern GrB_Info GrB_Monoid_new_INT64(GrB_Monoid *monoid, GrB_BinaryOp op, int64_t identity);
extern GrB_Info GrB_Monoid_new_UDT(GrB_Monoid *monoid, GrB_BinaryOp op, void *identity);
extern GrB_Info GrB_Monoid_new_UINT8(GrB_Monoid *monoid, GrB_BinaryOp op, uint8_t identity);
extern GrB_Info GrB_Monoid_new_UINT16(GrB_Monoid *monoid, GrB_BinaryOp op, uint16_t identity);
extern GrB_Info GrB_Monoid_new_UINT32(GrB_Monoid *monoid, GrB_BinaryOp op, uint32_t identity);
extern GrB_Info GrB_Monoid_new_UINT64(GrB_Monoid *monoid, GrB_BinaryOp op, uint64_t identity);
extern GrB_Info GrB_Monoid_wait(GrB_Monoid monoid, GrB_WaitMode waitmode);

/* scalar */
extern GrB_Info GrB_Scalar_clear(GrB_Scalar s);
extern GrB_Info GrB_Scalar_dup(GrB_Scalar *s, const GrB_Scalar t);
extern GrB_Info GrB_Scalar_error(const char **error, const GrB_Scalar s);
extern GrB_Info GrB_Scalar_extractElement_BOOL(bool *x, const GrB_Scalar s);
extern GrB_Info GrB_Scalar_extractElement_FP32(float *x, const GrB_Scalar s);
extern GrB_Info GrB_Scalar_extractElement_FP64(double *x, const GrB_Scalar s);
extern GrB_Info GrB_Scalar_extractElement_INT8(int8_t *x, const GrB_Scalar s);
extern GrB_Info GrB_Scalar_extractElement_INT16(int16_t *x, const GrB_Scalar s);
extern GrB_Info GrB_Scalar_extractElement_INT32(int32_t *x, const GrB_Scalar s);
extern GrB_Info GrB_Scalar_extractElement_INT64(int64_t *x, const GrB_Scalar s);
extern GrB_Info GrB_Scalar_extractElement_UDT(void *x, const GrB_Scalar s);
extern GrB_Info GrB_Scalar_extractElement_UINT8(uint8_t *x, const GrB_Scalar s);
extern GrB_Info GrB_Scalar_extractElement_UINT16(uint16_t *x, const GrB_Scalar s);
extern GrB_Info GrB_Scalar_extractElement_UINT32(uint32_t *x, const GrB_Scalar s);
extern GrB_Info GrB_Scalar_extractElement_UINT64(uint64_t *x, const GrB_Scalar s);
extern GrB_Info GrB_Scalar_free(GrB_Scalar *s);
extern GrB_Info GrB_Scalar_new(GrB_Scalar *s, GrB_Type type);
extern GrB_Info GrB_Scalar_nvals(GrB_Index *nvals, const GrB_Scalar s);
extern GrB_Info GrB_Scalar_setElement_BOOL(GrB_Scalar s, bool x);
extern GrB_Info GrB_Scalar_setElement_FP32(GrB_Scalar s, float x);
extern GrB_Info GrB_Scalar_setElement_FP64(GrB_Scalar s, double x);
extern GrB_Info GrB_Scalar_setElement_INT8(GrB_Scalar s, int8_t x);
extern GrB_Info GrB_Scalar_setElement_INT16(GrB_Scalar s, int16_t x);
extern GrB_Info GrB_Scalar_setElement_INT32(GrB_Scalar s, int32_t x);
extern GrB_Info GrB_Scalar_setElement_INT64(GrB_Scalar s, int64_t x);
extern GrB_Info GrB_Scalar_setElement_UDT(GrB_Scalar s, void *x);
extern GrB_Info GrB_Scalar_setElement_UINT8(GrB_Scalar s, uint8_t x);
extern GrB_Info GrB_Scalar_setElement_UINT16(GrB_Scalar s, uint16_t x);
extern GrB_Info GrB_Scalar_setElement_UINT32(GrB_Scalar s, uint32_t x);
extern GrB_Info GrB_Scalar_setElement_UINT64(GrB_Scalar s, uint64_t x);
extern GrB_Info GrB_Scalar_wait(GrB_Scalar s, GrB_WaitMode waitmode);

/* semiring */
extern GrB_Info GrB_Semiring_error(const char **error, const GrB_Semiring semiring);
extern GrB_Info GrB_Semiring_free(GrB_Semiring *semiring);
extern GrB_Info GrB_Semiring_new(GrB_Semiring *semiring, GrB_Monoid add, GrB_BinaryOp multiply);
extern GrB_Info GrB_Semiring_wait(GrB_Semiring semiring, GrB_WaitMode waitmode);

/* type */
extern GrB_Info GrB_Type_error(const char **error, const GrB_Type type);
extern GrB_Info GrB_Type_free(GrB_Type *type);
extern GrB_Info GrB_Type_new(GrB_Type *type, size_t sizeof_ctype);
extern GrB_Info GrB_Type_wait(GrB_Type type, GrB_WaitMode waitmode);

/* unary */
extern GrB_Info GrB_UnaryOp_error(const char **error, const GrB_UnaryOp op);
extern GrB_Info GrB_UnaryOp_free(GrB_UnaryOp *unaryop);
extern GrB_Info GrB_UnaryOp_new(GrB_UnaryOp *unaryop, GxB_unary_function function, GrB_Type ztype, GrB_Type xtype);
extern GrB_Info GrB_UnaryOp_wait(GrB_UnaryOp op, GrB_WaitMode waitmode);

/* vector */
extern GrB_Info GrB_Vector_apply(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_UnaryOp op, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp1st_BOOL(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, bool x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp1st_FP32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, float x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp1st_FP64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, double x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp1st_INT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, int8_t x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp1st_INT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, int16_t x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp1st_INT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, int32_t x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp1st_INT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, int64_t x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp1st_Scalar(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Scalar x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp1st_UDT(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const void *x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp1st_UINT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, uint8_t x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp1st_UINT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, uint16_t x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp1st_UINT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, uint32_t x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp1st_UINT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, uint64_t x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp2nd_BOOL(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, bool y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp2nd_FP32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, float y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp2nd_FP64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, double y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp2nd_INT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, int8_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp2nd_INT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, int16_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp2nd_INT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, int32_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp2nd_INT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, int64_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp2nd_Scalar(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, const GrB_Scalar y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp2nd_UDT(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, const void *y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp2nd_UINT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, uint8_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp2nd_UINT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, uint16_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp2nd_UINT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, uint32_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_BinaryOp2nd_UINT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, uint64_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_IndexOp_BOOL(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, bool y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_IndexOp_FP32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, float y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_IndexOp_FP64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, double y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_IndexOp_INT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, int8_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_IndexOp_INT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, int16_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_IndexOp_INT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, int32_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_IndexOp_INT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, int64_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_IndexOp_Scalar(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, const GrB_Scalar y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_IndexOp_UDT(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, const void *y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_IndexOp_UINT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, uint8_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_IndexOp_UINT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, uint16_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_IndexOp_UINT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, uint32_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_apply_IndexOp_UINT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, uint64_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_assign(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_assign_BOOL(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, bool x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_assign_FP32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, float x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_assign_FP64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, double x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_assign_INT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int8_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_assign_INT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int16_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_assign_INT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int32_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_assign_INT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int64_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_assign_Scalar(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, GrB_Scalar x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_assign_UDT(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, void *x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_assign_UINT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint8_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_assign_UINT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint16_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_assign_UINT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint32_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_assign_UINT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint64_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_build_BOOL(GrB_Vector w, const GrB_Index *I, const bool *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Vector_build_FP32(GrB_Vector w, const GrB_Index *I, const float *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Vector_build_FP64(GrB_Vector w, const GrB_Index *I, const double *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Vector_build_INT8(GrB_Vector w, const GrB_Index *I, const int8_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Vector_build_INT16(GrB_Vector w, const GrB_Index *I, const int16_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Vector_build_INT32(GrB_Vector w, const GrB_Index *I, const int32_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Vector_build_INT64(GrB_Vector w, const GrB_Index *I, const int64_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Vector_build_UDT(GrB_Vector w, const GrB_Index *I, const void *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Vector_build_UINT8(GrB_Vector w, const GrB_Index *I, const uint8_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Vector_build_UINT16(GrB_Vector w, const GrB_Index *I, const uint16_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Vector_build_UINT32(GrB_Vector w, const GrB_Index *I, const uint32_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Vector_build_UINT64(GrB_Vector w, const GrB_Index *I, const uint64_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GrB_Vector_clear(GrB_Vector v);
extern GrB_Info GrB_Vector_dup(GrB_Vector *w, const GrB_Vector u);
extern GrB_Info GrB_Vector_eWiseAdd_BinaryOp(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp add, const GrB_Vector u, const GrB_Vector v, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_eWiseAdd_Monoid(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Vector v, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_eWiseAdd_Semiring(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Semiring semiring, const GrB_Vector u, const GrB_Vector v, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_eWiseMult_BinaryOp(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp mult, const GrB_Vector u, const GrB_Vector v, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_eWiseMult_Monoid(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Vector v, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_eWiseMult_Semiring(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Semiring semiring, const GrB_Vector u, const GrB_Vector v, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_error(const char **error, const GrB_Vector v);
extern GrB_Info GrB_Vector_extract(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_extractElement_BOOL(bool *x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GrB_Vector_extractElement_FP32(float *x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GrB_Vector_extractElement_FP64(double *x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GrB_Vector_extractElement_INT8(int8_t *x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GrB_Vector_extractElement_INT16(int16_t *x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GrB_Vector_extractElement_INT32(int32_t *x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GrB_Vector_extractElement_INT64(int64_t *x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GrB_Vector_extractElement_Scalar(GrB_Scalar x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GrB_Vector_extractElement_UDT(void *x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GrB_Vector_extractElement_UINT8(uint8_t *x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GrB_Vector_extractElement_UINT16(uint16_t *x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GrB_Vector_extractElement_UINT32(uint32_t *x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GrB_Vector_extractElement_UINT64(uint64_t *x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GrB_Vector_extractTuples_BOOL(GrB_Index *I, bool *X, GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GrB_Vector_extractTuples_FP32(GrB_Index *I, float *X, GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GrB_Vector_extractTuples_FP64(GrB_Index *I, double *X, GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GrB_Vector_extractTuples_INT8(GrB_Index *I, int8_t *X, GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GrB_Vector_extractTuples_INT16(GrB_Index *I, int16_t *X, GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GrB_Vector_extractTuples_INT32(GrB_Index *I, int32_t *X, GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GrB_Vector_extractTuples_INT64(GrB_Index *I, int64_t *X, GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GrB_Vector_extractTuples_UDT(GrB_Index *I, void *X, GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GrB_Vector_extractTuples_UINT8(GrB_Index *I, uint8_t *X, GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GrB_Vector_extractTuples_UINT16(GrB_Index *I, uint16_t *X, GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GrB_Vector_extractTuples_UINT32(GrB_Index *I, uint32_t *X, GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GrB_Vector_extractTuples_UINT64(GrB_Index *I, uint64_t *X, GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GrB_Vector_free(GrB_Vector *v);
extern GrB_Info GrB_Vector_new(GrB_Vector *v, GrB_Type type, GrB_Index n);
extern GrB_Info GrB_Vector_nvals(GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GrB_Vector_reduce_BOOL(bool *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_reduce_BinaryOp_Scalar(GrB_Scalar c, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_reduce_FP32(float *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_reduce_FP64(double *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_reduce_INT8(int8_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_reduce_INT16(int16_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_reduce_INT32(int32_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_reduce_INT64(int64_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_reduce_Monoid_Scalar(GrB_Scalar c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_reduce_UDT(void *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_reduce_UINT8(uint8_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_reduce_UINT16(uint16_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_reduce_UINT32(uint32_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_reduce_UINT64(uint64_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_removeElement(GrB_Vector v, GrB_Index i);
extern GrB_Info GrB_Vector_resize(GrB_Vector w, GrB_Index nrows_new);
extern GrB_Info GrB_Vector_select_BOOL(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, bool y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_select_FP32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, float y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_select_FP64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, double y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_select_INT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, int8_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_select_INT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, int16_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_select_INT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, int32_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_select_INT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, int64_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_select_Scalar(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, const GrB_Scalar y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_select_UDT(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, const void *y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_select_UINT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, uint8_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_select_UINT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, uint16_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_select_UINT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, uint32_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_select_UINT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, uint64_t y, const GrB_Descriptor desc);
extern GrB_Info GrB_Vector_setElement_BOOL(GrB_Vector w, bool x, GrB_Index i);
extern GrB_Info GrB_Vector_setElement_FP32(GrB_Vector w, float x, GrB_Index i);
extern GrB_Info GrB_Vector_setElement_FP64(GrB_Vector w, double x, GrB_Index i);
extern GrB_Info GrB_Vector_setElement_INT8(GrB_Vector w, int8_t x, GrB_Index i);
extern GrB_Info GrB_Vector_setElement_INT16(GrB_Vector w, int16_t x, GrB_Index i);
extern GrB_Info GrB_Vector_setElement_INT32(GrB_Vector w, int32_t x, GrB_Index i);
extern GrB_Info GrB_Vector_setElement_INT64(GrB_Vector w, int64_t x, GrB_Index i);
extern GrB_Info GrB_Vector_setElement_Scalar(GrB_Vector w, GrB_Scalar x, GrB_Index i);
extern GrB_Info GrB_Vector_setElement_UDT(GrB_Vector w, void *x, GrB_Index i);
extern GrB_Info GrB_Vector_setElement_UINT8(GrB_Vector w, uint8_t x, GrB_Index i);
extern GrB_Info GrB_Vector_setElement_UINT16(GrB_Vector w, uint16_t x, GrB_Index i);
extern GrB_Info GrB_Vector_setElement_UINT32(GrB_Vector w, uint32_t x, GrB_Index i);
extern GrB_Info GrB_Vector_setElement_UINT64(GrB_Vector w, uint64_t x, GrB_Index i);
extern GrB_Info GrB_Vector_size(GrB_Index *n, const GrB_Vector v);
extern GrB_Info GrB_Vector_wait(GrB_Vector v, GrB_WaitMode waitmode);

/***************
* GB functions *
***************/

/* binary */
extern GrB_Info GB_BinaryOp_new(GrB_BinaryOp *binaryop, GxB_binary_function function, GrB_Type ztype, GrB_Type xtype, GrB_Type ytype, const char *binop_name);

/* iterator */
extern GrB_Info GB_Iterator_rc_bitmap_next(GxB_Iterator iterator);
extern GrB_Info GB_Iterator_rc_seek(GxB_Iterator iterator, GrB_Index j, bool jth_vector);
extern GrB_Info GB_Vector_Iterator_bitmap_seek(GxB_Iterator iterator, GrB_Index unused);

/* matrix */
extern GrB_Info GB_Iterator_attach(GxB_Iterator iterator, GrB_Matrix A, GxB_Format_Value format, GrB_Descriptor desc);

/* selectop */
extern GrB_Info GB_SelectOp_new(GxB_SelectOp *selectop, GxB_select_function function, GrB_Type xtype, GrB_Type ttype, const char *name);

/* type */
extern GrB_Info GB_Type_new(GrB_Type *type, size_t sizeof_ctype, const char *type_name);

/* unary */
extern GrB_Info GB_UnaryOp_new(GrB_UnaryOp *unaryop, GxB_unary_function function, GrB_Type ztype, GrB_Type xtype, const char *unop_name);

/****************
* GxB functions *
****************/

/* binary */
extern GrB_Info GxB_BinaryOp_fprint(GrB_BinaryOp binaryop, const char *name, GxB_Print_Level pr, FILE *f);
extern GrB_Info GxB_BinaryOp_new(GrB_BinaryOp *op, GxB_binary_function function, GrB_Type ztype, GrB_Type xtype, GrB_Type ytype, const char *binop_name, const char *binop_defn);
extern GrB_Info GxB_BinaryOp_xtype(GrB_Type *xtype, GrB_BinaryOp binaryop);
extern GrB_Info GxB_BinaryOp_xtype_name(char *type_name, const GrB_BinaryOp binaryop);
extern GrB_Info GxB_BinaryOp_ytype(GrB_Type *ytype, GrB_BinaryOp binaryop);
extern GrB_Info GxB_BinaryOp_ytype_name(char *type_name, const GrB_BinaryOp binaryop);
extern GrB_Info GxB_BinaryOp_ztype(GrB_Type *ztype, GrB_BinaryOp binaryop);
extern GrB_Info GxB_BinaryOp_ztype_name(char *type_name, const GrB_BinaryOp binaryop);

/* core */
extern GrB_Info GxB_Global_Option_get(GxB_Option_Field field, ...);
extern GrB_Info GxB_Global_Option_get_CHAR(GxB_Option_Field field, char **value);
extern GrB_Info GxB_Global_Option_get_FP64(GxB_Option_Field field, double *value);
extern GrB_Info GxB_Global_Option_get_FUNCTION(GxB_Option_Field field, void **value);
extern GrB_Info GxB_Global_Option_get_INT32(GxB_Option_Field field, int32_t *value);
extern GrB_Info GxB_Global_Option_get_INT64(GxB_Option_Field field, int64_t *value);
extern GrB_Info GxB_Global_Option_set(GxB_Option_Field field, ...);
extern GrB_Info GxB_Global_Option_set_FP64(GxB_Option_Field field, double value);
extern GrB_Info GxB_Global_Option_set_FP64_ARRAY(GxB_Option_Field field, double *value);
extern GrB_Info GxB_Global_Option_set_FUNCTION(GxB_Option_Field field, void *value);
extern GrB_Info GxB_Global_Option_set_INT32(GxB_Option_Field field, int32_t value);
extern GrB_Info GxB_Global_Option_set_INT64_ARRAY(GxB_Option_Field field, int64_t *value);
extern GrB_Info GxB_deserialize_type_name(char *type_name, const void *blob, GrB_Index blob_size);
extern GrB_Info GxB_init(GrB_Mode mode, void *(*user_malloc_function)(size_t), void *(*user_calloc_function)(size_t, size_t), void *(*user_realloc_function)(void *, size_t), void (*user_free_function)(void *));

/* descriptor */
extern GrB_Info GxB_Desc_get(GrB_Descriptor desc, GrB_Desc_Field field, ...);
extern GrB_Info GxB_Desc_get_FP64(GrB_Descriptor desc, GrB_Desc_Field field, double *value);
extern GrB_Info GxB_Desc_get_INT32(GrB_Descriptor desc, GrB_Desc_Field field, int32_t *value);
extern GrB_Info GxB_Desc_set(GrB_Descriptor desc, GrB_Desc_Field field, ...);
extern GrB_Info GxB_Desc_set_FP64(GrB_Descriptor desc, GrB_Desc_Field field, double value);
extern GrB_Info GxB_Desc_set_INT32(GrB_Descriptor desc, GrB_Desc_Field field, int32_t value);
extern GrB_Info GxB_Descriptor_fprint(GrB_Descriptor descriptor, const char *name, GxB_Print_Level pr, FILE *f);
extern GrB_Info GxB_Descriptor_get(GrB_Desc_Value *val, GrB_Descriptor desc, GrB_Desc_Field field);

/* indexunary */
extern GrB_Info GxB_IndexUnaryOp_fprint(GrB_IndexUnaryOp op, const char *name, GxB_Print_Level pr, FILE *f);
extern GrB_Info GxB_IndexUnaryOp_new(GrB_IndexUnaryOp *op, GxB_index_unary_function function, GrB_Type ztype, GrB_Type xtype, GrB_Type ytype, const char *idxop_name, const char *idxop_defn);
extern GrB_Info GxB_IndexUnaryOp_xtype_name(char *type_name, const GrB_IndexUnaryOp op);
extern GrB_Info GxB_IndexUnaryOp_ytype_name(char *type_name, const GrB_IndexUnaryOp op);
extern GrB_Info GxB_IndexUnaryOp_ztype_name(char *type_name, const GrB_IndexUnaryOp op);

/* iterator */
extern GrB_Index GxB_Matrix_Iterator_getp(GxB_Iterator iterator);
extern GrB_Index GxB_Matrix_Iterator_getpmax(GxB_Iterator iterator);
extern GrB_Index GxB_Vector_Iterator_getIndex(GxB_Iterator iterator);
extern GrB_Index GxB_Vector_Iterator_getp(GxB_Iterator iterator);
extern GrB_Index GxB_Vector_Iterator_getpmax(GxB_Iterator iterator);
extern GrB_Index GxB_colIterator_getColIndex(GxB_Iterator iterator);
extern GrB_Index GxB_colIterator_getRowIndex(GxB_Iterator iterator);
extern GrB_Index GxB_colIterator_kount(GxB_Iterator iterator);
extern GrB_Index GxB_rowIterator_getColIndex(GxB_Iterator iterator);
extern GrB_Index GxB_rowIterator_getRowIndex(GxB_Iterator iterator);
extern GrB_Index GxB_rowIterator_kount(GxB_Iterator iterator);
extern GrB_Info GxB_Iterator_free(GxB_Iterator *iterator);
extern GrB_Info GxB_Iterator_new(GxB_Iterator *iterator);
extern GrB_Info GxB_Matrix_Iterator_next(GxB_Iterator iterator);
extern GrB_Info GxB_Matrix_Iterator_seek(GxB_Iterator iterator, GrB_Index p);
extern GrB_Info GxB_Vector_Iterator_next(GxB_Iterator iterator);
extern GrB_Info GxB_Vector_Iterator_seek(GxB_Iterator iterator, GrB_Index p);
extern GrB_Info GxB_colIterator_kseek(GxB_Iterator iterator, GrB_Index k);
extern GrB_Info GxB_colIterator_nextCol(GxB_Iterator iterator);
extern GrB_Info GxB_colIterator_nextRow(GxB_Iterator iterator);
extern GrB_Info GxB_colIterator_seekCol(GxB_Iterator iterator, GrB_Index col);
extern GrB_Info GxB_rowIterator_kseek(GxB_Iterator iterator, GrB_Index k);
extern GrB_Info GxB_rowIterator_nextCol(GxB_Iterator iterator);
extern GrB_Info GxB_rowIterator_nextRow(GxB_Iterator iterator);
extern GrB_Info GxB_rowIterator_seekRow(GxB_Iterator iterator, GrB_Index row);
extern GxB_FC32_t GxB_Iterator_get_FC32(GxB_Iterator iterator);
extern GxB_FC64_t GxB_Iterator_get_FC64(GxB_Iterator iterator);
extern bool GxB_Iterator_get_BOOL(GxB_Iterator iterator);
extern double GxB_Iterator_get_FP64(GxB_Iterator iterator);
extern float GxB_Iterator_get_FP32(GxB_Iterator iterator);
extern int8_t GxB_Iterator_get_INT8(GxB_Iterator iterator);
extern int16_t GxB_Iterator_get_INT16(GxB_Iterator iterator);
extern int32_t GxB_Iterator_get_INT32(GxB_Iterator iterator);
extern int64_t GxB_Iterator_get_INT64(GxB_Iterator iterator);
extern uint8_t GxB_Iterator_get_UINT8(GxB_Iterator iterator);
extern uint16_t GxB_Iterator_get_UINT16(GxB_Iterator iterator);
extern uint32_t GxB_Iterator_get_UINT32(GxB_Iterator iterator);
extern uint64_t GxB_Iterator_get_UINT64(GxB_Iterator iterator);
extern void GxB_Iterator_get_UDT(GxB_Iterator iterator, void *value);
extern void GxB_Matrix_Iterator_getIndex(GxB_Iterator iterator, GrB_Index *row, GrB_Index *col);

/* matrix */
extern GrB_Info GxB_Col_subassign(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *I, GrB_Index ni, GrB_Index j, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_Iterator_attach(GxB_Iterator iterator, GrB_Matrix A, GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_Option_get(GrB_Matrix A, GxB_Option_Field field, ...);
extern GrB_Info GxB_Matrix_Option_get_FP64(GrB_Matrix A, GxB_Option_Field field, double *value);
extern GrB_Info GxB_Matrix_Option_get_INT32(GrB_Matrix A, GxB_Option_Field field, int32_t *value);
extern GrB_Info GxB_Matrix_Option_set(GrB_Matrix A, GxB_Option_Field field, ...);
extern GrB_Info GxB_Matrix_Option_set_FP64(GrB_Matrix A, GxB_Option_Field field, double value);
extern GrB_Info GxB_Matrix_Option_set_INT32(GrB_Matrix A, GxB_Option_Field field, int32_t value);
extern GrB_Info GxB_Matrix_apply_BinaryOp1st(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Scalar x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_apply_BinaryOp1st_FC32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, GxB_FC32_t x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_apply_BinaryOp1st_FC64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, GxB_FC64_t x, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_apply_BinaryOp2nd(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, const GrB_Scalar y, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_apply_BinaryOp2nd_FC32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, GxB_FC32_t y, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_apply_BinaryOp2nd_FC64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Matrix A, GxB_FC64_t y, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_apply_IndexOp_FC32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, GxB_FC32_t y, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_apply_IndexOp_FC64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, GxB_FC64_t y, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_assign_FC32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, GxB_FC32_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_assign_FC64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, GxB_FC64_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_build_FC32(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, const GxB_FC32_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GxB_Matrix_build_FC64(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, const GxB_FC64_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GxB_Matrix_build_Scalar(GrB_Matrix C, const GrB_Index *I, const GrB_Index *J, GrB_Scalar scalar, GrB_Index nvals);
extern GrB_Info GxB_Matrix_concat(GrB_Matrix C, const GrB_Matrix *Tiles, const GrB_Index m, const GrB_Index n, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_deserialize(GrB_Matrix *C, GrB_Type type, const void *blob, GrB_Index blob_size, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_diag(GrB_Matrix C, const GrB_Vector v, int64_t k, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_eWiseUnion(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_BinaryOp add, const GrB_Matrix A, const GrB_Scalar alpha, const GrB_Matrix B, const GrB_Scalar beta, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_export_BitmapC(GrB_Matrix *A, GrB_Type *type, GrB_Index *nrows, GrB_Index *ncols, int8_t **Ab, void **Ax, GrB_Index *Ab_size, GrB_Index *Ax_size, bool *iso, GrB_Index *nvals, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_export_BitmapR(GrB_Matrix *A, GrB_Type *type, GrB_Index *nrows, GrB_Index *ncols, int8_t **Ab, void **Ax, GrB_Index *Ab_size, GrB_Index *Ax_size, bool *iso, GrB_Index *nvals, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_export_CSC(GrB_Matrix *A, GrB_Type *type, GrB_Index *nrows, GrB_Index *ncols, GrB_Index **Ap, GrB_Index **Ai, void **Ax, GrB_Index *Ap_size, GrB_Index *Ai_size, GrB_Index *Ax_size, bool *iso, bool *jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_export_CSR(GrB_Matrix *A, GrB_Type *type, GrB_Index *nrows, GrB_Index *ncols, GrB_Index **Ap, GrB_Index **Aj, void **Ax, GrB_Index *Ap_size, GrB_Index *Aj_size, GrB_Index *Ax_size, bool *iso, bool *jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_export_FC32(GrB_Index *Ap, GrB_Index *Ai, GxB_FC32_t *Ax, GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GxB_Matrix_export_FC64(GrB_Index *Ap, GrB_Index *Ai, GxB_FC64_t *Ax, GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A);
extern GrB_Info GxB_Matrix_export_FullC(GrB_Matrix *A, GrB_Type *type, GrB_Index *nrows, GrB_Index *ncols, void **Ax, GrB_Index *Ax_size, bool *iso, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_export_FullR(GrB_Matrix *A, GrB_Type *type, GrB_Index *nrows, GrB_Index *ncols, void **Ax, GrB_Index *Ax_size, bool *iso, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_export_HyperCSC(GrB_Matrix *A, GrB_Type *type, GrB_Index *nrows, GrB_Index *ncols, GrB_Index **Ap, GrB_Index **Ah, GrB_Index **Ai, void **Ax, GrB_Index *Ap_size, GrB_Index *Ah_size, GrB_Index *Ai_size, GrB_Index *Ax_size, bool *iso, GrB_Index *nvec, bool *jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_export_HyperCSR(GrB_Matrix *A, GrB_Type *type, GrB_Index *nrows, GrB_Index *ncols, GrB_Index **Ap, GrB_Index **Ah, GrB_Index **Aj, void **Ax, GrB_Index *Ap_size, GrB_Index *Ah_size, GrB_Index *Aj_size, GrB_Index *Ax_size, bool *iso, GrB_Index *nvec, bool *jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_extractElement_FC32(GxB_FC32_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GxB_Matrix_extractElement_FC64(GxB_FC64_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GxB_Matrix_extractTuples_FC32(GrB_Index *I, GrB_Index *J, GxB_FC32_t *X, GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GxB_Matrix_extractTuples_FC64(GrB_Index *I, GrB_Index *J, GxB_FC64_t *X, GrB_Index *nvals, const GrB_Matrix A);
extern GrB_Info GxB_Matrix_fprint(GrB_Matrix A, const char *name, GxB_Print_Level pr, FILE *f);
extern GrB_Info GxB_Matrix_import_BitmapC(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, int8_t **Ab, void **Ax, GrB_Index Ab_size, GrB_Index Ax_size, bool iso, GrB_Index nvals, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_import_BitmapR(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, int8_t **Ab, void **Ax, GrB_Index Ab_size, GrB_Index Ax_size, bool iso, GrB_Index nvals, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_import_CSC(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, GrB_Index **Ap, GrB_Index **Ai, void **Ax, GrB_Index Ap_size, GrB_Index Ai_size, GrB_Index Ax_size, bool iso, bool jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_import_CSR(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, GrB_Index **Ap, GrB_Index **Aj, void **Ax, GrB_Index Ap_size, GrB_Index Aj_size, GrB_Index Ax_size, bool iso, bool jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_import_FC32(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, const GrB_Index *Ap, const GrB_Index *Ai, const GxB_FC32_t *Ax, GrB_Index Ap_len, GrB_Index Ai_len, GrB_Index Ax_len, GrB_Format format);
extern GrB_Info GxB_Matrix_import_FC64(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, const GrB_Index *Ap, const GrB_Index *Ai, const GxB_FC64_t *Ax, GrB_Index Ap_len, GrB_Index Ai_len, GrB_Index Ax_len, GrB_Format format);
extern GrB_Info GxB_Matrix_import_FullC(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, void **Ax, GrB_Index Ax_size, bool iso, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_import_FullR(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, void **Ax, GrB_Index Ax_size, bool iso, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_import_HyperCSC(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, GrB_Index **Ap, GrB_Index **Ah, GrB_Index **Ai, void **Ax, GrB_Index Ap_size, GrB_Index Ah_size, GrB_Index Ai_size, GrB_Index Ax_size, bool iso, GrB_Index nvec, bool jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_import_HyperCSR(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index ncols, GrB_Index **Ap, GrB_Index **Ah, GrB_Index **Aj, void **Ax, GrB_Index Ap_size, GrB_Index Ah_size, GrB_Index Aj_size, GrB_Index Ax_size, bool iso, GrB_Index nvec, bool jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_isStoredElement(const GrB_Matrix A, GrB_Index i, GrB_Index j);
extern GrB_Info GxB_Matrix_iso(bool *iso, const GrB_Matrix A);
extern GrB_Info GxB_Matrix_memoryUsage(size_t *size, const GrB_Matrix A);
extern GrB_Info GxB_Matrix_pack_BitmapC(GrB_Matrix A, int8_t **Ab, void **Ax, GrB_Index Ab_size, GrB_Index Ax_size, bool iso, GrB_Index nvals, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_pack_BitmapR(GrB_Matrix A, int8_t **Ab, void **Ax, GrB_Index Ab_size, GrB_Index Ax_size, bool iso, GrB_Index nvals, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_pack_CSC(GrB_Matrix A, GrB_Index **Ap, GrB_Index **Ai, void **Ax, GrB_Index Ap_size, GrB_Index Ai_size, GrB_Index Ax_size, bool iso, bool jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_pack_CSR(GrB_Matrix A, GrB_Index **Ap, GrB_Index **Aj, void **Ax, GrB_Index Ap_size, GrB_Index Aj_size, GrB_Index Ax_size, bool iso, bool jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_pack_FullC(GrB_Matrix A, void **Ax, GrB_Index Ax_size, bool iso, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_pack_FullR(GrB_Matrix A, void **Ax, GrB_Index Ax_size, bool iso, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_pack_HyperCSC(GrB_Matrix A, GrB_Index **Ap, GrB_Index **Ah, GrB_Index **Ai, void **Ax, GrB_Index Ap_size, GrB_Index Ah_size, GrB_Index Ai_size, GrB_Index Ax_size, bool iso, GrB_Index nvec, bool jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_pack_HyperCSR(GrB_Matrix A, GrB_Index **Ap, GrB_Index **Ah, GrB_Index **Aj, void **Ax, GrB_Index Ap_size, GrB_Index Ah_size, GrB_Index Aj_size, GrB_Index Ax_size, bool iso, GrB_Index nvec, bool jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_reduce_FC32(GxB_FC32_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_reduce_FC64(GxB_FC64_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_reshape(GrB_Matrix C, bool by_col, GrB_Index nrows_new, GrB_Index ncols_new, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_reshapeDup(GrB_Matrix *C, GrB_Matrix A, bool by_col, GrB_Index nrows_new, GrB_Index ncols_new, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_select(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GxB_SelectOp op, const GrB_Matrix A, const GrB_Scalar Thunk, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_select_FC32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, GxB_FC32_t y, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_select_FC64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Matrix A, GxB_FC64_t y, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_serialize(void **blob_handle, GrB_Index *blob_size_handle, GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_setElement_FC32(GrB_Matrix C, GxB_FC32_t x, GrB_Index i, GrB_Index j);
extern GrB_Info GxB_Matrix_setElement_FC64(GrB_Matrix C, GxB_FC64_t x, GrB_Index i, GrB_Index j);
extern GrB_Info GxB_Matrix_sort(GrB_Matrix C, GrB_Matrix P, GrB_BinaryOp op, GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_split(GrB_Matrix *Tiles, const GrB_Index m, const GrB_Index n, const GrB_Index *Tile_nrows, const GrB_Index *Tile_ncols, const GrB_Matrix A, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_BOOL(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, bool x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_FC32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, GxB_FC32_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_FC64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, GxB_FC64_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_FP32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, float x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_FP64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, double x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_INT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int8_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_INT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int16_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_INT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int32_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_INT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int64_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_Scalar(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, GrB_Scalar x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_UDT(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, void *x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_UINT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint8_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_UINT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint16_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_UINT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint32_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_subassign_UINT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint64_t x, const GrB_Index *I, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_type(GrB_Type *type, const GrB_Matrix A);
extern GrB_Info GxB_Matrix_type_name(char *type_name, const GrB_Matrix A);
extern GrB_Info GxB_Matrix_unpack_BitmapC(GrB_Matrix A, int8_t **Ab, void **Ax, GrB_Index *Ab_size, GrB_Index *Ax_size, bool *iso, GrB_Index *nvals, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_unpack_BitmapR(GrB_Matrix A, int8_t **Ab, void **Ax, GrB_Index *Ab_size, GrB_Index *Ax_size, bool *iso, GrB_Index *nvals, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_unpack_CSC(GrB_Matrix A, GrB_Index **Ap, GrB_Index **Ai, void **Ax, GrB_Index *Ap_size, GrB_Index *Ai_size, GrB_Index *Ax_size, bool *iso, bool *jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_unpack_CSR(GrB_Matrix A, GrB_Index **Ap, GrB_Index **Aj, void **Ax, GrB_Index *Ap_size, GrB_Index *Aj_size, GrB_Index *Ax_size, bool *iso, bool *jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_unpack_FullC(GrB_Matrix A, void **Ax, GrB_Index *Ax_size, bool *iso, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_unpack_FullR(GrB_Matrix A, void **Ax, GrB_Index *Ax_size, bool *iso, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_unpack_HyperCSC(GrB_Matrix A, GrB_Index **Ap, GrB_Index **Ah, GrB_Index **Ai, void **Ax, GrB_Index *Ap_size, GrB_Index *Ah_size, GrB_Index *Ai_size, GrB_Index *Ax_size, bool *iso, GrB_Index *nvec, bool *jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Matrix_unpack_HyperCSR(GrB_Matrix A, GrB_Index **Ap, GrB_Index **Ah, GrB_Index **Aj, void **Ax, GrB_Index *Ap_size, GrB_Index *Ah_size, GrB_Index *Aj_size, GrB_Index *Ax_size, bool *iso, GrB_Index *nvec, bool *jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Row_subassign(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, GrB_Index i, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_diag(GrB_Vector v, const GrB_Matrix A, int64_t k, const GrB_Descriptor desc);
extern GrB_Info GxB_colIterator_attach(GxB_Iterator iterator, GrB_Matrix A, GrB_Descriptor desc);
extern GrB_Info GxB_pack_HyperHash(GrB_Matrix A, GrB_Matrix *Y, const GrB_Descriptor desc);
extern GrB_Info GxB_rowIterator_attach(GxB_Iterator iterator, GrB_Matrix A, GrB_Descriptor desc);
extern GrB_Info GxB_unpack_HyperHash(GrB_Matrix A, GrB_Matrix *Y, const GrB_Descriptor desc);

/* monoid */
extern GrB_Info GxB_Monoid_fprint(GrB_Monoid monoid, const char *name, GxB_Print_Level pr, FILE *f);
extern GrB_Info GxB_Monoid_identity(void *identity, GrB_Monoid monoid);
extern GrB_Info GxB_Monoid_new_FC32(GrB_Monoid *monoid, GrB_BinaryOp op, GxB_FC32_t identity);
extern GrB_Info GxB_Monoid_new_FC64(GrB_Monoid *monoid, GrB_BinaryOp op, GxB_FC64_t identity);
extern GrB_Info GxB_Monoid_operator(GrB_BinaryOp *op, GrB_Monoid monoid);
extern GrB_Info GxB_Monoid_terminal(bool *has_terminal, void *terminal, GrB_Monoid monoid);
extern GrB_Info GxB_Monoid_terminal_new_BOOL(GrB_Monoid *monoid, GrB_BinaryOp op, bool identity, bool terminal);
extern GrB_Info GxB_Monoid_terminal_new_FC32(GrB_Monoid *monoid, GrB_BinaryOp op, GxB_FC32_t identity, GxB_FC32_t terminal);
extern GrB_Info GxB_Monoid_terminal_new_FC64(GrB_Monoid *monoid, GrB_BinaryOp op, GxB_FC64_t identity, GxB_FC64_t terminal);
extern GrB_Info GxB_Monoid_terminal_new_FP32(GrB_Monoid *monoid, GrB_BinaryOp op, float identity, float terminal);
extern GrB_Info GxB_Monoid_terminal_new_FP64(GrB_Monoid *monoid, GrB_BinaryOp op, double identity, double terminal);
extern GrB_Info GxB_Monoid_terminal_new_INT8(GrB_Monoid *monoid, GrB_BinaryOp op, int8_t identity, int8_t terminal);
extern GrB_Info GxB_Monoid_terminal_new_INT16(GrB_Monoid *monoid, GrB_BinaryOp op, int16_t identity, int16_t terminal);
extern GrB_Info GxB_Monoid_terminal_new_INT32(GrB_Monoid *monoid, GrB_BinaryOp op, int32_t identity, int32_t terminal);
extern GrB_Info GxB_Monoid_terminal_new_INT64(GrB_Monoid *monoid, GrB_BinaryOp op, int64_t identity, int64_t terminal);
extern GrB_Info GxB_Monoid_terminal_new_UDT(GrB_Monoid *monoid, GrB_BinaryOp op, void *identity, void *terminal);
extern GrB_Info GxB_Monoid_terminal_new_UINT8(GrB_Monoid *monoid, GrB_BinaryOp op, uint8_t identity, uint8_t terminal);
extern GrB_Info GxB_Monoid_terminal_new_UINT16(GrB_Monoid *monoid, GrB_BinaryOp op, uint16_t identity, uint16_t terminal);
extern GrB_Info GxB_Monoid_terminal_new_UINT32(GrB_Monoid *monoid, GrB_BinaryOp op, uint32_t identity, uint32_t terminal);
extern GrB_Info GxB_Monoid_terminal_new_UINT64(GrB_Monoid *monoid, GrB_BinaryOp op, uint64_t identity, uint64_t terminal);

/* scalar */
extern GrB_Info GxB_Scalar_clear(GrB_Scalar s);
extern GrB_Info GxB_Scalar_dup(GrB_Scalar *s, const GrB_Scalar t);
extern GrB_Info GxB_Scalar_error(const char **error, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_extractElement_BOOL(bool *x, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_extractElement_FC32(GxB_FC32_t *x, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_extractElement_FC64(GxB_FC64_t *x, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_extractElement_FP32(float *x, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_extractElement_FP64(double *x, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_extractElement_INT8(int8_t *x, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_extractElement_INT16(int16_t *x, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_extractElement_INT32(int32_t *x, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_extractElement_INT64(int64_t *x, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_extractElement_UDT(void *x, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_extractElement_UINT8(uint8_t *x, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_extractElement_UINT16(uint16_t *x, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_extractElement_UINT32(uint32_t *x, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_extractElement_UINT64(uint64_t *x, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_fprint(GrB_Scalar s, const char *name, GxB_Print_Level pr, FILE *f);
extern GrB_Info GxB_Scalar_free(GrB_Scalar *s);
extern GrB_Info GxB_Scalar_memoryUsage(size_t *size, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_new(GrB_Scalar *s, GrB_Type type);
extern GrB_Info GxB_Scalar_nvals(GrB_Index *nvals, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_setElement_BOOL(GrB_Scalar s, bool x);
extern GrB_Info GxB_Scalar_setElement_FC32(GrB_Scalar s, GxB_FC32_t x);
extern GrB_Info GxB_Scalar_setElement_FC64(GrB_Scalar s, GxB_FC64_t x);
extern GrB_Info GxB_Scalar_setElement_FP32(GrB_Scalar s, float x);
extern GrB_Info GxB_Scalar_setElement_FP64(GrB_Scalar s, double x);
extern GrB_Info GxB_Scalar_setElement_INT8(GrB_Scalar s, int8_t x);
extern GrB_Info GxB_Scalar_setElement_INT16(GrB_Scalar s, int16_t x);
extern GrB_Info GxB_Scalar_setElement_INT32(GrB_Scalar s, int32_t x);
extern GrB_Info GxB_Scalar_setElement_INT64(GrB_Scalar s, int64_t x);
extern GrB_Info GxB_Scalar_setElement_UDT(GrB_Scalar s, void *x);
extern GrB_Info GxB_Scalar_setElement_UINT8(GrB_Scalar s, uint8_t x);
extern GrB_Info GxB_Scalar_setElement_UINT16(GrB_Scalar s, uint16_t x);
extern GrB_Info GxB_Scalar_setElement_UINT32(GrB_Scalar s, uint32_t x);
extern GrB_Info GxB_Scalar_setElement_UINT64(GrB_Scalar s, uint64_t x);
extern GrB_Info GxB_Scalar_type(GrB_Type *type, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_type_name(char *type_name, const GrB_Scalar s);
extern GrB_Info GxB_Scalar_wait(GrB_Scalar *s);

/* selectop */
extern GrB_Info GxB_SelectOp_error(const char **error, const GxB_SelectOp op);
extern GrB_Info GxB_SelectOp_fprint(GxB_SelectOp selectop, const char *name, GxB_Print_Level pr, FILE *f);
extern GrB_Info GxB_SelectOp_free(GxB_SelectOp *selectop);
extern GrB_Info GxB_SelectOp_new(GxB_SelectOp *selectop, GxB_select_function function, GrB_Type xtype, GrB_Type ttype);
extern GrB_Info GxB_SelectOp_ttype(GrB_Type *ttype, GxB_SelectOp selectop);
extern GrB_Info GxB_SelectOp_wait(GxB_SelectOp op, GrB_WaitMode waitmode);
extern GrB_Info GxB_SelectOp_xtype(GrB_Type *xtype, GxB_SelectOp selectop);

/* semiring */
extern GrB_Info GxB_Semiring_add(GrB_Monoid *add, GrB_Semiring semiring);
extern GrB_Info GxB_Semiring_fprint(GrB_Semiring semiring, const char *name, GxB_Print_Level pr, FILE *f);
extern GrB_Info GxB_Semiring_multiply(GrB_BinaryOp *multiply, GrB_Semiring semiring);

/* type */
extern GrB_Info GxB_Type_fprint(GrB_Type type, const char *name, GxB_Print_Level pr, FILE *f);
extern GrB_Info GxB_Type_from_name(GrB_Type *type, const char *type_name);
extern GrB_Info GxB_Type_name(char *type_name, const GrB_Type type);
extern GrB_Info GxB_Type_new(GrB_Type *type, size_t sizeof_ctype, const char *type_name, const char *type_defn);
extern GrB_Info GxB_Type_size(size_t *size, const GrB_Type type);

/* unary */
extern GrB_Info GxB_UnaryOp_fprint(GrB_UnaryOp unaryop, const char *name, GxB_Print_Level pr, FILE *f);
extern GrB_Info GxB_UnaryOp_new(GrB_UnaryOp *unaryop, GxB_unary_function function, GrB_Type ztype, GrB_Type xtype, const char *unop_name, const char *unop_defn);
extern GrB_Info GxB_UnaryOp_xtype(GrB_Type *xtype, GrB_UnaryOp unaryop);
extern GrB_Info GxB_UnaryOp_xtype_name(char *type_name, const GrB_UnaryOp unaryop);
extern GrB_Info GxB_UnaryOp_ztype(GrB_Type *ztype, GrB_UnaryOp unaryop);
extern GrB_Info GxB_UnaryOp_ztype_name(char *type_name, const GrB_UnaryOp unaryop);

/* vector */
extern GrB_Info GxB_Vector_Iterator_attach(GxB_Iterator iterator, GrB_Vector v, GrB_Descriptor desc);
extern GrB_Info GxB_Vector_Option_get(GrB_Vector A, GxB_Option_Field field, ...);
extern GrB_Info GxB_Vector_Option_get_FP64(GrB_Vector v, GxB_Option_Field field, double *value);
extern GrB_Info GxB_Vector_Option_get_INT32(GrB_Vector v, GxB_Option_Field field, int32_t *value);
extern GrB_Info GxB_Vector_Option_set(GrB_Vector A, GxB_Option_Field field, ...);
extern GrB_Info GxB_Vector_Option_set_FP64(GrB_Vector v, GxB_Option_Field field, double value);
extern GrB_Info GxB_Vector_Option_set_INT32(GrB_Vector v, GxB_Option_Field field, int32_t value);
extern GrB_Info GxB_Vector_apply_BinaryOp1st(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Scalar x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_apply_BinaryOp1st_FC32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, GxB_FC32_t x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_apply_BinaryOp1st_FC64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, GxB_FC64_t x, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_apply_BinaryOp2nd(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, const GrB_Scalar y, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_apply_BinaryOp2nd_FC32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, GxB_FC32_t y, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_apply_BinaryOp2nd_FC64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp op, const GrB_Vector u, GxB_FC64_t y, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_apply_IndexOp_FC32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, GxB_FC32_t y, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_apply_IndexOp_FC64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, GxB_FC64_t y, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_assign_FC32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, GxB_FC32_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_assign_FC64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, GxB_FC64_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_build_FC32(GrB_Vector w, const GrB_Index *I, const GxB_FC32_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GxB_Vector_build_FC64(GrB_Vector w, const GrB_Index *I, const GxB_FC64_t *X, GrB_Index nvals, const GrB_BinaryOp dup);
extern GrB_Info GxB_Vector_build_Scalar(GrB_Vector w, const GrB_Index *I, GrB_Scalar scalar, GrB_Index nvals);
extern GrB_Info GxB_Vector_deserialize(GrB_Vector *w, GrB_Type type, const void *blob, GrB_Index blob_size, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_eWiseUnion(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_BinaryOp add, const GrB_Vector u, const GrB_Scalar alpha, const GrB_Vector v, const GrB_Scalar beta, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_export_Bitmap(GrB_Vector *v, GrB_Type *type, GrB_Index *n, int8_t **vb, void **vx, GrB_Index *vb_size, GrB_Index *vx_size, bool *iso, GrB_Index *nvals, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_export_CSC(GrB_Vector *v, GrB_Type *type, GrB_Index *n, GrB_Index **vi, void **vx, GrB_Index *vi_size, GrB_Index *vx_size, bool *iso, GrB_Index *nvals, bool *jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_export_Full(GrB_Vector *v, GrB_Type *type, GrB_Index *n, void **vx, GrB_Index *vx_size, bool *iso, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_extractElement_FC32(GxB_FC32_t *x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GxB_Vector_extractElement_FC64(GxB_FC64_t *x, const GrB_Vector v, GrB_Index i);
extern GrB_Info GxB_Vector_extractTuples_FC32(GrB_Index *I, GxB_FC32_t *X, GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GxB_Vector_extractTuples_FC64(GrB_Index *I, GxB_FC64_t *X, GrB_Index *nvals, const GrB_Vector v);
extern GrB_Info GxB_Vector_fprint(GrB_Vector v, const char *name, GxB_Print_Level pr, FILE *f);
extern GrB_Info GxB_Vector_import_Bitmap(GrB_Vector *v, GrB_Type type, GrB_Index n, int8_t **vb, void **vx, GrB_Index vb_size, GrB_Index vx_size, bool iso, GrB_Index nvals, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_import_CSC(GrB_Vector *v, GrB_Type type, GrB_Index n, GrB_Index **vi, void **vx, GrB_Index vi_size, GrB_Index vx_size, bool iso, GrB_Index nvals, bool jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_import_Full(GrB_Vector *v, GrB_Type type, GrB_Index n, void **vx, GrB_Index vx_size, bool iso, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_isStoredElement(const GrB_Vector v, GrB_Index i);
extern GrB_Info GxB_Vector_iso(bool *iso, const GrB_Vector v);
extern GrB_Info GxB_Vector_memoryUsage(size_t *size, const GrB_Vector v);
extern GrB_Info GxB_Vector_pack_Bitmap(GrB_Vector v, int8_t **vb, void **vx, GrB_Index vb_size, GrB_Index vx_size, bool iso, GrB_Index nvals, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_pack_CSC(GrB_Vector v, GrB_Index **vi, void **vx, GrB_Index vi_size, GrB_Index vx_size, bool iso, GrB_Index nvals, bool jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_pack_Full(GrB_Vector v, void **vx, GrB_Index vx_size, bool iso, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_reduce_FC32(GxB_FC32_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_reduce_FC64(GxB_FC64_t *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_select(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GxB_SelectOp op, const GrB_Vector u, const GrB_Scalar Thunk, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_select_FC32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, GxB_FC32_t y, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_select_FC64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_IndexUnaryOp op, const GrB_Vector u, GxB_FC64_t y, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_serialize(void **blob_handle, GrB_Index *blob_size_handle, GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_setElement_FC32(GrB_Vector w, GxB_FC32_t x, GrB_Index i);
extern GrB_Info GxB_Vector_setElement_FC64(GrB_Vector w, GxB_FC64_t x, GrB_Index i);
extern GrB_Info GxB_Vector_sort(GrB_Vector w, GrB_Vector p, GrB_BinaryOp op, GrB_Vector u, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_BOOL(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, bool x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_FC32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, GxB_FC32_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_FC64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, GxB_FC64_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_FP32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, float x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_FP64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, double x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_INT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int8_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_INT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int16_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_INT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int32_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_INT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int64_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_Scalar(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, GrB_Scalar x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_UDT(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, void *x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_UINT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint8_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_UINT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint16_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_UINT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint32_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_subassign_UINT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint64_t x, const GrB_Index *I, GrB_Index ni, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_type(GrB_Type *type, const GrB_Vector v);
extern GrB_Info GxB_Vector_type_name(char *type_name, const GrB_Vector v);
extern GrB_Info GxB_Vector_unpack_Bitmap(GrB_Vector v, int8_t **vb, void **vx, GrB_Index *vb_size, GrB_Index *vx_size, bool *iso, GrB_Index *nvals, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_unpack_CSC(GrB_Vector v, GrB_Index **vi, void **vx, GrB_Index *vi_size, GrB_Index *vx_size, bool *iso, GrB_Index *nvals, bool *jumbled, const GrB_Descriptor desc);
extern GrB_Info GxB_Vector_unpack_Full(GrB_Vector v, void **vx, GrB_Index *vx_size, bool *iso, const GrB_Descriptor desc);

/* int DEFINES */
#define GRB_SUBVERSION ...
#define GRB_VERSION ...
#define GrB_INDEX_MAX ...
#define GxB_ANY_SPARSITY ...
#define GxB_AUTO_SPARSITY ...
#define GxB_BACKWARDS ...
#define GxB_BEGIN ...
#define GxB_BITMAP ...
#define GxB_CHUNK ...
#define GxB_COMPRESSION_DEFAULT ...
#define GxB_COMPRESSION_INTEL ...
#define GxB_COMPRESSION_LZ4 ...
#define GxB_COMPRESSION_LZ4HC ...
#define GxB_COMPRESSION_NONE ...
#define GxB_COMPRESSION_ZSTD ...
#define GxB_END ...
#define GxB_FAST_IMPORT ...
#define GxB_FULL ...
#define GxB_GPU_CHUNK ...
#define GxB_GPU_CONTROL ...
#define GxB_HYPERSPARSE ...
#define GxB_IMPLEMENTATION ...
#define GxB_IMPLEMENTATION_MAJOR ...
#define GxB_IMPLEMENTATION_MINOR ...
#define GxB_IMPLEMENTATION_SUB ...
#define GxB_INC ...
#define GxB_INDEX_MAX ...
#define GxB_MAX_NAME_LEN ...
#define GxB_NBITMAP_SWITCH ...
#define GxB_NTHREADS ...
#define GxB_RANGE ...
#define GxB_SPARSE ...
#define GxB_SPEC_MAJOR ...
#define GxB_SPEC_MINOR ...
#define GxB_SPEC_SUB ...
#define GxB_SPEC_VERSION ...
#define GxB_STDC_VERSION ...
#define GxB_STRIDE ...

/* char* DEFINES */
extern char *GxB_IMPLEMENTATION_ABOUT_STR;
extern char *GxB_IMPLEMENTATION_DATE_STR;
extern char *GxB_IMPLEMENTATION_LICENSE_STR;
extern char *GxB_IMPLEMENTATION_NAME_STR;
extern char *GxB_SPEC_ABOUT_STR;
extern char *GxB_SPEC_DATE_STR;
