Mercurial > octave-nkf
comparison liboctave/lo-specfun.cc @ 11904:059fadc0cbc3 release-3-0-x
fix scaling factor for negative alpha in zbesi,cbesi
add bessel function tests
add all scaling factors to bessel documentation
author | Brian Gough <bjg@gnu.org> |
---|---|
date | Mon, 12 Jan 2009 10:42:03 +0100 |
parents | 6525eb2fba0f |
children |
comparison
equal
deleted
inserted
replaced
11903:afe7e59fd69e | 11904:059fadc0cbc3 |
---|---|
409 | 409 |
410 Complex tmp = zbesi (z, alpha, kode, ierr); | 410 Complex tmp = zbesi (z, alpha, kode, ierr); |
411 | 411 |
412 if (ierr == 0 || ierr == 3) | 412 if (ierr == 0 || ierr == 3) |
413 { | 413 { |
414 tmp += (2.0 / M_PI) * sin (M_PI * alpha) | 414 Complex tmp2 = (2.0 / M_PI) * sin (M_PI * alpha) |
415 * zbesk (z, alpha, kode, ierr); | 415 * zbesk (z, alpha, kode, ierr); |
416 | |
417 if (kode == 2) | |
418 { | |
419 // Compensate for different scaling factor of besk. | |
420 tmp2 *= exp(-z - std::abs(z.real())); | |
421 } | |
422 | |
423 tmp += tmp2; | |
416 | 424 |
417 retval = bessel_return_value (tmp, ierr); | 425 retval = bessel_return_value (tmp, ierr); |
418 } | 426 } |
419 else | 427 else |
420 retval = Complex (octave_NaN, octave_NaN); | 428 retval = Complex (octave_NaN, octave_NaN); |