John, Thanks for the reply. I did not give you enough details and apologize. Here is a more detailed code snippet. double a = 0.1; double lambda = 0.05; double pi = 3.1415926535897932384626433832795; double kw = 2.0*pi/lambda; int n = 8; // try 7, 9, etc. cout << kw*a << endl; double xtest = boost::math::sph_neumann(n,a*kw); //double ytest = boost::math::cyl_neumann(n,a*kw); cout << xtest << endl; //<< " " << ytest << endl; Here is some more info to diagnose the problem. The problem seems to be in the spherical neumann function sph_neumann, and it seems to be for n = 8. When I posted the problem I quoted cyl_neumann( ) because ultimately that's the function that appeared in the debugger. I inappropriately assumed that that function would cause problems, but the problem seems to be in sph_neumann. It doesn't matter if I define double x = a*kw and pass this into the interface, what seems to matter is the value of the index, when n = 8 it doesn't work. It works for 9 and 10 and all integers before 8. I can replace x with a, lambda or pi and it works for n = 8, so it seems to be this combination of numbers or something I'm doing wrong w/r to type casting variables etc. I am using VS2005 and boost version 1.0, (104400). I hope this helps. David ________________________________ From: John Maddock <boost.regex@virgin.net> To: boost-users@lists.boost.org Sent: Thursday, March 22, 2012 2:00 PM Subject: Re: [Boost-users] spherical bessel functions
Any ideas?
Which Boost version? This works for me as: std::cout << boost::math::cyl_neumann(8, 12.6) << std::endl; prints: 0.244094 John. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users