Files
2025-09-12 18:55:25 +09:00

22 lines
519 B
C

#include <math.h>
#define RTPIO2 1.2533141
void sphbes(int n, float x, float *sj, float *sy, float *sjp, float *syp)
{
void bessjy(float x, float xnu, float *rj, float *ry, float *rjp,
float *ryp);
void nrerror(char error_text[]);
float factor,order,rj,rjp,ry,ryp;
if (n < 0 || x <= 0.0) nrerror("bad arguments in sphbes");
order=n+0.5;
bessjy(x,order,&rj,&ry,&rjp,&ryp);
factor=RTPIO2/sqrt(x);
*sj=factor*rj;
*sy=factor*ry;
*sjp=factor*rjp-(*sj)/(2.0*x);
*syp=factor*ryp-(*sy)/(2.0*x);
}
#undef RTPIO2