#include "BSprivate.h"

/*@ BSlocal_nnz - Returns the local number of nonzeros

    Input Parameters:
.   pA - the matrix

    Returns:
	the local number of nonzeros

@*/
int BSlocal_nnz(BSpar_mat *pA)
{
	int local_nnz;
    local_nnz = 2*pA->local_nnz - pA->num_rows;
	return(local_nnz);
}

/*@ BSglobal_nnz - Returns the global number of nonzeros

    Input Parameters:
.   pA - the matrix
.   procinfo - the usual processor info

    Returns:
    the global number of nonzeros

@*/
int BSglobal_nnz(BSpar_mat *pA, BSprocinfo *procinfo)
{
	int global_nnz, iwork;
    global_nnz = 2*pA->local_nnz - pA->num_rows;
    GISUM(&global_nnz,1,&iwork,procinfo->procset);
	return(global_nnz);

}

/*@ BSlocal_num_inodes - Returns the local number of i-nodes

    Input Parameters:
.   pA - the matrix

    Returns:
	the local number of i-nodes 

@*/
int BSlocal_num_inodes(BSpar_mat *pA)
{
	return(pA->local_num_inodes);
}

/*@ BSglobal_num_inodes - Returns the global number of i-nodes

    Input Parameters:
.   pA - the matrix

    Returns:
    the global number of i-nodes

@*/
int BSglobal_num_inodes(BSpar_mat *pA)
{
	return(pA->global_num_inodes);

}

/*@ BSlocal_num_cliques - Returns the local number of cliques

    Input Parameters:
.   pA - the matrix

    Returns:
	the local number of cliques 

@*/
int BSlocal_num_cliques(BSpar_mat *pA)
{
	return(pA->local_num_cliques);
}

/*@ BSglobal_num_cliques - Returns the global number of cliques

    Input Parameters:
.   pA - the matrix

    Returns:
    the global number of cliques

@*/
int BSglobal_num_cliques(BSpar_mat *pA)
{
	return(pA->global_num_cliques);

}

/*@ BSnum_colors - Returns the number of colors

    Input Parameters:
.   pA - the matrix

    Returns:
    the number of colors

@*/
int BSnum_colors(BSpar_mat *pA)
{
	return(pA->num_colors);

}



syntax highlighted by Code2HTML, v. 0.9.1