16 void m2s(
double *mapval,
double *submapval,
int *subset,
int count){
20 for(i=0; i< count; i++){
21 submapval[i]=mapval[subset[i]];
29 void lmatvecprod(
int *ind,
double *val,
int m,
int nnz,
double *in,
double *out){
34 out[i]+=val[k]*in[ind[k]];
45 void s2m_sum(
double *mapval,
double *submapval,
int *subset,
int count){
48 for(i=0; i< count; i++){
49 mapval[subset[i]] += submapval[i];
58 void s2m(
double *mapval,
double *submapval,
int *subset,
int count){
60 for(i=0; i< count; i++){
61 mapval[subset[i]] = submapval[i];
67 void cnt_nnz_dot_prod(
double *out,
double *in,
int cnt,
int *ind,
double *val,
int nnz){
72 out[ind[k]]+=val[k]*in[i];
83 out[ind[k]]+=val[k]*in[i];
93 int m2m(
double *vA1,
int *A1,
int n1,
double *vA2,
int *A2,
int n2){
99 else if(A1[i] > A2[j]){
118 int m2m_sum(
double *vA1,
int *A1,
int n1,
double *vA2,
int *A2,
int n2){
120 while( i<n1 && j<n2){
124 else if(A1[i] > A2[j]){