2009/7/20 John Maddock
I've tried this code with Boost 1.39 (1.37 has the same behavior) and icpc 11.0.083:
#include <iostream> #include
int main(int argv, char** argc) { std::cout << boost::math::cyl_bessel_i(0, 0) << std::endl; }
With -g -03, this crashes with an internal error. The issue was reported to Intel (but if you have a solution, I'm all ears).
If it's an internal compiler error then frankly your guess is as good as mine :-(
I can't reproduce here with Intel-11 on Windows and my Intel-Linux license has just expired so I can't reproduce there either :-(
:| Perhaps you can try the free non-commercial edition?
If you can narrow down the code that causes the compiler to choke I might be able to suggest some alternatives though,
I've narrowed the problem down to two lines in bessel.hpp: - the call to bessel_ik() line 262 - the recursive call to cyl_bessel_imp() Commenting both of them makes the error disappear. If one of these lines is compiled, the compiler crashes (don't know why a recursive call can do that :|)
Sorry I can't be more helpful, John.
No worries, as you've said, it is mainly a compiler issue! Matthieu -- Information System Engineer, Ph.D. Website: http://matthieu-brucher.developpez.com/ Blogs: http://matt.eifelle.com and http://blog.developpez.com/?blog=92 LinkedIn: http://www.linkedin.com/in/matthieubrucher