- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
I know this is an Intel board...
Recently I was using CVF (6.6C) and recompiled my project using the "fast" math library rather than the "check" (Code Generation tab).
The fast library gave a divide by zero indicating a line that doesn't look like it should be a divide by zero. So, I had to go back to the check version.
Line was:
HConvIn(SurfNum) = 1.31*((ABS(DeltaTemp))**(1./3.))
And I don't think DeltaTemp was an illegal value.
Is this a known problem?
Linda
Ссылка скопирована
6 Ответы
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
I am not aware of any "known problems" with the fast math library. With that choice, arguments that are "within normal ranges" are handled fine, but error checking and handling of very large arguments is not done "carefully".
You'll need to see exactly what the arguments to the routines were in order to determine if there's a problem or not.
You'll need to see exactly what the arguments to the routines were in order to determine if there's a problem or not.
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
I will put that on my "todo" list.
(I am trying to catch up with checkins using CVF right now. Could not get where I was comfortable with IVF results right now so went back to CVF for the interim).
Linda
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
"Recently I was using CVF (6.6C) and recompiled my project using the "fast" math library rather than the "check" (Code Generation tab)."
Normally, whether you use math library "check" or "fast" is set by the project configuration, Debug or Release, respectively, and not via the Code Generation tab.
Anyhow, whatever the configuration, it's worth looking at the CVF docs on SIGNALQQ with SIG$FPE for floating point interrupts and MATHERRQQ with MTH$E_DOMAIN to resolve argument domain errors.
My experience is consistent with Steve's assertion. In this regard, IVF fares better than CVF but YMMV.
Ciao,
Gerry T.
Normally, whether you use math library "check" or "fast" is set by the project configuration, Debug or Release, respectively, and not via the Code Generation tab.
Anyhow, whatever the configuration, it's worth looking at the CVF docs on SIGNALQQ with SIG$FPE for floating point interrupts and MATHERRQQ with MTH$E_DOMAIN to resolve argument domain errors.
My experience is consistent with Steve's assertion. In this regard, IVF fares better than CVF but YMMV.
Ciao,
Gerry T.
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
As far as I know, "check" vs. "fast" is not tied to debug/release. "check" is the default unless you explicitly override it.
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
What Steve said has been my observation/recollection.
Linda
Linda
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
You're right. "check" is the default whatever the configuration. I personally change it to "fast" in Release, consistent with /Ox. Anyways, whether "ckeck" or "fast", I've yet to see FPE's generated by CVF's math library as claimed.
Ciao,
Gerry T.
Ciao,
Gerry T.

Ответить
Параметры темы
- Подписка на RSS-канал
- Отметить тему как новую
- Отметить тему как прочитанную
- Выполнить отслеживание данной Тема для текущего пользователя
- Закладка
- Подписаться
- Страница в формате печати