1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
//------------------------------------------------------------------------------
// GB_hyper.h: definitions for hypersparse matrices and related methods
//------------------------------------------------------------------------------
// SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2022, All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
//------------------------------------------------------------------------------
#ifndef GB_HYPER_H
#define GB_HYPER_H
GB_PUBLIC
int64_t GB_nvec_nonempty // return # of non-empty vectors
(
const GrB_Matrix A, // input matrix to examine
GB_Context Context
) ;
GrB_Info GB_hyper_realloc
(
GrB_Matrix A, // matrix with hyperlist to reallocate
int64_t plen_new, // new size of A->p and A->h
GB_Context Context
) ;
GrB_Info GB_conform_hyper // conform a matrix to sparse/hypersparse
(
GrB_Matrix A, // matrix to conform
GB_Context Context
) ;
GrB_Info GB_hyper_prune
(
// output, not allocated on input:
int64_t *restrict *p_Ap, size_t *p_Ap_size, // size nvec+1
int64_t *restrict *p_Ah, size_t *p_Ah_size, // size nvec
int64_t *p_nvec, // # of vectors, all nonempty
// input, not modified
const int64_t *Ap_old, // size nvec_old+1
const int64_t *Ah_old, // size nvec_old
const int64_t nvec_old, // original number of vectors
GB_Context Context
) ;
GrB_Info GB_hypermatrix_prune
(
GrB_Matrix A, // matrix to prune
GB_Context Context
) ;
#endif
|