tracks/c/exercises/space-age/src/example.c in trackler-2.0.8.18 vs tracks/c/exercises/space-age/src/example.c in trackler-2.0.8.19

- old
+ new

@@ -1,53 +1,21 @@ #include "space_age.h" /* Number of seconds in a Earth year */ -#define SECONDS_ON_EARTH_YEAR 31557600 +#define EARTH 31557600 /* Orbital period of each planet, in Earth years */ -#define MERCURY_YEAR (0.2408467 * SECONDS_ON_EARTH_YEAR) -#define VENUS_YEAR (0.61519726 * SECONDS_ON_EARTH_YEAR) -#define MARS_YEAR (1.8808158 * SECONDS_ON_EARTH_YEAR) -#define JUPITER_YEAR (11.862615 * SECONDS_ON_EARTH_YEAR) -#define SATURN_YEAR (29.447498 * SECONDS_ON_EARTH_YEAR) -#define URANUS_YEAR (84.016846 * SECONDS_ON_EARTH_YEAR) -#define NEPTUNE_YEAR (164.79132 * SECONDS_ON_EARTH_YEAR) +static const float factors[8] = { + EARTH * 0.2408467, // Mercury + EARTH * 0.61519726, // Venus + EARTH * 1, // Earth + EARTH * 1.8808158, // Mars + EARTH * 11.862615, // Jupiter + EARTH * 29.447498, // Saturn + EARTH * 84.016846, // Uranus + EARTH * 164.79132 // Neptune +}; -float convert_earth_age(const long input) +float convert_planet_age(Planets planet, const long input) { - return input / SECONDS_ON_EARTH_YEAR; -} - -float convert_mercury_age(const long input) -{ - return input / MERCURY_YEAR; -} - -float convert_venus_age(const long input) -{ - return input / VENUS_YEAR; -} - -float convert_mars_age(const long input) -{ - return input / MARS_YEAR; -} - -float convert_jupiter_age(const long input) -{ - return input / JUPITER_YEAR; -} - -float convert_saturn_age(const long input) -{ - return input / SATURN_YEAR; -} - -float convert_uranus_age(const long input) -{ - return input / URANUS_YEAR; -} - -float convert_neptune_age(const long input) -{ - return input / NEPTUNE_YEAR; + return input / factors[planet]; }