FACT++  1.0
void palPrec ( double  ep0,
double  ep1,
double  rmatp[3][3] 
)

Definition at line 76 of file palPrec.c.

References eraPmat06(), eraRxr(), eraTr(), ERFA_DJ00, and ERFA_DJY.

Referenced by palEcleq(), palEqecl(), palPertue(), palPreces(), and t_prec().

76  {
77 
78 /* Local Variables: */
79  double rmatq[3][3];
80  double ep0_days;
81  double ep1_days;
82 
83 /* Convert supplied dates to days since J2000 */
84  ep0_days = ( ep0 - 2000.0 )*ERFA_DJY;
85  ep1_days = ( ep1 - 2000.0 )*ERFA_DJY;
86 
87 /* If beginning epoch is J2000, just return the rotation matrix from
88  J2000 to EP1. */
89  if( ep0 == 2000.0 ) {
90  eraPmat06( ERFA_DJ00, ep1_days, rmatp );
91 
92 /* If end epoch is J2000, get the rotation matrix from J2000 to EP0 and
93  then transpose it to get the rotation matrix from EP0 to J2000. */
94  } else if( ep1 == 2000.0 ) {
95  eraPmat06( ERFA_DJ00, ep0_days, rmatp );
96  eraTr( rmatp, rmatp );
97 
98 /* Otherwise. get the two matrices used above and multiply them
99  together. */
100  } else {
101  eraPmat06( ERFA_DJ00, ep0_days, rmatp );
102  eraTr( rmatp, rmatp );
103  eraPmat06( ERFA_DJ00, ep1_days, rmatq );
104  eraRxr( rmatp, rmatq, rmatp );
105  }
106 
107 }
#define ERFA_DJ00
Definition: erfam.h:87
void eraPmat06(double date1, double date2, double rbp[3][3])
Definition: pmat06.c:3
#define ERFA_DJY
Definition: erfam.h:78
void eraRxr(double a[3][3], double b[3][3], double atb[3][3])
Definition: rxr.c:3
void eraTr(double r[3][3], double rt[3][3])
Definition: tr.c:3

+ Here is the call graph for this function:

+ Here is the caller graph for this function: