00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00028
00029 #include "toeplitz.h"
00030
00039 int readInput(int *n, T **t, FILE *file) {
00040
00041
00042 if(fscanf(file, "%d", n) != 1) return 0;
00043
00044
00045 if(n <= 0) return 0;
00046
00047
00048 int i;
00049 *t = (T *) malloc(*n * sizeof(T));
00050 for(i=0; i<*n; ++i) {
00051 if(fscanf(file, Tsf, (*t) + i) != 1) {
00052 free(t);
00053 return 0;
00054 }
00055 }
00056
00057 return 1;
00058 }
00059
00067 void print_vector(const char *name, T *v, int n) {
00068 int i;
00069 printf("%s:%s", name, n >= 12 ? "\n" : "");
00070 for(i=0; i<n; ++i) {
00071 printf("%12.6g ", v[i]);
00072 if((i+1) % 12 == 0) printf("\n");
00073 }
00074 if(n >= 12 && ((i+1) % 12 != 0)) printf("\n");
00075 printf("\n");
00076 }
00077
00087 void print_matrix(const char *name, T *m, int rows, int cols, int lda) {
00088
00089 int i, j;
00090 printf("%s:\n", name);
00091 if(rows <= 0 || cols <= 0 || lda == 0) return;
00092
00093 for(j=0; j<rows; ++j) {
00094 for(i=0; i<cols; ++i) printf("%9.5f ", m[i*lda+j]);
00095 printf("\n");
00096 }
00097 printf("\n");
00098 }
00099