gnuastro-commits
[Top][All Lists]
Advanced

[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");



reply via email to

[Prev in Thread] Current Thread [Next in Thread]