As a physicist, if you ever see units on the parameter to a trigonmetric function, you can be fairly certain something is wrong.
You can derive this from how e.g. cos(x) can be written as a polynomial series, something like 1 - x^2 + whatever; and since 1 and x^2 would have different units if x is anything but unitless, you've goofed.
That's a big reason why units are used in calculations in the first place. They basically act as a sort of checksum for your calculations.
Exactly. Which is why trigonometric functions in Numbat have the signature
cos(x: Scalar) -> Scalar
and only take quantities as arguments that are implicitly convertible to a scalar, like 'cos(pi / 3)', 'cos(30 deg)' or 'cos(0.5 turn)'.Whether or not angles should be considered dimensionless is actually a matter of academic dispute. If you want to know more, take a look at https://github.com/sharkdp/numbat/pull/167 and the references therein.
Degrees follow a similar argument.
I can't come up with an example where that would be a reasonable thing to do, but haven't thought too much about it.
You can just call exp(3), for example: https://numbat.dev/?q=exp%283%29%E2%8F%8E
Or you could pass an angle quantity, which is convertible to a Scalar. Like cos(30 deg): https://numbat.dev/?q=exp%283%29%E2%8F%8Ecos%2830+deg%29%E2%...