EVSL  1.1.0
EigenValues Slicing Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
dumps.c
Go to the documentation of this file.
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <assert.h>
5 #include "def.h"
6 #include "struct.h"
7 #include "internal_proto.h"
8 
13 //-------------------- miscellaneous functions for I/O
14 // and for debugging
15 
16 void save_mtx_basic(int nrow, int ncol, int *ia,
17  int *ja, double *a, const char *fn) {
18  int i,j,nnz;
19  FILE *fp = fopen(fn, "w");
20 
21  nnz = ia[nrow];
22  assert(ia[0] == 0);
23  fprintf(fp, "%s\n", "%%MatrixMarket matrix coordinate real general");
24  fprintf(fp, "%d %d %d\n", nrow, ncol, nnz);
25  for (i=0; i<nrow; i++) {
26  for (j=ia[i]; j<ia[i+1]; j++) {
27  fprintf(fp, "%d %d %.15e\n", i+1, ja[j]+1, a[j]);
28  }
29  }
30  fclose(fp);
31 }
32 
33 void savemat(csrMat *A, const char *fn) {
34  fprintf(stdout, " * saving a matrix into %s\n", fn);
35  save_mtx_basic(A->nrows, A->ncols, A->ia, A->ja, A->a, fn);
36 }
37 
38 void save_vec(int n, const double *x, const char fn[]) {
39  fprintf(stdout, " * saving a vector into %s\n", fn);
40  FILE *fp = fopen(fn, "w");
41  fprintf(fp, "%s %d\n", "%", n);
42  int i;
43  for (i=0; i<n; i++) {
44  fprintf(fp, "%.15e\n", x[i]);
45  }
46  fclose(fp);
47 }
48 
49 void savedensemat(double *A, int lda, int m, int n, const char *fn) {
50  fprintf(stdout, " * saving a matrix into %s\n", fn);
51  FILE *fp = fopen(fn, "w");
52  int i,j;
53  for (i=0; i<m; i++) {
54  for (j=0; j<n; j++) {
55  fprintf(fp, "%.15e ", A[i+j*lda]);
56  }
57  fprintf(fp, "\n");
58  }
59  fclose(fp);
60 }
defs in EVSL
int ncols
Definition: struct.h:32
void save_vec(int n, const double *x, const char fn[])
Definition: dumps.c:38
void save_mtx_basic(int nrow, int ncol, int *ia, int *ja, double *a, const char *fn)
Definition: dumps.c:16
This file contains function prototypes and constant definitions internally used in EVSL...
void savemat(csrMat *A, const char *fn)
Definition: dumps.c:33
structs used in evsl
sparse matrix format: the compressed sparse row (CSR) format, 0-based
Definition: struct.h:31
double * a
Definition: struct.h:37
int * ia
Definition: struct.h:32
void savedensemat(double *A, int lda, int m, int n, const char *fn)
Definition: dumps.c:49
int * ja
Definition: struct.h:32
int nrows
Definition: struct.h:32