As we discussed during the meeting, indeed it would be much cleaner to "explicitly not support" infinities or NaNs as inputs for polynomial functions, since they are expected to fail anyway. We should aim to write debug asserts that check for infinities as input parameters in polynomial 'solve' functions.
Note though that outputs don't need to be (and perhaps even shouldn't be) checked, since Solve() sometimes doesn't have a solution, in which case it returns NaN, which is perfectly valid. Of course, the function that calls Solve() must check whether the return value is NaN before continuing.
As we discussed during the meeting, indeed it would be much cleaner to "explicitly not support" infinities or NaNs as inputs for polynomial functions, since they are expected to fail anyway. We should aim to write debug asserts that check for infinities as input parameters in polynomial 'solve' functions.
Note though that outputs don't need to be (and perhaps even shouldn't be) checked, since Solve() sometimes doesn't have a solution, in which case it returns NaN, which is perfectly valid. Of course, the function that calls Solve() must check whether the return value is NaN before continuing.