1 /*
2  *  - - - - - - - - - - - - - -
3  *   g a l _ p n 0 0 _ t e s t
4  *  - - - - - - - - - - - - - -
5  *
6  *  This routine is part of the General Astrodynamics Library
7  *
8  *  Description:
9  *
10  *     Test gal_pn00 routine.
11  *
12  *  Status:
13  *
14  *     Internal test routine
15  *
16  *  Called:
17  *
18  *     gal_pn00
19  *     gal_vdv
20  *
21  *  This Revision:
22  *
23  *     2008 January 14 ( c version 2008 June 14 )
24  *
25  *  Copyright (C) 2008 Paul C. L. Willmott. See notes at end.
26  */
27 
28 #include "gal_pn00.h"
29 #include "gal_pn00_test.h"
30 #include "gal_test.h"
31 
32 void
gal_pn00_test()33 gal_pn00_test
34  (
35  )
36 {
37 
38     double dpsi, deps, epsa, rb[3][3], rp[3][3], rbp[3][3], rn[3][3], rbpn[3][3] ;
39 
40     extern int gal_tfunc ;
41 
42 /*
43  * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
44  */
45 
46     dpsi = -0.9632552291149335877e-05 ;
47     deps = 0.4063197106621141414e-04 ;
48 
49     gal_pn00 ( 2400000.5, 53736.0, dpsi, deps, &epsa, rb, rp, rbp, rn, rbpn ) ;
50 
51     gal_vdv ( epsa, 0.4090791789404230050, 1e-12, "gal_pn00", "epsa" ) ;
52 
53     gal_vdv ( rb[0][0],      0.9999999999999942268, 1e-12, "gal_pn00", "rb[0][0]" ) ;
54     gal_vdv ( rb[0][1], -0.7078279744199198018e-07, 1e-12, "gal_pn00", "rb[0][1]" ) ;
55     gal_vdv ( rb[0][2],   0.805621714697613378e-07, 1e-12, "gal_pn00", "rb[0][2]" ) ;
56     gal_vdv ( rb[1][0],  0.7078279477857337520e-07, 1e-12, "gal_pn00", "rb[1][0]" ) ;
57     gal_vdv ( rb[1][1],      0.9999999999999968914, 1e-12, "gal_pn00", "rb[1][1]" ) ;
58     gal_vdv ( rb[1][2],  0.3306041454222136412e-07, 1e-12, "gal_pn00", "rb[1][2]" ) ;
59     gal_vdv ( rb[2][0], -0.8056217380986970351e-07, 1e-12, "gal_pn00", "rb[2][0]" ) ;
60     gal_vdv ( rb[2][1], -0.3306040883980552342e-07, 1e-12, "gal_pn00", "rb[2][1]" ) ;
61     gal_vdv ( rb[2][2],      0.9999999999999962252, 1e-12, "gal_pn00", "rb[2][2]" ) ;
62 
63     gal_vdv ( rp[0][0],      0.9999989300532289294, 1e-12, "gal_pn00", "rp[0][0]" ) ;
64     gal_vdv ( rp[0][1], -0.1341647226791824318e-02, 1e-12, "gal_pn00", "rp[0][1]" ) ;
65     gal_vdv ( rp[0][2], -0.5829880927190296070e-03, 1e-12, "gal_pn00", "rp[0][2]" ) ;
66     gal_vdv ( rp[1][0],  0.1341647231069758878e-02, 1e-12, "gal_pn00", "rp[1][0]" ) ;
67     gal_vdv ( rp[1][1],      0.9999990999908749956, 1e-12, "gal_pn00", "rp[1][1]" ) ;
68     gal_vdv ( rp[1][2], -0.3837444442040669602e-06, 1e-12, "gal_pn00", "rp[1][2]" ) ;
69     gal_vdv ( rp[2][0],  0.5829880828740958195e-03, 1e-12, "gal_pn00", "rp[2][0]" ) ;
70     gal_vdv ( rp[2][1], -0.3984203267164176162e-06, 1e-12, "gal_pn00", "rp[2][1]" ) ;
71     gal_vdv ( rp[2][2],      0.9999998300623537117, 1e-12, "gal_pn00", "rp[2][2]" ) ;
72 
73     gal_vdv ( rbp[0][0],      0.9999989300052244401, 1e-12, "gal_pn00", "rbp[0][0]" ) ;
74     gal_vdv ( rbp[0][1], -0.1341717990239703687e-02, 1e-12, "gal_pn00", "rbp[0][1]" ) ;
75     gal_vdv ( rbp[0][2], -0.5829075749891683873e-03, 1e-12, "gal_pn00", "rbp[0][2]" ) ;
76     gal_vdv ( rbp[1][0],  0.1341718013831739780e-02, 1e-12, "gal_pn00", "rbp[1][0]" ) ;
77     gal_vdv ( rbp[1][1],      0.9999990998959190636, 1e-12, "gal_pn00", "rbp[1][1]" ) ;
78     gal_vdv ( rbp[1][2], -0.3505759734022375336e-06, 1e-12, "gal_pn00", "rbp[1][2]" ) ;
79     gal_vdv ( rbp[2][0],  0.5829075206857718639e-03, 1e-12, "gal_pn00", "rbp[2][0]" ) ;
80     gal_vdv ( rbp[2][1], -0.4315219954653950261e-06, 1e-12, "gal_pn00", "rbp[2][1]" ) ;
81     gal_vdv ( rbp[2][2],      0.9999998301093036002, 1e-12, "gal_pn00", "rbp[2][2]" ) ;
82 
83     gal_vdv ( rn[0][0],       0.9999999999536227646, 1e-12, "gal_pn00", "rn[0][0]" ) ;
84     gal_vdv ( rn[0][1],   0.8837746144872140477e-05, 1e-12, "gal_pn00", "rn[0][1]" ) ;
85     gal_vdv ( rn[0][2],   0.3831488838252590340e-05, 1e-12, "gal_pn00", "rn[0][2]" ) ;
86     gal_vdv ( rn[1][0],  -0.8837590456633197779e-05, 1e-12, "gal_pn00", "rn[1][0]" ) ;
87     gal_vdv ( rn[1][1],       0.9999999991354655560, 1e-12, "gal_pn00", "rn[1][1]" ) ;
88     gal_vdv ( rn[1][2],  -0.4063198798559403678e-04, 1e-12, "gal_pn00", "rn[1][2]" ) ;
89     gal_vdv ( rn[2][0],  -0.3831847930135328236e-05, 1e-12, "gal_pn00", "rn[2][0]" ) ;
90     gal_vdv ( rn[2][1],   0.4063195412260187382e-04, 1e-12, "gal_pn00", "rn[2][1]" ) ;
91     gal_vdv ( rn[2][2],       0.9999999991671660871, 1e-12, "gal_pn00", "rn[2][2]" ) ;
92 
93     gal_vdv ( rbpn[0][0],   9.999989440499983395e-1, 1e-12, "gal_pn00", "rbpn[0][0]" ) ;
94     gal_vdv ( rbpn[0][1], -0.1332880253640848387e-2, 1e-12, "gal_pn00", "rbpn[0][1]" ) ;
95     gal_vdv ( rbpn[0][2], -0.5790760898731087212e-3, 1e-12, "gal_pn00", "rbpn[0][2]" ) ;
96     gal_vdv ( rbpn[1][0],  0.1332856746979948701e-2, 1e-12, "gal_pn00", "rbpn[1][0]" ) ;
97     gal_vdv ( rbpn[1][1],   9.999991109064768624e-1, 1e-12, "gal_pn00", "rbpn[1][1]" ) ;
98     gal_vdv ( rbpn[1][2], -0.4097740555727462987e-4, 1e-12, "gal_pn00", "rbpn[1][2]" ) ;
99     gal_vdv ( rbpn[2][0], 0.5791301929950206468e-03, 1e-12, "gal_pn00", "rbpn[2][0]" ) ;
100     gal_vdv ( rbpn[2][1],   4.020553681381185937e-5, 1e-12, "gal_pn00", "rbpn[2][1]" ) ;
101     gal_vdv ( rbpn[2][2],   9.999998314954572365e-1, 1e-12, "gal_pn00", "rbpn[2][2]" ) ;
102 
103     gal_tfunc++ ;
104 
105 /*
106  * Finished.
107  */
108 
109 }
110 
111 /*
112  *  gal - General Astrodynamics Library
113  *  Copyright (C) 2008 Paul C. L. Willmott
114  *
115  *  This program is free software; you can redistribute it and/or modify
116  *  it under the terms of the GNU General Public License as published by
117  *  the Free Software Foundation; either version 2 of the License, or
118  *  (at your option) any later version.
119  *
120  *  This program is distributed in the hope that it will be useful,
121  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
122  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
123  *  GNU General Public License for more details.
124  *
125  *  You should have received a copy of the GNU General Public License along
126  *  with this program; if not, write to the Free Software Foundation, Inc.,
127  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
128  *
129  *  Contact:
130  *
131  *  Paul Willmott
132  *  vp9mu@amsat.org
133  */
134