Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Floating point overflow


Автор: Zozik 13.8.2008, 15:08
Прога по заданой функции рисует рисунки(фракталы). Пару дней назад все было норм, рисовала рисунок для функции x^99-1. После того алгоритм исчислений не менял - изменению подверглась только та часть кода где нужно выводить рисунок. Вчера вечером заметил что при приводимых исчеслениях над функцией x^99-1 выдает ошибку Floating Point Overflow(и не только при этой функции, а и при функциях степени выше 30). Отключив все графические елементы - все равно выдает ошибку. Тоисть ошибка в исчислениях.


Но алгорит исчисления не менял, в чем может быть проблема? Может гдето в настройках Делфи случайно чтото нажал? Да, тип extended.


Сначала подумал что мне это все приснилось, но рисунки для функции 99-й степени есть на компе в нескольких копиях...тоисть я их рисовал)  
Далее подумал, может в алгоритме исчисления всетаки чтото поменял, но код прогы той давности когда она еще рисовала выкладывал тут на форуме, но он тоже выдает ошибку(

Автор: VICTAR 13.8.2008, 15:11
http://forum.vingrad.ru/forum/topic-223010/anchor-entry1599478/0.html

Автор: Zozik 13.8.2008, 15:21
VICTAR,  Я так понял там проблема в том что переполнение не появляется когда нужно, а у меня появляется когда не нужно) 
С этим можно както боротся и почему такой проблемы не было раньше? Деление на ноль исключил

Автор: VICTAR 13.8.2008, 15:29
Zozik, я дал тебе эту ссылку только лишь из-за 
Код

SetExceptionMask(GetExceptionMask - [exOverflow]);

Автор: Zozik 14.8.2008, 10:57
VICTAR, Спасибо, помогло, а именно 
SetExceptionMask( [exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision]);  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)