I've defined the following custom units (psuedo-code):
unix_days = unix_seconds/86400;
nasa_seconds = unix_seconds - 946728000;
This lets me directly convert unix_seconds to unix_days or convert
unix_seconds to nasa_seconds.
However, I can't directly convert unix_days back to unix_seconds
without writing another formula.
Similarly, I can't convert nasa_seconds to unix_days without writing
additional formulas.
Is there a clever Perl subroutine or package that lets me do this without writing additional functions? More specifically, a custom unit conversion package that:
Can divine the inverse of a unit conversion function. For example, the opposite of
f(x)=x/86400isg(y)=y*86400.Can apply transitivity as needed. For example, if
unix_seconds = nasa_seconds + 946728000(by functional inverse) andunix_days = unix_seconds/86400, we can combine these to convert directly fromnasa_secondstounix_days.
I'm OK with writing my conversion formulas in unusual ways if needed. For example, Celsius to Fahrenheit could be written as:
C to F: *1.8 +32
This form is easy to invert: just follow the steps backwards and in reverse, namely:
F to C: -32 /1.8
Does such a thing exist?