useful & correct for simple purposes, but not a systematic approach. SI prefixes are incomplete and not handled properly (ym for µm is puzzling, as it has its use for yocto (1e-24)). The code could be written far more compact (1000 lines reduced to 200 using simple concepts)
This function has been useful to me. The temperature portion for the second unit needs to have the "c" changed to "x", line 648 to 659; Those "temp = size(c);" lines are also not used for anything. This error occurs only when using the temperature conversions. It is easy to fix.