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).
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.
When the single function recognizes the first parameter, it calls the now private functions and returns the value.
As with the first task, you will need to implement this and create documentation for the new library. You should create a new unit test for the crate and test it in your test...