summaryrefslogtreecommitdiff
path: root/lib/Numeric/GSL
diff options
context:
space:
mode:
authorAlberto Ruiz <aruiz@um.es>2009-06-18 08:39:56 +0000
committerAlberto Ruiz <aruiz@um.es>2009-06-18 08:39:56 +0000
commit2caea08c65f6d881459de64f5f7c8c7886337806 (patch)
tree3bc54c5e3faebba536c30fc5ce10906d2936eaea /lib/Numeric/GSL
parent5db2ed78986bbc737b82e428392ee63999c8abfd (diff)
saveMatrix
Diffstat (limited to 'lib/Numeric/GSL')
-rw-r--r--lib/Numeric/GSL/gsl-aux.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/lib/Numeric/GSL/gsl-aux.c b/lib/Numeric/GSL/gsl-aux.c
index b3b524d..d129aeb 100644
--- a/lib/Numeric/GSL/gsl-aux.c
+++ b/lib/Numeric/GSL/gsl-aux.c
@@ -351,7 +351,7 @@ int polySolve(KRVEC(a), CVEC(z)) {
351} 351}
352 352
353int vector_fscanf(char*filename, RVEC(a)) { 353int vector_fscanf(char*filename, RVEC(a)) {
354 DEBUGMSG("gsl_matrix_fscanf"); 354 DEBUGMSG("gsl_vector_fscanf");
355 DVVIEW(a); 355 DVVIEW(a);
356 FILE * f = fopen(filename,"r"); 356 FILE * f = fopen(filename,"r");
357 CHECK(!f,BAD_FILE); 357 CHECK(!f,BAD_FILE);
@@ -373,7 +373,7 @@ int vector_fprintf(char*filename, char*fmt, RVEC(a)) {
373} 373}
374 374
375int vector_fread(char*filename, RVEC(a)) { 375int vector_fread(char*filename, RVEC(a)) {
376 DEBUGMSG("gsl_matrix_fscanf"); 376 DEBUGMSG("gsl_vector_fread");
377 DVVIEW(a); 377 DVVIEW(a);
378 FILE * f = fopen(filename,"r"); 378 FILE * f = fopen(filename,"r");
379 CHECK(!f,BAD_FILE); 379 CHECK(!f,BAD_FILE);
@@ -384,7 +384,7 @@ int vector_fread(char*filename, RVEC(a)) {
384} 384}
385 385
386int vector_fwrite(char*filename, RVEC(a)) { 386int vector_fwrite(char*filename, RVEC(a)) {
387 DEBUGMSG("gsl_vector_fprintf"); 387 DEBUGMSG("gsl_vector_fwrite");
388 DVVIEW(a); 388 DVVIEW(a);
389 FILE * f = fopen(filename,"w"); 389 FILE * f = fopen(filename,"w");
390 CHECK(!f,BAD_FILE); 390 CHECK(!f,BAD_FILE);
@@ -394,6 +394,25 @@ int vector_fwrite(char*filename, RVEC(a)) {
394 OK 394 OK
395} 395}
396 396
397int matrix_fprintf(char*filename, char*fmt, int ro, RMAT(m)) {
398 DEBUGMSG("matrix_fprintf");
399 FILE * f = fopen(filename,"w");
400 CHECK(!f,BAD_FILE);
401 int i,j,sr,sc;
402 if (ro==1) { sr = mc; sc = 1;} else { sr = 1; sc = mr;}
403 #define AT(M,r,c) (M##p[(r)*sr+(c)*sc])
404 for (i=0; i<mr; i++) {
405 for (j=0; j<mc-1; j++) {
406 fprintf(f,fmt,AT(m,i,j));
407 fprintf(f," ");
408 }
409 fprintf(f,fmt,AT(m,i,j));
410 fprintf(f,"\n");
411 }
412 fclose (f);
413 OK
414}
415
397//--------------------------------------------------------------- 416//---------------------------------------------------------------
398 417
399typedef double Trawfun(int, double*); 418typedef double Trawfun(int, double*);