Convert Planck unit to SI metric
Python 3, 118 \$\cdots\$ 85 80 bytes
Saved a whopping 29 bytes thanks to Surculose Sputum!!!
Saved 4 bytes thanks to Arnauld!!!
Saved 5 bytes thanks to xnor!!!
lambda a,b,c,d,e:399674e26**e/174539e29**a/162874e3**b/523253e37**c/189007e13**d
Try it online!
Jelly, 35 34 bytes
“~VHð¡ȷ‘I⁵*ד®ƬØʋ¥4ẋİ8nCaḌ’bȷ6¤*⁸P
A monadic Link accepting a list of the five exponents, [L, M, T, Q, Θ]
, which yields a floating-point number.
Try it online!
How?
“~VHð¡ȷ‘I⁵*ד®ƬØʋ¥4ẋİ8nCaḌ’bȷ6¤*⁸P - Link: list of numbers [L, M, T, Q, Θ]
“~VHð¡ȷ‘ - list of code-page indices [126, 86, 72, 24, 0, 26]
I - differences [-40,-14,-48,-24,26]
⁵ - ten 10
* - exponentiate [1e-40, 1e-14, 1e-48, 1e-24, 1e26]
¤ - nilad followed by link(s) as a nilad:
“®ƬØʋ¥4ẋİ8nCaḌ’ - base 250 number 572938613971191112529082399674
ȷ6 - 10^6 1000000
b - convert from base [572938,613971,191112,529082,399674]
× - multiply (vectorises) [5.72938e-35,6.13971e-09,1.91112e-43,5.29082e-19,3.99674e31]
⁸ - chain's left argument [L, M, T, Q, Θ]
* - exponentiate [5.72938e-35^L,6.13971e-09^M,1.91112e-43^T,5.29082e-19^Q,3.99674e31^Θ]
P - product 5.72938e-35^L×6.13971e-09^M×1.91112e-43^T×5.29082e-19^Q×3.99674e31^Θ
Fortran (2008), 133 bytes
At least for this challenge there should be a Fortran solution.
Takes input as integer array.
real(real64)function h(I)
use iso_fortran_env
integer I(5)
h=product([572938d-40,613971d-14,191112d-48,529082d-24,399674d26]**I)
end
A slightly longer and less accurate function uses the logarithm (stolen from @xnor):
real(real64)function f(I)
use iso_fortran_env
integer I(5)
f=exp(sum([-7884487d-5,-1890850d-5,-9836347d-5,-42083140d-5,7276562d-5]*I))
end