While each function is kept apart in the crate, we can always clean up the code to make it safer (we have a single public function and keep the calculations away from prying eyes).
Task 2 – cleaning the code (part 2)
The task
Each function takes a single parameter of either the f32 or i32 type and thankfully, we can separate out the modules to be those that return an f32 or i32 (the bases all return i32: all of the others have their answers in f32).
If we look at the temperatures module, everything will return the answer as f32 (after task 1, how it does this is up to you). We can therefore create a single function that takes as the first parameter the conversion to be performed and as the second the value...