121 static const double PXMIN = 1e-7;
124 static const double VMAX = 0.5;
127 static const int IMAX = 100;
130 double w, r, rd, rad, decd, v, x[3], usr[3], ust[3],
131 vsr, vst, betst, betsr, bett, betr,
132 dd, ddel, ur[3], ut[3],
134 odd = 0.0, oddel = 0.0,
135 od = 0.0, odel = 0.0;
155 eraS2pv(ra, dec, r, rad, decd, rd, pv);
180 for (i = 0; i < IMAX; i++) {
182 del = sqrt(1.0 - betr*betr - bett*bett) - 1.0;
183 betr = d * betsr + del;
187 ddel = fabs(del - odel);
188 if ((i > 1) && (dd >= odd) && (ddel >= oddel))
break;
195 if (i >= IMAX) iwarn += 4;
198 w = (betsr != 0.0) ? d + del / betsr : 1.0;
double eraPdp(double a[3], double b[3])
double eraPm(double p[3])
void eraPpp(double a[3], double b[3], double apb[3])
void eraSxp(double s, double p[3], double sp[3])
void eraPmp(double a[3], double b[3], double amb[3])
void eraPn(double p[3], double *r, double u[3])
void eraS2pv(double theta, double phi, double r, double td, double pd, double rd, double pv[2][3])