From 86d894b691c5fd5900198ddbf73ae3e8171a68c3 Mon Sep 17 00:00:00 2001 From: Paul Demorest Date: Tue, 14 Aug 2012 10:06:09 -0400 Subject: [PATCH] Move profile/filter read/write routines to separate file. --- Makefile | 2 +- cyclic_utils.c | 54 -------------------------------------- filter_fileio.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++ filter_fileio.h | 23 +++++++++++++++++ filter_profile.c | 5 ++++ 5 files changed, 96 insertions(+), 55 deletions(-) create mode 100644 filter_fileio.c create mode 100644 filter_fileio.h diff --git a/Makefile b/Makefile index 886f3d7..812c587 100644 --- a/Makefile +++ b/Makefile @@ -24,4 +24,4 @@ install: all cp -f $(PROGS1) $(LOCAL)/bin; filter_profile: filter_profile.o merit_functions.o model_cyclic.o \ - cyclic_utils.o $(FILEIO_OBJ) + filter_fileio.o cyclic_utils.o $(FILEIO_OBJ) diff --git a/cyclic_utils.c b/cyclic_utils.c index e79b4f0..d709e5f 100644 --- a/cyclic_utils.c +++ b/cyclic_utils.c @@ -343,60 +343,6 @@ double filter_ms_difference(struct filter_time *f1, return(sum); } -void write_profile(const char *fname, struct profile_phase *p) { - FILE *f = fopen(fname, "w"); - int i; - for (i=0; inphase; i++) { - fprintf(f,"%.7e %.7e\n", - (double)i/(double)p->nphase, p->data[i]); - } - fclose(f); -} - -void write_fprofile(const char *fname, struct profile_harm *p) { - FILE *f = fopen(fname, "a"); - int i; - for (i=0; inharm; i++) { - fprintf(f,"%d %.7e %.7e\n", - i, creal(p->data[i]), cimag(p->data[i])); - } - fprintf(f,"\n\n"); - fclose(f); -} - -void write_filter(const char *fname, struct filter_time *h) { - FILE *f = fopen(fname, "a"); - int i; - for (i=0; inlag; i++) { - fprintf(f,"%d %.7e %.7e\n", - i, creal(h->data[i]), cimag(h->data[i])); - } - fprintf(f,"\n\n"); - fclose(f); -} - -void write_filter_freq(const char *fname, struct filter_freq *h) { - FILE *f = fopen(fname, "a"); - int i; - for (i=0; inchan; i++) { - fprintf(f,"%d %.7e %.7e\n", - i, creal(h->data[i]), cimag(h->data[i])); - } - fprintf(f,"\n\n"); - fclose(f); -} - -void read_profile(const char *fname, struct profile_phase *pp) { - FILE *f = fopen(fname, "r"); - int i; - float ptmp, dtmp; - for (i=0; inphase; i++) { - fscanf(f,"%f %f", &ptmp, &dtmp); - pp->data[i] = dtmp; - } - fclose(f); -} - int maximum_cs1(const CS *cs) { /* Routine added by MAW 13/07/2011 */ /* Returns the channel having the largest absolute value */ diff --git a/filter_fileio.c b/filter_fileio.c new file mode 100644 index 0000000..e87a1f7 --- /dev/null +++ b/filter_fileio.c @@ -0,0 +1,67 @@ +/* filter_fileio.c + * + * Routines to read/write filter funcs and profiles. + * Split off from cyclic_utils.c, PBD 2012/08/14. + */ +#include +#include +#include +#include + +#include "cyclic_utils.h" +#include "filter_fileio.h" + +void write_profile(const char *fname, struct profile_phase *p) { + FILE *f = fopen(fname, "w"); + int i; + for (i=0; inphase; i++) { + fprintf(f,"%.7e %.7e\n", + (double)i/(double)p->nphase, p->data[i]); + } + fclose(f); +} + +void write_fprofile(const char *fname, struct profile_harm *p) { + FILE *f = fopen(fname, "a"); + int i; + for (i=0; inharm; i++) { + fprintf(f,"%d %.7e %.7e\n", + i, creal(p->data[i]), cimag(p->data[i])); + } + fprintf(f,"\n\n"); + fclose(f); +} + +void write_filter(const char *fname, struct filter_time *h) { + FILE *f = fopen(fname, "a"); + int i; + for (i=0; inlag; i++) { + fprintf(f,"%d %.7e %.7e\n", + i, creal(h->data[i]), cimag(h->data[i])); + } + fprintf(f,"\n\n"); + fclose(f); +} + +void write_filter_freq(const char *fname, struct filter_freq *h) { + FILE *f = fopen(fname, "a"); + int i; + for (i=0; inchan; i++) { + fprintf(f,"%d %.7e %.7e\n", + i, creal(h->data[i]), cimag(h->data[i])); + } + fprintf(f,"\n\n"); + fclose(f); +} + +void read_profile(const char *fname, struct profile_phase *pp) { + FILE *f = fopen(fname, "r"); + int i; + float ptmp, dtmp; + for (i=0; inphase; i++) { + fscanf(f,"%f %f", &ptmp, &dtmp); + pp->data[i] = dtmp; + } + fclose(f); +} + diff --git a/filter_fileio.h b/filter_fileio.h new file mode 100644 index 0000000..e8928dd --- /dev/null +++ b/filter_fileio.h @@ -0,0 +1,23 @@ +/* filter_fileio.h + * simple funcs for reading/writing profile and filter data. + */ + +#ifndef _FILTER_FILEIO_H +#define _FILTER_FILEIO_H + +#include +#include +#include + +#include "cyclic_utils.h" + +/* Output simple text-based versions of various quantities */ +void write_profile(const char *fname, struct profile_phase *p); +void write_fprofile(const char *fname, struct profile_harm *p); +void write_filter(const char *fname, struct filter_time *h); +void write_filter_freq(const char *fname, struct filter_freq *h); + +/* Read in the pulse profile */ +void read_profile(const char *fname, struct profile_phase *pp); + +#endif diff --git a/filter_profile.c b/filter_profile.c index ecc9617..83d0db6 100644 --- a/filter_profile.c +++ b/filter_profile.c @@ -33,6 +33,7 @@ #include "cyclic_utils.h" #include "cyclic_fileio.h" +#include "filter_fileio.h" #include "model_cyclic.h" #include "merit_functions.h" @@ -484,6 +485,8 @@ int main(int argc, char *argv[]) { for (ic=0; ic