MCPcopy Create free account
hub / github.com/CruiserOne/Astrolog / ErrorCorrect

Function ErrorCorrect

matrix.cpp:533–556  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

531// coordinates of Jupiter through Pluto, for better accuracy.
532
533void ErrorCorrect(int ind, real *x, real *y, real *z)
534{
535 real U, V, W, A, S0, T0[4], *pr;
536 int IK, IJ, irError;
537
538 irError = cErrorCount[ind-oJup];
539 pr = (real *)&rErrorData[iErrorOffset[ind-oJup]];
540 for (IK = 1; IK <= 3; IK++) {
541 if (ind == oJup && IK == 3) {
542 T0[3] = 0.0;
543 break;
544 }
545 if (IK == 3)
546 irError--;
547 S0 = ReadThree(pr[0], pr[1], pr[2]); pr += 3;
548 A = 0.0;
549 for (IJ = 1; IJ <= irError; IJ++) {
550 U = *pr++; V = *pr++; W = *pr++;
551 A += RFromD(U)*RCos((V*is.T+W)*rPi/rDegHalf);
552 }
553 T0[IK] = DFromR(S0+A);
554 }
555 *x += T0[2]; *y += T0[1]; *z += T0[3];
556}
557
558
559// This is the (classic) heart of the whole program of Astrolog. Calculate

Callers 1

ComputePlanetsFunction · 0.85

Calls 1

ReadThreeFunction · 0.85

Tested by

no test coverage detected