[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnuastro-commits] master b80cf42: CosmicCalculator: numbers followed by
From: |
Mohammad Akhlaghi |
Subject: |
[gnuastro-commits] master b80cf42: CosmicCalculator: numbers followed by a space only when necessary |
Date: |
Sun, 29 Sep 2019 14:36:46 -0400 (EDT) |
branch: master
commit b80cf4281c853d6eaf4c4c387314fa8c621f3a7a
Author: Mohammad Akhlaghi <address@hidden>
Commit: Mohammad Akhlaghi <address@hidden>
CosmicCalculator: numbers followed by a space only when necessary
Until now, in any situation, a specific calculation of CosmicCalculator
would print a number followed by a space. This was mainly good/intended for
cases where multiple numbers are requested. However, when only a single
number is requested and that number is to be put into a variable to be used
in a script, the extra space in the end will cause problems.
With this commit, an extra space is only printed between the output
numbers, not after the last printed number. Therefore if only one number is
requested, the output string won't have any extra space characters.
---
bin/cosmiccal/cosmiccal.c | 199 ++++++++++++++++++++++++----------------------
1 file changed, 102 insertions(+), 97 deletions(-)
diff --git a/bin/cosmiccal/cosmiccal.c b/bin/cosmiccal/cosmiccal.c
index a7d665f..b42ec7d 100644
--- a/bin/cosmiccal/cosmiccal.c
+++ b/bin/cosmiccal/cosmiccal.c
@@ -165,106 +165,111 @@ cosmiccal(struct cosmiccalparams *p)
if(p->specific)
{
for(tmp=p->specific;tmp!=NULL;tmp=tmp->next)
- switch(tmp->v)
- {
- case UI_KEY_USEDREDSHIFT:
- printf("%g ",
- p->redshift==MAIN_REDSHIFT_ZERO ? 0.0f: p->redshift);
- break;
-
- case UI_KEY_AGENOW:
- printf("%f ", gal_cosmology_age(0.0f, p->H0, p->olambda,
- p->omatter, p->oradiation));
- break;
-
- case UI_KEY_CRITICALDENSITYNOW:
- printf("%e ", gal_cosmology_critical_density(0.0f, p->H0,
- p->olambda,
- p->omatter,
- p->oradiation));
- break;
-
- case UI_KEY_PROPERDISTANCE:
- printf("%f ", gal_cosmology_proper_distance(p->redshift, p->H0,
- p->olambda,
- p->omatter,
- p->oradiation));
- break;
-
- case UI_KEY_ANGULARDIMDIST:
- printf("%f ", gal_cosmology_angular_distance(p->redshift, p->H0,
- p->olambda,
- p->omatter,
- p->oradiation));
- break;
-
- case UI_KEY_ARCSECTANDIST:
- printf("%f ", ( gal_cosmology_angular_distance(p->redshift, p->H0,
+ {
+ switch(tmp->v)
+ {
+ case UI_KEY_USEDREDSHIFT:
+ printf("%g",
+ p->redshift==MAIN_REDSHIFT_ZERO ? 0.0f: p->redshift);
+ break;
+
+ case UI_KEY_AGENOW:
+ printf("%f", gal_cosmology_age(0.0f, p->H0, p->olambda,
+ p->omatter, p->oradiation));
+ break;
+
+ case UI_KEY_CRITICALDENSITYNOW:
+ printf("%e", gal_cosmology_critical_density(0.0f, p->H0,
p->olambda,
p->omatter,
- p->oradiation)
- * 1000 * M_PI / 3600 / 180 ) );
- break;
-
- case UI_KEY_LUMINOSITYDIST:
- printf("%f ", gal_cosmology_luminosity_distance(p->redshift,
- p->H0,
- p->olambda,
- p->omatter,
- p->oradiation));
- break;
-
- case UI_KEY_DISTANCEMODULUS:
- printf("%f ", gal_cosmology_distance_modulus(p->redshift, p->H0,
- p->olambda,
- p->omatter,
- p->oradiation));
- break;
-
- case UI_KEY_ABSMAGCONV:
- printf("%f ", gal_cosmology_to_absolute_mag(p->redshift, p->H0,
- p->olambda,
- p->omatter,
- p->oradiation));
- break;
-
- case UI_KEY_AGE:
- printf("%f ", gal_cosmology_age(p->redshift, p->H0, p->olambda,
- p->omatter, p->oradiation));
- break;
-
- case UI_KEY_LOOKBACKTIME:
- curage=gal_cosmology_age(0.0f, p->H0, p->olambda, p->omatter,
+ p->oradiation));
+ break;
+
+ case UI_KEY_PROPERDISTANCE:
+ printf("%f", gal_cosmology_proper_distance(p->redshift, p->H0,
+ p->olambda,
+ p->omatter,
+ p->oradiation));
+ break;
+
+ case UI_KEY_ANGULARDIMDIST:
+ printf("%f", gal_cosmology_angular_distance(p->redshift, p->H0,
+ p->olambda,
+ p->omatter,
+ p->oradiation));
+ break;
+
+ case UI_KEY_ARCSECTANDIST:
+ printf("%f", ( gal_cosmology_angular_distance(p->redshift, p->H0,
+ p->olambda,
+ p->omatter,
+ p->oradiation)
+ * 1000 * M_PI / 3600 / 180 ) );
+ break;
+
+ case UI_KEY_LUMINOSITYDIST:
+ printf("%f", gal_cosmology_luminosity_distance(p->redshift,
+ p->H0,
+ p->olambda,
+ p->omatter,
+ p->oradiation));
+ break;
+
+ case UI_KEY_DISTANCEMODULUS:
+ printf("%f", gal_cosmology_distance_modulus(p->redshift, p->H0,
+ p->olambda,
+ p->omatter,
+ p->oradiation));
+ break;
+
+ case UI_KEY_ABSMAGCONV:
+ printf("%f", gal_cosmology_to_absolute_mag(p->redshift, p->H0,
+ p->olambda,
+ p->omatter,
+ p->oradiation));
+ break;
+
+ case UI_KEY_AGE:
+ printf("%f", gal_cosmology_age(p->redshift, p->H0, p->olambda,
+ p->omatter, p->oradiation));
+ break;
+
+ case UI_KEY_LOOKBACKTIME:
+ curage=gal_cosmology_age(0.0f, p->H0, p->olambda, p->omatter,
+ p->oradiation);
+ zage=gal_cosmology_age(p->redshift, p->H0, p->olambda,
p->omatter,
p->oradiation);
- zage=gal_cosmology_age(p->redshift, p->H0, p->olambda, p->omatter,
- p->oradiation);
- printf("%f ", curage-zage);
- break;
-
- case UI_KEY_CRITICALDENSITY:
- printf("%e ", gal_cosmology_critical_density(p->redshift, p->H0,
- p->olambda,
- p->omatter,
- p->oradiation));
- break;
-
- case UI_KEY_VOLUME:
- printf("%f ", gal_cosmology_comoving_volume(p->redshift, p->H0,
- p->olambda,
- p->omatter,
- p->oradiation));
- break;
-
- case UI_KEY_LINEATZ:
- printf("%g ", gal_list_f64_pop(&p->specific_arg)*(1+p->redshift));
- break;
-
- default:
- error(EXIT_FAILURE, 0, "%s: a bug! Please contact us at %s to "
- "fix the problem. The code %d is not recognized as a "
- "single value calculation code", __func__,
- PACKAGE_BUGREPORT, tmp->v);
- }
+ printf("%f", curage-zage);
+ break;
+
+ case UI_KEY_CRITICALDENSITY:
+ printf("%e", gal_cosmology_critical_density(p->redshift, p->H0,
+ p->olambda,
+ p->omatter,
+ p->oradiation));
+ break;
+
+ case UI_KEY_VOLUME:
+ printf("%f", gal_cosmology_comoving_volume(p->redshift, p->H0,
+ p->olambda,
+ p->omatter,
+ p->oradiation));
+ break;
+
+ case UI_KEY_LINEATZ:
+ printf("%g", gal_list_f64_pop(&p->specific_arg)*(1+p->redshift));
+ break;
+
+ default:
+ error(EXIT_FAILURE, 0, "%s: a bug! Please contact us at %s to "
+ "fix the problem. The code %d is not recognized as a "
+ "single value calculation code", __func__,
+ PACKAGE_BUGREPORT, tmp->v);
+ }
+
+ /* Only add a space-character if there are more results to print. */
+ if(tmp->next) printf(" ");
+ }
/* Print a new-line character to finish the output. */
printf("\n");
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnuastro-commits] master b80cf42: CosmicCalculator: numbers followed by a space only when necessary,
Mohammad Akhlaghi <=