From c253b180f8970b380345e900f17d799e97de5d93 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Fri, 27 Nov 2009 17:44:19 +0100 Subject: Macros for status and error messages --- src/cell.c | 7 ------- src/detector.c | 2 +- src/ewald.c | 4 ++-- src/hdf5-file.c | 18 +++++++++--------- src/pattern_sim.c | 6 +++--- src/relrod.c | 8 +++----- src/sfac.c | 39 +++++++++++++++++++-------------------- src/utils.c | 4 ++-- src/utils.h | 7 +++++++ 9 files changed, 46 insertions(+), 49 deletions(-) diff --git a/src/cell.c b/src/cell.c index 6fc29e56..49eb4b49 100644 --- a/src/cell.c +++ b/src/cell.c @@ -76,13 +76,6 @@ static void cell_update_crystallographic(UnitCell *cell) cell->cx, cell->cy, cell->cz); cell->gamma = angle_between(cell->ax, cell->ay, cell->az, cell->bx, cell->by, cell->bz); - - printf("a=%f nm\n", cell->a/1e9); - printf("b=%f nm\n", cell->b/1e9); - printf("c=%f nm\n", cell->c/1e9); - printf("alpha = %f deg\n", rad2deg(cell->alpha)); - printf(" beta = %f deg\n", rad2deg(cell->beta)); - printf("gamma = %f deg\n", rad2deg(cell->gamma)); } diff --git a/src/detector.c b/src/detector.c index fd84a9c5..a39e50d9 100644 --- a/src/detector.c +++ b/src/detector.c @@ -155,7 +155,7 @@ void record_image(struct image *image) total_energy = FLUENCE * image->xray_energy; energy_density = total_energy / area; ph_per_e = (FLUENCE/area) * pow(THOMSON_LENGTH, 2.0); - printf("Fluence = %8.2e photons, " + STATUS("Fluence = %8.2e photons, " "Energy density = %5.3f kJ/cm^2, " "Total energy = %5.3f microJ\n", FLUENCE, energy_density/1e7, total_energy*1e6); diff --git a/src/ewald.c b/src/ewald.c index 9749f73c..d2352b33 100644 --- a/src/ewald.c +++ b/src/ewald.c @@ -94,7 +94,7 @@ void get_ewald(struct image *image) if ( (x==0) && (y==(int)image->y_centre) ) { double s; s = 1.0e-9*modulus(qx, qy, qz)/2.0; - printf("At left edge: 2theta = %5.3f deg," + STATUS("At left edge: 2theta = %5.3f deg," " sin(theta)/lambda = %5.3f nm^-1," " d = %5.3f nm\n", rad2deg(twotheta), s, 1.0/(2.0*s)); @@ -102,7 +102,7 @@ void get_ewald(struct image *image) if ( (x==0) && (y==0) ) { double s; s = 1.0e-9*modulus(qx, qy, qz)/2.0; - printf(" At corner: 2theta = %5.3f deg," + STATUS(" At corner: 2theta = %5.3f deg," " sin(theta)/lambda = %5.3f nm^-1," " d = %5.3f nm\n", rad2deg(twotheta), s, 1.0/(2.0*s)); diff --git a/src/hdf5-file.c b/src/hdf5-file.c index 0d090281..c29191f4 100644 --- a/src/hdf5-file.c +++ b/src/hdf5-file.c @@ -33,13 +33,13 @@ int hdf5_write(const char *filename, const uint16_t *data, fh = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if ( fh < 0 ) { - fprintf(stderr, "Couldn't create file: %s\n", filename); + ERROR("Couldn't create file: %s\n", filename); return 1; } gh = H5Gcreate(fh, "data", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if ( gh < 0 ) { - fprintf(stderr, "Couldn't create group\n"); + ERROR("Couldn't create group\n"); H5Fclose(fh); return 1; } @@ -53,18 +53,18 @@ int hdf5_write(const char *filename, const uint16_t *data, dh = H5Dcreate(gh, "data", H5T_NATIVE_UINT16, sh, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if ( dh < 0 ) { - fprintf(stderr, "Couldn't create dataset\n"); + ERROR("Couldn't create dataset\n"); H5Fclose(fh); return 1; } /* Muppet check */ H5Sget_simple_extent_dims(sh, size, max_size); - + r = H5Dwrite(dh, H5T_NATIVE_UINT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, data); if ( r < 0 ) { - fprintf(stderr, "Couldn't write data\n"); + ERROR("Couldn't write data\n"); H5Dclose(dh); H5Fclose(fh); return 1; @@ -89,20 +89,20 @@ int hdf5_read(struct image *image, const char *filename) fh = H5Fopen(filename, H5F_ACC_RDONLY, H5P_DEFAULT); if ( fh < 0 ) { /* TODO: Try other formats here. */ - fprintf(stderr, "Couldn't open file: %s\n", filename); + ERROR("Couldn't open file: %s\n", filename); return 1; } dh = H5Dopen(fh, "/data/data", H5P_DEFAULT); if ( dh < 0 ) { - fprintf(stderr, "Couldn't open dataset\n"); + ERROR("Couldn't open dataset\n"); H5Fclose(fh); return 1; } sh = H5Dget_space(dh); if ( H5Sget_simple_extent_ndims(sh) != 2 ) { - fprintf(stderr, "Dataset is not two-dimensional\n"); + ERROR("Dataset is not two-dimensional\n"); H5Fclose(fh); return 1; } @@ -113,7 +113,7 @@ int hdf5_read(struct image *image, const char *filename) r = H5Dread(dh, H5T_NATIVE_UINT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); if ( r < 0 ) { - fprintf(stderr, "Couldn't read data\n"); + ERROR("Couldn't read data\n"); H5Dclose(dh); H5Fclose(fh); return 1; diff --git a/src/pattern_sim.c b/src/pattern_sim.c index 377dfa79..f449b9c1 100644 --- a/src/pattern_sim.c +++ b/src/pattern_sim.c @@ -121,7 +121,7 @@ static struct quaternion read_quaternion() return quat; } else { - fprintf(stderr, "Invalid rotation '%s'\n", line); + ERROR("Invalid rotation '%s'\n", line); } } while ( 1 ); @@ -198,7 +198,7 @@ int main(int argc, char *argv[]) image.molecule = NULL; /* Splurge a few useful numbers */ - printf("Wavelength is %f nm\n", image.lambda/1.0e-9); + STATUS("Wavelength is %f nm\n", image.lambda/1.0e-9); do { @@ -210,7 +210,7 @@ int main(int argc, char *argv[]) } if ( quaternion_valid(image.orientation) ) { - fprintf(stderr, "Orientation modulus is not zero!\n"); + ERROR("Orientation modulus is not zero!\n"); return 1; } diff --git a/src/relrod.c b/src/relrod.c index 7ee4dfe3..058075e9 100644 --- a/src/relrod.c +++ b/src/relrod.c @@ -86,8 +86,7 @@ void get_reflections(struct image *image, UnitCell *cell, double smax) res_max = sqrt(w2 + h2) / image->resolution; res_max *= (wavenumber / image->camera_len); } else { - fprintf(stderr, - "Unrecognised formulation mode in get_reflections" + ERROR("Unrecognised formulation mode in get_reflections" " (resolution cutoff calculation)\n"); return; } @@ -172,9 +171,8 @@ void get_reflections(struct image *image, UnitCell *cell, double smax) x /= image->pixel_size; y /= image->pixel_size; } else { - fprintf(stderr, - "Unrecognised formulation mode " - "in get_reflections\n"); + ERROR("Unrecognised formulation mode " + "in get_reflections\n"); return; } diff --git a/src/sfac.c b/src/sfac.c index cd76407f..ac1546e4 100644 --- a/src/sfac.c +++ b/src/sfac.c @@ -49,7 +49,7 @@ static double complex get_f1f2(const char *n, double en) snprintf(filename, 63, "scattering-factors/%s.nff", n); fh = fopen(filename, "r"); if ( fh == NULL ) { - fprintf(stderr, "Couldn't open file '%s'\n", filename); + ERROR("Couldn't open file '%s'\n", filename); return 0.0; } @@ -71,7 +71,7 @@ static double complex get_f1f2(const char *n, double en) r = sscanf(line, "%f %f %f", &E_f, &f1_f, &f2_f); if ( r != 3 ) { - fprintf(stderr, "WTF?\n"); + ERROR("WTF?\n"); abort(); } /* Promote to double precision */ @@ -112,8 +112,7 @@ static double complex get_f1f2(const char *n, double en) fclose(fh); - fprintf(stderr, "Couldn't find scattering factors for '%s' at %f eV!\n", - n, en); + ERROR("Couldn't find scattering factors for '%s' at %f eV!\n", n, en); return 0.0; } @@ -173,7 +172,7 @@ static double get_waas_kirf(const char *n, double s) fh = fopen("scattering-factors/f0_WaasKirf.dat", "r"); if ( fh == NULL ) { - fprintf(stderr, "Couldn't open f0_WaasKirf.dat\n"); + ERROR("Couldn't open f0_WaasKirf.dat\n"); return 0.0; } @@ -202,8 +201,8 @@ static double get_waas_kirf(const char *n, double s) &a1, &a2, &a3, &a4, &a5, &c, &b1, &b2, &b3, &b4, &b5); if ( r != 11 ) { - fprintf(stderr, "Couldn't read scattering " - "factors (WaasKirf)\n"); + ERROR("Couldn't read scattering " + "factors (WaasKirf)\n"); return 0.0; } @@ -304,7 +303,7 @@ static void centre_molecule(struct molecule *mol) } - printf("Molecule was shifted by %5.3f, %5.3f, %5.3f nm\n", + STATUS("Molecule was shifted by %5.3f, %5.3f, %5.3f nm\n", mol->xc*1e9, mol->yc*1e9, mol->zc*1e9); } @@ -334,7 +333,7 @@ struct molecule *load_molecule() fh = fopen("molecule.pdb", "r"); if ( fh == NULL ) { - fprintf(stderr, "Couldn't open file\n"); + ERROR("Couldn't open file\n"); return NULL; } @@ -366,7 +365,7 @@ struct molecule *load_molecule() coords = line + 29; r = sscanf(coords, "%f %f %f %f %f", &xf, &yf, &zf, &occf, &Bf); if ( r != 5 ) { - fprintf(stderr, "WTF?\n"); + ERROR("WTF?\n"); abort(); } /* Promote to double precision */ @@ -421,9 +420,9 @@ struct molecule *load_molecule() centre_molecule(mol); - printf("There are %i species\n", mol->n_species); + STATUS("There are %i species\n", mol->n_species); for ( i=0; in_species; i++ ) { - printf("%3s : %6i\n", mol->species[i]->species, + STATUS("%3s : %6i\n", mol->species[i]->species, mol->species[i]->n_atoms); } @@ -504,7 +503,7 @@ double complex *get_reflections(struct molecule *mol, double en) "Calculating structure factors"); } } - //printf("Total scattered = %f, F000 = %f\n", tscat, F00); + //STATUS("Total scattered = %f, F000 = %f\n", tscat, F00); return reflections; } @@ -520,37 +519,37 @@ void get_reflections_cached(struct molecule *mol, double en) snprintf(s, 1023, "reflections-%ieV.cache", (int)(J_to_eV(en)+0.5)); fh = fopen(s, "rb"); if ( fh == NULL ) { - printf("No cache file found (looked for %s)\n", s); + STATUS("No cache file found (looked for %s)\n", s); goto calc; } mol->reflections = new_list_sfac(); r = fread(mol->reflections, sizeof(double complex), IDIM*IDIM*IDIM, fh); if ( r < IDIM*IDIM*IDIM ) { - printf("Found cache file (%s), but failed to read.\n", s); + STATUS("Found cache file (%s), but failed to read.\n", s); goto calc; } - printf("Read structure factors (at Bragg positions) from %s\n", s); + STATUS("Read structure factors (at Bragg positions) from %s\n", s); return; calc: - printf("Calculating structure factors at Bragg positions...\n"); + STATUS("Calculating structure factors at Bragg positions...\n"); mol->reflections = get_reflections(mol, en); fh = fopen(s, "wb"); if ( fh == NULL ) { - printf("Failed to write cache file (%s)\n", s); + STATUS("Failed to write cache file (%s)\n", s); return; } r = fwrite(mol->reflections, sizeof(double complex), IDIM*IDIM*IDIM, fh); if ( r < IDIM*IDIM*IDIM ) { - printf("Failed to write cache file (%s)\n", s); + STATUS("Failed to write cache file (%s)\n", s); return; } fclose(fh); - printf("Successfully saved structure factors at Bragg positions to" + STATUS("Successfully saved structure factors at Bragg positions to" " file %s\n", s); } diff --git a/src/utils.c b/src/utils.c index 36ae533e..9fd6ed4e 100644 --- a/src/utils.c +++ b/src/utils.c @@ -66,9 +66,9 @@ void progress_bar(int val, int total, const char *text) for ( i=0; i