Если вы поручите J рассчитать большой результат по имени точности по умолчанию, вы быстро столкнетесь с случаями, когда он говорит, что результат равен бесконечности _
. Это из-за того, что бесконечность означает математически.Как заставить J дать ошибку вместо неправильного возврата бесконечности?
Как я могу дать указание J дать ошибки вместо бесконечности при превышении стандартной точности? Могу ли я установить это значение по умолчанию в моей установке J?
например.
!1000x NB. Extended precision gives large finite result.
4023872600770937735437024339230039857193748642107146325437999104299385123986290205920442084869694048004799886101971960586316668729948085589013238296699445909974245040870737599188236277271887325197795059509952761208749754624970436014182780946464962910563938...
!1000 NB. Default precision claims infinity. I'd generally prefer an error.
_
Вы можете использовать [assert] (http://www.jsoftware.com/help/learning/29.htm), но почему вы хотите это сделать? – Eelvex
@eelvex Практически говоря, если я создаю и проверю слово, я не хочу использовать его в более сложном выражении и выясню, что несколько большее входное значение вызвало распространение неправильных результатов '_' через весь расчет , Философски говоря, я хочу, чтобы мои программы давали правильные результаты или отказывались работать. – dukereg
Я бы сказал, что 'assert' - это путь. – Eelvex