- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
I'm using
ifort 2021.10.0 20230609
and
ifx 2023.2.0 20230721
I've ran into the following issue: Programs compiled with ifort and ifx incorrectly compute exponentials of double-precision complex numbers and return Infinity or 0 instead of the actual value. Below is a simple test code:
program test
double complex :: x = (0.d0, 0.d0)
print *, exp(x)
end program test
If I compile this code with ifort, the output is
(Infinity,0.000000000000000E+000)
If I compile the code with ifx, the output is different, but is still wrong:
(0.000000000000000E+000,0.000000000000000E+000)
The issue appears to only arise with double precision complex numbers; the results are correct for single precision complex, double precision real etc.
Is this a known issue with these compilers?
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
For the Intel compilers, let's turn off our libimf and libsvml. Use this option
-no-intel-lib=libimf,libsvml
Ссылка скопирована
- « Предыдущий
-
- 1
- 2
- Следующий »
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
The wrong answers with cexp is fixed in both ifx and ifort in the release that was published this week. Please give it a try!

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