Why trigonometric functions throw an error for Inf?

I belive many other floating point functions just return NaN for fast results or IEEE floating point compliance for incompatible input values but sin, cos like trigonometric functions throw for Inf but also not throw for NaN. What is the reasoning for that?

See: NaN vs wild (or, what's a DomainError, really?) · Issue #5234 · JuliaLang/julia · GitHub

Key quotes:

Operations whose results would produce NaNs should throw Exceptions if the cost of testing a NaN would not dominate the cost of the operation.

NaN input can just propagate. We mostly don’t want to produce NaNs from non-NaNs.

2 Likes

Thanks for the quick answer.