diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0565220..62cdd5c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,21 +6,28 @@ # - &flake8_dependencies below needs updated manually fail_fast: true default_language_version: - python: python3 + python: python3 repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: - id: check-added-large-files + - id: check-case-conflict + - id: check-merge-conflict - id: check-ast - id: check-toml - id: check-yaml + # - id: check-executables-have-shebangs + - id: check-vcs-permalinks + - id: destroyed-symlinks + - id: detect-private-key - id: debug-statements - id: end-of-file-fixer - id: mixed-line-ending - # - id: trailing-whitespace + args: [--fix=lf] + - id: trailing-whitespace - repo: https://github.com/abravalheri/validate-pyproject - rev: v0.20.2 + rev: v0.24 hooks: - id: validate-pyproject name: Validate pyproject.toml @@ -30,34 +37,29 @@ repos: - id: autoflake args: [--in-place] - repo: https://github.com/pycqa/isort - rev: 5.13.2 + rev: 6.0.1 hooks: - id: isort - repo: https://github.com/asottile/pyupgrade - rev: v3.18.0 + rev: v3.19.1 hooks: - id: pyupgrade args: [--py39-plus] - # - repo: https://github.com/MarcoGorelli/auto-walrus - # rev: v0.2.2 - # hooks: - # - id: auto-walrus - # args: [--line-length, "100"] - repo: https://github.com/psf/black - rev: 24.10.0 + rev: 25.1.0 hooks: - id: black - # - id: black-jupyter - repo: https://github.com/PyCQA/flake8 - rev: 7.1.1 + rev: 7.1.2 hooks: - id: flake8 + args: ["--config=.flake8"] additional_dependencies: &flake8_dependencies # These versions need updated manually - - flake8==7.1.1 - - flake8-comprehensions==3.15.0 - - flake8-bugbear==24.8.19 - # - flake8-simplify==0.20.0 + - flake8==7.1.2 + - flake8-comprehensions==3.16.0 + - flake8-bugbear==24.12.12 + # - flake8-simplify==0.21.0 - repo: https://github.com/asottile/yesqa rev: v1.5.0 hooks: @@ -70,6 +72,15 @@ repos: # hooks: # - id: pyroma # args: [-n, "10", .] + - repo: https://github.com/python-jsonschema/check-jsonschema + rev: 0.31.3 + hooks: + - id: check-dependabot + - id: check-github-workflows + - repo: meta + hooks: + - id: check-hooks-apply + - id: check-useless-excludes - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: diff --git a/Dockerfile b/Dockerfile index a34e989..fa101e5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,7 +28,7 @@ COPY --from=suitesparse /build/pycparser/utils/fake_libc_include/* /usr/local/li RUN apt-get update && apt-get install -yq build-essential git RUN pip3 install numpy cffi pytest cython - + RUN mkdir -p /psg ADD . /psg diff --git a/GB_VERSION.txt b/GB_VERSION.txt index 3a535e6..1532420 100644 --- a/GB_VERSION.txt +++ b/GB_VERSION.txt @@ -1 +1 @@ -9.4.5 +10.0.1 diff --git a/docker_build.sh b/docker_build.sh index c1ae7db..31e2b25 100755 --- a/docker_build.sh +++ b/docker_build.sh @@ -4,7 +4,7 @@ if [ $# -eq 0 ] Example: ./docker_build.sh v5.1.3 5.1.3.1 main clone push -If location is clone then a fresh git clone will be used. +If location is clone then a fresh git clone will be used. If push is provided then the script will attempt to push to dockerhub." exit 1 fi @@ -27,7 +27,7 @@ then fi trap "exit 1" HUP INT PIPE QUIT TERM trap 'rm -rf "$TMPDIR"' EXIT - + cd $TMPDIR git clone --branch $BRANCH https://github.com/GraphBLAS/python-suitesparse-graphblas.git cd python-suitesparse-graphblas diff --git a/suitesparse_graphblas/create_headers.py b/suitesparse_graphblas/create_headers.py index b5e9621..fbfbd0f 100644 --- a/suitesparse_graphblas/create_headers.py +++ b/suitesparse_graphblas/create_headers.py @@ -56,6 +56,8 @@ def groupby(index, seq): AUTO = "/* This file is automatically generated */" DEPRECATED = { + # Strongly deprecated in SuiteSparse:GraphBLAS 10; will be removed in 11 + "GrB_Field", # enums "GxB_IS_HYPER", "GrB_SCMP", @@ -298,6 +300,7 @@ def groupby(index, seq): "GxB_COMPRESSION_LZ4HC", "GxB_COMPRESSION_ZSTD", "GxB_COMPRESSION_NONE", + "GxB_USE_VALUES", } CHAR_DEFINES = { @@ -354,6 +357,22 @@ def visit_Typedef(self, node): return rv +class VisitStruct(c_generator.CGenerator): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.results = [] + + def visit_Struct(self, node): + rv = super().visit_Struct(node) + if ( + ("GxB_" in node.name or "GrB_" in node.name) + and "_struct" in node.name + and node.decls is not None + ): + self.results.append(rv + ";") + return rv + + def get_ast(filename): fake_include = os.path.dirname(pycparser.__file__) + "utils/fake_libc_include" ast = parse_file(filename, cpp_args=f"-I{fake_include}") @@ -428,6 +447,21 @@ def get_groups(ast): seen.update(val.splitlines()) groups["GxB typedef enums"] = sorted(vals, key=lambda x: sort_key(x.rsplit("}", 1)[-1])) + g = VisitStruct() + _ = g.visit(ast) + structs = g.results + + # No non-opaque GrB structs yet + # vals = {x for x in structs if "struct GrB" in x} + # for val in vals: + # seen.update(val.splitlines()) + # groups["GrB struct"] = sorted(vals) + + vals = {x for x in structs if "struct GxB" in x} + for val in vals: + seen.update(val.splitlines()) + groups["GxB struct"] = sorted(vals) + missing_enums = set(enums) - set(groups["GrB typedef enums"]) - set(groups["GxB typedef enums"]) missing_enums = {x for x in missing_enums if not any(y in x for y in IGNORE_ENUMS)} assert not missing_enums, ", ".join(sorted(missing_enums)) @@ -581,6 +615,12 @@ def handle_typedef_funcs(group): rv["GxB typedef funcs"] = list(handle_typedef_funcs(groups["GxB typedef funcs"])) + def handle_structs(group): + for text in group: + yield {"text": text} + + rv["GxB struct"] = list(handle_structs(groups["GxB struct"])) + class FuncDeclVisitor(c_ast.NodeVisitor): def __init__(self): self.functions = [] @@ -628,6 +668,7 @@ def handle_function_node(node): "IndexBinaryOp": "indexbinary", "Iterator": "iterator", "Context": "context", + "Container": "container", # "everything else" is "core" "getVersion": "core", "Global": "core", @@ -655,6 +696,13 @@ def handle_function_node(node): len(grb_nodes), len(groups["GrB methods"]), ) + + # Temporary hack for v10.0.1, which duplicates `GxB_Serialized_get_Scalar` + temp_seen = set() + gxb_nodes = [ + temp_seen.add(node.name) or node for node in gxb_nodes if node.name not in temp_seen + ] + assert len(gxb_nodes) == len(groups["GxB methods"]), ( len(gxb_nodes), len(groups["GxB methods"]), @@ -701,6 +749,10 @@ def create_header_text(groups, *, char_defines=None, defines=None): for group in groups["GxB typedef funcs"]: text.append(group["text"]) text.append("") + text.append("/* GxB structs */") + for group in groups["GxB struct"]: + text.append(group["text"]) + text.append("") text.append("/* GrB enums */") for group in groups["GrB typedef enums"]: text.append(group["text"]) diff --git a/suitesparse_graphblas/suitesparse_graphblas.h b/suitesparse_graphblas/suitesparse_graphblas.h index 902bd81..f0a4b44 100644 --- a/suitesparse_graphblas/suitesparse_graphblas.h +++ b/suitesparse_graphblas/suitesparse_graphblas.h @@ -21,6 +21,7 @@ typedef struct GB_IndexBinaryOp_opaque *GxB_IndexBinaryOp; typedef struct GB_Iterator_opaque *GxB_Iterator; typedef struct GB_Scalar_opaque *GxB_Scalar; typedef struct GB_SelectOp_opaque *GxB_SelectOp; +typedef struct GxB_Container_struct *GxB_Container; /* GxB typedefs (functions) */ typedef void (*GxB_binary_function)(void *, const void *, const void *); @@ -28,6 +29,32 @@ typedef void (*GxB_index_binary_function)(void *, const void *, GrB_Index, GrB_I 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 *); +/* GxB structs */ +struct GxB_Container_struct +{ + uint64_t nrows; + uint64_t ncols; + int64_t nrows_nonempty; + int64_t ncols_nonempty; + uint64_t nvals; + uint64_t u64_future[11]; + int32_t format; + int32_t orientation; + uint32_t u32_future[14]; + GrB_Vector p; + GrB_Vector h; + GrB_Vector b; + GrB_Vector i; + GrB_Vector x; + GrB_Vector vector_future[11]; + GrB_Matrix Y; + GrB_Matrix matrix_future[15]; + bool iso; + bool jumbled; + bool bool_future[30]; + void *void_future[16]; +}; + /* GrB enums */ typedef enum { @@ -38,7 +65,10 @@ typedef enum GxB_AxB_METHOD = 7090, GxB_SORT = 7091, GxB_COMPRESSION = 7092, - GxB_IMPORT = 7093 + GxB_IMPORT = 7093, + GxB_ROWINDEX_LIST = 7094, + GxB_COLINDEX_LIST = 7095, + GxB_VALUE_LIST = 7096 } GrB_Desc_Field; typedef enum @@ -54,45 +84,11 @@ typedef enum GxB_AxB_DOT = 7083, GxB_AxB_HASH = 7084, GxB_AxB_SAXPY = 7085, - GxB_SECURE_IMPORT = 7080 + GxB_SECURE_IMPORT = 7080, + GxB_USE_INDICES = 7060, + GxB_IS_STRIDE = 7061 } GrB_Desc_Value; -typedef enum -{ - GrB_OUTP_FIELD = 0, - GrB_MASK_FIELD = 1, - GrB_INP0_FIELD = 2, - GrB_INP1_FIELD = 3, - GrB_NAME = 10, - GrB_LIBRARY_VER_MAJOR = 11, - GrB_LIBRARY_VER_MINOR = 12, - GrB_LIBRARY_VER_PATCH = 13, - GrB_API_VER_MAJOR = 14, - GrB_API_VER_MINOR = 15, - GrB_API_VER_PATCH = 16, - GrB_BLOCKING_MODE = 17, - GrB_STORAGE_ORIENTATION_HINT = 100, - GrB_EL_TYPE_CODE = 102, - GrB_EL_TYPE_STRING = 106, - GrB_INP0_TYPE_CODE = 103, - GrB_INP1_TYPE_CODE = 104, - GrB_OUTP_TYPE_CODE = 105, - GrB_INP0_TYPE_STRING = 107, - GrB_INP1_TYPE_STRING = 108, - GrB_OUTP_TYPE_STRING = 109, - GrB_SIZE = 110, - GxB_JIT_C_NAME = 7041, - GxB_JIT_C_DEFINITION = 7042, - GxB_MONOID_IDENTITY = 7043, - GxB_MONOID_TERMINAL = 7044, - GxB_MONOID_OPERATOR = 7045, - GxB_SEMIRING_MONOID = 7046, - GxB_SEMIRING_MULTIPLY = 7047, - GxB_THETA_TYPE_CODE = 7050, - GxB_THETA_TYPE_STRING = 7051, - GxB_THETA = 7052 -} GrB_Field; - typedef enum { GrB_CSR_FORMAT = 0, @@ -120,7 +116,9 @@ typedef enum GrB_INVALID_OBJECT = -104, GrB_INDEX_OUT_OF_BOUNDS = -105, GrB_EMPTY_OBJECT = -106, - GxB_JIT_ERROR = -1001 + GxB_JIT_ERROR = -7001, + GxB_GPU_ERROR = -7002, + GxB_OUTPUT_IS_READONLY = -7003 } GrB_Info; typedef enum @@ -189,10 +187,53 @@ typedef enum typedef enum { + GrB_OUTP_FIELD = 0, + GrB_MASK_FIELD = 1, + GrB_INP0_FIELD = 2, + GrB_INP1_FIELD = 3, + GrB_NAME = 10, + GrB_LIBRARY_VER_MAJOR = 11, + GrB_LIBRARY_VER_MINOR = 12, + GrB_LIBRARY_VER_PATCH = 13, + GrB_API_VER_MAJOR = 14, + GrB_API_VER_MINOR = 15, + GrB_API_VER_PATCH = 16, + GrB_BLOCKING_MODE = 17, + GrB_STORAGE_ORIENTATION_HINT = 100, + GrB_EL_TYPE_CODE = 102, + GrB_EL_TYPE_STRING = 106, + GrB_INP0_TYPE_CODE = 103, + GrB_INP1_TYPE_CODE = 104, + GrB_OUTP_TYPE_CODE = 105, + GrB_INP0_TYPE_STRING = 107, + GrB_INP1_TYPE_STRING = 108, + GrB_OUTP_TYPE_STRING = 109, + GrB_SIZE = 110, + GxB_JIT_C_NAME = 7041, + GxB_JIT_C_DEFINITION = 7042, + GxB_MONOID_IDENTITY = 7043, + GxB_MONOID_TERMINAL = 7044, + GxB_MONOID_OPERATOR = 7045, + GxB_SEMIRING_MONOID = 7046, + GxB_SEMIRING_MULTIPLY = 7047, + GxB_THETA_TYPE_CODE = 7050, + GxB_THETA_TYPE_STRING = 7051, + GxB_THETA = 7052, + GxB_ROWINDEX_INTEGER_HINT = 7053, + GxB_COLINDEX_INTEGER_HINT = 7054, + GxB_OFFSET_INTEGER_HINT = 7056, GxB_HYPER_SWITCH = 7000, GxB_HYPER_HASH = 7048, GxB_BITMAP_SWITCH = 7001, GxB_FORMAT = 7002, + GxB_ISO = 7079, + GxB_SPARSITY_CONTROL = 7036, + GxB_ROWINDEX_INTEGER_BITS = 7057, + GxB_COLINDEX_INTEGER_BITS = 7058, + GxB_OFFSET_INTEGER_BITS = 7059, + GxB_SPARSITY_STATUS = 7034, + GxB_IS_READONLY = 7078, + GxB_WILL_WAIT = 7076, GxB_MODE = 7003, GxB_LIBRARY_NAME = 7004, GxB_LIBRARY_VERSION = 7005, @@ -221,6 +262,7 @@ typedef enum GxB_FLUSH = 7021, GxB_MEMORY_POOL = 7022, GxB_PRINT_1BASED = 7023, + GxB_INCLUDE_READONLY_STATISTICS = 7077, GxB_JIT_C_COMPILER_NAME = 7024, GxB_JIT_C_COMPILER_FLAGS = 7025, GxB_JIT_C_LINKER_FLAGS = 7026, @@ -231,9 +273,7 @@ typedef enum GxB_JIT_C_CMAKE_LIBS = 7031, GxB_JIT_USE_CMAKE = 7032, GxB_JIT_ERROR_LOG = 7033, - GxB_JIT_CUDA_PREFACE = 7100, - GxB_SPARSITY_STATUS = 7034, - GxB_SPARSITY_CONTROL = 7036 + GxB_JIT_CUDA_PREFACE = 7100 } GxB_Option_Field; typedef enum @@ -251,10 +291,10 @@ extern const GrB_Global GrB_GLOBAL; 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; +extern const int GxB_FORMAT_DEFAULT; /* GrB objects */ extern GrB_BinaryOp GrB_BAND_INT8; @@ -2721,60 +2761,60 @@ extern GxB_SelectOp GxB_TRIU; ****************/ /* binary */ -GrB_Info GrB_BinaryOp_error(const char **error, const GrB_BinaryOp op); -GrB_Info GrB_BinaryOp_free(GrB_BinaryOp *binaryop); -GrB_Info GrB_BinaryOp_get_INT32(GrB_BinaryOp, int32_t *, GrB_Field); -GrB_Info GrB_BinaryOp_get_SIZE(GrB_BinaryOp, size_t *, GrB_Field); -GrB_Info GrB_BinaryOp_get_String(GrB_BinaryOp, char *, GrB_Field); -GrB_Info GrB_BinaryOp_get_VOID(GrB_BinaryOp, void *, GrB_Field); +GrB_Info GrB_BinaryOp_error(const char **error, const GrB_BinaryOp object); +GrB_Info GrB_BinaryOp_free(GrB_BinaryOp *object); +GrB_Info GrB_BinaryOp_get_INT32(GrB_BinaryOp object, int32_t *, int); +GrB_Info GrB_BinaryOp_get_SIZE(GrB_BinaryOp object, size_t *, int); +GrB_Info GrB_BinaryOp_get_String(GrB_BinaryOp object, char *, int); +GrB_Info GrB_BinaryOp_get_VOID(GrB_BinaryOp object, void *, int); GrB_Info GrB_BinaryOp_new(GrB_BinaryOp *binaryop, GxB_binary_function function, GrB_Type ztype, GrB_Type xtype, GrB_Type ytype); -GrB_Info GrB_BinaryOp_set_INT32(GrB_BinaryOp, int32_t, GrB_Field); -GrB_Info GrB_BinaryOp_set_String(GrB_BinaryOp, char *, GrB_Field); -GrB_Info GrB_BinaryOp_set_VOID(GrB_BinaryOp, void *, GrB_Field, size_t); -GrB_Info GrB_BinaryOp_wait(GrB_BinaryOp op, GrB_WaitMode waitmode); +GrB_Info GrB_BinaryOp_set_INT32(GrB_BinaryOp object, int32_t, int); +GrB_Info GrB_BinaryOp_set_String(GrB_BinaryOp object, char *, int); +GrB_Info GrB_BinaryOp_set_VOID(GrB_BinaryOp object, void *, int, size_t); +GrB_Info GrB_BinaryOp_wait(GrB_BinaryOp object, int waitmode); /* core */ -GrB_Info GrB_Global_get_INT32(GrB_Global, int32_t *, GrB_Field); -GrB_Info GrB_Global_get_SIZE(GrB_Global, size_t *, GrB_Field); -GrB_Info GrB_Global_get_String(GrB_Global, char *, GrB_Field); -GrB_Info GrB_Global_get_VOID(GrB_Global, void *, GrB_Field); -GrB_Info GrB_Global_set_INT32(GrB_Global, int32_t, GrB_Field); -GrB_Info GrB_Global_set_String(GrB_Global, char *, GrB_Field); -GrB_Info GrB_Global_set_VOID(GrB_Global, void *, GrB_Field, size_t); +GrB_Info GrB_Global_get_INT32(GrB_Global object, int32_t *, int); +GrB_Info GrB_Global_get_SIZE(GrB_Global object, size_t *, int); +GrB_Info GrB_Global_get_String(GrB_Global object, char *, int); +GrB_Info GrB_Global_get_VOID(GrB_Global object, void *, int); +GrB_Info GrB_Global_set_INT32(GrB_Global object, int32_t, int); +GrB_Info GrB_Global_set_String(GrB_Global object, char *, int); +GrB_Info GrB_Global_set_VOID(GrB_Global object, void *, int, size_t); GrB_Info GrB_finalize(void); GrB_Info GrB_getVersion(unsigned int *, unsigned int *); -GrB_Info GrB_init(GrB_Mode mode); +GrB_Info GrB_init(int mode); /* descriptor */ -GrB_Info GrB_Descriptor_error(const char **error, const GrB_Descriptor d); -GrB_Info GrB_Descriptor_free(GrB_Descriptor *descriptor); -GrB_Info GrB_Descriptor_get_INT32(GrB_Descriptor, int32_t *, GrB_Field); -GrB_Info GrB_Descriptor_get_SIZE(GrB_Descriptor, size_t *, GrB_Field); -GrB_Info GrB_Descriptor_get_String(GrB_Descriptor, char *, GrB_Field); -GrB_Info GrB_Descriptor_get_VOID(GrB_Descriptor, void *, GrB_Field); +GrB_Info GrB_Descriptor_error(const char **error, const GrB_Descriptor object); +GrB_Info GrB_Descriptor_free(GrB_Descriptor *object); +GrB_Info GrB_Descriptor_get_INT32(GrB_Descriptor object, int32_t *, int); +GrB_Info GrB_Descriptor_get_SIZE(GrB_Descriptor object, size_t *, int); +GrB_Info GrB_Descriptor_get_String(GrB_Descriptor object, char *, int); +GrB_Info GrB_Descriptor_get_VOID(GrB_Descriptor object, void *, int); GrB_Info GrB_Descriptor_new(GrB_Descriptor *descriptor); -GrB_Info GrB_Descriptor_set(GrB_Descriptor, GrB_Desc_Field, GrB_Desc_Value); -GrB_Info GrB_Descriptor_set_INT32(GrB_Descriptor, int32_t, GrB_Field); -GrB_Info GrB_Descriptor_set_String(GrB_Descriptor, char *, GrB_Field); -GrB_Info GrB_Descriptor_set_VOID(GrB_Descriptor, void *, GrB_Field, size_t); -GrB_Info GrB_Descriptor_wait(GrB_Descriptor desc, GrB_WaitMode waitmode); +GrB_Info GrB_Descriptor_set(GrB_Descriptor, int, int); +GrB_Info GrB_Descriptor_set_INT32(GrB_Descriptor object, int32_t, int); +GrB_Info GrB_Descriptor_set_String(GrB_Descriptor object, char *, int); +GrB_Info GrB_Descriptor_set_VOID(GrB_Descriptor object, void *, int, size_t); +GrB_Info GrB_Descriptor_wait(GrB_Descriptor object, int waitmode); /* indexunary */ -GrB_Info GrB_IndexUnaryOp_error(const char **error, const GrB_IndexUnaryOp op); -GrB_Info GrB_IndexUnaryOp_free(GrB_IndexUnaryOp *op); -GrB_Info GrB_IndexUnaryOp_get_INT32(GrB_IndexUnaryOp, int32_t *, GrB_Field); -GrB_Info GrB_IndexUnaryOp_get_SIZE(GrB_IndexUnaryOp, size_t *, GrB_Field); -GrB_Info GrB_IndexUnaryOp_get_String(GrB_IndexUnaryOp, char *, GrB_Field); -GrB_Info GrB_IndexUnaryOp_get_VOID(GrB_IndexUnaryOp, void *, GrB_Field); +GrB_Info GrB_IndexUnaryOp_error(const char **error, const GrB_IndexUnaryOp object); +GrB_Info GrB_IndexUnaryOp_free(GrB_IndexUnaryOp *object); +GrB_Info GrB_IndexUnaryOp_get_INT32(GrB_IndexUnaryOp object, int32_t *, int); +GrB_Info GrB_IndexUnaryOp_get_SIZE(GrB_IndexUnaryOp object, size_t *, int); +GrB_Info GrB_IndexUnaryOp_get_String(GrB_IndexUnaryOp object, char *, int); +GrB_Info GrB_IndexUnaryOp_get_VOID(GrB_IndexUnaryOp object, void *, int); GrB_Info GrB_IndexUnaryOp_new(GrB_IndexUnaryOp *op, GxB_index_unary_function function, GrB_Type ztype, GrB_Type xtype, GrB_Type ytype); -GrB_Info GrB_IndexUnaryOp_set_INT32(GrB_IndexUnaryOp, int32_t, GrB_Field); -GrB_Info GrB_IndexUnaryOp_set_String(GrB_IndexUnaryOp, char *, GrB_Field); -GrB_Info GrB_IndexUnaryOp_set_VOID(GrB_IndexUnaryOp, void *, GrB_Field, size_t); -GrB_Info GrB_IndexUnaryOp_wait(GrB_IndexUnaryOp op, GrB_WaitMode waitmode); +GrB_Info GrB_IndexUnaryOp_set_INT32(GrB_IndexUnaryOp object, int32_t, int); +GrB_Info GrB_IndexUnaryOp_set_String(GrB_IndexUnaryOp object, char *, int); +GrB_Info GrB_IndexUnaryOp_set_VOID(GrB_IndexUnaryOp object, void *, int, size_t); +GrB_Info GrB_IndexUnaryOp_wait(GrB_IndexUnaryOp object, int waitmode); /* matrix */ -GrB_Info GrB_Col_assign(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *Ilist, GrB_Index ni, GrB_Index j, const GrB_Descriptor desc); -GrB_Info GrB_Col_extract(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Index *Ilist, GrB_Index ni, GrB_Index j, const GrB_Descriptor desc); +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); +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); 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); 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); 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); @@ -2815,32 +2855,32 @@ GrB_Info GrB_Matrix_apply_IndexOp_UINT8(GrB_Matrix C, const GrB_Matrix Mask, con 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); 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); 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); -GrB_Info GrB_Matrix_assign(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_BOOL(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, bool x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_FP32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, float x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_FP64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, double x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_INT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_INT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_INT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_INT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_Scalar(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, GrB_Scalar x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_UDT(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, void *x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_UINT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_UINT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_UINT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_UINT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_build_BOOL(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const bool *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_FP32(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const float *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_FP64(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const double *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_INT8(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const int8_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_INT16(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const int16_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_INT32(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const int32_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_INT64(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const int64_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_UDT(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const void *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_UINT8(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const uint8_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_UINT16(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const uint16_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_UINT32(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const uint32_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_UINT64(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const uint64_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +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); +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); +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); +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); +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); +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); +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); +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); +GrB_Info GrB_Matrix_assign_Scalar(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Scalar x, const GrB_Index *I_, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); GrB_Info GrB_Matrix_clear(GrB_Matrix A); GrB_Info GrB_Matrix_deserialize(GrB_Matrix *C, GrB_Type type, const void *blob, GrB_Index blob_size); GrB_Info GrB_Matrix_diag(GrB_Matrix *C, const GrB_Vector v, int64_t k); @@ -2851,22 +2891,22 @@ GrB_Info GrB_Matrix_eWiseAdd_Semiring(GrB_Matrix C, const GrB_Matrix Mask, const 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); 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); 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); -GrB_Info GrB_Matrix_error(const char **error, const GrB_Matrix A); -GrB_Info GrB_Matrix_exportHint(GrB_Format *format, GrB_Matrix A); -GrB_Info GrB_Matrix_exportSize(GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A); -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); -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); -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); -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); -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); -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); -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); -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); -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); -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); -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); -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); -GrB_Info GrB_Matrix_extract(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); +GrB_Info GrB_Matrix_error(const char **error, const GrB_Matrix object); +GrB_Info GrB_Matrix_exportHint(int *format, GrB_Matrix A); +GrB_Info GrB_Matrix_exportSize(GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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); GrB_Info GrB_Matrix_extractElement_BOOL(bool *x, const GrB_Matrix A, GrB_Index i, GrB_Index j); GrB_Info GrB_Matrix_extractElement_FP32(float *x, const GrB_Matrix A, GrB_Index i, GrB_Index j); GrB_Info GrB_Matrix_extractElement_FP64(double *x, const GrB_Matrix A, GrB_Index i, GrB_Index j); @@ -2880,36 +2920,36 @@ GrB_Info GrB_Matrix_extractElement_UINT8(uint8_t *x, const GrB_Matrix A, GrB_Ind GrB_Info GrB_Matrix_extractElement_UINT16(uint16_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j); GrB_Info GrB_Matrix_extractElement_UINT32(uint32_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j); GrB_Info GrB_Matrix_extractElement_UINT64(uint64_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j); -GrB_Info GrB_Matrix_extractTuples_BOOL(GrB_Index *Ilist, GrB_Index *J, bool *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_FP32(GrB_Index *Ilist, GrB_Index *J, float *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_FP64(GrB_Index *Ilist, GrB_Index *J, double *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_INT8(GrB_Index *Ilist, GrB_Index *J, int8_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_INT16(GrB_Index *Ilist, GrB_Index *J, int16_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_INT32(GrB_Index *Ilist, GrB_Index *J, int32_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_INT64(GrB_Index *Ilist, GrB_Index *J, int64_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_UDT(GrB_Index *Ilist, GrB_Index *J, void *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_UINT8(GrB_Index *Ilist, GrB_Index *J, uint8_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_UINT16(GrB_Index *Ilist, GrB_Index *J, uint16_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_UINT32(GrB_Index *Ilist, GrB_Index *J, uint32_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_UINT64(GrB_Index *Ilist, GrB_Index *J, uint64_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_free(GrB_Matrix *A); -GrB_Info GrB_Matrix_get_INT32(GrB_Matrix, int32_t *, GrB_Field); -GrB_Info GrB_Matrix_get_SIZE(GrB_Matrix, size_t *, GrB_Field); -GrB_Info GrB_Matrix_get_Scalar(GrB_Matrix, GrB_Scalar, GrB_Field); -GrB_Info GrB_Matrix_get_String(GrB_Matrix, char *, GrB_Field); -GrB_Info GrB_Matrix_get_VOID(GrB_Matrix, void *, GrB_Field); -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); -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); -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); -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); -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); -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); -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); -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); -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); -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); -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); -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); +GrB_Info GrB_Matrix_extractTuples_BOOL(GrB_Index *I_, GrB_Index *J, bool *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_FP32(GrB_Index *I_, GrB_Index *J, float *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_FP64(GrB_Index *I_, GrB_Index *J, double *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_INT8(GrB_Index *I_, GrB_Index *J, int8_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_INT16(GrB_Index *I_, GrB_Index *J, int16_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_INT32(GrB_Index *I_, GrB_Index *J, int32_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_INT64(GrB_Index *I_, GrB_Index *J, int64_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_UDT(GrB_Index *I_, GrB_Index *J, void *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_UINT8(GrB_Index *I_, GrB_Index *J, uint8_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_UINT16(GrB_Index *I_, GrB_Index *J, uint16_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_UINT32(GrB_Index *I_, GrB_Index *J, uint32_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_UINT64(GrB_Index *I_, GrB_Index *J, uint64_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_free(GrB_Matrix *object); +GrB_Info GrB_Matrix_get_INT32(GrB_Matrix object, int32_t *, int); +GrB_Info GrB_Matrix_get_SIZE(GrB_Matrix object, size_t *, int); +GrB_Info GrB_Matrix_get_Scalar(GrB_Matrix object, GrB_Scalar, int); +GrB_Info GrB_Matrix_get_String(GrB_Matrix object, char *, int); +GrB_Info GrB_Matrix_get_VOID(GrB_Matrix object, void *, int); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); 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); 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); 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); @@ -2918,8 +2958,8 @@ GrB_Info GrB_Matrix_new(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index GrB_Info GrB_Matrix_nrows(GrB_Index *nrows, const GrB_Matrix A); GrB_Info GrB_Matrix_nvals(GrB_Index *nvals, const GrB_Matrix A); GrB_Info GrB_Matrix_reduce_BOOL(bool *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc); -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); -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); +GrB_Info GrB_Matrix_reduce_BinaryOp(GrB_Vector, const GrB_Vector, const GrB_BinaryOp, const GrB_BinaryOp, const GrB_Matrix, const GrB_Descriptor); +GrB_Info GrB_Matrix_reduce_BinaryOp_Scalar(GrB_Scalar, const GrB_BinaryOp, const GrB_BinaryOp, const GrB_Matrix, const GrB_Descriptor); GrB_Info GrB_Matrix_reduce_FP32(float *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc); GrB_Info GrB_Matrix_reduce_FP64(double *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc); 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); @@ -2963,11 +3003,11 @@ GrB_Info GrB_Matrix_setElement_UINT8(GrB_Matrix C, uint8_t x, GrB_Index i, GrB_I GrB_Info GrB_Matrix_setElement_UINT16(GrB_Matrix C, uint16_t x, GrB_Index i, GrB_Index j); GrB_Info GrB_Matrix_setElement_UINT32(GrB_Matrix C, uint32_t x, GrB_Index i, GrB_Index j); GrB_Info GrB_Matrix_setElement_UINT64(GrB_Matrix C, uint64_t x, GrB_Index i, GrB_Index j); -GrB_Info GrB_Matrix_set_INT32(GrB_Matrix, int32_t, GrB_Field); -GrB_Info GrB_Matrix_set_Scalar(GrB_Matrix, GrB_Scalar, GrB_Field); -GrB_Info GrB_Matrix_set_String(GrB_Matrix, char *, GrB_Field); -GrB_Info GrB_Matrix_set_VOID(GrB_Matrix, void *, GrB_Field, size_t); -GrB_Info GrB_Matrix_wait(GrB_Matrix A, GrB_WaitMode waitmode); +GrB_Info GrB_Matrix_set_INT32(GrB_Matrix object, int32_t, int); +GrB_Info GrB_Matrix_set_Scalar(GrB_Matrix object, GrB_Scalar, int); +GrB_Info GrB_Matrix_set_String(GrB_Matrix object, char *, int); +GrB_Info GrB_Matrix_set_VOID(GrB_Matrix object, void *, int, size_t); +GrB_Info GrB_Matrix_wait(GrB_Matrix object, int waitmode); 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); 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); 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); @@ -2975,12 +3015,12 @@ GrB_Info GrB_transpose(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp a 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 */ -GrB_Info GrB_Monoid_error(const char **error, const GrB_Monoid monoid); -GrB_Info GrB_Monoid_free(GrB_Monoid *monoid); -GrB_Info GrB_Monoid_get_INT32(GrB_Monoid, int32_t *, GrB_Field); -GrB_Info GrB_Monoid_get_SIZE(GrB_Monoid, size_t *, GrB_Field); -GrB_Info GrB_Monoid_get_String(GrB_Monoid, char *, GrB_Field); -GrB_Info GrB_Monoid_get_VOID(GrB_Monoid, void *, GrB_Field); +GrB_Info GrB_Monoid_error(const char **error, const GrB_Monoid object); +GrB_Info GrB_Monoid_free(GrB_Monoid *object); +GrB_Info GrB_Monoid_get_INT32(GrB_Monoid object, int32_t *, int); +GrB_Info GrB_Monoid_get_SIZE(GrB_Monoid object, size_t *, int); +GrB_Info GrB_Monoid_get_String(GrB_Monoid object, char *, int); +GrB_Info GrB_Monoid_get_VOID(GrB_Monoid object, void *, int); GrB_Info GrB_Monoid_new_BOOL(GrB_Monoid *monoid, GrB_BinaryOp op, bool identity); GrB_Info GrB_Monoid_new_FP32(GrB_Monoid *monoid, GrB_BinaryOp op, float identity); GrB_Info GrB_Monoid_new_FP64(GrB_Monoid *monoid, GrB_BinaryOp op, double identity); @@ -2993,25 +3033,25 @@ GrB_Info GrB_Monoid_new_UINT8(GrB_Monoid *monoid, GrB_BinaryOp op, uint8_t ident GrB_Info GrB_Monoid_new_UINT16(GrB_Monoid *monoid, GrB_BinaryOp op, uint16_t identity); GrB_Info GrB_Monoid_new_UINT32(GrB_Monoid *monoid, GrB_BinaryOp op, uint32_t identity); GrB_Info GrB_Monoid_new_UINT64(GrB_Monoid *monoid, GrB_BinaryOp op, uint64_t identity); -GrB_Info GrB_Monoid_set_INT32(GrB_Monoid, int32_t, GrB_Field); -GrB_Info GrB_Monoid_set_String(GrB_Monoid, char *, GrB_Field); -GrB_Info GrB_Monoid_set_VOID(GrB_Monoid, void *, GrB_Field, size_t); -GrB_Info GrB_Monoid_wait(GrB_Monoid monoid, GrB_WaitMode waitmode); +GrB_Info GrB_Monoid_set_INT32(GrB_Monoid object, int32_t, int); +GrB_Info GrB_Monoid_set_String(GrB_Monoid object, char *, int); +GrB_Info GrB_Monoid_set_VOID(GrB_Monoid object, void *, int, size_t); +GrB_Info GrB_Monoid_wait(GrB_Monoid object, int waitmode); /* scalar */ -GrB_Info GrB_BinaryOp_get_Scalar(GrB_BinaryOp, GrB_Scalar, GrB_Field); -GrB_Info GrB_BinaryOp_set_Scalar(GrB_BinaryOp, GrB_Scalar, GrB_Field); -GrB_Info GrB_Descriptor_get_Scalar(GrB_Descriptor, GrB_Scalar, GrB_Field); -GrB_Info GrB_Descriptor_set_Scalar(GrB_Descriptor, GrB_Scalar, GrB_Field); -GrB_Info GrB_Global_get_Scalar(GrB_Global, GrB_Scalar, GrB_Field); -GrB_Info GrB_Global_set_Scalar(GrB_Global, GrB_Scalar, GrB_Field); -GrB_Info GrB_IndexUnaryOp_get_Scalar(GrB_IndexUnaryOp, GrB_Scalar, GrB_Field); -GrB_Info GrB_IndexUnaryOp_set_Scalar(GrB_IndexUnaryOp, GrB_Scalar, GrB_Field); -GrB_Info GrB_Monoid_get_Scalar(GrB_Monoid, GrB_Scalar, GrB_Field); -GrB_Info GrB_Monoid_set_Scalar(GrB_Monoid, GrB_Scalar, GrB_Field); +GrB_Info GrB_BinaryOp_get_Scalar(GrB_BinaryOp object, GrB_Scalar, int); +GrB_Info GrB_BinaryOp_set_Scalar(GrB_BinaryOp object, GrB_Scalar, int); +GrB_Info GrB_Descriptor_get_Scalar(GrB_Descriptor object, GrB_Scalar, int); +GrB_Info GrB_Descriptor_set_Scalar(GrB_Descriptor object, GrB_Scalar, int); +GrB_Info GrB_Global_get_Scalar(GrB_Global object, GrB_Scalar, int); +GrB_Info GrB_Global_set_Scalar(GrB_Global object, GrB_Scalar, int); +GrB_Info GrB_IndexUnaryOp_get_Scalar(GrB_IndexUnaryOp object, GrB_Scalar, int); +GrB_Info GrB_IndexUnaryOp_set_Scalar(GrB_IndexUnaryOp object, GrB_Scalar, int); +GrB_Info GrB_Monoid_get_Scalar(GrB_Monoid object, GrB_Scalar, int); +GrB_Info GrB_Monoid_set_Scalar(GrB_Monoid object, GrB_Scalar, int); GrB_Info GrB_Scalar_clear(GrB_Scalar s); GrB_Info GrB_Scalar_dup(GrB_Scalar *s, const GrB_Scalar t); -GrB_Info GrB_Scalar_error(const char **error, const GrB_Scalar s); +GrB_Info GrB_Scalar_error(const char **error, const GrB_Scalar object); GrB_Info GrB_Scalar_extractElement_BOOL(bool *x, const GrB_Scalar s); GrB_Info GrB_Scalar_extractElement_FP32(float *x, const GrB_Scalar s); GrB_Info GrB_Scalar_extractElement_FP64(double *x, const GrB_Scalar s); @@ -3024,12 +3064,12 @@ GrB_Info GrB_Scalar_extractElement_UINT8(uint8_t *x, const GrB_Scalar s); GrB_Info GrB_Scalar_extractElement_UINT16(uint16_t *x, const GrB_Scalar s); GrB_Info GrB_Scalar_extractElement_UINT32(uint32_t *x, const GrB_Scalar s); GrB_Info GrB_Scalar_extractElement_UINT64(uint64_t *x, const GrB_Scalar s); -GrB_Info GrB_Scalar_free(GrB_Scalar *s); -GrB_Info GrB_Scalar_get_INT32(GrB_Scalar, int32_t *, GrB_Field); -GrB_Info GrB_Scalar_get_SIZE(GrB_Scalar, size_t *, GrB_Field); -GrB_Info GrB_Scalar_get_Scalar(GrB_Scalar, GrB_Scalar, GrB_Field); -GrB_Info GrB_Scalar_get_String(GrB_Scalar, char *, GrB_Field); -GrB_Info GrB_Scalar_get_VOID(GrB_Scalar, void *, GrB_Field); +GrB_Info GrB_Scalar_free(GrB_Scalar *object); +GrB_Info GrB_Scalar_get_INT32(GrB_Scalar object, int32_t *, int); +GrB_Info GrB_Scalar_get_SIZE(GrB_Scalar object, size_t *, int); +GrB_Info GrB_Scalar_get_Scalar(GrB_Scalar object, GrB_Scalar, int); +GrB_Info GrB_Scalar_get_String(GrB_Scalar object, char *, int); +GrB_Info GrB_Scalar_get_VOID(GrB_Scalar object, void *, int); GrB_Info GrB_Scalar_new(GrB_Scalar *s, GrB_Type type); GrB_Info GrB_Scalar_nvals(GrB_Index *nvals, const GrB_Scalar s); GrB_Info GrB_Scalar_setElement_BOOL(GrB_Scalar s, bool x); @@ -3044,56 +3084,56 @@ GrB_Info GrB_Scalar_setElement_UINT8(GrB_Scalar s, uint8_t x); GrB_Info GrB_Scalar_setElement_UINT16(GrB_Scalar s, uint16_t x); GrB_Info GrB_Scalar_setElement_UINT32(GrB_Scalar s, uint32_t x); GrB_Info GrB_Scalar_setElement_UINT64(GrB_Scalar s, uint64_t x); -GrB_Info GrB_Scalar_set_INT32(GrB_Scalar, int32_t, GrB_Field); -GrB_Info GrB_Scalar_set_Scalar(GrB_Scalar, GrB_Scalar, GrB_Field); -GrB_Info GrB_Scalar_set_String(GrB_Scalar, char *, GrB_Field); -GrB_Info GrB_Scalar_set_VOID(GrB_Scalar, void *, GrB_Field, size_t); -GrB_Info GrB_Scalar_wait(GrB_Scalar s, GrB_WaitMode waitmode); -GrB_Info GrB_Semiring_get_Scalar(GrB_Semiring, GrB_Scalar, GrB_Field); -GrB_Info GrB_Semiring_set_Scalar(GrB_Semiring, GrB_Scalar, GrB_Field); -GrB_Info GrB_Type_get_Scalar(GrB_Type, GrB_Scalar, GrB_Field); -GrB_Info GrB_Type_set_Scalar(GrB_Type, GrB_Scalar, GrB_Field); -GrB_Info GrB_UnaryOp_get_Scalar(GrB_UnaryOp, GrB_Scalar, GrB_Field); -GrB_Info GrB_UnaryOp_set_Scalar(GrB_UnaryOp, GrB_Scalar, GrB_Field); +GrB_Info GrB_Scalar_set_INT32(GrB_Scalar object, int32_t, int); +GrB_Info GrB_Scalar_set_Scalar(GrB_Scalar object, GrB_Scalar, int); +GrB_Info GrB_Scalar_set_String(GrB_Scalar object, char *, int); +GrB_Info GrB_Scalar_set_VOID(GrB_Scalar object, void *, int, size_t); +GrB_Info GrB_Scalar_wait(GrB_Scalar object, int waitmode); +GrB_Info GrB_Semiring_get_Scalar(GrB_Semiring object, GrB_Scalar, int); +GrB_Info GrB_Semiring_set_Scalar(GrB_Semiring object, GrB_Scalar, int); +GrB_Info GrB_Type_get_Scalar(GrB_Type object, GrB_Scalar, int); +GrB_Info GrB_Type_set_Scalar(GrB_Type object, GrB_Scalar, int); +GrB_Info GrB_UnaryOp_get_Scalar(GrB_UnaryOp object, GrB_Scalar, int); +GrB_Info GrB_UnaryOp_set_Scalar(GrB_UnaryOp object, GrB_Scalar, int); /* semiring */ -GrB_Info GrB_Semiring_error(const char **error, const GrB_Semiring semiring); -GrB_Info GrB_Semiring_free(GrB_Semiring *semiring); -GrB_Info GrB_Semiring_get_INT32(GrB_Semiring, int32_t *, GrB_Field); -GrB_Info GrB_Semiring_get_SIZE(GrB_Semiring, size_t *, GrB_Field); -GrB_Info GrB_Semiring_get_String(GrB_Semiring, char *, GrB_Field); -GrB_Info GrB_Semiring_get_VOID(GrB_Semiring, void *, GrB_Field); +GrB_Info GrB_Semiring_error(const char **error, const GrB_Semiring object); +GrB_Info GrB_Semiring_free(GrB_Semiring *object); +GrB_Info GrB_Semiring_get_INT32(GrB_Semiring object, int32_t *, int); +GrB_Info GrB_Semiring_get_SIZE(GrB_Semiring object, size_t *, int); +GrB_Info GrB_Semiring_get_String(GrB_Semiring object, char *, int); +GrB_Info GrB_Semiring_get_VOID(GrB_Semiring object, void *, int); GrB_Info GrB_Semiring_new(GrB_Semiring *semiring, GrB_Monoid add, GrB_BinaryOp multiply); -GrB_Info GrB_Semiring_set_INT32(GrB_Semiring, int32_t, GrB_Field); -GrB_Info GrB_Semiring_set_String(GrB_Semiring, char *, GrB_Field); -GrB_Info GrB_Semiring_set_VOID(GrB_Semiring, void *, GrB_Field, size_t); -GrB_Info GrB_Semiring_wait(GrB_Semiring semiring, GrB_WaitMode waitmode); +GrB_Info GrB_Semiring_set_INT32(GrB_Semiring object, int32_t, int); +GrB_Info GrB_Semiring_set_String(GrB_Semiring object, char *, int); +GrB_Info GrB_Semiring_set_VOID(GrB_Semiring object, void *, int, size_t); +GrB_Info GrB_Semiring_wait(GrB_Semiring object, int waitmode); /* type */ -GrB_Info GrB_Type_error(const char **error, const GrB_Type type); -GrB_Info GrB_Type_free(GrB_Type *type); -GrB_Info GrB_Type_get_INT32(GrB_Type, int32_t *, GrB_Field); -GrB_Info GrB_Type_get_SIZE(GrB_Type, size_t *, GrB_Field); -GrB_Info GrB_Type_get_String(GrB_Type, char *, GrB_Field); -GrB_Info GrB_Type_get_VOID(GrB_Type, void *, GrB_Field); +GrB_Info GrB_Type_error(const char **error, const GrB_Type object); +GrB_Info GrB_Type_free(GrB_Type *object); +GrB_Info GrB_Type_get_INT32(GrB_Type object, int32_t *, int); +GrB_Info GrB_Type_get_SIZE(GrB_Type object, size_t *, int); +GrB_Info GrB_Type_get_String(GrB_Type object, char *, int); +GrB_Info GrB_Type_get_VOID(GrB_Type object, void *, int); GrB_Info GrB_Type_new(GrB_Type *type, size_t sizeof_ctype); -GrB_Info GrB_Type_set_INT32(GrB_Type, int32_t, GrB_Field); -GrB_Info GrB_Type_set_String(GrB_Type, char *, GrB_Field); -GrB_Info GrB_Type_set_VOID(GrB_Type, void *, GrB_Field, size_t); -GrB_Info GrB_Type_wait(GrB_Type type, GrB_WaitMode waitmode); +GrB_Info GrB_Type_set_INT32(GrB_Type object, int32_t, int); +GrB_Info GrB_Type_set_String(GrB_Type object, char *, int); +GrB_Info GrB_Type_set_VOID(GrB_Type object, void *, int, size_t); +GrB_Info GrB_Type_wait(GrB_Type object, int waitmode); /* unary */ -GrB_Info GrB_UnaryOp_error(const char **error, const GrB_UnaryOp op); -GrB_Info GrB_UnaryOp_free(GrB_UnaryOp *unaryop); -GrB_Info GrB_UnaryOp_get_INT32(GrB_UnaryOp, int32_t *, GrB_Field); -GrB_Info GrB_UnaryOp_get_SIZE(GrB_UnaryOp, size_t *, GrB_Field); -GrB_Info GrB_UnaryOp_get_String(GrB_UnaryOp, char *, GrB_Field); -GrB_Info GrB_UnaryOp_get_VOID(GrB_UnaryOp, void *, GrB_Field); +GrB_Info GrB_UnaryOp_error(const char **error, const GrB_UnaryOp object); +GrB_Info GrB_UnaryOp_free(GrB_UnaryOp *object); +GrB_Info GrB_UnaryOp_get_INT32(GrB_UnaryOp object, int32_t *, int); +GrB_Info GrB_UnaryOp_get_SIZE(GrB_UnaryOp object, size_t *, int); +GrB_Info GrB_UnaryOp_get_String(GrB_UnaryOp object, char *, int); +GrB_Info GrB_UnaryOp_get_VOID(GrB_UnaryOp object, void *, int); GrB_Info GrB_UnaryOp_new(GrB_UnaryOp *unaryop, GxB_unary_function function, GrB_Type ztype, GrB_Type xtype); -GrB_Info GrB_UnaryOp_set_INT32(GrB_UnaryOp, int32_t, GrB_Field); -GrB_Info GrB_UnaryOp_set_String(GrB_UnaryOp, char *, GrB_Field); -GrB_Info GrB_UnaryOp_set_VOID(GrB_UnaryOp, void *, GrB_Field, size_t); -GrB_Info GrB_UnaryOp_wait(GrB_UnaryOp op, GrB_WaitMode waitmode); +GrB_Info GrB_UnaryOp_set_INT32(GrB_UnaryOp object, int32_t, int); +GrB_Info GrB_UnaryOp_set_String(GrB_UnaryOp object, char *, int); +GrB_Info GrB_UnaryOp_set_VOID(GrB_UnaryOp object, void *, int, size_t); +GrB_Info GrB_UnaryOp_wait(GrB_UnaryOp object, int waitmode); /* vector */ 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); @@ -3136,32 +3176,32 @@ GrB_Info GrB_Vector_apply_IndexOp_UINT8(GrB_Vector w, const GrB_Vector mask, con 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); 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); 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); -GrB_Info GrB_Vector_assign(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_BOOL(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, bool x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_FP32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, float x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_FP64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, double x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_INT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_INT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_INT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_INT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_Scalar(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, GrB_Scalar x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_UDT(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, void *x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_UINT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_UINT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_UINT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_UINT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_build_BOOL(GrB_Vector w, const GrB_Index *Ilist, const bool *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_FP32(GrB_Vector w, const GrB_Index *Ilist, const float *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_FP64(GrB_Vector w, const GrB_Index *Ilist, const double *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_INT8(GrB_Vector w, const GrB_Index *Ilist, const int8_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_INT16(GrB_Vector w, const GrB_Index *Ilist, const int16_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_INT32(GrB_Vector w, const GrB_Index *Ilist, const int32_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_INT64(GrB_Vector w, const GrB_Index *Ilist, const int64_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_UDT(GrB_Vector w, const GrB_Index *Ilist, const void *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_UINT8(GrB_Vector w, const GrB_Index *Ilist, const uint8_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_UINT16(GrB_Vector w, const GrB_Index *Ilist, const uint16_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_UINT32(GrB_Vector w, const GrB_Index *Ilist, const uint32_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_UINT64(GrB_Vector w, const GrB_Index *Ilist, const uint64_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +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); +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); +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); +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); +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); +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); +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); +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); +GrB_Info GrB_Vector_assign_Scalar(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Scalar x, const GrB_Index *I_, GrB_Index ni, const GrB_Descriptor desc); +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); +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); +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); +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); +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); +GrB_Info GrB_Vector_build_BOOL(GrB_Vector w, const GrB_Index *I_, const bool *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_FP32(GrB_Vector w, const GrB_Index *I_, const float *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_FP64(GrB_Vector w, const GrB_Index *I_, const double *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_INT8(GrB_Vector w, const GrB_Index *I_, const int8_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_INT16(GrB_Vector w, const GrB_Index *I_, const int16_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_INT32(GrB_Vector w, const GrB_Index *I_, const int32_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_INT64(GrB_Vector w, const GrB_Index *I_, const int64_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_UDT(GrB_Vector w, const GrB_Index *I_, const void *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_UINT8(GrB_Vector w, const GrB_Index *I_, const uint8_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_UINT16(GrB_Vector w, const GrB_Index *I_, const uint16_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_UINT32(GrB_Vector w, const GrB_Index *I_, const uint32_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_UINT64(GrB_Vector w, const GrB_Index *I_, const uint64_t *X, GrB_Index nvals, const GrB_BinaryOp dup); GrB_Info GrB_Vector_clear(GrB_Vector v); GrB_Info GrB_Vector_dup(GrB_Vector *w, const GrB_Vector u); 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); @@ -3170,8 +3210,8 @@ GrB_Info GrB_Vector_eWiseAdd_Semiring(GrB_Vector w, const GrB_Vector mask, const 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); 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); 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); -GrB_Info GrB_Vector_error(const char **error, const GrB_Vector v); -GrB_Info GrB_Vector_extract(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); +GrB_Info GrB_Vector_error(const char **error, const GrB_Vector object); +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); GrB_Info GrB_Vector_extractElement_BOOL(bool *x, const GrB_Vector v, GrB_Index i); GrB_Info GrB_Vector_extractElement_FP32(float *x, const GrB_Vector v, GrB_Index i); GrB_Info GrB_Vector_extractElement_FP64(double *x, const GrB_Vector v, GrB_Index i); @@ -3185,28 +3225,28 @@ GrB_Info GrB_Vector_extractElement_UINT8(uint8_t *x, const GrB_Vector v, GrB_Ind GrB_Info GrB_Vector_extractElement_UINT16(uint16_t *x, const GrB_Vector v, GrB_Index i); GrB_Info GrB_Vector_extractElement_UINT32(uint32_t *x, const GrB_Vector v, GrB_Index i); GrB_Info GrB_Vector_extractElement_UINT64(uint64_t *x, const GrB_Vector v, GrB_Index i); -GrB_Info GrB_Vector_extractTuples_BOOL(GrB_Index *Ilist, bool *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_FP32(GrB_Index *Ilist, float *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_FP64(GrB_Index *Ilist, double *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_INT8(GrB_Index *Ilist, int8_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_INT16(GrB_Index *Ilist, int16_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_INT32(GrB_Index *Ilist, int32_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_INT64(GrB_Index *Ilist, int64_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_UDT(GrB_Index *Ilist, void *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_UINT8(GrB_Index *Ilist, uint8_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_UINT16(GrB_Index *Ilist, uint16_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_UINT32(GrB_Index *Ilist, uint32_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_UINT64(GrB_Index *Ilist, uint64_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_free(GrB_Vector *v); -GrB_Info GrB_Vector_get_INT32(GrB_Vector, int32_t *, GrB_Field); -GrB_Info GrB_Vector_get_SIZE(GrB_Vector, size_t *, GrB_Field); -GrB_Info GrB_Vector_get_Scalar(GrB_Vector, GrB_Scalar, GrB_Field); -GrB_Info GrB_Vector_get_String(GrB_Vector, char *, GrB_Field); -GrB_Info GrB_Vector_get_VOID(GrB_Vector, void *, GrB_Field); +GrB_Info GrB_Vector_extractTuples_BOOL(GrB_Index *I_, bool *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_FP32(GrB_Index *I_, float *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_FP64(GrB_Index *I_, double *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_INT8(GrB_Index *I_, int8_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_INT16(GrB_Index *I_, int16_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_INT32(GrB_Index *I_, int32_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_INT64(GrB_Index *I_, int64_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_UDT(GrB_Index *I_, void *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_UINT8(GrB_Index *I_, uint8_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_UINT16(GrB_Index *I_, uint16_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_UINT32(GrB_Index *I_, uint32_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_UINT64(GrB_Index *I_, uint64_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_free(GrB_Vector *object); +GrB_Info GrB_Vector_get_INT32(GrB_Vector object, int32_t *, int); +GrB_Info GrB_Vector_get_SIZE(GrB_Vector object, size_t *, int); +GrB_Info GrB_Vector_get_Scalar(GrB_Vector object, GrB_Scalar, int); +GrB_Info GrB_Vector_get_String(GrB_Vector object, char *, int); +GrB_Info GrB_Vector_get_VOID(GrB_Vector object, void *, int); GrB_Info GrB_Vector_new(GrB_Vector *v, GrB_Type type, GrB_Index n); GrB_Info GrB_Vector_nvals(GrB_Index *nvals, const GrB_Vector v); GrB_Info GrB_Vector_reduce_BOOL(bool *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc); -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); +GrB_Info GrB_Vector_reduce_BinaryOp_Scalar(GrB_Scalar, const GrB_BinaryOp, const GrB_BinaryOp, const GrB_Vector, const GrB_Descriptor); GrB_Info GrB_Vector_reduce_FP32(float *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc); GrB_Info GrB_Vector_reduce_FP64(double *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc); 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); @@ -3247,12 +3287,12 @@ GrB_Info GrB_Vector_setElement_UINT8(GrB_Vector w, uint8_t x, GrB_Index i); GrB_Info GrB_Vector_setElement_UINT16(GrB_Vector w, uint16_t x, GrB_Index i); GrB_Info GrB_Vector_setElement_UINT32(GrB_Vector w, uint32_t x, GrB_Index i); GrB_Info GrB_Vector_setElement_UINT64(GrB_Vector w, uint64_t x, GrB_Index i); -GrB_Info GrB_Vector_set_INT32(GrB_Vector, int32_t, GrB_Field); -GrB_Info GrB_Vector_set_Scalar(GrB_Vector, GrB_Scalar, GrB_Field); -GrB_Info GrB_Vector_set_String(GrB_Vector, char *, GrB_Field); -GrB_Info GrB_Vector_set_VOID(GrB_Vector, void *, GrB_Field, size_t); +GrB_Info GrB_Vector_set_INT32(GrB_Vector object, int32_t, int); +GrB_Info GrB_Vector_set_Scalar(GrB_Vector object, GrB_Scalar, int); +GrB_Info GrB_Vector_set_String(GrB_Vector object, char *, int); +GrB_Info GrB_Vector_set_VOID(GrB_Vector object, void *, int, size_t); GrB_Info GrB_Vector_size(GrB_Index *n, const GrB_Vector v); -GrB_Info GrB_Vector_wait(GrB_Vector v, GrB_WaitMode waitmode); +GrB_Info GrB_Vector_wait(GrB_Vector object, int waitmode); /*************** * GB functions * @@ -3261,17 +3301,17 @@ GrB_Info GrB_Vector_wait(GrB_Vector v, GrB_WaitMode waitmode); /* iterator */ GrB_Info GB_Iterator_rc_bitmap_next(GxB_Iterator iterator); GrB_Info GB_Iterator_rc_seek(GxB_Iterator iterator, GrB_Index j, bool jth_vector); -GrB_Info GB_Vector_Iterator_bitmap_seek(GxB_Iterator iterator, GrB_Index unused); +GrB_Info GB_Vector_Iterator_bitmap_seek(GxB_Iterator iterator); /* matrix */ -GrB_Info GB_Iterator_attach(GxB_Iterator iterator, GrB_Matrix A, GxB_Format_Value format, GrB_Descriptor desc); +GrB_Info GB_Iterator_attach(GxB_Iterator iterator, GrB_Matrix A, int format, GrB_Descriptor desc); /**************** * GxB functions * ****************/ /* binary */ -GrB_Info GxB_BinaryOp_fprint(GrB_BinaryOp binaryop, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_BinaryOp_fprint(GrB_BinaryOp binaryop, const char *name, int pr, FILE *f); 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); GrB_Info GxB_BinaryOp_xtype(GrB_Type *, GrB_BinaryOp); GrB_Info GxB_BinaryOp_xtype_name(char *, const GrB_BinaryOp); @@ -3280,75 +3320,79 @@ GrB_Info GxB_BinaryOp_ytype_name(char *, const GrB_BinaryOp); GrB_Info GxB_BinaryOp_ztype(GrB_Type *, GrB_BinaryOp); GrB_Info GxB_BinaryOp_ztype_name(char *, const GrB_BinaryOp); +/* container */ +GrB_Info GxB_Container_free(GxB_Container *object); +GrB_Info GxB_Container_new(GxB_Container *Container); + /* context */ GrB_Info GxB_Context_disengage(GxB_Context Context); GrB_Info GxB_Context_engage(GxB_Context Context); -GrB_Info GxB_Context_error(const char **error, const GxB_Context c); -GrB_Info GxB_Context_fprint(GxB_Context Context, const char *name, GxB_Print_Level pr, FILE *f); -GrB_Info GxB_Context_free(GxB_Context *Context); -GrB_Info GxB_Context_get(GxB_Context, GxB_Context_Field, ...); -GrB_Info GxB_Context_get_FP64(GxB_Context, GxB_Context_Field, double *); -GrB_Info GxB_Context_get_INT(GxB_Context, int32_t *, GrB_Field); -GrB_Info GxB_Context_get_INT32(GxB_Context, GxB_Context_Field, int32_t *); -GrB_Info GxB_Context_get_SIZE(GxB_Context, size_t *, GrB_Field); -GrB_Info GxB_Context_get_String(GxB_Context, char *, GrB_Field); -GrB_Info GxB_Context_get_VOID(GxB_Context, void *, GrB_Field); +GrB_Info GxB_Context_error(const char **error, const GxB_Context object); +GrB_Info GxB_Context_fprint(GxB_Context Context, const char *name, int pr, FILE *f); +GrB_Info GxB_Context_free(GxB_Context *object); +GrB_Info GxB_Context_get(GxB_Context, int, ...); +GrB_Info GxB_Context_get_FP64(GxB_Context, int, double *); +GrB_Info GxB_Context_get_INT(GxB_Context, int32_t *, int); +GrB_Info GxB_Context_get_INT32(GxB_Context, int, int32_t *); +GrB_Info GxB_Context_get_SIZE(GxB_Context, size_t *, int); +GrB_Info GxB_Context_get_String(GxB_Context, char *, int); +GrB_Info GxB_Context_get_VOID(GxB_Context, void *, int); GrB_Info GxB_Context_new(GxB_Context *Context); -GrB_Info GxB_Context_set(GxB_Context, GxB_Context_Field, ...); -GrB_Info GxB_Context_set_FP64(GxB_Context, GxB_Context_Field, double); -GrB_Info GxB_Context_set_INT(GxB_Context, int32_t, GrB_Field); -GrB_Info GxB_Context_set_INT32(GxB_Context, GxB_Context_Field, int32_t); -GrB_Info GxB_Context_set_String(GxB_Context, char *, GrB_Field); -GrB_Info GxB_Context_set_VOID(GxB_Context, void *, GrB_Field, size_t); -GrB_Info GxB_Context_wait(GxB_Context Context, GrB_WaitMode waitmode); +GrB_Info GxB_Context_set(GxB_Context, int, ...); +GrB_Info GxB_Context_set_FP64(GxB_Context, int, double); +GrB_Info GxB_Context_set_INT(GxB_Context, int32_t, int); +GrB_Info GxB_Context_set_INT32(GxB_Context, int, int32_t); +GrB_Info GxB_Context_set_String(GxB_Context, char *, int); +GrB_Info GxB_Context_set_VOID(GxB_Context, void *, int, size_t); +GrB_Info GxB_Context_wait(GxB_Context object, int waitmode); /* core */ -GrB_Info GxB_Global_Option_get(GxB_Option_Field, ...); -GrB_Info GxB_Global_Option_get_CHAR(GxB_Option_Field, const char **); -GrB_Info GxB_Global_Option_get_FP64(GxB_Option_Field, double *); -GrB_Info GxB_Global_Option_get_FUNCTION(GxB_Option_Field, void **); -GrB_Info GxB_Global_Option_get_INT32(GxB_Option_Field, int32_t *); -GrB_Info GxB_Global_Option_get_INT64(GxB_Option_Field, int64_t *); -GrB_Info GxB_Global_Option_set(GxB_Option_Field, ...); -GrB_Info GxB_Global_Option_set_CHAR(GxB_Option_Field, const char *); -GrB_Info GxB_Global_Option_set_FP64(GxB_Option_Field, double); -GrB_Info GxB_Global_Option_set_FP64_ARRAY(GxB_Option_Field, double *); -GrB_Info GxB_Global_Option_set_FUNCTION(GxB_Option_Field, void *); -GrB_Info GxB_Global_Option_set_INT32(GxB_Option_Field, int32_t); -GrB_Info GxB_Global_Option_set_INT64_ARRAY(GxB_Option_Field, int64_t *); -GrB_Info GxB_Serialized_get_INT32(const void *, int32_t *, GrB_Field, size_t); -GrB_Info GxB_Serialized_get_SIZE(const void *, size_t *, GrB_Field, size_t); -GrB_Info GxB_Serialized_get_String(const void *, char *, GrB_Field, size_t); -GrB_Info GxB_Serialized_get_VOID(const void *, void *, GrB_Field, size_t); -GrB_Info GxB_deserialize_type_name(char *, const void *, GrB_Index); -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 *)); +GrB_Info GxB_Global_Option_get(int, ...); +GrB_Info GxB_Global_Option_get_CHAR(int, const char **); +GrB_Info GxB_Global_Option_get_FP64(int, double *); +GrB_Info GxB_Global_Option_get_FUNCTION(int, void **); +GrB_Info GxB_Global_Option_get_INT32(int, int32_t *); +GrB_Info GxB_Global_Option_get_INT64(int, int64_t *); +GrB_Info GxB_Global_Option_set(int, ...); +GrB_Info GxB_Global_Option_set_CHAR(int, const char *); +GrB_Info GxB_Global_Option_set_FP64(int, double); +GrB_Info GxB_Global_Option_set_FP64_ARRAY(int, double *); +GrB_Info GxB_Global_Option_set_FUNCTION(int, void *); +GrB_Info GxB_Global_Option_set_INT32(int, int32_t); +GrB_Info GxB_Global_Option_set_INT64_ARRAY(int, int64_t *); +GrB_Info GxB_Serialized_get_INT32(const void *, int32_t *, int, size_t); +GrB_Info GxB_Serialized_get_SIZE(const void *, size_t *, int, size_t); +GrB_Info GxB_Serialized_get_String(const void *, char *, int, size_t); +GrB_Info GxB_Serialized_get_VOID(const void *, void *, int, size_t); +GrB_Info GxB_deserialize_type_name(char *, const void *, uint64_t); +GrB_Info GxB_init(int 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 */ -GrB_Info GxB_Desc_get(GrB_Descriptor, GrB_Desc_Field, ...); -GrB_Info GxB_Desc_get_FP64(GrB_Descriptor, GrB_Desc_Field, double *); -GrB_Info GxB_Desc_get_INT32(GrB_Descriptor, GrB_Desc_Field, int32_t *); -GrB_Info GxB_Desc_set(GrB_Descriptor, GrB_Desc_Field, ...); -GrB_Info GxB_Desc_set_FP64(GrB_Descriptor, GrB_Desc_Field, double); -GrB_Info GxB_Desc_set_INT32(GrB_Descriptor, GrB_Desc_Field, int32_t); -GrB_Info GxB_Descriptor_fprint(GrB_Descriptor descriptor, const char *name, GxB_Print_Level pr, FILE *f); -GrB_Info GxB_Descriptor_get(GrB_Desc_Value *, GrB_Descriptor, GrB_Desc_Field); +GrB_Info GxB_Desc_get(GrB_Descriptor, int, ...); +GrB_Info GxB_Desc_get_FP64(GrB_Descriptor, int, double *); +GrB_Info GxB_Desc_get_INT32(GrB_Descriptor, int, int32_t *); +GrB_Info GxB_Desc_set(GrB_Descriptor, int, ...); +GrB_Info GxB_Desc_set_FP64(GrB_Descriptor, int, double); +GrB_Info GxB_Desc_set_INT32(GrB_Descriptor, int, int32_t); +GrB_Info GxB_Descriptor_fprint(GrB_Descriptor descriptor, const char *name, int pr, FILE *f); +GrB_Info GxB_Descriptor_get(int32_t *, GrB_Descriptor, int); /* indexbinary */ -GrB_Info GxB_IndexBinaryOp_error(const char **error, const GxB_IndexBinaryOp op); -GrB_Info GxB_IndexBinaryOp_fprint(GxB_IndexBinaryOp op, const char *name, GxB_Print_Level pr, FILE *f); -GrB_Info GxB_IndexBinaryOp_free(GxB_IndexBinaryOp *op); -GrB_Info GxB_IndexBinaryOp_get_INT32(GxB_IndexBinaryOp, int32_t *, GrB_Field); -GrB_Info GxB_IndexBinaryOp_get_SIZE(GxB_IndexBinaryOp, size_t *, GrB_Field); -GrB_Info GxB_IndexBinaryOp_get_String(GxB_IndexBinaryOp, char *, GrB_Field); -GrB_Info GxB_IndexBinaryOp_get_VOID(GxB_IndexBinaryOp, void *, GrB_Field); +GrB_Info GxB_IndexBinaryOp_error(const char **error, const GxB_IndexBinaryOp object); +GrB_Info GxB_IndexBinaryOp_fprint(GxB_IndexBinaryOp op, const char *name, int pr, FILE *f); +GrB_Info GxB_IndexBinaryOp_free(GxB_IndexBinaryOp *object); +GrB_Info GxB_IndexBinaryOp_get_INT32(GxB_IndexBinaryOp object, int32_t *, int); +GrB_Info GxB_IndexBinaryOp_get_SIZE(GxB_IndexBinaryOp object, size_t *, int); +GrB_Info GxB_IndexBinaryOp_get_String(GxB_IndexBinaryOp object, char *, int); +GrB_Info GxB_IndexBinaryOp_get_VOID(GxB_IndexBinaryOp object, void *, int); GrB_Info GxB_IndexBinaryOp_new(GxB_IndexBinaryOp *op, GxB_index_binary_function function, GrB_Type ztype, GrB_Type xtype, GrB_Type ytype, GrB_Type theta_type, const char *idxbinop_name, const char *idxbinop_defn); -GrB_Info GxB_IndexBinaryOp_set_INT32(GxB_IndexBinaryOp, int32_t, GrB_Field); -GrB_Info GxB_IndexBinaryOp_set_String(GxB_IndexBinaryOp, char *, GrB_Field); -GrB_Info GxB_IndexBinaryOp_set_VOID(GxB_IndexBinaryOp, void *, GrB_Field, size_t); -GrB_Info GxB_IndexBinaryOp_wait(GxB_IndexBinaryOp op, GrB_WaitMode waitmode); +GrB_Info GxB_IndexBinaryOp_set_INT32(GxB_IndexBinaryOp object, int32_t, int); +GrB_Info GxB_IndexBinaryOp_set_String(GxB_IndexBinaryOp object, char *, int); +GrB_Info GxB_IndexBinaryOp_set_VOID(GxB_IndexBinaryOp object, void *, int, size_t); +GrB_Info GxB_IndexBinaryOp_wait(GxB_IndexBinaryOp object, int waitmode); /* indexunary */ -GrB_Info GxB_IndexUnaryOp_fprint(GrB_IndexUnaryOp op, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_IndexUnaryOp_fprint(GrB_IndexUnaryOp op, const char *name, int pr, FILE *f); 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); GrB_Info GxB_IndexUnaryOp_xtype_name(char *, const GrB_IndexUnaryOp); GrB_Info GxB_IndexUnaryOp_ytype_name(char *, const GrB_IndexUnaryOp); @@ -3366,7 +3410,7 @@ GrB_Index GxB_colIterator_kount(GxB_Iterator iterator); GrB_Index GxB_rowIterator_getColIndex(GxB_Iterator iterator); GrB_Index GxB_rowIterator_getRowIndex(GxB_Iterator iterator); GrB_Index GxB_rowIterator_kount(GxB_Iterator iterator); -GrB_Info GxB_Iterator_free(GxB_Iterator *iterator); +GrB_Info GxB_Iterator_free(GxB_Iterator *object); GrB_Info GxB_Iterator_new(GxB_Iterator *iterator); GrB_Info GxB_Matrix_Iterator_next(GxB_Iterator iterator); GrB_Info GxB_Matrix_Iterator_seek(GxB_Iterator iterator, GrB_Index p); @@ -3397,14 +3441,17 @@ void GxB_Iterator_get_UDT(GxB_Iterator iterator, void *value); void GxB_Matrix_Iterator_getIndex(GxB_Iterator iterator, GrB_Index *row, GrB_Index *col); /* matrix */ -GrB_Info GxB_Col_subassign(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *Ilist, GrB_Index ni, GrB_Index j, const GrB_Descriptor desc); +GrB_Info GxB_Col_assign_Vector(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Vector I_vector, GrB_Index j, const GrB_Descriptor desc); +GrB_Info GxB_Col_extract_Vector(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Vector I_vector, GrB_Index j, const GrB_Descriptor desc); +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); +GrB_Info GxB_Col_subassign_Vector(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Vector I_vector, GrB_Index j, const GrB_Descriptor desc); GrB_Info GxB_Matrix_Iterator_attach(GxB_Iterator iterator, GrB_Matrix A, GrB_Descriptor desc); -GrB_Info GxB_Matrix_Option_get(GrB_Matrix, GxB_Option_Field, ...); -GrB_Info GxB_Matrix_Option_get_FP64(GrB_Matrix, GxB_Option_Field, double *); -GrB_Info GxB_Matrix_Option_get_INT32(GrB_Matrix, GxB_Option_Field, int32_t *); -GrB_Info GxB_Matrix_Option_set(GrB_Matrix, GxB_Option_Field, ...); -GrB_Info GxB_Matrix_Option_set_FP64(GrB_Matrix, GxB_Option_Field, double); -GrB_Info GxB_Matrix_Option_set_INT32(GrB_Matrix, GxB_Option_Field, int32_t); +GrB_Info GxB_Matrix_Option_get(GrB_Matrix, int, ...); +GrB_Info GxB_Matrix_Option_get_FP64(GrB_Matrix, int, double *); +GrB_Info GxB_Matrix_Option_get_INT32(GrB_Matrix, int, int32_t *); +GrB_Info GxB_Matrix_Option_set(GrB_Matrix, int, ...); +GrB_Info GxB_Matrix_Option_set_FP64(GrB_Matrix, int, double); +GrB_Info GxB_Matrix_Option_set_INT32(GrB_Matrix, int, int32_t); GrB_Info GxB_Matrix_apply_BinaryOp1st(GrB_Matrix, const GrB_Matrix, const GrB_BinaryOp, const GrB_BinaryOp, const GrB_Scalar, const GrB_Matrix, const GrB_Descriptor); 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); 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); @@ -3413,56 +3460,62 @@ GrB_Info GxB_Matrix_apply_BinaryOp2nd_FC32(GrB_Matrix C, const GrB_Matrix Mask, 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); 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); 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); -GrB_Info GxB_Matrix_assign_FC32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, GxB_FC32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_assign_FC64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, GxB_FC64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_build_FC32(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const GxB_FC32_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GxB_Matrix_build_FC64(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const GxB_FC64_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GxB_Matrix_build_Scalar(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, GrB_Scalar scalar, GrB_Index nvals); +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); +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); +GrB_Info GxB_Matrix_assign_Scalar_Vector(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Scalar x, const GrB_Vector I_vector, const GrB_Vector J_vector, const GrB_Descriptor desc); +GrB_Info GxB_Matrix_assign_Vector(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Vector I_vector, const GrB_Vector J_vector, const GrB_Descriptor desc); +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); +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); +GrB_Info GxB_Matrix_build_Scalar(GrB_Matrix C, const GrB_Index *I_, const GrB_Index *J, GrB_Scalar scalar, GrB_Index nvals); +GrB_Info GxB_Matrix_build_Scalar_Vector(GrB_Matrix C, const GrB_Vector I_vector, const GrB_Vector J_vector, GrB_Scalar scalar, const GrB_Descriptor desc); +GrB_Info GxB_Matrix_build_Vector(GrB_Matrix C, const GrB_Vector I_vector, const GrB_Vector J_vector, const GrB_Vector X_vector, const GrB_BinaryOp dup, const GrB_Descriptor desc); GrB_Info GxB_Matrix_concat(GrB_Matrix C, const GrB_Matrix *Tiles, const GrB_Index m, const GrB_Index n, const GrB_Descriptor desc); GrB_Info GxB_Matrix_deserialize(GrB_Matrix *C, GrB_Type type, const void *blob, GrB_Index blob_size, const GrB_Descriptor desc); GrB_Info GxB_Matrix_diag(GrB_Matrix C, const GrB_Vector v, int64_t k, const GrB_Descriptor desc); 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); -GrB_Info GxB_Matrix_export_BitmapC(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, int8_t **, void **, GrB_Index *, GrB_Index *, bool *, GrB_Index *, const GrB_Descriptor); -GrB_Info GxB_Matrix_export_BitmapR(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, int8_t **, void **, GrB_Index *, GrB_Index *, bool *, GrB_Index *, const GrB_Descriptor); -GrB_Info GxB_Matrix_export_CSC(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, GrB_Index **, GrB_Index **, void **, GrB_Index *, GrB_Index *, GrB_Index *, bool *, bool *, const GrB_Descriptor); -GrB_Info GxB_Matrix_export_CSR(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, GrB_Index **, GrB_Index **, void **, GrB_Index *, GrB_Index *, GrB_Index *, bool *, bool *, const GrB_Descriptor); -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); -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); -GrB_Info GxB_Matrix_export_FullC(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, void **, GrB_Index *, bool *, const GrB_Descriptor); -GrB_Info GxB_Matrix_export_FullR(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, void **, GrB_Index *, bool *, const GrB_Descriptor); -GrB_Info GxB_Matrix_export_HyperCSC(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, GrB_Index **, GrB_Index **, GrB_Index **, void **, GrB_Index *, GrB_Index *, GrB_Index *, GrB_Index *, bool *, GrB_Index *, bool *, const GrB_Descriptor); -GrB_Info GxB_Matrix_export_HyperCSR(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, GrB_Index **, GrB_Index **, GrB_Index **, void **, GrB_Index *, GrB_Index *, GrB_Index *, GrB_Index *, bool *, GrB_Index *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_BitmapC(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, int8_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_BitmapR(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, int8_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_CSC(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, bool *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_CSR(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, bool *, bool *, const GrB_Descriptor); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +GrB_Info GxB_Matrix_export_FullC(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, void **, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_FullR(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, void **, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_HyperCSC(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, uint64_t *, bool *, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_HyperCSR(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, uint64_t *, bool *, uint64_t *, bool *, const GrB_Descriptor); GrB_Info GxB_Matrix_extractElement_FC32(GxB_FC32_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j); GrB_Info GxB_Matrix_extractElement_FC64(GxB_FC64_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j); -GrB_Info GxB_Matrix_extractTuples_FC32(GrB_Index *Ilist, GrB_Index *J, GxB_FC32_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GxB_Matrix_extractTuples_FC64(GrB_Index *Ilist, GrB_Index *J, GxB_FC64_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GxB_Matrix_fprint(GrB_Matrix A, const char *name, GxB_Print_Level pr, FILE *f); -GrB_Info GxB_Matrix_import_BitmapC(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, int8_t **, void **, GrB_Index, GrB_Index, bool, GrB_Index, const GrB_Descriptor); -GrB_Info GxB_Matrix_import_BitmapR(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, int8_t **, void **, GrB_Index, GrB_Index, bool, GrB_Index, const GrB_Descriptor); -GrB_Info GxB_Matrix_import_CSC(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, GrB_Index **, GrB_Index **, void **, GrB_Index, GrB_Index, GrB_Index, bool, bool, const GrB_Descriptor); -GrB_Info GxB_Matrix_import_CSR(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, GrB_Index **, GrB_Index **, void **, GrB_Index, GrB_Index, GrB_Index, bool, bool, const GrB_Descriptor); -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); -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); -GrB_Info GxB_Matrix_import_FullC(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, void **, GrB_Index, bool, const GrB_Descriptor); -GrB_Info GxB_Matrix_import_FullR(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, void **, GrB_Index, bool, const GrB_Descriptor); -GrB_Info GxB_Matrix_import_HyperCSC(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, GrB_Index **, GrB_Index **, GrB_Index **, void **, GrB_Index, GrB_Index, GrB_Index, GrB_Index, bool, GrB_Index, bool, const GrB_Descriptor); -GrB_Info GxB_Matrix_import_HyperCSR(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, GrB_Index **, GrB_Index **, GrB_Index **, void **, GrB_Index, GrB_Index, GrB_Index, GrB_Index, bool, GrB_Index, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_extractTuples_FC32(GrB_Index *I_, GrB_Index *J, GxB_FC32_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GxB_Matrix_extractTuples_FC64(GrB_Index *I_, GrB_Index *J, GxB_FC64_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GxB_Matrix_extractTuples_Vector(GrB_Vector I_vector, GrB_Vector J_vector, GrB_Vector X_vector, const GrB_Matrix A, const GrB_Descriptor desc); +GrB_Info GxB_Matrix_extract_Vector(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Vector I_vector, const GrB_Vector J_vector, const GrB_Descriptor desc); +GrB_Info GxB_Matrix_fprint(GrB_Matrix A, const char *name, int pr, FILE *f); +GrB_Info GxB_Matrix_import_BitmapC(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, int8_t **, void **, uint64_t, uint64_t, bool, uint64_t, const GrB_Descriptor); +GrB_Info GxB_Matrix_import_BitmapR(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, int8_t **, void **, uint64_t, uint64_t, bool, uint64_t, const GrB_Descriptor); +GrB_Info GxB_Matrix_import_CSC(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, bool, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_import_CSR(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, bool, bool, const GrB_Descriptor); +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, int format); +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, int format); +GrB_Info GxB_Matrix_import_FullC(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, void **, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_import_FullR(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, void **, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_import_HyperCSC(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, uint64_t, bool, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_import_HyperCSR(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, uint64_t, bool, uint64_t, bool, const GrB_Descriptor); GrB_Info GxB_Matrix_isStoredElement(const GrB_Matrix A, GrB_Index i, GrB_Index j); -GrB_Info GxB_Matrix_iso(bool *iso, const GrB_Matrix A); +GrB_Info GxB_Matrix_iso(bool *, const GrB_Matrix); GrB_Info GxB_Matrix_memoryUsage(size_t *size, const GrB_Matrix A); -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); -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); -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); -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); -GrB_Info GxB_Matrix_pack_FullC(GrB_Matrix A, void **Ax, GrB_Index Ax_size, bool iso, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_pack_FullR(GrB_Matrix A, void **Ax, GrB_Index Ax_size, bool iso, const GrB_Descriptor desc); -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); -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); +GrB_Info GxB_Matrix_pack_BitmapC(GrB_Matrix, int8_t **, void **, uint64_t, uint64_t, bool, uint64_t, const GrB_Descriptor); +GrB_Info GxB_Matrix_pack_BitmapR(GrB_Matrix, int8_t **, void **, uint64_t, uint64_t, bool, uint64_t, const GrB_Descriptor); +GrB_Info GxB_Matrix_pack_CSC(GrB_Matrix, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, bool, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_pack_CSR(GrB_Matrix, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, bool, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_pack_FullC(GrB_Matrix, void **, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_pack_FullR(GrB_Matrix, void **, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_pack_HyperCSC(GrB_Matrix, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, uint64_t, bool, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_pack_HyperCSR(GrB_Matrix, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, uint64_t, bool, uint64_t, bool, const GrB_Descriptor); 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); 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); GrB_Info GxB_Matrix_reshape(GrB_Matrix C, bool by_col, GrB_Index nrows_new, GrB_Index ncols_new, const GrB_Descriptor desc); 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); -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); +GrB_Info GxB_Matrix_select(GrB_Matrix, const GrB_Matrix, const GrB_BinaryOp, const GxB_SelectOp, const GrB_Matrix, const GrB_Scalar, const GrB_Descriptor); 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); 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); GrB_Info GxB_Matrix_serialize(void **blob_handle, GrB_Index *blob_size_handle, GrB_Matrix A, const GrB_Descriptor desc); @@ -3470,41 +3523,47 @@ GrB_Info GxB_Matrix_setElement_FC32(GrB_Matrix C, GxB_FC32_t x, GrB_Index i, GrB GrB_Info GxB_Matrix_setElement_FC64(GrB_Matrix C, GxB_FC64_t x, GrB_Index i, GrB_Index j); GrB_Info GxB_Matrix_sort(GrB_Matrix C, GrB_Matrix P, GrB_BinaryOp op, GrB_Matrix A, const GrB_Descriptor desc); 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); -GrB_Info GxB_Matrix_subassign(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_BOOL(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, bool x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_FC32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, GxB_FC32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_FC64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, GxB_FC64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_FP32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, float x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_FP64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, double x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_INT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_INT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_INT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_INT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_Scalar(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, GrB_Scalar x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_UDT(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, void *x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_UINT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_UINT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_UINT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_UINT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_type(GrB_Type *, const GrB_Matrix); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +GrB_Info GxB_Matrix_subassign_Scalar(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Scalar x, const GrB_Index *I_, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); +GrB_Info GxB_Matrix_subassign_Scalar_Vector(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Scalar scalar, const GrB_Vector I_vector, const GrB_Vector J_vector, const GrB_Descriptor desc); +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); +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); +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); +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); +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); +GrB_Info GxB_Matrix_subassign_Vector(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Vector I_vector, const GrB_Vector J_vector, const GrB_Descriptor desc); +GrB_Info GxB_Matrix_type(GrB_Type *type, const GrB_Matrix A); GrB_Info GxB_Matrix_type_name(char *, const GrB_Matrix); -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); -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); -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); -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); -GrB_Info GxB_Matrix_unpack_FullC(GrB_Matrix A, void **Ax, GrB_Index *Ax_size, bool *iso, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_unpack_FullR(GrB_Matrix A, void **Ax, GrB_Index *Ax_size, bool *iso, const GrB_Descriptor desc); -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); -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); +GrB_Info GxB_Matrix_unpack_BitmapC(GrB_Matrix, int8_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, const GrB_Descriptor); +GrB_Info GxB_Matrix_unpack_BitmapR(GrB_Matrix, int8_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, const GrB_Descriptor); +GrB_Info GxB_Matrix_unpack_CSC(GrB_Matrix, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, bool *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_unpack_CSR(GrB_Matrix, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, bool *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_unpack_FullC(GrB_Matrix, void **, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_unpack_FullR(GrB_Matrix, void **, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_unpack_HyperCSC(GrB_Matrix, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, uint64_t *, bool *, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_unpack_HyperCSR(GrB_Matrix, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, uint64_t *, bool *, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Row_assign_Vector(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, GrB_Index i, const GrB_Vector J_vector, const GrB_Descriptor desc); 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); +GrB_Info GxB_Row_subassign_Vector(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, GrB_Index i, const GrB_Vector J_vector, const GrB_Descriptor desc); GrB_Info GxB_Vector_diag(GrB_Vector v, const GrB_Matrix A, int64_t k, const GrB_Descriptor desc); GrB_Info GxB_colIterator_attach(GxB_Iterator iterator, GrB_Matrix A, GrB_Descriptor desc); -GrB_Info GxB_pack_HyperHash(GrB_Matrix A, GrB_Matrix *Y, const GrB_Descriptor desc); +GrB_Info GxB_load_Matrix_from_Container(GrB_Matrix A, GxB_Container Container, const GrB_Descriptor desc); +GrB_Info GxB_pack_HyperHash(GrB_Matrix, GrB_Matrix *, const GrB_Descriptor); GrB_Info GxB_rowIterator_attach(GxB_Iterator iterator, GrB_Matrix A, GrB_Descriptor desc); -GrB_Info GxB_unpack_HyperHash(GrB_Matrix A, GrB_Matrix *Y, const GrB_Descriptor desc); +GrB_Info GxB_unload_Matrix_into_Container(GrB_Matrix A, GxB_Container Container, const GrB_Descriptor desc); +GrB_Info GxB_unpack_HyperHash(GrB_Matrix, GrB_Matrix *, const GrB_Descriptor); /* monoid */ -GrB_Info GxB_Monoid_fprint(GrB_Monoid monoid, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_Monoid_fprint(GrB_Monoid monoid, const char *name, int pr, FILE *f); GrB_Info GxB_Monoid_identity(void *, GrB_Monoid); GrB_Info GxB_Monoid_new_FC32(GrB_Monoid *monoid, GrB_BinaryOp op, GxB_FC32_t identity); GrB_Info GxB_Monoid_new_FC64(GrB_Monoid *monoid, GrB_BinaryOp op, GxB_FC64_t identity); @@ -3527,10 +3586,10 @@ GrB_Info GxB_Monoid_terminal_new_UINT64(GrB_Monoid *monoid, GrB_BinaryOp op, uin /* scalar */ GrB_Info GxB_BinaryOp_new_IndexOp(GrB_BinaryOp *binop, GxB_IndexBinaryOp idxbinop, GrB_Scalar theta); -GrB_Info GxB_Context_get_Scalar(GxB_Context, GrB_Scalar, GrB_Field); -GrB_Info GxB_Context_set_Scalar(GxB_Context, GrB_Scalar, GrB_Field); -GrB_Info GxB_IndexBinaryOp_get_Scalar(GxB_IndexBinaryOp, GrB_Scalar, GrB_Field); -GrB_Info GxB_IndexBinaryOp_set_Scalar(GxB_IndexBinaryOp, GrB_Scalar, GrB_Field); +GrB_Info GxB_Context_get_Scalar(GxB_Context, GrB_Scalar, int); +GrB_Info GxB_Context_set_Scalar(GxB_Context, GrB_Scalar, int); +GrB_Info GxB_IndexBinaryOp_get_Scalar(GxB_IndexBinaryOp object, GrB_Scalar, int); +GrB_Info GxB_IndexBinaryOp_set_Scalar(GxB_IndexBinaryOp object, GrB_Scalar, int); GrB_Info GxB_Scalar_clear(GrB_Scalar); GrB_Info GxB_Scalar_dup(GrB_Scalar *, const GrB_Scalar); GrB_Info GxB_Scalar_error(const char **, const GrB_Scalar); @@ -3548,11 +3607,11 @@ GrB_Info GxB_Scalar_extractElement_UINT8(uint8_t *, const GrB_Scalar); GrB_Info GxB_Scalar_extractElement_UINT16(uint16_t *, const GrB_Scalar); GrB_Info GxB_Scalar_extractElement_UINT32(uint32_t *, const GrB_Scalar); GrB_Info GxB_Scalar_extractElement_UINT64(uint64_t *, const GrB_Scalar); -GrB_Info GxB_Scalar_fprint(GrB_Scalar s, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_Scalar_fprint(GrB_Scalar s, const char *name, int pr, FILE *f); GrB_Info GxB_Scalar_free(GrB_Scalar *); GrB_Info GxB_Scalar_memoryUsage(size_t *size, const GrB_Scalar s); GrB_Info GxB_Scalar_new(GrB_Scalar *, GrB_Type); -GrB_Info GxB_Scalar_nvals(GrB_Index *, const GrB_Scalar); +GrB_Info GxB_Scalar_nvals(uint64_t *, const GrB_Scalar); GrB_Info GxB_Scalar_setElement_BOOL(GrB_Scalar, bool); GrB_Info GxB_Scalar_setElement_FC32(GrB_Scalar s, GxB_FC32_t x); GrB_Info GxB_Scalar_setElement_FC64(GrB_Scalar s, GxB_FC64_t x); @@ -3567,30 +3626,30 @@ GrB_Info GxB_Scalar_setElement_UINT8(GrB_Scalar, uint8_t); GrB_Info GxB_Scalar_setElement_UINT16(GrB_Scalar, uint16_t); GrB_Info GxB_Scalar_setElement_UINT32(GrB_Scalar, uint32_t); GrB_Info GxB_Scalar_setElement_UINT64(GrB_Scalar, uint64_t); -GrB_Info GxB_Scalar_type(GrB_Type *, const GrB_Scalar); +GrB_Info GxB_Scalar_type(GrB_Type *type, const GrB_Scalar s); GrB_Info GxB_Scalar_type_name(char *, const GrB_Scalar); GrB_Info GxB_Scalar_wait(GrB_Scalar *); -GrB_Info GxB_Serialized_get_Scalar(const void *, GrB_Scalar, GrB_Field, size_t); +GrB_Info GxB_Serialized_get_Scalar(const void *, GrB_Scalar, int, size_t); /* selectop */ -GrB_Info GxB_SelectOp_fprint(GxB_SelectOp op, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_SelectOp_fprint(GxB_SelectOp, const char *, int, FILE *); GrB_Info GxB_SelectOp_ttype(GrB_Type *, GxB_SelectOp); GrB_Info GxB_SelectOp_xtype(GrB_Type *, GxB_SelectOp); /* semiring */ GrB_Info GxB_Semiring_add(GrB_Monoid *, GrB_Semiring); -GrB_Info GxB_Semiring_fprint(GrB_Semiring semiring, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_Semiring_fprint(GrB_Semiring semiring, const char *name, int pr, FILE *f); GrB_Info GxB_Semiring_multiply(GrB_BinaryOp *, GrB_Semiring); /* type */ -GrB_Info GxB_Type_fprint(GrB_Type type, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_Type_fprint(GrB_Type type, const char *name, int pr, FILE *f); GrB_Info GxB_Type_from_name(GrB_Type *type, const char *type_name); GrB_Info GxB_Type_name(char *, const GrB_Type); GrB_Info GxB_Type_new(GrB_Type *type, size_t sizeof_ctype, const char *type_name, const char *type_defn); GrB_Info GxB_Type_size(size_t *, const GrB_Type); /* unary */ -GrB_Info GxB_UnaryOp_fprint(GrB_UnaryOp unaryop, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_UnaryOp_fprint(GrB_UnaryOp unaryop, const char *name, int pr, FILE *f); 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); GrB_Info GxB_UnaryOp_xtype(GrB_Type *, GrB_UnaryOp); GrB_Info GxB_UnaryOp_xtype_name(char *, const GrB_UnaryOp); @@ -3599,12 +3658,12 @@ GrB_Info GxB_UnaryOp_ztype_name(char *, const GrB_UnaryOp); /* vector */ GrB_Info GxB_Vector_Iterator_attach(GxB_Iterator iterator, GrB_Vector v, GrB_Descriptor desc); -GrB_Info GxB_Vector_Option_get(GrB_Vector, GxB_Option_Field, ...); -GrB_Info GxB_Vector_Option_get_FP64(GrB_Vector, GxB_Option_Field, double *); -GrB_Info GxB_Vector_Option_get_INT32(GrB_Vector, GxB_Option_Field, int32_t *); -GrB_Info GxB_Vector_Option_set(GrB_Vector, GxB_Option_Field, ...); -GrB_Info GxB_Vector_Option_set_FP64(GrB_Vector, GxB_Option_Field, double); -GrB_Info GxB_Vector_Option_set_INT32(GrB_Vector, GxB_Option_Field, int32_t); +GrB_Info GxB_Vector_Option_get(GrB_Vector, int, ...); +GrB_Info GxB_Vector_Option_get_FP64(GrB_Vector, int, double *); +GrB_Info GxB_Vector_Option_get_INT32(GrB_Vector, int, int32_t *); +GrB_Info GxB_Vector_Option_set(GrB_Vector, int, ...); +GrB_Info GxB_Vector_Option_set_FP64(GrB_Vector, int, double); +GrB_Info GxB_Vector_Option_set_INT32(GrB_Vector, int, int32_t); GrB_Info GxB_Vector_apply_BinaryOp1st(GrB_Vector, const GrB_Vector, const GrB_BinaryOp, const GrB_BinaryOp, const GrB_Scalar, const GrB_Vector, const GrB_Descriptor); 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); 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); @@ -3613,60 +3672,72 @@ GrB_Info GxB_Vector_apply_BinaryOp2nd_FC32(GrB_Vector w, const GrB_Vector mask, 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); 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); 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); -GrB_Info GxB_Vector_assign_FC32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, GxB_FC32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_assign_FC64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, GxB_FC64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_build_FC32(GrB_Vector w, const GrB_Index *Ilist, const GxB_FC32_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GxB_Vector_build_FC64(GrB_Vector w, const GrB_Index *Ilist, const GxB_FC64_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GxB_Vector_build_Scalar(GrB_Vector w, const GrB_Index *Ilist, GrB_Scalar scalar, GrB_Index nvals); +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); +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); +GrB_Info GxB_Vector_assign_Scalar_Vector(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Scalar x, const GrB_Vector I_vector, const GrB_Descriptor desc); +GrB_Info GxB_Vector_assign_Vector(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Vector I_vector, const GrB_Descriptor desc); +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); +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); +GrB_Info GxB_Vector_build_Scalar(GrB_Vector w, const GrB_Index *I_, const GrB_Scalar scalar, GrB_Index nvals); +GrB_Info GxB_Vector_build_Scalar_Vector(GrB_Vector w, const GrB_Vector I_vector, const GrB_Scalar scalar, const GrB_Descriptor desc); +GrB_Info GxB_Vector_build_Vector(GrB_Vector w, const GrB_Vector I_vector, const GrB_Vector X_vector, const GrB_BinaryOp dup, const GrB_Descriptor desc); GrB_Info GxB_Vector_deserialize(GrB_Vector *w, GrB_Type type, const void *blob, GrB_Index blob_size, const GrB_Descriptor desc); 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); -GrB_Info GxB_Vector_export_Bitmap(GrB_Vector *, GrB_Type *, GrB_Index *, int8_t **, void **, GrB_Index *, GrB_Index *, bool *, GrB_Index *, const GrB_Descriptor); -GrB_Info GxB_Vector_export_CSC(GrB_Vector *, GrB_Type *, GrB_Index *, GrB_Index **, void **, GrB_Index *, GrB_Index *, bool *, GrB_Index *, bool *, const GrB_Descriptor); -GrB_Info GxB_Vector_export_Full(GrB_Vector *, GrB_Type *, GrB_Index *, void **, GrB_Index *, bool *, const GrB_Descriptor); +GrB_Info GxB_Vector_export_Bitmap(GrB_Vector *, GrB_Type *, uint64_t *, int8_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, const GrB_Descriptor); +GrB_Info GxB_Vector_export_CSC(GrB_Vector *, GrB_Type *, uint64_t *, uint64_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Vector_export_Full(GrB_Vector *, GrB_Type *, uint64_t *, void **, uint64_t *, bool *, const GrB_Descriptor); GrB_Info GxB_Vector_extractElement_FC32(GxB_FC32_t *x, const GrB_Vector v, GrB_Index i); GrB_Info GxB_Vector_extractElement_FC64(GxB_FC64_t *x, const GrB_Vector v, GrB_Index i); -GrB_Info GxB_Vector_extractTuples_FC32(GrB_Index *Ilist, GxB_FC32_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GxB_Vector_extractTuples_FC64(GrB_Index *Ilist, GxB_FC64_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GxB_Vector_fprint(GrB_Vector v, const char *name, GxB_Print_Level pr, FILE *f); -GrB_Info GxB_Vector_import_Bitmap(GrB_Vector *, GrB_Type, GrB_Index, int8_t **, void **, GrB_Index, GrB_Index, bool, GrB_Index, const GrB_Descriptor); -GrB_Info GxB_Vector_import_CSC(GrB_Vector *, GrB_Type, GrB_Index, GrB_Index **, void **, GrB_Index, GrB_Index, bool, GrB_Index, bool, const GrB_Descriptor); -GrB_Info GxB_Vector_import_Full(GrB_Vector *, GrB_Type, GrB_Index, void **, GrB_Index, bool, const GrB_Descriptor); +GrB_Info GxB_Vector_extractTuples_FC32(GrB_Index *I_, GxB_FC32_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GxB_Vector_extractTuples_FC64(GrB_Index *I_, GxB_FC64_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GxB_Vector_extractTuples_Vector(GrB_Vector I_vector, GrB_Vector X_vector, const GrB_Vector V, const GrB_Descriptor desc); +GrB_Info GxB_Vector_extract_Vector(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Vector I_vector, const GrB_Descriptor desc); +GrB_Info GxB_Vector_fprint(GrB_Vector v, const char *name, int pr, FILE *f); +GrB_Info GxB_Vector_import_Bitmap(GrB_Vector *, GrB_Type, uint64_t, int8_t **, void **, uint64_t, uint64_t, bool, uint64_t, const GrB_Descriptor); +GrB_Info GxB_Vector_import_CSC(GrB_Vector *, GrB_Type, uint64_t, uint64_t **, void **, uint64_t, uint64_t, bool, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Vector_import_Full(GrB_Vector *, GrB_Type, uint64_t, void **, uint64_t, bool, const GrB_Descriptor); GrB_Info GxB_Vector_isStoredElement(const GrB_Vector v, GrB_Index i); -GrB_Info GxB_Vector_iso(bool *iso, const GrB_Vector v); +GrB_Info GxB_Vector_iso(bool *, const GrB_Vector); +GrB_Info GxB_Vector_load(GrB_Vector V, void **X, GrB_Type type, uint64_t n, uint64_t X_size, int handling, const GrB_Descriptor desc); GrB_Info GxB_Vector_memoryUsage(size_t *size, const GrB_Vector v); -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); -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); -GrB_Info GxB_Vector_pack_Full(GrB_Vector v, void **vx, GrB_Index vx_size, bool iso, const GrB_Descriptor desc); +GrB_Info GxB_Vector_pack_Bitmap(GrB_Vector, int8_t **, void **, uint64_t, uint64_t, bool, uint64_t, const GrB_Descriptor); +GrB_Info GxB_Vector_pack_CSC(GrB_Vector, uint64_t **, void **, uint64_t, uint64_t, bool, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Vector_pack_Full(GrB_Vector, void **, uint64_t, bool, const GrB_Descriptor); 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); 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); -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); +GrB_Info GxB_Vector_select(GrB_Vector, const GrB_Vector, const GrB_BinaryOp, const GxB_SelectOp, const GrB_Vector, const GrB_Scalar, const GrB_Descriptor); 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); 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); GrB_Info GxB_Vector_serialize(void **blob_handle, GrB_Index *blob_size_handle, GrB_Vector u, const GrB_Descriptor desc); GrB_Info GxB_Vector_setElement_FC32(GrB_Vector w, GxB_FC32_t x, GrB_Index i); GrB_Info GxB_Vector_setElement_FC64(GrB_Vector w, GxB_FC64_t x, GrB_Index i); GrB_Info GxB_Vector_sort(GrB_Vector w, GrB_Vector p, GrB_BinaryOp op, GrB_Vector u, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_BOOL(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, bool x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_FC32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, GxB_FC32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_FC64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, GxB_FC64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_FP32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, float x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_FP64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, double x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_INT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_INT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_INT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_INT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_Scalar(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, GrB_Scalar x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_UDT(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, void *x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_UINT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_UINT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_UINT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_UINT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_type(GrB_Type *, const GrB_Vector); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +GrB_Info GxB_Vector_subassign_Scalar(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Scalar x, const GrB_Index *I_, GrB_Index ni, const GrB_Descriptor desc); +GrB_Info GxB_Vector_subassign_Scalar_Vector(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Scalar scalar, const GrB_Vector I_vector, const GrB_Descriptor desc); +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); +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); +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); +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); +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); +GrB_Info GxB_Vector_subassign_Vector(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Vector I_vector, const GrB_Descriptor desc); +GrB_Info GxB_Vector_type(GrB_Type *type, const GrB_Vector v); GrB_Info GxB_Vector_type_name(char *, const GrB_Vector); -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); -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); -GrB_Info GxB_Vector_unpack_Full(GrB_Vector v, void **vx, GrB_Index *vx_size, bool *iso, const GrB_Descriptor desc); +GrB_Info GxB_Vector_unload(GrB_Vector V, void **X, GrB_Type *type, uint64_t *n, uint64_t *X_size, int *handling, const GrB_Descriptor desc); +GrB_Info GxB_Vector_unpack_Bitmap(GrB_Vector, int8_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, const GrB_Descriptor); +GrB_Info GxB_Vector_unpack_CSC(GrB_Vector, uint64_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Vector_unpack_Full(GrB_Vector, void **, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_load_Vector_from_Container(GrB_Vector V, GxB_Container Container, const GrB_Descriptor desc); +GrB_Info GxB_unload_Vector_into_Container(GrB_Vector V, GxB_Container Container, const GrB_Descriptor desc); /* int DEFINES */ #define GRB_SUBVERSION ... @@ -3705,6 +3776,7 @@ GrB_Info GxB_Vector_unpack_Full(GrB_Vector v, void **vx, GrB_Index *vx_size, boo #define GxB_SPEC_VERSION ... #define GxB_STDC_VERSION ... #define GxB_STRIDE ... +#define GxB_USE_VALUES ... /* char* DEFINES */ extern char *GxB_IMPLEMENTATION_ABOUT_STR; diff --git a/suitesparse_graphblas/suitesparse_graphblas_no_complex.h b/suitesparse_graphblas/suitesparse_graphblas_no_complex.h index 508b60e..86a6798 100644 --- a/suitesparse_graphblas/suitesparse_graphblas_no_complex.h +++ b/suitesparse_graphblas/suitesparse_graphblas_no_complex.h @@ -19,6 +19,7 @@ typedef struct GB_IndexBinaryOp_opaque *GxB_IndexBinaryOp; typedef struct GB_Iterator_opaque *GxB_Iterator; typedef struct GB_Scalar_opaque *GxB_Scalar; typedef struct GB_SelectOp_opaque *GxB_SelectOp; +typedef struct GxB_Container_struct *GxB_Container; /* GxB typedefs (functions) */ typedef void (*GxB_binary_function)(void *, const void *, const void *); @@ -26,6 +27,32 @@ typedef void (*GxB_index_binary_function)(void *, const void *, GrB_Index, GrB_I 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 *); +/* GxB structs */ +struct GxB_Container_struct +{ + uint64_t nrows; + uint64_t ncols; + int64_t nrows_nonempty; + int64_t ncols_nonempty; + uint64_t nvals; + uint64_t u64_future[11]; + int32_t format; + int32_t orientation; + uint32_t u32_future[14]; + GrB_Vector p; + GrB_Vector h; + GrB_Vector b; + GrB_Vector i; + GrB_Vector x; + GrB_Vector vector_future[11]; + GrB_Matrix Y; + GrB_Matrix matrix_future[15]; + bool iso; + bool jumbled; + bool bool_future[30]; + void *void_future[16]; +}; + /* GrB enums */ typedef enum { @@ -36,7 +63,10 @@ typedef enum GxB_AxB_METHOD = 7090, GxB_SORT = 7091, GxB_COMPRESSION = 7092, - GxB_IMPORT = 7093 + GxB_IMPORT = 7093, + GxB_ROWINDEX_LIST = 7094, + GxB_COLINDEX_LIST = 7095, + GxB_VALUE_LIST = 7096 } GrB_Desc_Field; typedef enum @@ -52,45 +82,11 @@ typedef enum GxB_AxB_DOT = 7083, GxB_AxB_HASH = 7084, GxB_AxB_SAXPY = 7085, - GxB_SECURE_IMPORT = 7080 + GxB_SECURE_IMPORT = 7080, + GxB_USE_INDICES = 7060, + GxB_IS_STRIDE = 7061 } GrB_Desc_Value; -typedef enum -{ - GrB_OUTP_FIELD = 0, - GrB_MASK_FIELD = 1, - GrB_INP0_FIELD = 2, - GrB_INP1_FIELD = 3, - GrB_NAME = 10, - GrB_LIBRARY_VER_MAJOR = 11, - GrB_LIBRARY_VER_MINOR = 12, - GrB_LIBRARY_VER_PATCH = 13, - GrB_API_VER_MAJOR = 14, - GrB_API_VER_MINOR = 15, - GrB_API_VER_PATCH = 16, - GrB_BLOCKING_MODE = 17, - GrB_STORAGE_ORIENTATION_HINT = 100, - GrB_EL_TYPE_CODE = 102, - GrB_EL_TYPE_STRING = 106, - GrB_INP0_TYPE_CODE = 103, - GrB_INP1_TYPE_CODE = 104, - GrB_OUTP_TYPE_CODE = 105, - GrB_INP0_TYPE_STRING = 107, - GrB_INP1_TYPE_STRING = 108, - GrB_OUTP_TYPE_STRING = 109, - GrB_SIZE = 110, - GxB_JIT_C_NAME = 7041, - GxB_JIT_C_DEFINITION = 7042, - GxB_MONOID_IDENTITY = 7043, - GxB_MONOID_TERMINAL = 7044, - GxB_MONOID_OPERATOR = 7045, - GxB_SEMIRING_MONOID = 7046, - GxB_SEMIRING_MULTIPLY = 7047, - GxB_THETA_TYPE_CODE = 7050, - GxB_THETA_TYPE_STRING = 7051, - GxB_THETA = 7052 -} GrB_Field; - typedef enum { GrB_CSR_FORMAT = 0, @@ -118,7 +114,9 @@ typedef enum GrB_INVALID_OBJECT = -104, GrB_INDEX_OUT_OF_BOUNDS = -105, GrB_EMPTY_OBJECT = -106, - GxB_JIT_ERROR = -1001 + GxB_JIT_ERROR = -7001, + GxB_GPU_ERROR = -7002, + GxB_OUTPUT_IS_READONLY = -7003 } GrB_Info; typedef enum @@ -185,10 +183,53 @@ typedef enum typedef enum { + GrB_OUTP_FIELD = 0, + GrB_MASK_FIELD = 1, + GrB_INP0_FIELD = 2, + GrB_INP1_FIELD = 3, + GrB_NAME = 10, + GrB_LIBRARY_VER_MAJOR = 11, + GrB_LIBRARY_VER_MINOR = 12, + GrB_LIBRARY_VER_PATCH = 13, + GrB_API_VER_MAJOR = 14, + GrB_API_VER_MINOR = 15, + GrB_API_VER_PATCH = 16, + GrB_BLOCKING_MODE = 17, + GrB_STORAGE_ORIENTATION_HINT = 100, + GrB_EL_TYPE_CODE = 102, + GrB_EL_TYPE_STRING = 106, + GrB_INP0_TYPE_CODE = 103, + GrB_INP1_TYPE_CODE = 104, + GrB_OUTP_TYPE_CODE = 105, + GrB_INP0_TYPE_STRING = 107, + GrB_INP1_TYPE_STRING = 108, + GrB_OUTP_TYPE_STRING = 109, + GrB_SIZE = 110, + GxB_JIT_C_NAME = 7041, + GxB_JIT_C_DEFINITION = 7042, + GxB_MONOID_IDENTITY = 7043, + GxB_MONOID_TERMINAL = 7044, + GxB_MONOID_OPERATOR = 7045, + GxB_SEMIRING_MONOID = 7046, + GxB_SEMIRING_MULTIPLY = 7047, + GxB_THETA_TYPE_CODE = 7050, + GxB_THETA_TYPE_STRING = 7051, + GxB_THETA = 7052, + GxB_ROWINDEX_INTEGER_HINT = 7053, + GxB_COLINDEX_INTEGER_HINT = 7054, + GxB_OFFSET_INTEGER_HINT = 7056, GxB_HYPER_SWITCH = 7000, GxB_HYPER_HASH = 7048, GxB_BITMAP_SWITCH = 7001, GxB_FORMAT = 7002, + GxB_ISO = 7079, + GxB_SPARSITY_CONTROL = 7036, + GxB_ROWINDEX_INTEGER_BITS = 7057, + GxB_COLINDEX_INTEGER_BITS = 7058, + GxB_OFFSET_INTEGER_BITS = 7059, + GxB_SPARSITY_STATUS = 7034, + GxB_IS_READONLY = 7078, + GxB_WILL_WAIT = 7076, GxB_MODE = 7003, GxB_LIBRARY_NAME = 7004, GxB_LIBRARY_VERSION = 7005, @@ -217,6 +258,7 @@ typedef enum GxB_FLUSH = 7021, GxB_MEMORY_POOL = 7022, GxB_PRINT_1BASED = 7023, + GxB_INCLUDE_READONLY_STATISTICS = 7077, GxB_JIT_C_COMPILER_NAME = 7024, GxB_JIT_C_COMPILER_FLAGS = 7025, GxB_JIT_C_LINKER_FLAGS = 7026, @@ -227,9 +269,7 @@ typedef enum GxB_JIT_C_CMAKE_LIBS = 7031, GxB_JIT_USE_CMAKE = 7032, GxB_JIT_ERROR_LOG = 7033, - GxB_JIT_CUDA_PREFACE = 7100, - GxB_SPARSITY_STATUS = 7034, - GxB_SPARSITY_CONTROL = 7036 + GxB_JIT_CUDA_PREFACE = 7100 } GxB_Option_Field; typedef enum @@ -247,10 +287,10 @@ extern const GrB_Global GrB_GLOBAL; 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; +extern const int GxB_FORMAT_DEFAULT; /* GrB objects */ extern GrB_BinaryOp GrB_BAND_INT8; @@ -2545,60 +2585,60 @@ extern GxB_SelectOp GxB_TRIU; ****************/ /* binary */ -GrB_Info GrB_BinaryOp_error(const char **error, const GrB_BinaryOp op); -GrB_Info GrB_BinaryOp_free(GrB_BinaryOp *binaryop); -GrB_Info GrB_BinaryOp_get_INT32(GrB_BinaryOp, int32_t *, GrB_Field); -GrB_Info GrB_BinaryOp_get_SIZE(GrB_BinaryOp, size_t *, GrB_Field); -GrB_Info GrB_BinaryOp_get_String(GrB_BinaryOp, char *, GrB_Field); -GrB_Info GrB_BinaryOp_get_VOID(GrB_BinaryOp, void *, GrB_Field); +GrB_Info GrB_BinaryOp_error(const char **error, const GrB_BinaryOp object); +GrB_Info GrB_BinaryOp_free(GrB_BinaryOp *object); +GrB_Info GrB_BinaryOp_get_INT32(GrB_BinaryOp object, int32_t *, int); +GrB_Info GrB_BinaryOp_get_SIZE(GrB_BinaryOp object, size_t *, int); +GrB_Info GrB_BinaryOp_get_String(GrB_BinaryOp object, char *, int); +GrB_Info GrB_BinaryOp_get_VOID(GrB_BinaryOp object, void *, int); GrB_Info GrB_BinaryOp_new(GrB_BinaryOp *binaryop, GxB_binary_function function, GrB_Type ztype, GrB_Type xtype, GrB_Type ytype); -GrB_Info GrB_BinaryOp_set_INT32(GrB_BinaryOp, int32_t, GrB_Field); -GrB_Info GrB_BinaryOp_set_String(GrB_BinaryOp, char *, GrB_Field); -GrB_Info GrB_BinaryOp_set_VOID(GrB_BinaryOp, void *, GrB_Field, size_t); -GrB_Info GrB_BinaryOp_wait(GrB_BinaryOp op, GrB_WaitMode waitmode); +GrB_Info GrB_BinaryOp_set_INT32(GrB_BinaryOp object, int32_t, int); +GrB_Info GrB_BinaryOp_set_String(GrB_BinaryOp object, char *, int); +GrB_Info GrB_BinaryOp_set_VOID(GrB_BinaryOp object, void *, int, size_t); +GrB_Info GrB_BinaryOp_wait(GrB_BinaryOp object, int waitmode); /* core */ -GrB_Info GrB_Global_get_INT32(GrB_Global, int32_t *, GrB_Field); -GrB_Info GrB_Global_get_SIZE(GrB_Global, size_t *, GrB_Field); -GrB_Info GrB_Global_get_String(GrB_Global, char *, GrB_Field); -GrB_Info GrB_Global_get_VOID(GrB_Global, void *, GrB_Field); -GrB_Info GrB_Global_set_INT32(GrB_Global, int32_t, GrB_Field); -GrB_Info GrB_Global_set_String(GrB_Global, char *, GrB_Field); -GrB_Info GrB_Global_set_VOID(GrB_Global, void *, GrB_Field, size_t); +GrB_Info GrB_Global_get_INT32(GrB_Global object, int32_t *, int); +GrB_Info GrB_Global_get_SIZE(GrB_Global object, size_t *, int); +GrB_Info GrB_Global_get_String(GrB_Global object, char *, int); +GrB_Info GrB_Global_get_VOID(GrB_Global object, void *, int); +GrB_Info GrB_Global_set_INT32(GrB_Global object, int32_t, int); +GrB_Info GrB_Global_set_String(GrB_Global object, char *, int); +GrB_Info GrB_Global_set_VOID(GrB_Global object, void *, int, size_t); GrB_Info GrB_finalize(void); GrB_Info GrB_getVersion(unsigned int *, unsigned int *); -GrB_Info GrB_init(GrB_Mode mode); +GrB_Info GrB_init(int mode); /* descriptor */ -GrB_Info GrB_Descriptor_error(const char **error, const GrB_Descriptor d); -GrB_Info GrB_Descriptor_free(GrB_Descriptor *descriptor); -GrB_Info GrB_Descriptor_get_INT32(GrB_Descriptor, int32_t *, GrB_Field); -GrB_Info GrB_Descriptor_get_SIZE(GrB_Descriptor, size_t *, GrB_Field); -GrB_Info GrB_Descriptor_get_String(GrB_Descriptor, char *, GrB_Field); -GrB_Info GrB_Descriptor_get_VOID(GrB_Descriptor, void *, GrB_Field); +GrB_Info GrB_Descriptor_error(const char **error, const GrB_Descriptor object); +GrB_Info GrB_Descriptor_free(GrB_Descriptor *object); +GrB_Info GrB_Descriptor_get_INT32(GrB_Descriptor object, int32_t *, int); +GrB_Info GrB_Descriptor_get_SIZE(GrB_Descriptor object, size_t *, int); +GrB_Info GrB_Descriptor_get_String(GrB_Descriptor object, char *, int); +GrB_Info GrB_Descriptor_get_VOID(GrB_Descriptor object, void *, int); GrB_Info GrB_Descriptor_new(GrB_Descriptor *descriptor); -GrB_Info GrB_Descriptor_set(GrB_Descriptor, GrB_Desc_Field, GrB_Desc_Value); -GrB_Info GrB_Descriptor_set_INT32(GrB_Descriptor, int32_t, GrB_Field); -GrB_Info GrB_Descriptor_set_String(GrB_Descriptor, char *, GrB_Field); -GrB_Info GrB_Descriptor_set_VOID(GrB_Descriptor, void *, GrB_Field, size_t); -GrB_Info GrB_Descriptor_wait(GrB_Descriptor desc, GrB_WaitMode waitmode); +GrB_Info GrB_Descriptor_set(GrB_Descriptor, int, int); +GrB_Info GrB_Descriptor_set_INT32(GrB_Descriptor object, int32_t, int); +GrB_Info GrB_Descriptor_set_String(GrB_Descriptor object, char *, int); +GrB_Info GrB_Descriptor_set_VOID(GrB_Descriptor object, void *, int, size_t); +GrB_Info GrB_Descriptor_wait(GrB_Descriptor object, int waitmode); /* indexunary */ -GrB_Info GrB_IndexUnaryOp_error(const char **error, const GrB_IndexUnaryOp op); -GrB_Info GrB_IndexUnaryOp_free(GrB_IndexUnaryOp *op); -GrB_Info GrB_IndexUnaryOp_get_INT32(GrB_IndexUnaryOp, int32_t *, GrB_Field); -GrB_Info GrB_IndexUnaryOp_get_SIZE(GrB_IndexUnaryOp, size_t *, GrB_Field); -GrB_Info GrB_IndexUnaryOp_get_String(GrB_IndexUnaryOp, char *, GrB_Field); -GrB_Info GrB_IndexUnaryOp_get_VOID(GrB_IndexUnaryOp, void *, GrB_Field); +GrB_Info GrB_IndexUnaryOp_error(const char **error, const GrB_IndexUnaryOp object); +GrB_Info GrB_IndexUnaryOp_free(GrB_IndexUnaryOp *object); +GrB_Info GrB_IndexUnaryOp_get_INT32(GrB_IndexUnaryOp object, int32_t *, int); +GrB_Info GrB_IndexUnaryOp_get_SIZE(GrB_IndexUnaryOp object, size_t *, int); +GrB_Info GrB_IndexUnaryOp_get_String(GrB_IndexUnaryOp object, char *, int); +GrB_Info GrB_IndexUnaryOp_get_VOID(GrB_IndexUnaryOp object, void *, int); GrB_Info GrB_IndexUnaryOp_new(GrB_IndexUnaryOp *op, GxB_index_unary_function function, GrB_Type ztype, GrB_Type xtype, GrB_Type ytype); -GrB_Info GrB_IndexUnaryOp_set_INT32(GrB_IndexUnaryOp, int32_t, GrB_Field); -GrB_Info GrB_IndexUnaryOp_set_String(GrB_IndexUnaryOp, char *, GrB_Field); -GrB_Info GrB_IndexUnaryOp_set_VOID(GrB_IndexUnaryOp, void *, GrB_Field, size_t); -GrB_Info GrB_IndexUnaryOp_wait(GrB_IndexUnaryOp op, GrB_WaitMode waitmode); +GrB_Info GrB_IndexUnaryOp_set_INT32(GrB_IndexUnaryOp object, int32_t, int); +GrB_Info GrB_IndexUnaryOp_set_String(GrB_IndexUnaryOp object, char *, int); +GrB_Info GrB_IndexUnaryOp_set_VOID(GrB_IndexUnaryOp object, void *, int, size_t); +GrB_Info GrB_IndexUnaryOp_wait(GrB_IndexUnaryOp object, int waitmode); /* matrix */ -GrB_Info GrB_Col_assign(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *Ilist, GrB_Index ni, GrB_Index j, const GrB_Descriptor desc); -GrB_Info GrB_Col_extract(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Index *Ilist, GrB_Index ni, GrB_Index j, const GrB_Descriptor desc); +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); +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); 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); 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); 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); @@ -2639,32 +2679,32 @@ GrB_Info GrB_Matrix_apply_IndexOp_UINT8(GrB_Matrix C, const GrB_Matrix Mask, con 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); 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); 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); -GrB_Info GrB_Matrix_assign(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_BOOL(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, bool x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_FP32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, float x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_FP64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, double x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_INT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_INT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_INT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_INT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_Scalar(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, GrB_Scalar x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_UDT(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, void *x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_UINT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_UINT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_UINT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_assign_UINT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GrB_Matrix_build_BOOL(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const bool *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_FP32(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const float *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_FP64(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const double *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_INT8(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const int8_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_INT16(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const int16_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_INT32(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const int32_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_INT64(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const int64_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_UDT(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const void *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_UINT8(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const uint8_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_UINT16(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const uint16_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_UINT32(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const uint32_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Matrix_build_UINT64(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, const uint64_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +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); +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); +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); +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); +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); +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); +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); +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); +GrB_Info GrB_Matrix_assign_Scalar(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Scalar x, const GrB_Index *I_, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); +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); GrB_Info GrB_Matrix_clear(GrB_Matrix A); GrB_Info GrB_Matrix_deserialize(GrB_Matrix *C, GrB_Type type, const void *blob, GrB_Index blob_size); GrB_Info GrB_Matrix_diag(GrB_Matrix *C, const GrB_Vector v, int64_t k); @@ -2675,22 +2715,22 @@ GrB_Info GrB_Matrix_eWiseAdd_Semiring(GrB_Matrix C, const GrB_Matrix Mask, const 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); 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); 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); -GrB_Info GrB_Matrix_error(const char **error, const GrB_Matrix A); -GrB_Info GrB_Matrix_exportHint(GrB_Format *format, GrB_Matrix A); -GrB_Info GrB_Matrix_exportSize(GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, GrB_Format format, GrB_Matrix A); -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); -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); -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); -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); -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); -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); -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); -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); -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); -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); -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); -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); -GrB_Info GrB_Matrix_extract(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); +GrB_Info GrB_Matrix_error(const char **error, const GrB_Matrix object); +GrB_Info GrB_Matrix_exportHint(int *format, GrB_Matrix A); +GrB_Info GrB_Matrix_exportSize(GrB_Index *Ap_len, GrB_Index *Ai_len, GrB_Index *Ax_len, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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, int format, GrB_Matrix A); +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); GrB_Info GrB_Matrix_extractElement_BOOL(bool *x, const GrB_Matrix A, GrB_Index i, GrB_Index j); GrB_Info GrB_Matrix_extractElement_FP32(float *x, const GrB_Matrix A, GrB_Index i, GrB_Index j); GrB_Info GrB_Matrix_extractElement_FP64(double *x, const GrB_Matrix A, GrB_Index i, GrB_Index j); @@ -2704,36 +2744,36 @@ GrB_Info GrB_Matrix_extractElement_UINT8(uint8_t *x, const GrB_Matrix A, GrB_Ind GrB_Info GrB_Matrix_extractElement_UINT16(uint16_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j); GrB_Info GrB_Matrix_extractElement_UINT32(uint32_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j); GrB_Info GrB_Matrix_extractElement_UINT64(uint64_t *x, const GrB_Matrix A, GrB_Index i, GrB_Index j); -GrB_Info GrB_Matrix_extractTuples_BOOL(GrB_Index *Ilist, GrB_Index *J, bool *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_FP32(GrB_Index *Ilist, GrB_Index *J, float *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_FP64(GrB_Index *Ilist, GrB_Index *J, double *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_INT8(GrB_Index *Ilist, GrB_Index *J, int8_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_INT16(GrB_Index *Ilist, GrB_Index *J, int16_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_INT32(GrB_Index *Ilist, GrB_Index *J, int32_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_INT64(GrB_Index *Ilist, GrB_Index *J, int64_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_UDT(GrB_Index *Ilist, GrB_Index *J, void *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_UINT8(GrB_Index *Ilist, GrB_Index *J, uint8_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_UINT16(GrB_Index *Ilist, GrB_Index *J, uint16_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_UINT32(GrB_Index *Ilist, GrB_Index *J, uint32_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_extractTuples_UINT64(GrB_Index *Ilist, GrB_Index *J, uint64_t *X, GrB_Index *nvals, const GrB_Matrix A); -GrB_Info GrB_Matrix_free(GrB_Matrix *A); -GrB_Info GrB_Matrix_get_INT32(GrB_Matrix, int32_t *, GrB_Field); -GrB_Info GrB_Matrix_get_SIZE(GrB_Matrix, size_t *, GrB_Field); -GrB_Info GrB_Matrix_get_Scalar(GrB_Matrix, GrB_Scalar, GrB_Field); -GrB_Info GrB_Matrix_get_String(GrB_Matrix, char *, GrB_Field); -GrB_Info GrB_Matrix_get_VOID(GrB_Matrix, void *, GrB_Field); -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); -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); -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); -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); -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); -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); -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); -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); -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); -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); -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); -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); +GrB_Info GrB_Matrix_extractTuples_BOOL(GrB_Index *I_, GrB_Index *J, bool *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_FP32(GrB_Index *I_, GrB_Index *J, float *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_FP64(GrB_Index *I_, GrB_Index *J, double *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_INT8(GrB_Index *I_, GrB_Index *J, int8_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_INT16(GrB_Index *I_, GrB_Index *J, int16_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_INT32(GrB_Index *I_, GrB_Index *J, int32_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_INT64(GrB_Index *I_, GrB_Index *J, int64_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_UDT(GrB_Index *I_, GrB_Index *J, void *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_UINT8(GrB_Index *I_, GrB_Index *J, uint8_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_UINT16(GrB_Index *I_, GrB_Index *J, uint16_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_UINT32(GrB_Index *I_, GrB_Index *J, uint32_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_extractTuples_UINT64(GrB_Index *I_, GrB_Index *J, uint64_t *X, GrB_Index *nvals, const GrB_Matrix A); +GrB_Info GrB_Matrix_free(GrB_Matrix *object); +GrB_Info GrB_Matrix_get_INT32(GrB_Matrix object, int32_t *, int); +GrB_Info GrB_Matrix_get_SIZE(GrB_Matrix object, size_t *, int); +GrB_Info GrB_Matrix_get_Scalar(GrB_Matrix object, GrB_Scalar, int); +GrB_Info GrB_Matrix_get_String(GrB_Matrix object, char *, int); +GrB_Info GrB_Matrix_get_VOID(GrB_Matrix object, void *, int); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); +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, int format); 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); 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); 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); @@ -2742,8 +2782,8 @@ GrB_Info GrB_Matrix_new(GrB_Matrix *A, GrB_Type type, GrB_Index nrows, GrB_Index GrB_Info GrB_Matrix_nrows(GrB_Index *nrows, const GrB_Matrix A); GrB_Info GrB_Matrix_nvals(GrB_Index *nvals, const GrB_Matrix A); GrB_Info GrB_Matrix_reduce_BOOL(bool *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc); -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); -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); +GrB_Info GrB_Matrix_reduce_BinaryOp(GrB_Vector, const GrB_Vector, const GrB_BinaryOp, const GrB_BinaryOp, const GrB_Matrix, const GrB_Descriptor); +GrB_Info GrB_Matrix_reduce_BinaryOp_Scalar(GrB_Scalar, const GrB_BinaryOp, const GrB_BinaryOp, const GrB_Matrix, const GrB_Descriptor); GrB_Info GrB_Matrix_reduce_FP32(float *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc); GrB_Info GrB_Matrix_reduce_FP64(double *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Matrix A, const GrB_Descriptor desc); 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); @@ -2787,11 +2827,11 @@ GrB_Info GrB_Matrix_setElement_UINT8(GrB_Matrix C, uint8_t x, GrB_Index i, GrB_I GrB_Info GrB_Matrix_setElement_UINT16(GrB_Matrix C, uint16_t x, GrB_Index i, GrB_Index j); GrB_Info GrB_Matrix_setElement_UINT32(GrB_Matrix C, uint32_t x, GrB_Index i, GrB_Index j); GrB_Info GrB_Matrix_setElement_UINT64(GrB_Matrix C, uint64_t x, GrB_Index i, GrB_Index j); -GrB_Info GrB_Matrix_set_INT32(GrB_Matrix, int32_t, GrB_Field); -GrB_Info GrB_Matrix_set_Scalar(GrB_Matrix, GrB_Scalar, GrB_Field); -GrB_Info GrB_Matrix_set_String(GrB_Matrix, char *, GrB_Field); -GrB_Info GrB_Matrix_set_VOID(GrB_Matrix, void *, GrB_Field, size_t); -GrB_Info GrB_Matrix_wait(GrB_Matrix A, GrB_WaitMode waitmode); +GrB_Info GrB_Matrix_set_INT32(GrB_Matrix object, int32_t, int); +GrB_Info GrB_Matrix_set_Scalar(GrB_Matrix object, GrB_Scalar, int); +GrB_Info GrB_Matrix_set_String(GrB_Matrix object, char *, int); +GrB_Info GrB_Matrix_set_VOID(GrB_Matrix object, void *, int, size_t); +GrB_Info GrB_Matrix_wait(GrB_Matrix object, int waitmode); 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); 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); 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); @@ -2799,12 +2839,12 @@ GrB_Info GrB_transpose(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp a 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 */ -GrB_Info GrB_Monoid_error(const char **error, const GrB_Monoid monoid); -GrB_Info GrB_Monoid_free(GrB_Monoid *monoid); -GrB_Info GrB_Monoid_get_INT32(GrB_Monoid, int32_t *, GrB_Field); -GrB_Info GrB_Monoid_get_SIZE(GrB_Monoid, size_t *, GrB_Field); -GrB_Info GrB_Monoid_get_String(GrB_Monoid, char *, GrB_Field); -GrB_Info GrB_Monoid_get_VOID(GrB_Monoid, void *, GrB_Field); +GrB_Info GrB_Monoid_error(const char **error, const GrB_Monoid object); +GrB_Info GrB_Monoid_free(GrB_Monoid *object); +GrB_Info GrB_Monoid_get_INT32(GrB_Monoid object, int32_t *, int); +GrB_Info GrB_Monoid_get_SIZE(GrB_Monoid object, size_t *, int); +GrB_Info GrB_Monoid_get_String(GrB_Monoid object, char *, int); +GrB_Info GrB_Monoid_get_VOID(GrB_Monoid object, void *, int); GrB_Info GrB_Monoid_new_BOOL(GrB_Monoid *monoid, GrB_BinaryOp op, bool identity); GrB_Info GrB_Monoid_new_FP32(GrB_Monoid *monoid, GrB_BinaryOp op, float identity); GrB_Info GrB_Monoid_new_FP64(GrB_Monoid *monoid, GrB_BinaryOp op, double identity); @@ -2817,25 +2857,25 @@ GrB_Info GrB_Monoid_new_UINT8(GrB_Monoid *monoid, GrB_BinaryOp op, uint8_t ident GrB_Info GrB_Monoid_new_UINT16(GrB_Monoid *monoid, GrB_BinaryOp op, uint16_t identity); GrB_Info GrB_Monoid_new_UINT32(GrB_Monoid *monoid, GrB_BinaryOp op, uint32_t identity); GrB_Info GrB_Monoid_new_UINT64(GrB_Monoid *monoid, GrB_BinaryOp op, uint64_t identity); -GrB_Info GrB_Monoid_set_INT32(GrB_Monoid, int32_t, GrB_Field); -GrB_Info GrB_Monoid_set_String(GrB_Monoid, char *, GrB_Field); -GrB_Info GrB_Monoid_set_VOID(GrB_Monoid, void *, GrB_Field, size_t); -GrB_Info GrB_Monoid_wait(GrB_Monoid monoid, GrB_WaitMode waitmode); +GrB_Info GrB_Monoid_set_INT32(GrB_Monoid object, int32_t, int); +GrB_Info GrB_Monoid_set_String(GrB_Monoid object, char *, int); +GrB_Info GrB_Monoid_set_VOID(GrB_Monoid object, void *, int, size_t); +GrB_Info GrB_Monoid_wait(GrB_Monoid object, int waitmode); /* scalar */ -GrB_Info GrB_BinaryOp_get_Scalar(GrB_BinaryOp, GrB_Scalar, GrB_Field); -GrB_Info GrB_BinaryOp_set_Scalar(GrB_BinaryOp, GrB_Scalar, GrB_Field); -GrB_Info GrB_Descriptor_get_Scalar(GrB_Descriptor, GrB_Scalar, GrB_Field); -GrB_Info GrB_Descriptor_set_Scalar(GrB_Descriptor, GrB_Scalar, GrB_Field); -GrB_Info GrB_Global_get_Scalar(GrB_Global, GrB_Scalar, GrB_Field); -GrB_Info GrB_Global_set_Scalar(GrB_Global, GrB_Scalar, GrB_Field); -GrB_Info GrB_IndexUnaryOp_get_Scalar(GrB_IndexUnaryOp, GrB_Scalar, GrB_Field); -GrB_Info GrB_IndexUnaryOp_set_Scalar(GrB_IndexUnaryOp, GrB_Scalar, GrB_Field); -GrB_Info GrB_Monoid_get_Scalar(GrB_Monoid, GrB_Scalar, GrB_Field); -GrB_Info GrB_Monoid_set_Scalar(GrB_Monoid, GrB_Scalar, GrB_Field); +GrB_Info GrB_BinaryOp_get_Scalar(GrB_BinaryOp object, GrB_Scalar, int); +GrB_Info GrB_BinaryOp_set_Scalar(GrB_BinaryOp object, GrB_Scalar, int); +GrB_Info GrB_Descriptor_get_Scalar(GrB_Descriptor object, GrB_Scalar, int); +GrB_Info GrB_Descriptor_set_Scalar(GrB_Descriptor object, GrB_Scalar, int); +GrB_Info GrB_Global_get_Scalar(GrB_Global object, GrB_Scalar, int); +GrB_Info GrB_Global_set_Scalar(GrB_Global object, GrB_Scalar, int); +GrB_Info GrB_IndexUnaryOp_get_Scalar(GrB_IndexUnaryOp object, GrB_Scalar, int); +GrB_Info GrB_IndexUnaryOp_set_Scalar(GrB_IndexUnaryOp object, GrB_Scalar, int); +GrB_Info GrB_Monoid_get_Scalar(GrB_Monoid object, GrB_Scalar, int); +GrB_Info GrB_Monoid_set_Scalar(GrB_Monoid object, GrB_Scalar, int); GrB_Info GrB_Scalar_clear(GrB_Scalar s); GrB_Info GrB_Scalar_dup(GrB_Scalar *s, const GrB_Scalar t); -GrB_Info GrB_Scalar_error(const char **error, const GrB_Scalar s); +GrB_Info GrB_Scalar_error(const char **error, const GrB_Scalar object); GrB_Info GrB_Scalar_extractElement_BOOL(bool *x, const GrB_Scalar s); GrB_Info GrB_Scalar_extractElement_FP32(float *x, const GrB_Scalar s); GrB_Info GrB_Scalar_extractElement_FP64(double *x, const GrB_Scalar s); @@ -2848,12 +2888,12 @@ GrB_Info GrB_Scalar_extractElement_UINT8(uint8_t *x, const GrB_Scalar s); GrB_Info GrB_Scalar_extractElement_UINT16(uint16_t *x, const GrB_Scalar s); GrB_Info GrB_Scalar_extractElement_UINT32(uint32_t *x, const GrB_Scalar s); GrB_Info GrB_Scalar_extractElement_UINT64(uint64_t *x, const GrB_Scalar s); -GrB_Info GrB_Scalar_free(GrB_Scalar *s); -GrB_Info GrB_Scalar_get_INT32(GrB_Scalar, int32_t *, GrB_Field); -GrB_Info GrB_Scalar_get_SIZE(GrB_Scalar, size_t *, GrB_Field); -GrB_Info GrB_Scalar_get_Scalar(GrB_Scalar, GrB_Scalar, GrB_Field); -GrB_Info GrB_Scalar_get_String(GrB_Scalar, char *, GrB_Field); -GrB_Info GrB_Scalar_get_VOID(GrB_Scalar, void *, GrB_Field); +GrB_Info GrB_Scalar_free(GrB_Scalar *object); +GrB_Info GrB_Scalar_get_INT32(GrB_Scalar object, int32_t *, int); +GrB_Info GrB_Scalar_get_SIZE(GrB_Scalar object, size_t *, int); +GrB_Info GrB_Scalar_get_Scalar(GrB_Scalar object, GrB_Scalar, int); +GrB_Info GrB_Scalar_get_String(GrB_Scalar object, char *, int); +GrB_Info GrB_Scalar_get_VOID(GrB_Scalar object, void *, int); GrB_Info GrB_Scalar_new(GrB_Scalar *s, GrB_Type type); GrB_Info GrB_Scalar_nvals(GrB_Index *nvals, const GrB_Scalar s); GrB_Info GrB_Scalar_setElement_BOOL(GrB_Scalar s, bool x); @@ -2868,56 +2908,56 @@ GrB_Info GrB_Scalar_setElement_UINT8(GrB_Scalar s, uint8_t x); GrB_Info GrB_Scalar_setElement_UINT16(GrB_Scalar s, uint16_t x); GrB_Info GrB_Scalar_setElement_UINT32(GrB_Scalar s, uint32_t x); GrB_Info GrB_Scalar_setElement_UINT64(GrB_Scalar s, uint64_t x); -GrB_Info GrB_Scalar_set_INT32(GrB_Scalar, int32_t, GrB_Field); -GrB_Info GrB_Scalar_set_Scalar(GrB_Scalar, GrB_Scalar, GrB_Field); -GrB_Info GrB_Scalar_set_String(GrB_Scalar, char *, GrB_Field); -GrB_Info GrB_Scalar_set_VOID(GrB_Scalar, void *, GrB_Field, size_t); -GrB_Info GrB_Scalar_wait(GrB_Scalar s, GrB_WaitMode waitmode); -GrB_Info GrB_Semiring_get_Scalar(GrB_Semiring, GrB_Scalar, GrB_Field); -GrB_Info GrB_Semiring_set_Scalar(GrB_Semiring, GrB_Scalar, GrB_Field); -GrB_Info GrB_Type_get_Scalar(GrB_Type, GrB_Scalar, GrB_Field); -GrB_Info GrB_Type_set_Scalar(GrB_Type, GrB_Scalar, GrB_Field); -GrB_Info GrB_UnaryOp_get_Scalar(GrB_UnaryOp, GrB_Scalar, GrB_Field); -GrB_Info GrB_UnaryOp_set_Scalar(GrB_UnaryOp, GrB_Scalar, GrB_Field); +GrB_Info GrB_Scalar_set_INT32(GrB_Scalar object, int32_t, int); +GrB_Info GrB_Scalar_set_Scalar(GrB_Scalar object, GrB_Scalar, int); +GrB_Info GrB_Scalar_set_String(GrB_Scalar object, char *, int); +GrB_Info GrB_Scalar_set_VOID(GrB_Scalar object, void *, int, size_t); +GrB_Info GrB_Scalar_wait(GrB_Scalar object, int waitmode); +GrB_Info GrB_Semiring_get_Scalar(GrB_Semiring object, GrB_Scalar, int); +GrB_Info GrB_Semiring_set_Scalar(GrB_Semiring object, GrB_Scalar, int); +GrB_Info GrB_Type_get_Scalar(GrB_Type object, GrB_Scalar, int); +GrB_Info GrB_Type_set_Scalar(GrB_Type object, GrB_Scalar, int); +GrB_Info GrB_UnaryOp_get_Scalar(GrB_UnaryOp object, GrB_Scalar, int); +GrB_Info GrB_UnaryOp_set_Scalar(GrB_UnaryOp object, GrB_Scalar, int); /* semiring */ -GrB_Info GrB_Semiring_error(const char **error, const GrB_Semiring semiring); -GrB_Info GrB_Semiring_free(GrB_Semiring *semiring); -GrB_Info GrB_Semiring_get_INT32(GrB_Semiring, int32_t *, GrB_Field); -GrB_Info GrB_Semiring_get_SIZE(GrB_Semiring, size_t *, GrB_Field); -GrB_Info GrB_Semiring_get_String(GrB_Semiring, char *, GrB_Field); -GrB_Info GrB_Semiring_get_VOID(GrB_Semiring, void *, GrB_Field); +GrB_Info GrB_Semiring_error(const char **error, const GrB_Semiring object); +GrB_Info GrB_Semiring_free(GrB_Semiring *object); +GrB_Info GrB_Semiring_get_INT32(GrB_Semiring object, int32_t *, int); +GrB_Info GrB_Semiring_get_SIZE(GrB_Semiring object, size_t *, int); +GrB_Info GrB_Semiring_get_String(GrB_Semiring object, char *, int); +GrB_Info GrB_Semiring_get_VOID(GrB_Semiring object, void *, int); GrB_Info GrB_Semiring_new(GrB_Semiring *semiring, GrB_Monoid add, GrB_BinaryOp multiply); -GrB_Info GrB_Semiring_set_INT32(GrB_Semiring, int32_t, GrB_Field); -GrB_Info GrB_Semiring_set_String(GrB_Semiring, char *, GrB_Field); -GrB_Info GrB_Semiring_set_VOID(GrB_Semiring, void *, GrB_Field, size_t); -GrB_Info GrB_Semiring_wait(GrB_Semiring semiring, GrB_WaitMode waitmode); +GrB_Info GrB_Semiring_set_INT32(GrB_Semiring object, int32_t, int); +GrB_Info GrB_Semiring_set_String(GrB_Semiring object, char *, int); +GrB_Info GrB_Semiring_set_VOID(GrB_Semiring object, void *, int, size_t); +GrB_Info GrB_Semiring_wait(GrB_Semiring object, int waitmode); /* type */ -GrB_Info GrB_Type_error(const char **error, const GrB_Type type); -GrB_Info GrB_Type_free(GrB_Type *type); -GrB_Info GrB_Type_get_INT32(GrB_Type, int32_t *, GrB_Field); -GrB_Info GrB_Type_get_SIZE(GrB_Type, size_t *, GrB_Field); -GrB_Info GrB_Type_get_String(GrB_Type, char *, GrB_Field); -GrB_Info GrB_Type_get_VOID(GrB_Type, void *, GrB_Field); +GrB_Info GrB_Type_error(const char **error, const GrB_Type object); +GrB_Info GrB_Type_free(GrB_Type *object); +GrB_Info GrB_Type_get_INT32(GrB_Type object, int32_t *, int); +GrB_Info GrB_Type_get_SIZE(GrB_Type object, size_t *, int); +GrB_Info GrB_Type_get_String(GrB_Type object, char *, int); +GrB_Info GrB_Type_get_VOID(GrB_Type object, void *, int); GrB_Info GrB_Type_new(GrB_Type *type, size_t sizeof_ctype); -GrB_Info GrB_Type_set_INT32(GrB_Type, int32_t, GrB_Field); -GrB_Info GrB_Type_set_String(GrB_Type, char *, GrB_Field); -GrB_Info GrB_Type_set_VOID(GrB_Type, void *, GrB_Field, size_t); -GrB_Info GrB_Type_wait(GrB_Type type, GrB_WaitMode waitmode); +GrB_Info GrB_Type_set_INT32(GrB_Type object, int32_t, int); +GrB_Info GrB_Type_set_String(GrB_Type object, char *, int); +GrB_Info GrB_Type_set_VOID(GrB_Type object, void *, int, size_t); +GrB_Info GrB_Type_wait(GrB_Type object, int waitmode); /* unary */ -GrB_Info GrB_UnaryOp_error(const char **error, const GrB_UnaryOp op); -GrB_Info GrB_UnaryOp_free(GrB_UnaryOp *unaryop); -GrB_Info GrB_UnaryOp_get_INT32(GrB_UnaryOp, int32_t *, GrB_Field); -GrB_Info GrB_UnaryOp_get_SIZE(GrB_UnaryOp, size_t *, GrB_Field); -GrB_Info GrB_UnaryOp_get_String(GrB_UnaryOp, char *, GrB_Field); -GrB_Info GrB_UnaryOp_get_VOID(GrB_UnaryOp, void *, GrB_Field); +GrB_Info GrB_UnaryOp_error(const char **error, const GrB_UnaryOp object); +GrB_Info GrB_UnaryOp_free(GrB_UnaryOp *object); +GrB_Info GrB_UnaryOp_get_INT32(GrB_UnaryOp object, int32_t *, int); +GrB_Info GrB_UnaryOp_get_SIZE(GrB_UnaryOp object, size_t *, int); +GrB_Info GrB_UnaryOp_get_String(GrB_UnaryOp object, char *, int); +GrB_Info GrB_UnaryOp_get_VOID(GrB_UnaryOp object, void *, int); GrB_Info GrB_UnaryOp_new(GrB_UnaryOp *unaryop, GxB_unary_function function, GrB_Type ztype, GrB_Type xtype); -GrB_Info GrB_UnaryOp_set_INT32(GrB_UnaryOp, int32_t, GrB_Field); -GrB_Info GrB_UnaryOp_set_String(GrB_UnaryOp, char *, GrB_Field); -GrB_Info GrB_UnaryOp_set_VOID(GrB_UnaryOp, void *, GrB_Field, size_t); -GrB_Info GrB_UnaryOp_wait(GrB_UnaryOp op, GrB_WaitMode waitmode); +GrB_Info GrB_UnaryOp_set_INT32(GrB_UnaryOp object, int32_t, int); +GrB_Info GrB_UnaryOp_set_String(GrB_UnaryOp object, char *, int); +GrB_Info GrB_UnaryOp_set_VOID(GrB_UnaryOp object, void *, int, size_t); +GrB_Info GrB_UnaryOp_wait(GrB_UnaryOp object, int waitmode); /* vector */ 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); @@ -2960,32 +3000,32 @@ GrB_Info GrB_Vector_apply_IndexOp_UINT8(GrB_Vector w, const GrB_Vector mask, con 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); 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); 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); -GrB_Info GrB_Vector_assign(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_BOOL(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, bool x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_FP32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, float x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_FP64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, double x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_INT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_INT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_INT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_INT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_Scalar(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, GrB_Scalar x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_UDT(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, void *x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_UINT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_UINT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_UINT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_assign_UINT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GrB_Vector_build_BOOL(GrB_Vector w, const GrB_Index *Ilist, const bool *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_FP32(GrB_Vector w, const GrB_Index *Ilist, const float *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_FP64(GrB_Vector w, const GrB_Index *Ilist, const double *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_INT8(GrB_Vector w, const GrB_Index *Ilist, const int8_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_INT16(GrB_Vector w, const GrB_Index *Ilist, const int16_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_INT32(GrB_Vector w, const GrB_Index *Ilist, const int32_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_INT64(GrB_Vector w, const GrB_Index *Ilist, const int64_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_UDT(GrB_Vector w, const GrB_Index *Ilist, const void *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_UINT8(GrB_Vector w, const GrB_Index *Ilist, const uint8_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_UINT16(GrB_Vector w, const GrB_Index *Ilist, const uint16_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_UINT32(GrB_Vector w, const GrB_Index *Ilist, const uint32_t *X, GrB_Index nvals, const GrB_BinaryOp dup); -GrB_Info GrB_Vector_build_UINT64(GrB_Vector w, const GrB_Index *Ilist, const uint64_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +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); +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); +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); +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); +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); +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); +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); +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); +GrB_Info GrB_Vector_assign_Scalar(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Scalar x, const GrB_Index *I_, GrB_Index ni, const GrB_Descriptor desc); +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); +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); +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); +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); +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); +GrB_Info GrB_Vector_build_BOOL(GrB_Vector w, const GrB_Index *I_, const bool *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_FP32(GrB_Vector w, const GrB_Index *I_, const float *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_FP64(GrB_Vector w, const GrB_Index *I_, const double *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_INT8(GrB_Vector w, const GrB_Index *I_, const int8_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_INT16(GrB_Vector w, const GrB_Index *I_, const int16_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_INT32(GrB_Vector w, const GrB_Index *I_, const int32_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_INT64(GrB_Vector w, const GrB_Index *I_, const int64_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_UDT(GrB_Vector w, const GrB_Index *I_, const void *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_UINT8(GrB_Vector w, const GrB_Index *I_, const uint8_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_UINT16(GrB_Vector w, const GrB_Index *I_, const uint16_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_UINT32(GrB_Vector w, const GrB_Index *I_, const uint32_t *X, GrB_Index nvals, const GrB_BinaryOp dup); +GrB_Info GrB_Vector_build_UINT64(GrB_Vector w, const GrB_Index *I_, const uint64_t *X, GrB_Index nvals, const GrB_BinaryOp dup); GrB_Info GrB_Vector_clear(GrB_Vector v); GrB_Info GrB_Vector_dup(GrB_Vector *w, const GrB_Vector u); 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); @@ -2994,8 +3034,8 @@ GrB_Info GrB_Vector_eWiseAdd_Semiring(GrB_Vector w, const GrB_Vector mask, const 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); 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); 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); -GrB_Info GrB_Vector_error(const char **error, const GrB_Vector v); -GrB_Info GrB_Vector_extract(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); +GrB_Info GrB_Vector_error(const char **error, const GrB_Vector object); +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); GrB_Info GrB_Vector_extractElement_BOOL(bool *x, const GrB_Vector v, GrB_Index i); GrB_Info GrB_Vector_extractElement_FP32(float *x, const GrB_Vector v, GrB_Index i); GrB_Info GrB_Vector_extractElement_FP64(double *x, const GrB_Vector v, GrB_Index i); @@ -3009,28 +3049,28 @@ GrB_Info GrB_Vector_extractElement_UINT8(uint8_t *x, const GrB_Vector v, GrB_Ind GrB_Info GrB_Vector_extractElement_UINT16(uint16_t *x, const GrB_Vector v, GrB_Index i); GrB_Info GrB_Vector_extractElement_UINT32(uint32_t *x, const GrB_Vector v, GrB_Index i); GrB_Info GrB_Vector_extractElement_UINT64(uint64_t *x, const GrB_Vector v, GrB_Index i); -GrB_Info GrB_Vector_extractTuples_BOOL(GrB_Index *Ilist, bool *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_FP32(GrB_Index *Ilist, float *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_FP64(GrB_Index *Ilist, double *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_INT8(GrB_Index *Ilist, int8_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_INT16(GrB_Index *Ilist, int16_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_INT32(GrB_Index *Ilist, int32_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_INT64(GrB_Index *Ilist, int64_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_UDT(GrB_Index *Ilist, void *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_UINT8(GrB_Index *Ilist, uint8_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_UINT16(GrB_Index *Ilist, uint16_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_UINT32(GrB_Index *Ilist, uint32_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_extractTuples_UINT64(GrB_Index *Ilist, uint64_t *X, GrB_Index *nvals, const GrB_Vector v); -GrB_Info GrB_Vector_free(GrB_Vector *v); -GrB_Info GrB_Vector_get_INT32(GrB_Vector, int32_t *, GrB_Field); -GrB_Info GrB_Vector_get_SIZE(GrB_Vector, size_t *, GrB_Field); -GrB_Info GrB_Vector_get_Scalar(GrB_Vector, GrB_Scalar, GrB_Field); -GrB_Info GrB_Vector_get_String(GrB_Vector, char *, GrB_Field); -GrB_Info GrB_Vector_get_VOID(GrB_Vector, void *, GrB_Field); +GrB_Info GrB_Vector_extractTuples_BOOL(GrB_Index *I_, bool *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_FP32(GrB_Index *I_, float *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_FP64(GrB_Index *I_, double *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_INT8(GrB_Index *I_, int8_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_INT16(GrB_Index *I_, int16_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_INT32(GrB_Index *I_, int32_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_INT64(GrB_Index *I_, int64_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_UDT(GrB_Index *I_, void *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_UINT8(GrB_Index *I_, uint8_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_UINT16(GrB_Index *I_, uint16_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_UINT32(GrB_Index *I_, uint32_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_extractTuples_UINT64(GrB_Index *I_, uint64_t *X, GrB_Index *nvals, const GrB_Vector V); +GrB_Info GrB_Vector_free(GrB_Vector *object); +GrB_Info GrB_Vector_get_INT32(GrB_Vector object, int32_t *, int); +GrB_Info GrB_Vector_get_SIZE(GrB_Vector object, size_t *, int); +GrB_Info GrB_Vector_get_Scalar(GrB_Vector object, GrB_Scalar, int); +GrB_Info GrB_Vector_get_String(GrB_Vector object, char *, int); +GrB_Info GrB_Vector_get_VOID(GrB_Vector object, void *, int); GrB_Info GrB_Vector_new(GrB_Vector *v, GrB_Type type, GrB_Index n); GrB_Info GrB_Vector_nvals(GrB_Index *nvals, const GrB_Vector v); GrB_Info GrB_Vector_reduce_BOOL(bool *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc); -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); +GrB_Info GrB_Vector_reduce_BinaryOp_Scalar(GrB_Scalar, const GrB_BinaryOp, const GrB_BinaryOp, const GrB_Vector, const GrB_Descriptor); GrB_Info GrB_Vector_reduce_FP32(float *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc); GrB_Info GrB_Vector_reduce_FP64(double *c, const GrB_BinaryOp accum, const GrB_Monoid monoid, const GrB_Vector u, const GrB_Descriptor desc); 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); @@ -3071,12 +3111,12 @@ GrB_Info GrB_Vector_setElement_UINT8(GrB_Vector w, uint8_t x, GrB_Index i); GrB_Info GrB_Vector_setElement_UINT16(GrB_Vector w, uint16_t x, GrB_Index i); GrB_Info GrB_Vector_setElement_UINT32(GrB_Vector w, uint32_t x, GrB_Index i); GrB_Info GrB_Vector_setElement_UINT64(GrB_Vector w, uint64_t x, GrB_Index i); -GrB_Info GrB_Vector_set_INT32(GrB_Vector, int32_t, GrB_Field); -GrB_Info GrB_Vector_set_Scalar(GrB_Vector, GrB_Scalar, GrB_Field); -GrB_Info GrB_Vector_set_String(GrB_Vector, char *, GrB_Field); -GrB_Info GrB_Vector_set_VOID(GrB_Vector, void *, GrB_Field, size_t); +GrB_Info GrB_Vector_set_INT32(GrB_Vector object, int32_t, int); +GrB_Info GrB_Vector_set_Scalar(GrB_Vector object, GrB_Scalar, int); +GrB_Info GrB_Vector_set_String(GrB_Vector object, char *, int); +GrB_Info GrB_Vector_set_VOID(GrB_Vector object, void *, int, size_t); GrB_Info GrB_Vector_size(GrB_Index *n, const GrB_Vector v); -GrB_Info GrB_Vector_wait(GrB_Vector v, GrB_WaitMode waitmode); +GrB_Info GrB_Vector_wait(GrB_Vector object, int waitmode); /*************** * GB functions * @@ -3085,17 +3125,17 @@ GrB_Info GrB_Vector_wait(GrB_Vector v, GrB_WaitMode waitmode); /* iterator */ GrB_Info GB_Iterator_rc_bitmap_next(GxB_Iterator iterator); GrB_Info GB_Iterator_rc_seek(GxB_Iterator iterator, GrB_Index j, bool jth_vector); -GrB_Info GB_Vector_Iterator_bitmap_seek(GxB_Iterator iterator, GrB_Index unused); +GrB_Info GB_Vector_Iterator_bitmap_seek(GxB_Iterator iterator); /* matrix */ -GrB_Info GB_Iterator_attach(GxB_Iterator iterator, GrB_Matrix A, GxB_Format_Value format, GrB_Descriptor desc); +GrB_Info GB_Iterator_attach(GxB_Iterator iterator, GrB_Matrix A, int format, GrB_Descriptor desc); /**************** * GxB functions * ****************/ /* binary */ -GrB_Info GxB_BinaryOp_fprint(GrB_BinaryOp binaryop, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_BinaryOp_fprint(GrB_BinaryOp binaryop, const char *name, int pr, FILE *f); 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); GrB_Info GxB_BinaryOp_xtype(GrB_Type *, GrB_BinaryOp); GrB_Info GxB_BinaryOp_xtype_name(char *, const GrB_BinaryOp); @@ -3104,75 +3144,79 @@ GrB_Info GxB_BinaryOp_ytype_name(char *, const GrB_BinaryOp); GrB_Info GxB_BinaryOp_ztype(GrB_Type *, GrB_BinaryOp); GrB_Info GxB_BinaryOp_ztype_name(char *, const GrB_BinaryOp); +/* container */ +GrB_Info GxB_Container_free(GxB_Container *object); +GrB_Info GxB_Container_new(GxB_Container *Container); + /* context */ GrB_Info GxB_Context_disengage(GxB_Context Context); GrB_Info GxB_Context_engage(GxB_Context Context); -GrB_Info GxB_Context_error(const char **error, const GxB_Context c); -GrB_Info GxB_Context_fprint(GxB_Context Context, const char *name, GxB_Print_Level pr, FILE *f); -GrB_Info GxB_Context_free(GxB_Context *Context); -GrB_Info GxB_Context_get(GxB_Context, GxB_Context_Field, ...); -GrB_Info GxB_Context_get_FP64(GxB_Context, GxB_Context_Field, double *); -GrB_Info GxB_Context_get_INT(GxB_Context, int32_t *, GrB_Field); -GrB_Info GxB_Context_get_INT32(GxB_Context, GxB_Context_Field, int32_t *); -GrB_Info GxB_Context_get_SIZE(GxB_Context, size_t *, GrB_Field); -GrB_Info GxB_Context_get_String(GxB_Context, char *, GrB_Field); -GrB_Info GxB_Context_get_VOID(GxB_Context, void *, GrB_Field); +GrB_Info GxB_Context_error(const char **error, const GxB_Context object); +GrB_Info GxB_Context_fprint(GxB_Context Context, const char *name, int pr, FILE *f); +GrB_Info GxB_Context_free(GxB_Context *object); +GrB_Info GxB_Context_get(GxB_Context, int, ...); +GrB_Info GxB_Context_get_FP64(GxB_Context, int, double *); +GrB_Info GxB_Context_get_INT(GxB_Context, int32_t *, int); +GrB_Info GxB_Context_get_INT32(GxB_Context, int, int32_t *); +GrB_Info GxB_Context_get_SIZE(GxB_Context, size_t *, int); +GrB_Info GxB_Context_get_String(GxB_Context, char *, int); +GrB_Info GxB_Context_get_VOID(GxB_Context, void *, int); GrB_Info GxB_Context_new(GxB_Context *Context); -GrB_Info GxB_Context_set(GxB_Context, GxB_Context_Field, ...); -GrB_Info GxB_Context_set_FP64(GxB_Context, GxB_Context_Field, double); -GrB_Info GxB_Context_set_INT(GxB_Context, int32_t, GrB_Field); -GrB_Info GxB_Context_set_INT32(GxB_Context, GxB_Context_Field, int32_t); -GrB_Info GxB_Context_set_String(GxB_Context, char *, GrB_Field); -GrB_Info GxB_Context_set_VOID(GxB_Context, void *, GrB_Field, size_t); -GrB_Info GxB_Context_wait(GxB_Context Context, GrB_WaitMode waitmode); +GrB_Info GxB_Context_set(GxB_Context, int, ...); +GrB_Info GxB_Context_set_FP64(GxB_Context, int, double); +GrB_Info GxB_Context_set_INT(GxB_Context, int32_t, int); +GrB_Info GxB_Context_set_INT32(GxB_Context, int, int32_t); +GrB_Info GxB_Context_set_String(GxB_Context, char *, int); +GrB_Info GxB_Context_set_VOID(GxB_Context, void *, int, size_t); +GrB_Info GxB_Context_wait(GxB_Context object, int waitmode); /* core */ -GrB_Info GxB_Global_Option_get(GxB_Option_Field, ...); -GrB_Info GxB_Global_Option_get_CHAR(GxB_Option_Field, const char **); -GrB_Info GxB_Global_Option_get_FP64(GxB_Option_Field, double *); -GrB_Info GxB_Global_Option_get_FUNCTION(GxB_Option_Field, void **); -GrB_Info GxB_Global_Option_get_INT32(GxB_Option_Field, int32_t *); -GrB_Info GxB_Global_Option_get_INT64(GxB_Option_Field, int64_t *); -GrB_Info GxB_Global_Option_set(GxB_Option_Field, ...); -GrB_Info GxB_Global_Option_set_CHAR(GxB_Option_Field, const char *); -GrB_Info GxB_Global_Option_set_FP64(GxB_Option_Field, double); -GrB_Info GxB_Global_Option_set_FP64_ARRAY(GxB_Option_Field, double *); -GrB_Info GxB_Global_Option_set_FUNCTION(GxB_Option_Field, void *); -GrB_Info GxB_Global_Option_set_INT32(GxB_Option_Field, int32_t); -GrB_Info GxB_Global_Option_set_INT64_ARRAY(GxB_Option_Field, int64_t *); -GrB_Info GxB_Serialized_get_INT32(const void *, int32_t *, GrB_Field, size_t); -GrB_Info GxB_Serialized_get_SIZE(const void *, size_t *, GrB_Field, size_t); -GrB_Info GxB_Serialized_get_String(const void *, char *, GrB_Field, size_t); -GrB_Info GxB_Serialized_get_VOID(const void *, void *, GrB_Field, size_t); -GrB_Info GxB_deserialize_type_name(char *, const void *, GrB_Index); -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 *)); +GrB_Info GxB_Global_Option_get(int, ...); +GrB_Info GxB_Global_Option_get_CHAR(int, const char **); +GrB_Info GxB_Global_Option_get_FP64(int, double *); +GrB_Info GxB_Global_Option_get_FUNCTION(int, void **); +GrB_Info GxB_Global_Option_get_INT32(int, int32_t *); +GrB_Info GxB_Global_Option_get_INT64(int, int64_t *); +GrB_Info GxB_Global_Option_set(int, ...); +GrB_Info GxB_Global_Option_set_CHAR(int, const char *); +GrB_Info GxB_Global_Option_set_FP64(int, double); +GrB_Info GxB_Global_Option_set_FP64_ARRAY(int, double *); +GrB_Info GxB_Global_Option_set_FUNCTION(int, void *); +GrB_Info GxB_Global_Option_set_INT32(int, int32_t); +GrB_Info GxB_Global_Option_set_INT64_ARRAY(int, int64_t *); +GrB_Info GxB_Serialized_get_INT32(const void *, int32_t *, int, size_t); +GrB_Info GxB_Serialized_get_SIZE(const void *, size_t *, int, size_t); +GrB_Info GxB_Serialized_get_String(const void *, char *, int, size_t); +GrB_Info GxB_Serialized_get_VOID(const void *, void *, int, size_t); +GrB_Info GxB_deserialize_type_name(char *, const void *, uint64_t); +GrB_Info GxB_init(int 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 */ -GrB_Info GxB_Desc_get(GrB_Descriptor, GrB_Desc_Field, ...); -GrB_Info GxB_Desc_get_FP64(GrB_Descriptor, GrB_Desc_Field, double *); -GrB_Info GxB_Desc_get_INT32(GrB_Descriptor, GrB_Desc_Field, int32_t *); -GrB_Info GxB_Desc_set(GrB_Descriptor, GrB_Desc_Field, ...); -GrB_Info GxB_Desc_set_FP64(GrB_Descriptor, GrB_Desc_Field, double); -GrB_Info GxB_Desc_set_INT32(GrB_Descriptor, GrB_Desc_Field, int32_t); -GrB_Info GxB_Descriptor_fprint(GrB_Descriptor descriptor, const char *name, GxB_Print_Level pr, FILE *f); -GrB_Info GxB_Descriptor_get(GrB_Desc_Value *, GrB_Descriptor, GrB_Desc_Field); +GrB_Info GxB_Desc_get(GrB_Descriptor, int, ...); +GrB_Info GxB_Desc_get_FP64(GrB_Descriptor, int, double *); +GrB_Info GxB_Desc_get_INT32(GrB_Descriptor, int, int32_t *); +GrB_Info GxB_Desc_set(GrB_Descriptor, int, ...); +GrB_Info GxB_Desc_set_FP64(GrB_Descriptor, int, double); +GrB_Info GxB_Desc_set_INT32(GrB_Descriptor, int, int32_t); +GrB_Info GxB_Descriptor_fprint(GrB_Descriptor descriptor, const char *name, int pr, FILE *f); +GrB_Info GxB_Descriptor_get(int32_t *, GrB_Descriptor, int); /* indexbinary */ -GrB_Info GxB_IndexBinaryOp_error(const char **error, const GxB_IndexBinaryOp op); -GrB_Info GxB_IndexBinaryOp_fprint(GxB_IndexBinaryOp op, const char *name, GxB_Print_Level pr, FILE *f); -GrB_Info GxB_IndexBinaryOp_free(GxB_IndexBinaryOp *op); -GrB_Info GxB_IndexBinaryOp_get_INT32(GxB_IndexBinaryOp, int32_t *, GrB_Field); -GrB_Info GxB_IndexBinaryOp_get_SIZE(GxB_IndexBinaryOp, size_t *, GrB_Field); -GrB_Info GxB_IndexBinaryOp_get_String(GxB_IndexBinaryOp, char *, GrB_Field); -GrB_Info GxB_IndexBinaryOp_get_VOID(GxB_IndexBinaryOp, void *, GrB_Field); +GrB_Info GxB_IndexBinaryOp_error(const char **error, const GxB_IndexBinaryOp object); +GrB_Info GxB_IndexBinaryOp_fprint(GxB_IndexBinaryOp op, const char *name, int pr, FILE *f); +GrB_Info GxB_IndexBinaryOp_free(GxB_IndexBinaryOp *object); +GrB_Info GxB_IndexBinaryOp_get_INT32(GxB_IndexBinaryOp object, int32_t *, int); +GrB_Info GxB_IndexBinaryOp_get_SIZE(GxB_IndexBinaryOp object, size_t *, int); +GrB_Info GxB_IndexBinaryOp_get_String(GxB_IndexBinaryOp object, char *, int); +GrB_Info GxB_IndexBinaryOp_get_VOID(GxB_IndexBinaryOp object, void *, int); GrB_Info GxB_IndexBinaryOp_new(GxB_IndexBinaryOp *op, GxB_index_binary_function function, GrB_Type ztype, GrB_Type xtype, GrB_Type ytype, GrB_Type theta_type, const char *idxbinop_name, const char *idxbinop_defn); -GrB_Info GxB_IndexBinaryOp_set_INT32(GxB_IndexBinaryOp, int32_t, GrB_Field); -GrB_Info GxB_IndexBinaryOp_set_String(GxB_IndexBinaryOp, char *, GrB_Field); -GrB_Info GxB_IndexBinaryOp_set_VOID(GxB_IndexBinaryOp, void *, GrB_Field, size_t); -GrB_Info GxB_IndexBinaryOp_wait(GxB_IndexBinaryOp op, GrB_WaitMode waitmode); +GrB_Info GxB_IndexBinaryOp_set_INT32(GxB_IndexBinaryOp object, int32_t, int); +GrB_Info GxB_IndexBinaryOp_set_String(GxB_IndexBinaryOp object, char *, int); +GrB_Info GxB_IndexBinaryOp_set_VOID(GxB_IndexBinaryOp object, void *, int, size_t); +GrB_Info GxB_IndexBinaryOp_wait(GxB_IndexBinaryOp object, int waitmode); /* indexunary */ -GrB_Info GxB_IndexUnaryOp_fprint(GrB_IndexUnaryOp op, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_IndexUnaryOp_fprint(GrB_IndexUnaryOp op, const char *name, int pr, FILE *f); 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); GrB_Info GxB_IndexUnaryOp_xtype_name(char *, const GrB_IndexUnaryOp); GrB_Info GxB_IndexUnaryOp_ytype_name(char *, const GrB_IndexUnaryOp); @@ -3190,7 +3234,7 @@ GrB_Index GxB_colIterator_kount(GxB_Iterator iterator); GrB_Index GxB_rowIterator_getColIndex(GxB_Iterator iterator); GrB_Index GxB_rowIterator_getRowIndex(GxB_Iterator iterator); GrB_Index GxB_rowIterator_kount(GxB_Iterator iterator); -GrB_Info GxB_Iterator_free(GxB_Iterator *iterator); +GrB_Info GxB_Iterator_free(GxB_Iterator *object); GrB_Info GxB_Iterator_new(GxB_Iterator *iterator); GrB_Info GxB_Matrix_Iterator_next(GxB_Iterator iterator); GrB_Info GxB_Matrix_Iterator_seek(GxB_Iterator iterator, GrB_Index p); @@ -3219,88 +3263,103 @@ void GxB_Iterator_get_UDT(GxB_Iterator iterator, void *value); void GxB_Matrix_Iterator_getIndex(GxB_Iterator iterator, GrB_Index *row, GrB_Index *col); /* matrix */ -GrB_Info GxB_Col_subassign(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *Ilist, GrB_Index ni, GrB_Index j, const GrB_Descriptor desc); +GrB_Info GxB_Col_assign_Vector(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Vector I_vector, GrB_Index j, const GrB_Descriptor desc); +GrB_Info GxB_Col_extract_Vector(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Vector I_vector, GrB_Index j, const GrB_Descriptor desc); +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); +GrB_Info GxB_Col_subassign_Vector(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Vector I_vector, GrB_Index j, const GrB_Descriptor desc); GrB_Info GxB_Matrix_Iterator_attach(GxB_Iterator iterator, GrB_Matrix A, GrB_Descriptor desc); -GrB_Info GxB_Matrix_Option_get(GrB_Matrix, GxB_Option_Field, ...); -GrB_Info GxB_Matrix_Option_get_FP64(GrB_Matrix, GxB_Option_Field, double *); -GrB_Info GxB_Matrix_Option_get_INT32(GrB_Matrix, GxB_Option_Field, int32_t *); -GrB_Info GxB_Matrix_Option_set(GrB_Matrix, GxB_Option_Field, ...); -GrB_Info GxB_Matrix_Option_set_FP64(GrB_Matrix, GxB_Option_Field, double); -GrB_Info GxB_Matrix_Option_set_INT32(GrB_Matrix, GxB_Option_Field, int32_t); +GrB_Info GxB_Matrix_Option_get(GrB_Matrix, int, ...); +GrB_Info GxB_Matrix_Option_get_FP64(GrB_Matrix, int, double *); +GrB_Info GxB_Matrix_Option_get_INT32(GrB_Matrix, int, int32_t *); +GrB_Info GxB_Matrix_Option_set(GrB_Matrix, int, ...); +GrB_Info GxB_Matrix_Option_set_FP64(GrB_Matrix, int, double); +GrB_Info GxB_Matrix_Option_set_INT32(GrB_Matrix, int, int32_t); GrB_Info GxB_Matrix_apply_BinaryOp1st(GrB_Matrix, const GrB_Matrix, const GrB_BinaryOp, const GrB_BinaryOp, const GrB_Scalar, const GrB_Matrix, const GrB_Descriptor); GrB_Info GxB_Matrix_apply_BinaryOp2nd(GrB_Matrix, const GrB_Matrix, const GrB_BinaryOp, const GrB_BinaryOp, const GrB_Matrix, const GrB_Scalar, const GrB_Descriptor); -GrB_Info GxB_Matrix_build_Scalar(GrB_Matrix C, const GrB_Index *Ilist, const GrB_Index *J, GrB_Scalar scalar, GrB_Index nvals); +GrB_Info GxB_Matrix_assign_Scalar_Vector(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Scalar x, const GrB_Vector I_vector, const GrB_Vector J_vector, const GrB_Descriptor desc); +GrB_Info GxB_Matrix_assign_Vector(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Vector I_vector, const GrB_Vector J_vector, const GrB_Descriptor desc); +GrB_Info GxB_Matrix_build_Scalar(GrB_Matrix C, const GrB_Index *I_, const GrB_Index *J, GrB_Scalar scalar, GrB_Index nvals); +GrB_Info GxB_Matrix_build_Scalar_Vector(GrB_Matrix C, const GrB_Vector I_vector, const GrB_Vector J_vector, GrB_Scalar scalar, const GrB_Descriptor desc); +GrB_Info GxB_Matrix_build_Vector(GrB_Matrix C, const GrB_Vector I_vector, const GrB_Vector J_vector, const GrB_Vector X_vector, const GrB_BinaryOp dup, const GrB_Descriptor desc); GrB_Info GxB_Matrix_concat(GrB_Matrix C, const GrB_Matrix *Tiles, const GrB_Index m, const GrB_Index n, const GrB_Descriptor desc); GrB_Info GxB_Matrix_deserialize(GrB_Matrix *C, GrB_Type type, const void *blob, GrB_Index blob_size, const GrB_Descriptor desc); GrB_Info GxB_Matrix_diag(GrB_Matrix C, const GrB_Vector v, int64_t k, const GrB_Descriptor desc); 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); -GrB_Info GxB_Matrix_export_BitmapC(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, int8_t **, void **, GrB_Index *, GrB_Index *, bool *, GrB_Index *, const GrB_Descriptor); -GrB_Info GxB_Matrix_export_BitmapR(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, int8_t **, void **, GrB_Index *, GrB_Index *, bool *, GrB_Index *, const GrB_Descriptor); -GrB_Info GxB_Matrix_export_CSC(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, GrB_Index **, GrB_Index **, void **, GrB_Index *, GrB_Index *, GrB_Index *, bool *, bool *, const GrB_Descriptor); -GrB_Info GxB_Matrix_export_CSR(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, GrB_Index **, GrB_Index **, void **, GrB_Index *, GrB_Index *, GrB_Index *, bool *, bool *, const GrB_Descriptor); -GrB_Info GxB_Matrix_export_FullC(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, void **, GrB_Index *, bool *, const GrB_Descriptor); -GrB_Info GxB_Matrix_export_FullR(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, void **, GrB_Index *, bool *, const GrB_Descriptor); -GrB_Info GxB_Matrix_export_HyperCSC(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, GrB_Index **, GrB_Index **, GrB_Index **, void **, GrB_Index *, GrB_Index *, GrB_Index *, GrB_Index *, bool *, GrB_Index *, bool *, const GrB_Descriptor); -GrB_Info GxB_Matrix_export_HyperCSR(GrB_Matrix *, GrB_Type *, GrB_Index *, GrB_Index *, GrB_Index **, GrB_Index **, GrB_Index **, void **, GrB_Index *, GrB_Index *, GrB_Index *, GrB_Index *, bool *, GrB_Index *, bool *, const GrB_Descriptor); -GrB_Info GxB_Matrix_fprint(GrB_Matrix A, const char *name, GxB_Print_Level pr, FILE *f); -GrB_Info GxB_Matrix_import_BitmapC(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, int8_t **, void **, GrB_Index, GrB_Index, bool, GrB_Index, const GrB_Descriptor); -GrB_Info GxB_Matrix_import_BitmapR(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, int8_t **, void **, GrB_Index, GrB_Index, bool, GrB_Index, const GrB_Descriptor); -GrB_Info GxB_Matrix_import_CSC(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, GrB_Index **, GrB_Index **, void **, GrB_Index, GrB_Index, GrB_Index, bool, bool, const GrB_Descriptor); -GrB_Info GxB_Matrix_import_CSR(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, GrB_Index **, GrB_Index **, void **, GrB_Index, GrB_Index, GrB_Index, bool, bool, const GrB_Descriptor); -GrB_Info GxB_Matrix_import_FullC(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, void **, GrB_Index, bool, const GrB_Descriptor); -GrB_Info GxB_Matrix_import_FullR(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, void **, GrB_Index, bool, const GrB_Descriptor); -GrB_Info GxB_Matrix_import_HyperCSC(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, GrB_Index **, GrB_Index **, GrB_Index **, void **, GrB_Index, GrB_Index, GrB_Index, GrB_Index, bool, GrB_Index, bool, const GrB_Descriptor); -GrB_Info GxB_Matrix_import_HyperCSR(GrB_Matrix *, GrB_Type, GrB_Index, GrB_Index, GrB_Index **, GrB_Index **, GrB_Index **, void **, GrB_Index, GrB_Index, GrB_Index, GrB_Index, bool, GrB_Index, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_BitmapC(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, int8_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_BitmapR(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, int8_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_CSC(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, bool *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_CSR(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, bool *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_FullC(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, void **, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_FullR(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, void **, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_HyperCSC(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, uint64_t *, bool *, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_export_HyperCSR(GrB_Matrix *, GrB_Type *, uint64_t *, uint64_t *, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, uint64_t *, bool *, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_extractTuples_Vector(GrB_Vector I_vector, GrB_Vector J_vector, GrB_Vector X_vector, const GrB_Matrix A, const GrB_Descriptor desc); +GrB_Info GxB_Matrix_extract_Vector(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Vector I_vector, const GrB_Vector J_vector, const GrB_Descriptor desc); +GrB_Info GxB_Matrix_fprint(GrB_Matrix A, const char *name, int pr, FILE *f); +GrB_Info GxB_Matrix_import_BitmapC(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, int8_t **, void **, uint64_t, uint64_t, bool, uint64_t, const GrB_Descriptor); +GrB_Info GxB_Matrix_import_BitmapR(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, int8_t **, void **, uint64_t, uint64_t, bool, uint64_t, const GrB_Descriptor); +GrB_Info GxB_Matrix_import_CSC(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, bool, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_import_CSR(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, bool, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_import_FullC(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, void **, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_import_FullR(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, void **, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_import_HyperCSC(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, uint64_t, bool, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_import_HyperCSR(GrB_Matrix *, GrB_Type, uint64_t, uint64_t, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, uint64_t, bool, uint64_t, bool, const GrB_Descriptor); GrB_Info GxB_Matrix_isStoredElement(const GrB_Matrix A, GrB_Index i, GrB_Index j); -GrB_Info GxB_Matrix_iso(bool *iso, const GrB_Matrix A); +GrB_Info GxB_Matrix_iso(bool *, const GrB_Matrix); GrB_Info GxB_Matrix_memoryUsage(size_t *size, const GrB_Matrix A); -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); -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); -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); -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); -GrB_Info GxB_Matrix_pack_FullC(GrB_Matrix A, void **Ax, GrB_Index Ax_size, bool iso, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_pack_FullR(GrB_Matrix A, void **Ax, GrB_Index Ax_size, bool iso, const GrB_Descriptor desc); -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); -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); +GrB_Info GxB_Matrix_pack_BitmapC(GrB_Matrix, int8_t **, void **, uint64_t, uint64_t, bool, uint64_t, const GrB_Descriptor); +GrB_Info GxB_Matrix_pack_BitmapR(GrB_Matrix, int8_t **, void **, uint64_t, uint64_t, bool, uint64_t, const GrB_Descriptor); +GrB_Info GxB_Matrix_pack_CSC(GrB_Matrix, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, bool, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_pack_CSR(GrB_Matrix, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, bool, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_pack_FullC(GrB_Matrix, void **, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_pack_FullR(GrB_Matrix, void **, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_pack_HyperCSC(GrB_Matrix, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, uint64_t, bool, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Matrix_pack_HyperCSR(GrB_Matrix, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t, uint64_t, uint64_t, uint64_t, bool, uint64_t, bool, const GrB_Descriptor); GrB_Info GxB_Matrix_reshape(GrB_Matrix C, bool by_col, GrB_Index nrows_new, GrB_Index ncols_new, const GrB_Descriptor desc); 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); -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); +GrB_Info GxB_Matrix_select(GrB_Matrix, const GrB_Matrix, const GrB_BinaryOp, const GxB_SelectOp, const GrB_Matrix, const GrB_Scalar, const GrB_Descriptor); GrB_Info GxB_Matrix_serialize(void **blob_handle, GrB_Index *blob_size_handle, GrB_Matrix A, const GrB_Descriptor desc); GrB_Info GxB_Matrix_sort(GrB_Matrix C, GrB_Matrix P, GrB_BinaryOp op, GrB_Matrix A, const GrB_Descriptor desc); 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); -GrB_Info GxB_Matrix_subassign(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_BOOL(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, bool x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_FP32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, float x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_FP64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, double x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_INT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_INT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_INT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_INT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, int64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_Scalar(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, GrB_Scalar x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_UDT(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, void *x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_UINT8(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_UINT16(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_UINT32(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_subassign_UINT64(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, uint64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_type(GrB_Type *, const GrB_Matrix); +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); +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); +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); +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); +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); +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); +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); +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); +GrB_Info GxB_Matrix_subassign_Scalar(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Scalar x, const GrB_Index *I_, GrB_Index ni, const GrB_Index *J, GrB_Index nj, const GrB_Descriptor desc); +GrB_Info GxB_Matrix_subassign_Scalar_Vector(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Scalar scalar, const GrB_Vector I_vector, const GrB_Vector J_vector, const GrB_Descriptor desc); +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); +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); +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); +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); +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); +GrB_Info GxB_Matrix_subassign_Vector(GrB_Matrix C, const GrB_Matrix Mask, const GrB_BinaryOp accum, const GrB_Matrix A, const GrB_Vector I_vector, const GrB_Vector J_vector, const GrB_Descriptor desc); +GrB_Info GxB_Matrix_type(GrB_Type *type, const GrB_Matrix A); GrB_Info GxB_Matrix_type_name(char *, const GrB_Matrix); -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); -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); -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); -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); -GrB_Info GxB_Matrix_unpack_FullC(GrB_Matrix A, void **Ax, GrB_Index *Ax_size, bool *iso, const GrB_Descriptor desc); -GrB_Info GxB_Matrix_unpack_FullR(GrB_Matrix A, void **Ax, GrB_Index *Ax_size, bool *iso, const GrB_Descriptor desc); -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); -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); +GrB_Info GxB_Matrix_unpack_BitmapC(GrB_Matrix, int8_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, const GrB_Descriptor); +GrB_Info GxB_Matrix_unpack_BitmapR(GrB_Matrix, int8_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, const GrB_Descriptor); +GrB_Info GxB_Matrix_unpack_CSC(GrB_Matrix, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, bool *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_unpack_CSR(GrB_Matrix, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, bool *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_unpack_FullC(GrB_Matrix, void **, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_unpack_FullR(GrB_Matrix, void **, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_unpack_HyperCSC(GrB_Matrix, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, uint64_t *, bool *, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Matrix_unpack_HyperCSR(GrB_Matrix, uint64_t **, uint64_t **, uint64_t **, void **, uint64_t *, uint64_t *, uint64_t *, uint64_t *, bool *, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Row_assign_Vector(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, GrB_Index i, const GrB_Vector J_vector, const GrB_Descriptor desc); 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); +GrB_Info GxB_Row_subassign_Vector(GrB_Matrix C, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, GrB_Index i, const GrB_Vector J_vector, const GrB_Descriptor desc); GrB_Info GxB_Vector_diag(GrB_Vector v, const GrB_Matrix A, int64_t k, const GrB_Descriptor desc); GrB_Info GxB_colIterator_attach(GxB_Iterator iterator, GrB_Matrix A, GrB_Descriptor desc); -GrB_Info GxB_pack_HyperHash(GrB_Matrix A, GrB_Matrix *Y, const GrB_Descriptor desc); +GrB_Info GxB_load_Matrix_from_Container(GrB_Matrix A, GxB_Container Container, const GrB_Descriptor desc); +GrB_Info GxB_pack_HyperHash(GrB_Matrix, GrB_Matrix *, const GrB_Descriptor); GrB_Info GxB_rowIterator_attach(GxB_Iterator iterator, GrB_Matrix A, GrB_Descriptor desc); -GrB_Info GxB_unpack_HyperHash(GrB_Matrix A, GrB_Matrix *Y, const GrB_Descriptor desc); +GrB_Info GxB_unload_Matrix_into_Container(GrB_Matrix A, GxB_Container Container, const GrB_Descriptor desc); +GrB_Info GxB_unpack_HyperHash(GrB_Matrix, GrB_Matrix *, const GrB_Descriptor); /* monoid */ -GrB_Info GxB_Monoid_fprint(GrB_Monoid monoid, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_Monoid_fprint(GrB_Monoid monoid, const char *name, int pr, FILE *f); GrB_Info GxB_Monoid_identity(void *, GrB_Monoid); GrB_Info GxB_Monoid_operator(GrB_BinaryOp *, GrB_Monoid); GrB_Info GxB_Monoid_terminal(bool *, void *, GrB_Monoid); @@ -3319,10 +3378,10 @@ GrB_Info GxB_Monoid_terminal_new_UINT64(GrB_Monoid *monoid, GrB_BinaryOp op, uin /* scalar */ GrB_Info GxB_BinaryOp_new_IndexOp(GrB_BinaryOp *binop, GxB_IndexBinaryOp idxbinop, GrB_Scalar theta); -GrB_Info GxB_Context_get_Scalar(GxB_Context, GrB_Scalar, GrB_Field); -GrB_Info GxB_Context_set_Scalar(GxB_Context, GrB_Scalar, GrB_Field); -GrB_Info GxB_IndexBinaryOp_get_Scalar(GxB_IndexBinaryOp, GrB_Scalar, GrB_Field); -GrB_Info GxB_IndexBinaryOp_set_Scalar(GxB_IndexBinaryOp, GrB_Scalar, GrB_Field); +GrB_Info GxB_Context_get_Scalar(GxB_Context, GrB_Scalar, int); +GrB_Info GxB_Context_set_Scalar(GxB_Context, GrB_Scalar, int); +GrB_Info GxB_IndexBinaryOp_get_Scalar(GxB_IndexBinaryOp object, GrB_Scalar, int); +GrB_Info GxB_IndexBinaryOp_set_Scalar(GxB_IndexBinaryOp object, GrB_Scalar, int); GrB_Info GxB_Scalar_clear(GrB_Scalar); GrB_Info GxB_Scalar_dup(GrB_Scalar *, const GrB_Scalar); GrB_Info GxB_Scalar_error(const char **, const GrB_Scalar); @@ -3338,11 +3397,11 @@ GrB_Info GxB_Scalar_extractElement_UINT8(uint8_t *, const GrB_Scalar); GrB_Info GxB_Scalar_extractElement_UINT16(uint16_t *, const GrB_Scalar); GrB_Info GxB_Scalar_extractElement_UINT32(uint32_t *, const GrB_Scalar); GrB_Info GxB_Scalar_extractElement_UINT64(uint64_t *, const GrB_Scalar); -GrB_Info GxB_Scalar_fprint(GrB_Scalar s, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_Scalar_fprint(GrB_Scalar s, const char *name, int pr, FILE *f); GrB_Info GxB_Scalar_free(GrB_Scalar *); GrB_Info GxB_Scalar_memoryUsage(size_t *size, const GrB_Scalar s); GrB_Info GxB_Scalar_new(GrB_Scalar *, GrB_Type); -GrB_Info GxB_Scalar_nvals(GrB_Index *, const GrB_Scalar); +GrB_Info GxB_Scalar_nvals(uint64_t *, const GrB_Scalar); GrB_Info GxB_Scalar_setElement_BOOL(GrB_Scalar, bool); GrB_Info GxB_Scalar_setElement_FP32(GrB_Scalar, float); GrB_Info GxB_Scalar_setElement_FP64(GrB_Scalar, double); @@ -3355,30 +3414,30 @@ GrB_Info GxB_Scalar_setElement_UINT8(GrB_Scalar, uint8_t); GrB_Info GxB_Scalar_setElement_UINT16(GrB_Scalar, uint16_t); GrB_Info GxB_Scalar_setElement_UINT32(GrB_Scalar, uint32_t); GrB_Info GxB_Scalar_setElement_UINT64(GrB_Scalar, uint64_t); -GrB_Info GxB_Scalar_type(GrB_Type *, const GrB_Scalar); +GrB_Info GxB_Scalar_type(GrB_Type *type, const GrB_Scalar s); GrB_Info GxB_Scalar_type_name(char *, const GrB_Scalar); GrB_Info GxB_Scalar_wait(GrB_Scalar *); -GrB_Info GxB_Serialized_get_Scalar(const void *, GrB_Scalar, GrB_Field, size_t); +GrB_Info GxB_Serialized_get_Scalar(const void *, GrB_Scalar, int, size_t); /* selectop */ -GrB_Info GxB_SelectOp_fprint(GxB_SelectOp op, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_SelectOp_fprint(GxB_SelectOp, const char *, int, FILE *); GrB_Info GxB_SelectOp_ttype(GrB_Type *, GxB_SelectOp); GrB_Info GxB_SelectOp_xtype(GrB_Type *, GxB_SelectOp); /* semiring */ GrB_Info GxB_Semiring_add(GrB_Monoid *, GrB_Semiring); -GrB_Info GxB_Semiring_fprint(GrB_Semiring semiring, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_Semiring_fprint(GrB_Semiring semiring, const char *name, int pr, FILE *f); GrB_Info GxB_Semiring_multiply(GrB_BinaryOp *, GrB_Semiring); /* type */ -GrB_Info GxB_Type_fprint(GrB_Type type, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_Type_fprint(GrB_Type type, const char *name, int pr, FILE *f); GrB_Info GxB_Type_from_name(GrB_Type *type, const char *type_name); GrB_Info GxB_Type_name(char *, const GrB_Type); GrB_Info GxB_Type_new(GrB_Type *type, size_t sizeof_ctype, const char *type_name, const char *type_defn); GrB_Info GxB_Type_size(size_t *, const GrB_Type); /* unary */ -GrB_Info GxB_UnaryOp_fprint(GrB_UnaryOp unaryop, const char *name, GxB_Print_Level pr, FILE *f); +GrB_Info GxB_UnaryOp_fprint(GrB_UnaryOp unaryop, const char *name, int pr, FILE *f); 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); GrB_Info GxB_UnaryOp_xtype(GrB_Type *, GrB_UnaryOp); GrB_Info GxB_UnaryOp_xtype_name(char *, const GrB_UnaryOp); @@ -3387,52 +3446,64 @@ GrB_Info GxB_UnaryOp_ztype_name(char *, const GrB_UnaryOp); /* vector */ GrB_Info GxB_Vector_Iterator_attach(GxB_Iterator iterator, GrB_Vector v, GrB_Descriptor desc); -GrB_Info GxB_Vector_Option_get(GrB_Vector, GxB_Option_Field, ...); -GrB_Info GxB_Vector_Option_get_FP64(GrB_Vector, GxB_Option_Field, double *); -GrB_Info GxB_Vector_Option_get_INT32(GrB_Vector, GxB_Option_Field, int32_t *); -GrB_Info GxB_Vector_Option_set(GrB_Vector, GxB_Option_Field, ...); -GrB_Info GxB_Vector_Option_set_FP64(GrB_Vector, GxB_Option_Field, double); -GrB_Info GxB_Vector_Option_set_INT32(GrB_Vector, GxB_Option_Field, int32_t); +GrB_Info GxB_Vector_Option_get(GrB_Vector, int, ...); +GrB_Info GxB_Vector_Option_get_FP64(GrB_Vector, int, double *); +GrB_Info GxB_Vector_Option_get_INT32(GrB_Vector, int, int32_t *); +GrB_Info GxB_Vector_Option_set(GrB_Vector, int, ...); +GrB_Info GxB_Vector_Option_set_FP64(GrB_Vector, int, double); +GrB_Info GxB_Vector_Option_set_INT32(GrB_Vector, int, int32_t); GrB_Info GxB_Vector_apply_BinaryOp1st(GrB_Vector, const GrB_Vector, const GrB_BinaryOp, const GrB_BinaryOp, const GrB_Scalar, const GrB_Vector, const GrB_Descriptor); GrB_Info GxB_Vector_apply_BinaryOp2nd(GrB_Vector, const GrB_Vector, const GrB_BinaryOp, const GrB_BinaryOp, const GrB_Vector, const GrB_Scalar, const GrB_Descriptor); -GrB_Info GxB_Vector_build_Scalar(GrB_Vector w, const GrB_Index *Ilist, GrB_Scalar scalar, GrB_Index nvals); +GrB_Info GxB_Vector_assign_Scalar_Vector(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Scalar x, const GrB_Vector I_vector, const GrB_Descriptor desc); +GrB_Info GxB_Vector_assign_Vector(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Vector I_vector, const GrB_Descriptor desc); +GrB_Info GxB_Vector_build_Scalar(GrB_Vector w, const GrB_Index *I_, const GrB_Scalar scalar, GrB_Index nvals); +GrB_Info GxB_Vector_build_Scalar_Vector(GrB_Vector w, const GrB_Vector I_vector, const GrB_Scalar scalar, const GrB_Descriptor desc); +GrB_Info GxB_Vector_build_Vector(GrB_Vector w, const GrB_Vector I_vector, const GrB_Vector X_vector, const GrB_BinaryOp dup, const GrB_Descriptor desc); GrB_Info GxB_Vector_deserialize(GrB_Vector *w, GrB_Type type, const void *blob, GrB_Index blob_size, const GrB_Descriptor desc); 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); -GrB_Info GxB_Vector_export_Bitmap(GrB_Vector *, GrB_Type *, GrB_Index *, int8_t **, void **, GrB_Index *, GrB_Index *, bool *, GrB_Index *, const GrB_Descriptor); -GrB_Info GxB_Vector_export_CSC(GrB_Vector *, GrB_Type *, GrB_Index *, GrB_Index **, void **, GrB_Index *, GrB_Index *, bool *, GrB_Index *, bool *, const GrB_Descriptor); -GrB_Info GxB_Vector_export_Full(GrB_Vector *, GrB_Type *, GrB_Index *, void **, GrB_Index *, bool *, const GrB_Descriptor); -GrB_Info GxB_Vector_fprint(GrB_Vector v, const char *name, GxB_Print_Level pr, FILE *f); -GrB_Info GxB_Vector_import_Bitmap(GrB_Vector *, GrB_Type, GrB_Index, int8_t **, void **, GrB_Index, GrB_Index, bool, GrB_Index, const GrB_Descriptor); -GrB_Info GxB_Vector_import_CSC(GrB_Vector *, GrB_Type, GrB_Index, GrB_Index **, void **, GrB_Index, GrB_Index, bool, GrB_Index, bool, const GrB_Descriptor); -GrB_Info GxB_Vector_import_Full(GrB_Vector *, GrB_Type, GrB_Index, void **, GrB_Index, bool, const GrB_Descriptor); +GrB_Info GxB_Vector_export_Bitmap(GrB_Vector *, GrB_Type *, uint64_t *, int8_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, const GrB_Descriptor); +GrB_Info GxB_Vector_export_CSC(GrB_Vector *, GrB_Type *, uint64_t *, uint64_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Vector_export_Full(GrB_Vector *, GrB_Type *, uint64_t *, void **, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Vector_extractTuples_Vector(GrB_Vector I_vector, GrB_Vector X_vector, const GrB_Vector V, const GrB_Descriptor desc); +GrB_Info GxB_Vector_extract_Vector(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Vector I_vector, const GrB_Descriptor desc); +GrB_Info GxB_Vector_fprint(GrB_Vector v, const char *name, int pr, FILE *f); +GrB_Info GxB_Vector_import_Bitmap(GrB_Vector *, GrB_Type, uint64_t, int8_t **, void **, uint64_t, uint64_t, bool, uint64_t, const GrB_Descriptor); +GrB_Info GxB_Vector_import_CSC(GrB_Vector *, GrB_Type, uint64_t, uint64_t **, void **, uint64_t, uint64_t, bool, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Vector_import_Full(GrB_Vector *, GrB_Type, uint64_t, void **, uint64_t, bool, const GrB_Descriptor); GrB_Info GxB_Vector_isStoredElement(const GrB_Vector v, GrB_Index i); -GrB_Info GxB_Vector_iso(bool *iso, const GrB_Vector v); +GrB_Info GxB_Vector_iso(bool *, const GrB_Vector); +GrB_Info GxB_Vector_load(GrB_Vector V, void **X, GrB_Type type, uint64_t n, uint64_t X_size, int handling, const GrB_Descriptor desc); GrB_Info GxB_Vector_memoryUsage(size_t *size, const GrB_Vector v); -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); -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); -GrB_Info GxB_Vector_pack_Full(GrB_Vector v, void **vx, GrB_Index vx_size, bool iso, const GrB_Descriptor desc); -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); +GrB_Info GxB_Vector_pack_Bitmap(GrB_Vector, int8_t **, void **, uint64_t, uint64_t, bool, uint64_t, const GrB_Descriptor); +GrB_Info GxB_Vector_pack_CSC(GrB_Vector, uint64_t **, void **, uint64_t, uint64_t, bool, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Vector_pack_Full(GrB_Vector, void **, uint64_t, bool, const GrB_Descriptor); +GrB_Info GxB_Vector_select(GrB_Vector, const GrB_Vector, const GrB_BinaryOp, const GxB_SelectOp, const GrB_Vector, const GrB_Scalar, const GrB_Descriptor); GrB_Info GxB_Vector_serialize(void **blob_handle, GrB_Index *blob_size_handle, GrB_Vector u, const GrB_Descriptor desc); GrB_Info GxB_Vector_sort(GrB_Vector w, GrB_Vector p, GrB_BinaryOp op, GrB_Vector u, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_BOOL(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, bool x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_FP32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, float x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_FP64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, double x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_INT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_INT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_INT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_INT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, int64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_Scalar(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, GrB_Scalar x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_UDT(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, void *x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_UINT8(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint8_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_UINT16(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint16_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_UINT32(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint32_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_subassign_UINT64(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, uint64_t x, const GrB_Index *Ilist, GrB_Index ni, const GrB_Descriptor desc); -GrB_Info GxB_Vector_type(GrB_Type *, const GrB_Vector); +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); +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); +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); +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); +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); +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); +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); +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); +GrB_Info GxB_Vector_subassign_Scalar(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Scalar x, const GrB_Index *I_, GrB_Index ni, const GrB_Descriptor desc); +GrB_Info GxB_Vector_subassign_Scalar_Vector(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Scalar scalar, const GrB_Vector I_vector, const GrB_Descriptor desc); +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); +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); +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); +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); +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); +GrB_Info GxB_Vector_subassign_Vector(GrB_Vector w, const GrB_Vector mask, const GrB_BinaryOp accum, const GrB_Vector u, const GrB_Vector I_vector, const GrB_Descriptor desc); +GrB_Info GxB_Vector_type(GrB_Type *type, const GrB_Vector v); GrB_Info GxB_Vector_type_name(char *, const GrB_Vector); -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); -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); -GrB_Info GxB_Vector_unpack_Full(GrB_Vector v, void **vx, GrB_Index *vx_size, bool *iso, const GrB_Descriptor desc); +GrB_Info GxB_Vector_unload(GrB_Vector V, void **X, GrB_Type *type, uint64_t *n, uint64_t *X_size, int *handling, const GrB_Descriptor desc); +GrB_Info GxB_Vector_unpack_Bitmap(GrB_Vector, int8_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, const GrB_Descriptor); +GrB_Info GxB_Vector_unpack_CSC(GrB_Vector, uint64_t **, void **, uint64_t *, uint64_t *, bool *, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_Vector_unpack_Full(GrB_Vector, void **, uint64_t *, bool *, const GrB_Descriptor); +GrB_Info GxB_load_Vector_from_Container(GrB_Vector V, GxB_Container Container, const GrB_Descriptor desc); +GrB_Info GxB_unload_Vector_into_Container(GrB_Vector V, GxB_Container Container, const GrB_Descriptor desc); /* int DEFINES */ #define GRB_SUBVERSION ... @@ -3471,6 +3542,7 @@ GrB_Info GxB_Vector_unpack_Full(GrB_Vector v, void **vx, GrB_Index *vx_size, boo #define GxB_SPEC_VERSION ... #define GxB_STDC_VERSION ... #define GxB_STRIDE ... +#define GxB_USE_VALUES ... /* char* DEFINES */ extern char *GxB_IMPLEMENTATION_ABOUT_STR;