source: trunk/FACT++/sofa/src/t_sofa_c.c@ 18368

Last change on this file since 18368 was 18346, checked in by tbretz, 11 years ago
File size: 213.9 KB
Line 
1#include <stdio.h>
2#include <sofa.h>
3
4static int verbose = 0;
5
6/*
7** - - - - - - - - -
8** t _ s o f a _ c
9** - - - - - - - - -
10**
11** Validate the SOFA C functions.
12**
13** Each SOFA function is at least called and a usually quite basic test
14** is performed. Successful completion is signalled by a confirming
15** message. Failure of a given function or group of functions results
16** in error messages.
17**
18** All messages go to stdout.
19**
20** This revision: 2015 January 30
21**
22** SOFA release 2015-02-09
23**
24** Copyright (C) 2015 IAU SOFA Board. See notes at end.
25*/
26
27static void viv(int ival, int ivalok,
28 const char *func, const char *test, int *status)
29/*
30** - - - -
31** v i v
32** - - - -
33**
34** Validate an integer result.
35**
36** Internal function used by t_sofa_c program.
37**
38** Given:
39** ival int value computed by function under test
40** ivalok int correct value
41** func char[] name of function under test
42** test char[] name of individual test
43**
44** Given and returned:
45** status int set to TRUE if test fails
46**
47** This revision: 2013 August 7
48*/
49{
50 if (ival != ivalok) {
51 *status = 1;
52 printf("%s failed: %s want %d got %d\n",
53 func, test, ivalok, ival);
54 } else if (verbose) {
55 printf("%s passed: %s want %d got %d\n",
56 func, test, ivalok, ival);
57 }
58
59}
60
61static void vvd(double val, double valok, double dval,
62 const char *func, const char *test, int *status)
63/*
64** - - - -
65** v v d
66** - - - -
67**
68** Validate a double result.
69**
70** Internal function used by t_sofa_c program.
71**
72** Given:
73** val double value computed by function under test
74** valok double expected value
75** dval double maximum allowable error
76** func char[] name of function under test
77** test char[] name of individual test
78**
79** Given and returned:
80** status int set to TRUE if test fails
81**
82** This revision: 2013 August 7
83*/
84{
85 double a, f; /* absolute and fractional error */
86
87
88 a = val - valok;
89 if (fabs(a) > dval) {
90 f = fabs(valok / a);
91 *status = 1;
92 printf("%s failed: %s want %.20g got %.20g (1/%.3g)\n",
93 func, test, valok, val, f);
94 } else if (verbose) {
95 printf("%s passed: %s want %.20g got %.20g\n",
96 func, test, valok, val);
97 }
98
99}
100
101static void t_a2af(int *status)
102/*
103** - - - - - - -
104** t _ a 2 a f
105** - - - - - - -
106**
107** Test iauA2af function.
108**
109** Returned:
110** status int FALSE = success, TRUE = fail
111**
112** Called: iauA2af, viv
113**
114** This revision: 2013 August 7
115*/
116{
117 int idmsf[4];
118 char s;
119
120
121 iauA2af(4, 2.345, &s, idmsf);
122
123 viv(s, '+', "iauA2af", "s", status);
124
125 viv(idmsf[0], 134, "iauA2af", "0", status);
126 viv(idmsf[1], 21, "iauA2af", "1", status);
127 viv(idmsf[2], 30, "iauA2af", "2", status);
128 viv(idmsf[3], 9706, "iauA2af", "3", status);
129
130}
131
132static void t_a2tf(int *status)
133/*
134** - - - - - - -
135** t _ a 2 t f
136** - - - - - - -
137**
138** Test iauA2tf function.
139**
140** Returned:
141** status int FALSE = success, TRUE = fail
142**
143** Called: iauA2tf, viv
144**
145** This revision: 2013 August 7
146*/
147{
148 int ihmsf[4];
149 char s;
150
151
152 iauA2tf(4, -3.01234, &s, ihmsf);
153
154 viv((int)s, '-', "iauA2tf", "s", status);
155
156 viv(ihmsf[0], 11, "iauA2tf", "0", status);
157 viv(ihmsf[1], 30, "iauA2tf", "1", status);
158 viv(ihmsf[2], 22, "iauA2tf", "2", status);
159 viv(ihmsf[3], 6484, "iauA2tf", "3", status);
160
161}
162
163static void t_ab(int *status)
164/*
165** - - - - -
166** t _ a b
167** - - - - -
168**
169** Test iauAb function.
170**
171** Returned:
172** status int FALSE = success, TRUE = fail
173**
174** Called: iauAb, vvd
175**
176** This revision: 2013 October 1
177*/
178{
179 double pnat[3], v[3], s, bm1, ppr[3];
180
181
182 pnat[0] = -0.76321968546737951;
183 pnat[1] = -0.60869453983060384;
184 pnat[2] = -0.21676408580639883;
185 v[0] = 2.1044018893653786e-5;
186 v[1] = -8.9108923304429319e-5;
187 v[2] = -3.8633714797716569e-5;
188 s = 0.99980921395708788;
189 bm1 = 0.99999999506209258;
190
191 iauAb(pnat, v, s, bm1, ppr);
192
193 vvd(ppr[0], -0.7631631094219556269, 1e-12, "iauAb", "1", status);
194 vvd(ppr[1], -0.6087553082505590832, 1e-12, "iauAb", "2", status);
195 vvd(ppr[2], -0.2167926269368471279, 1e-12, "iauAb", "3", status);
196
197}
198
199static void t_af2a(int *status)
200/*
201** - - - - - - -
202** t _ a f 2 a
203** - - - - - - -
204**
205** Test iauAf2a function.
206**
207** Returned:
208** status int FALSE = success, TRUE = fail
209**
210** Called: iauAf2a, viv
211**
212** This revision: 2013 August 7
213*/
214{
215 double a;
216 int j;
217
218
219 j = iauAf2a('-', 45, 13, 27.2, &a);
220
221 vvd(a, -0.7893115794313644842, 1e-12, "iauAf2a", "a", status);
222 viv(j, 0, "iauAf2a", "j", status);
223
224}
225
226static void t_anp(int *status)
227/*
228** - - - - - -
229** t _ a n p
230** - - - - - -
231**
232** Test iauAnp function.
233**
234** Returned:
235** status int FALSE = success, TRUE = fail
236**
237** Called: iauAnp, vvd
238**
239** This revision: 2013 August 7
240*/
241{
242 vvd(iauAnp(-0.1), 6.183185307179586477, 1e-12, "iauAnp", "", status);
243}
244
245static void t_anpm(int *status)
246/*
247** - - - - - - -
248** t _ a n p m
249** - - - - - - -
250**
251** Test iauAnpm function.
252**
253** Returned:
254** status int FALSE = success, TRUE = fail
255**
256** Called: iauAnpm, vvd
257**
258** This revision: 2013 August 7
259*/
260{
261 vvd(iauAnpm(-4.0), 2.283185307179586477, 1e-12, "iauAnpm", "", status);
262}
263
264static void t_apcg(int *status)
265/*
266** - - - - - - -
267** t _ a p c g
268** - - - - - - -
269**
270** Test iauApcg function.
271**
272** Returned:
273** status int FALSE = success, TRUE = fail
274**
275** Called: iauApcg, vvd
276**
277** This revision: 2013 October 3
278*/
279{
280 double date1, date2, ebpv[2][3], ehp[3];
281 iauASTROM astrom;
282
283
284 date1 = 2456165.5;
285 date2 = 0.401182685;
286 ebpv[0][0] = 0.901310875;
287 ebpv[0][1] = -0.417402664;
288 ebpv[0][2] = -0.180982288;
289 ebpv[1][0] = 0.00742727954;
290 ebpv[1][1] = 0.0140507459;
291 ebpv[1][2] = 0.00609045792;
292 ehp[0] = 0.903358544;
293 ehp[1] = -0.415395237;
294 ehp[2] = -0.180084014;
295
296 iauApcg(date1, date2, ebpv, ehp, &astrom);
297
298 vvd(astrom.pmt, 12.65133794027378508, 1e-11,
299 "iauApcg", "pmt", status);
300 vvd(astrom.eb[0], 0.901310875, 1e-12,
301 "iauApcg", "eb(1)", status);
302 vvd(astrom.eb[1], -0.417402664, 1e-12,
303 "iauApcg", "eb(2)", status);
304 vvd(astrom.eb[2], -0.180982288, 1e-12,
305 "iauApcg", "eb(3)", status);
306 vvd(astrom.eh[0], 0.8940025429324143045, 1e-12,
307 "iauApcg", "eh(1)", status);
308 vvd(astrom.eh[1], -0.4110930268679817955, 1e-12,
309 "iauApcg", "eh(2)", status);
310 vvd(astrom.eh[2], -0.1782189004872870264, 1e-12,
311 "iauApcg", "eh(3)", status);
312 vvd(astrom.em, 1.010465295811013146, 1e-12,
313 "iauApcg", "em", status);
314 vvd(astrom.v[0], 0.4289638897813379954e-4, 1e-16,
315 "iauApcg", "v(1_", status);
316 vvd(astrom.v[1], 0.8115034021720941898e-4, 1e-16,
317 "iauApcg", "v(2)", status);
318 vvd(astrom.v[2], 0.3517555123437237778e-4, 1e-16,
319 "iauApcg", "v(3)", status);
320 vvd(astrom.bm1, 0.9999999951686013336, 1e-12,
321 "iauApcg", "bm1", status);
322 vvd(astrom.bpn[0][0], 1.0, 0.0,
323 "iauApcg", "bpn(1,1)", status);
324 vvd(astrom.bpn[1][0], 0.0, 0.0,
325 "iauApcg", "bpn(2,1)", status);
326 vvd(astrom.bpn[2][0], 0.0, 0.0,
327 "iauApcg", "bpn(3,1)", status);
328 vvd(astrom.bpn[0][1], 0.0, 0.0,
329 "iauApcg", "bpn(1,2)", status);
330 vvd(astrom.bpn[1][1], 1.0, 0.0,
331 "iauApcg", "bpn(2,2)", status);
332 vvd(astrom.bpn[2][1], 0.0, 0.0,
333 "iauApcg", "bpn(3,2)", status);
334 vvd(astrom.bpn[0][2], 0.0, 0.0,
335 "iauApcg", "bpn(1,3)", status);
336 vvd(astrom.bpn[1][2], 0.0, 0.0,
337 "iauApcg", "bpn(2,3)", status);
338 vvd(astrom.bpn[2][2], 1.0, 0.0,
339 "iauApcg", "bpn(3,3)", status);
340
341}
342
343static void t_apcg13(int *status)
344/*
345** - - - - - - - - -
346** t _ a p c g 1 3
347** - - - - - - - - -
348**
349** Test iauApcg13 function.
350**
351** Returned:
352** status int FALSE = success, TRUE = fail
353**
354** Called: iauApcg13, vvd
355**
356** This revision: 2013 October 3
357*/
358{
359 double date1, date2;
360 iauASTROM astrom;
361
362
363 date1 = 2456165.5;
364 date2 = 0.401182685;
365
366 iauApcg13(date1, date2, &astrom);
367
368 vvd(astrom.pmt, 12.65133794027378508, 1e-11,
369 "iauApcg13", "pmt", status);
370 vvd(astrom.eb[0], 0.9013108747340644755, 1e-12,
371 "iauApcg13", "eb(1)", status);
372 vvd(astrom.eb[1], -0.4174026640406119957, 1e-12,
373 "iauApcg13", "eb(2)", status);
374 vvd(astrom.eb[2], -0.1809822877867817771, 1e-12,
375 "iauApcg13", "eb(3)", status);
376 vvd(astrom.eh[0], 0.8940025429255499549, 1e-12,
377 "iauApcg13", "eh(1)", status);
378 vvd(astrom.eh[1], -0.4110930268331896318, 1e-12,
379 "iauApcg13", "eh(2)", status);
380 vvd(astrom.eh[2], -0.1782189006019749850, 1e-12,
381 "iauApcg13", "eh(3)", status);
382 vvd(astrom.em, 1.010465295964664178, 1e-12,
383 "iauApcg13", "em", status);
384 vvd(astrom.v[0], 0.4289638897157027528e-4, 1e-16,
385 "iauApcg13", "v(1)", status);
386 vvd(astrom.v[1], 0.8115034002544663526e-4, 1e-16,
387 "iauApcg13", "v(2)", status);
388 vvd(astrom.v[2], 0.3517555122593144633e-4, 1e-16,
389 "iauApcg13", "v(3)", status);
390 vvd(astrom.bm1, 0.9999999951686013498, 1e-12,
391 "iauApcg13", "bm1", status);
392 vvd(astrom.bpn[0][0], 1.0, 0.0,
393 "iauApcg13", "bpn(1,1)", status);
394 vvd(astrom.bpn[1][0], 0.0, 0.0,
395 "iauApcg13", "bpn(2,1)", status);
396 vvd(astrom.bpn[2][0], 0.0, 0.0,
397 "iauApcg13", "bpn(3,1)", status);
398 vvd(astrom.bpn[0][1], 0.0, 0.0,
399 "iauApcg13", "bpn(1,2)", status);
400 vvd(astrom.bpn[1][1], 1.0, 0.0,
401 "iauApcg13", "bpn(2,2)", status);
402 vvd(astrom.bpn[2][1], 0.0, 0.0,
403 "iauApcg13", "bpn(3,2)", status);
404 vvd(astrom.bpn[0][2], 0.0, 0.0,
405 "iauApcg13", "bpn(1,3)", status);
406 vvd(astrom.bpn[1][2], 0.0, 0.0,
407 "iauApcg13", "bpn(2,3)", status);
408 vvd(astrom.bpn[2][2], 1.0, 0.0,
409 "iauApcg13", "bpn(3,3)", status);
410
411}
412
413static void t_apci(int *status)
414/*
415** - - - - - - -
416** t _ a p c i
417** - - - - - - -
418**
419** Test iauApci function.
420**
421** Returned:
422** status int FALSE = success, TRUE = fail
423**
424** Called: iauApci, vvd
425**
426** This revision: 2013 October 3
427*/
428{
429 double date1, date2, ebpv[2][3], ehp[3], x, y, s;
430 iauASTROM astrom;
431
432
433 date1 = 2456165.5;
434 date2 = 0.401182685;
435 ebpv[0][0] = 0.901310875;
436 ebpv[0][1] = -0.417402664;
437 ebpv[0][2] = -0.180982288;
438 ebpv[1][0] = 0.00742727954;
439 ebpv[1][1] = 0.0140507459;
440 ebpv[1][2] = 0.00609045792;
441 ehp[0] = 0.903358544;
442 ehp[1] = -0.415395237;
443 ehp[2] = -0.180084014;
444 x = 0.0013122272;
445 y = -2.92808623e-5;
446 s = 3.05749468e-8;
447
448 iauApci(date1, date2, ebpv, ehp, x, y, s, &astrom);
449
450 vvd(astrom.pmt, 12.65133794027378508, 1e-11,
451 "iauApci", "pmt", status);
452 vvd(astrom.eb[0], 0.901310875, 1e-12,
453 "iauApci", "eb(1)", status);
454 vvd(astrom.eb[1], -0.417402664, 1e-12,
455 "iauApci", "eb(2)", status);
456 vvd(astrom.eb[2], -0.180982288, 1e-12,
457 "iauApci", "eb(3)", status);
458 vvd(astrom.eh[0], 0.8940025429324143045, 1e-12,
459 "iauApci", "eh(1)", status);
460 vvd(astrom.eh[1], -0.4110930268679817955, 1e-12,
461 "iauApci", "eh(2)", status);
462 vvd(astrom.eh[2], -0.1782189004872870264, 1e-12,
463 "iauApci", "eh(3)", status);
464 vvd(astrom.em, 1.010465295811013146, 1e-12,
465 "iauApci", "em", status);
466 vvd(astrom.v[0], 0.4289638897813379954e-4, 1e-16,
467 "iauApci", "v(1)", status);
468 vvd(astrom.v[1], 0.8115034021720941898e-4, 1e-16,
469 "iauApci", "v(2)", status);
470 vvd(astrom.v[2], 0.3517555123437237778e-4, 1e-16,
471 "iauApci", "v(3)", status);
472 vvd(astrom.bm1, 0.9999999951686013336, 1e-12,
473 "iauApci", "bm1", status);
474 vvd(astrom.bpn[0][0], 0.9999991390295159156, 1e-12,
475 "iauApci", "bpn(1,1)", status);
476 vvd(astrom.bpn[1][0], 0.4978650072505016932e-7, 1e-12,
477 "iauApci", "bpn(2,1)", status);
478 vvd(astrom.bpn[2][0], 0.1312227200000000000e-2, 1e-12,
479 "iauApci", "bpn(3,1)", status);
480 vvd(astrom.bpn[0][1], -0.1136336653771609630e-7, 1e-12,
481 "iauApci", "bpn(1,2)", status);
482 vvd(astrom.bpn[1][1], 0.9999999995713154868, 1e-12,
483 "iauApci", "bpn(2,2)", status);
484 vvd(astrom.bpn[2][1], -0.2928086230000000000e-4, 1e-12,
485 "iauApci", "bpn(3,2)", status);
486 vvd(astrom.bpn[0][2], -0.1312227200895260194e-2, 1e-12,
487 "iauApci", "bpn(1,3)", status);
488 vvd(astrom.bpn[1][2], 0.2928082217872315680e-4, 1e-12,
489 "iauApci", "bpn(2,3)", status);
490 vvd(astrom.bpn[2][2], 0.9999991386008323373, 1e-12,
491 "iauApci", "bpn(3,3)", status);
492
493}
494
495static void t_apci13(int *status)
496/*
497** - - - - - - - - -
498** t _ a p c i 1 3
499** - - - - - - - - -
500**
501** Test iauApci13 function.
502**
503** Returned:
504** status int FALSE = success, TRUE = fail
505**
506** Called: iauApci13, vvd
507**
508** This revision: 2013 October 3
509*/
510{
511 double date1, date2, eo;
512 iauASTROM astrom;
513
514
515 date1 = 2456165.5;
516 date2 = 0.401182685;
517
518 iauApci13(date1, date2, &astrom, &eo);
519
520 vvd(astrom.pmt, 12.65133794027378508, 1e-11,
521 "iauApci13", "pmt", status);
522 vvd(astrom.eb[0], 0.9013108747340644755, 1e-12,
523 "iauApci13", "eb(1)", status);
524 vvd(astrom.eb[1], -0.4174026640406119957, 1e-12,
525 "iauApci13", "eb(2)", status);
526 vvd(astrom.eb[2], -0.1809822877867817771, 1e-12,
527 "iauApci13", "eb(3)", status);
528 vvd(astrom.eh[0], 0.8940025429255499549, 1e-12,
529 "iauApci13", "eh(1)", status);
530 vvd(astrom.eh[1], -0.4110930268331896318, 1e-12,
531 "iauApci13", "eh(2)", status);
532 vvd(astrom.eh[2], -0.1782189006019749850, 1e-12,
533 "iauApci13", "eh(3)", status);
534 vvd(astrom.em, 1.010465295964664178, 1e-12,
535 "iauApci13", "em", status);
536 vvd(astrom.v[0], 0.4289638897157027528e-4, 1e-16,
537 "iauApci13", "v(1)", status);
538 vvd(astrom.v[1], 0.8115034002544663526e-4, 1e-16,
539 "iauApci13", "v(2)", status);
540 vvd(astrom.v[2], 0.3517555122593144633e-4, 1e-16,
541 "iauApci13", "v(3)", status);
542 vvd(astrom.bm1, 0.9999999951686013498, 1e-12,
543 "iauApci13", "bm1", status);
544 vvd(astrom.bpn[0][0], 0.9999992060376761710, 1e-12,
545 "iauApci13", "bpn(1,1)", status);
546 vvd(astrom.bpn[1][0], 0.4124244860106037157e-7, 1e-12,
547 "iauApci13", "bpn(2,1)", status);
548 vvd(astrom.bpn[2][0], 0.1260128571051709670e-2, 1e-12,
549 "iauApci13", "bpn(3,1)", status);
550 vvd(astrom.bpn[0][1], -0.1282291987222130690e-7, 1e-12,
551 "iauApci13", "bpn(1,2)", status);
552 vvd(astrom.bpn[1][1], 0.9999999997456835325, 1e-12,
553 "iauApci13", "bpn(2,2)", status);
554 vvd(astrom.bpn[2][1], -0.2255288829420524935e-4, 1e-12,
555 "iauApci13", "bpn(3,2)", status);
556 vvd(astrom.bpn[0][2], -0.1260128571661374559e-2, 1e-12,
557 "iauApci13", "bpn(1,3)", status);
558 vvd(astrom.bpn[1][2], 0.2255285422953395494e-4, 1e-12,
559 "iauApci13", "bpn(2,3)", status);
560 vvd(astrom.bpn[2][2], 0.9999992057833604343, 1e-12,
561 "iauApci13", "bpn(3,3)", status);
562 vvd(eo, -0.2900618712657375647e-2, 1e-12,
563 "iauApci13", "eo", status);
564
565}
566
567static void t_apco(int *status)
568/*
569** - - - - - - -
570** t _ a p c o
571** - - - - - - -
572**
573** Test iauApco function.
574**
575** Returned:
576** status int FALSE = success, TRUE = fail
577**
578** Called: iauApco, vvd
579**
580** This revision: 2013 October 3
581*/
582{
583 double date1, date2, ebpv[2][3], ehp[3], x, y, s,
584 theta, elong, phi, hm, xp, yp, sp, refa, refb;
585 iauASTROM astrom;
586
587
588 date1 = 2456384.5;
589 date2 = 0.970031644;
590 ebpv[0][0] = -0.974170438;
591 ebpv[0][1] = -0.211520082;
592 ebpv[0][2] = -0.0917583024;
593 ebpv[1][0] = 0.00364365824;
594 ebpv[1][1] = -0.0154287319;
595 ebpv[1][2] = -0.00668922024;
596 ehp[0] = -0.973458265;
597 ehp[1] = -0.209215307;
598 ehp[2] = -0.0906996477;
599 x = 0.0013122272;
600 y = -2.92808623e-5;
601 s = 3.05749468e-8;
602 theta = 3.14540971;
603 elong = -0.527800806;
604 phi = -1.2345856;
605 hm = 2738.0;
606 xp = 2.47230737e-7;
607 yp = 1.82640464e-6;
608 sp = -3.01974337e-11;
609 refa = 0.000201418779;
610 refb = -2.36140831e-7;
611
612 iauApco(date1, date2, ebpv, ehp, x, y, s,
613 theta, elong, phi, hm, xp, yp, sp,
614 refa, refb, &astrom);
615
616 vvd(astrom.pmt, 13.25248468622587269, 1e-11,
617 "iauApco", "pmt", status);
618 vvd(astrom.eb[0], -0.9741827110630897003, 1e-12,
619 "iauApco", "eb(1)", status);
620 vvd(astrom.eb[1], -0.2115130190135014340, 1e-12,
621 "iauApco", "eb(2)", status);
622 vvd(astrom.eb[2], -0.09179840186968295686, 1e-12,
623 "iauApco", "eb(3)", status);
624 vvd(astrom.eh[0], -0.9736425571689670428, 1e-12,
625 "iauApco", "eh(1)", status);
626 vvd(astrom.eh[1], -0.2092452125848862201, 1e-12,
627 "iauApco", "eh(2)", status);
628 vvd(astrom.eh[2], -0.09075578152261439954, 1e-12,
629 "iauApco", "eh(3)", status);
630 vvd(astrom.em, 0.9998233241710617934, 1e-12,
631 "iauApco", "em", status);
632 vvd(astrom.v[0], 0.2078704985147609823e-4, 1e-16,
633 "iauApco", "v(1)", status);
634 vvd(astrom.v[1], -0.8955360074407552709e-4, 1e-16,
635 "iauApco", "v(2)", status);
636 vvd(astrom.v[2], -0.3863338980073114703e-4, 1e-16,
637 "iauApco", "v(3)", status);
638 vvd(astrom.bm1, 0.9999999950277561600, 1e-12,
639 "iauApco", "bm1", status);
640 vvd(astrom.bpn[0][0], 0.9999991390295159156, 1e-12,
641 "iauApco", "bpn(1,1)", status);
642 vvd(astrom.bpn[1][0], 0.4978650072505016932e-7, 1e-12,
643 "iauApco", "bpn(2,1)", status);
644 vvd(astrom.bpn[2][0], 0.1312227200000000000e-2, 1e-12,
645 "iauApco", "bpn(3,1)", status);
646 vvd(astrom.bpn[0][1], -0.1136336653771609630e-7, 1e-12,
647 "iauApco", "bpn(1,2)", status);
648 vvd(astrom.bpn[1][1], 0.9999999995713154868, 1e-12,
649 "iauApco", "bpn(2,2)", status);
650 vvd(astrom.bpn[2][1], -0.2928086230000000000e-4, 1e-12,
651 "iauApco", "bpn(3,2)", status);
652 vvd(astrom.bpn[0][2], -0.1312227200895260194e-2, 1e-12,
653 "iauApco", "bpn(1,3)", status);
654 vvd(astrom.bpn[1][2], 0.2928082217872315680e-4, 1e-12,
655 "iauApco", "bpn(2,3)", status);
656 vvd(astrom.bpn[2][2], 0.9999991386008323373, 1e-12,
657 "iauApco", "bpn(3,3)", status);
658 vvd(astrom.along, -0.5278008060301974337, 1e-12,
659 "iauApco", "along", status);
660 vvd(astrom.xpl, 0.1133427418174939329e-5, 1e-17,
661 "iauApco", "xpl", status);
662 vvd(astrom.ypl, 0.1453347595745898629e-5, 1e-17,
663 "iauApco", "ypl", status);
664 vvd(astrom.sphi, -0.9440115679003211329, 1e-12,
665 "iauApco", "sphi", status);
666 vvd(astrom.cphi, 0.3299123514971474711, 1e-12,
667 "iauApco", "cphi", status);
668 vvd(astrom.diurab, 0, 0,
669 "iauApco", "diurab", status);
670 vvd(astrom.eral, 2.617608903969802566, 1e-12,
671 "iauApco", "eral", status);
672 vvd(astrom.refa, 0.2014187790000000000e-3, 1e-15,
673 "iauApco", "refa", status);
674 vvd(astrom.refb, -0.2361408310000000000e-6, 1e-18,
675 "iauApco", "refb", status);
676
677}
678
679static void t_apco13(int *status)
680/*
681** - - - - - - - - -
682** t _ a p c o 1 3
683** - - - - - - - - -
684**
685** Test iauApco13 function.
686**
687** Returned:
688** status int FALSE = success, TRUE = fail
689**
690** Called: iauApco13, vvd, viv
691**
692** This revision: 2013 October 4
693*/
694{
695 double utc1, utc2, dut1, elong, phi, hm, xp, yp,
696 phpa, tc, rh, wl, eo;
697 iauASTROM astrom;
698 int j;
699
700
701 utc1 = 2456384.5;
702 utc2 = 0.969254051;
703 dut1 = 0.1550675;
704 elong = -0.527800806;
705 phi = -1.2345856;
706 hm = 2738.0;
707 xp = 2.47230737e-7;
708 yp = 1.82640464e-6;
709 phpa = 731.0;
710 tc = 12.8;
711 rh = 0.59;
712 wl = 0.55;
713
714 j = iauApco13(utc1, utc2, dut1, elong, phi, hm, xp, yp,
715 phpa, tc, rh, wl, &astrom, &eo);
716
717 vvd(astrom.pmt, 13.25248468622475727, 1e-11,
718 "iauApco13", "pmt", status);
719 vvd(astrom.eb[0], -0.9741827107321449445, 1e-12,
720 "iauApco13", "eb(1)", status);
721 vvd(astrom.eb[1], -0.2115130190489386190, 1e-12,
722 "iauApco13", "eb(2)", status);
723 vvd(astrom.eb[2], -0.09179840189515518726, 1e-12,
724 "iauApco13", "eb(3)", status);
725 vvd(astrom.eh[0], -0.9736425572586866640, 1e-12,
726 "iauApco13", "eh(1)", status);
727 vvd(astrom.eh[1], -0.2092452121602867431, 1e-12,
728 "iauApco13", "eh(2)", status);
729 vvd(astrom.eh[2], -0.09075578153903832650, 1e-12,
730 "iauApco13", "eh(3)", status);
731 vvd(astrom.em, 0.9998233240914558422, 1e-12,
732 "iauApco13", "em", status);
733 vvd(astrom.v[0], 0.2078704986751370303e-4, 1e-16,
734 "iauApco13", "v(1)", status);
735 vvd(astrom.v[1], -0.8955360100494469232e-4, 1e-16,
736 "iauApco13", "v(2)", status);
737 vvd(astrom.v[2], -0.3863338978840051024e-4, 1e-16,
738 "iauApco13", "v(3)", status);
739 vvd(astrom.bm1, 0.9999999950277561368, 1e-12,
740 "iauApco13", "bm1", status);
741 vvd(astrom.bpn[0][0], 0.9999991390295147999, 1e-12,
742 "iauApco13", "bpn(1,1)", status);
743 vvd(astrom.bpn[1][0], 0.4978650075315529277e-7, 1e-12,
744 "iauApco13", "bpn(2,1)", status);
745 vvd(astrom.bpn[2][0], 0.001312227200850293372, 1e-12,
746 "iauApco13", "bpn(3,1)", status);
747 vvd(astrom.bpn[0][1], -0.1136336652812486604e-7, 1e-12,
748 "iauApco13", "bpn(1,2)", status);
749 vvd(astrom.bpn[1][1], 0.9999999995713154865, 1e-12,
750 "iauApco13", "bpn(2,2)", status);
751 vvd(astrom.bpn[2][1], -0.2928086230975367296e-4, 1e-12,
752 "iauApco13", "bpn(3,2)", status);
753 vvd(astrom.bpn[0][2], -0.001312227201745553566, 1e-12,
754 "iauApco13", "bpn(1,3)", status);
755 vvd(astrom.bpn[1][2], 0.2928082218847679162e-4, 1e-12,
756 "iauApco13", "bpn(2,3)", status);
757 vvd(astrom.bpn[2][2], 0.9999991386008312212, 1e-12,
758 "iauApco13", "bpn(3,3)", status);
759 vvd(astrom.along, -0.5278008060301974337, 1e-12,
760 "iauApco13", "along", status);
761 vvd(astrom.xpl, 0.1133427418174939329e-5, 1e-17,
762 "iauApco13", "xpl", status);
763 vvd(astrom.ypl, 0.1453347595745898629e-5, 1e-17,
764 "iauApco13", "ypl", status);
765 vvd(astrom.sphi, -0.9440115679003211329, 1e-12,
766 "iauApco13", "sphi", status);
767 vvd(astrom.cphi, 0.3299123514971474711, 1e-12,
768 "iauApco13", "cphi", status);
769 vvd(astrom.diurab, 0, 0,
770 "iauApco13", "diurab", status);
771 vvd(astrom.eral, 2.617608909189066140, 1e-12,
772 "iauApco13", "eral", status);
773 vvd(astrom.refa, 0.2014187785940396921e-3, 1e-15,
774 "iauApco13", "refa", status);
775 vvd(astrom.refb, -0.2361408314943696227e-6, 1e-18,
776 "iauApco13", "refb", status);
777 vvd(eo, -0.003020548354802412839, 1e-14,
778 "iauApco13", "eo", status);
779 viv(j, 0, "iauApco13", "j", status);
780
781}
782
783static void t_apcs(int *status)
784/*
785** - - - - - - -
786** t _ a p c s
787** - - - - - - -
788**
789** Test iauApcs function.
790**
791** Returned:
792** status int FALSE = success, TRUE = fail
793**
794** Called: iauApcs, vvd
795**
796** This revision: 2013 October 3
797*/
798{
799 double date1, date2, pv[2][3], ebpv[2][3], ehp[3];
800 iauASTROM astrom;
801
802
803 date1 = 2456384.5;
804 date2 = 0.970031644;
805 pv[0][0] = -1836024.09;
806 pv[0][1] = 1056607.72;
807 pv[0][2] = -5998795.26;
808 pv[1][0] = -77.0361767;
809 pv[1][1] = -133.310856;
810 pv[1][2] = 0.0971855934;
811 ebpv[0][0] = -0.974170438;
812 ebpv[0][1] = -0.211520082;
813 ebpv[0][2] = -0.0917583024;
814 ebpv[1][0] = 0.00364365824;
815 ebpv[1][1] = -0.0154287319;
816 ebpv[1][2] = -0.00668922024;
817 ehp[0] = -0.973458265;
818 ehp[1] = -0.209215307;
819 ehp[2] = -0.0906996477;
820
821 iauApcs(date1, date2, pv, ebpv, ehp, &astrom);
822
823 vvd(astrom.pmt, 13.25248468622587269, 1e-11,
824 "iauApcs", "pmt", status);
825 vvd(astrom.eb[0], -0.9741827110630456169, 1e-12,
826 "iauApcs", "eb(1)", status);
827 vvd(astrom.eb[1], -0.2115130190136085494, 1e-12,
828 "iauApcs", "eb(2)", status);
829 vvd(astrom.eb[2], -0.09179840186973175487, 1e-12,
830 "iauApcs", "eb(3)", status);
831 vvd(astrom.eh[0], -0.9736425571689386099, 1e-12,
832 "iauApcs", "eh(1)", status);
833 vvd(astrom.eh[1], -0.2092452125849967195, 1e-12,
834 "iauApcs", "eh(2)", status);
835 vvd(astrom.eh[2], -0.09075578152266466572, 1e-12,
836 "iauApcs", "eh(3)", status);
837 vvd(astrom.em, 0.9998233241710457140, 1e-12,
838 "iauApcs", "em", status);
839 vvd(astrom.v[0], 0.2078704985513566571e-4, 1e-16,
840 "iauApcs", "v(1)", status);
841 vvd(astrom.v[1], -0.8955360074245006073e-4, 1e-16,
842 "iauApcs", "v(2)", status);
843 vvd(astrom.v[2], -0.3863338980073572719e-4, 1e-16,
844 "iauApcs", "v(3)", status);
845 vvd(astrom.bm1, 0.9999999950277561601, 1e-12,
846 "iauApcs", "bm1", status);
847 vvd(astrom.bpn[0][0], 1, 0,
848 "iauApcs", "bpn(1,1)", status);
849 vvd(astrom.bpn[1][0], 0, 0,
850 "iauApcs", "bpn(2,1)", status);
851 vvd(astrom.bpn[2][0], 0, 0,
852 "iauApcs", "bpn(3,1)", status);
853 vvd(astrom.bpn[0][1], 0, 0,
854 "iauApcs", "bpn(1,2)", status);
855 vvd(astrom.bpn[1][1], 1, 0,
856 "iauApcs", "bpn(2,2)", status);
857 vvd(astrom.bpn[2][1], 0, 0,
858 "iauApcs", "bpn(3,2)", status);
859 vvd(astrom.bpn[0][2], 0, 0,
860 "iauApcs", "bpn(1,3)", status);
861 vvd(astrom.bpn[1][2], 0, 0,
862 "iauApcs", "bpn(2,3)", status);
863 vvd(astrom.bpn[2][2], 1, 0,
864 "iauApcs", "bpn(3,3)", status);
865
866}
867
868static void t_apcs13(int *status)
869/*
870** - - - - - - - - -
871** t _ a p c s 1 3
872** - - - - - - - - -
873**
874** Test iauApcs13 function.
875**
876** Returned:
877** status int FALSE = success, TRUE = fail
878**
879** Called: iauApcs13, vvd
880**
881** This revision: 2013 October 3
882*/
883{
884 double date1, date2, pv[2][3];
885 iauASTROM astrom;
886
887
888 date1 = 2456165.5;
889 date2 = 0.401182685;
890 pv[0][0] = -6241497.16;
891 pv[0][1] = 401346.896;
892 pv[0][2] = -1251136.04;
893 pv[1][0] = -29.264597;
894 pv[1][1] = -455.021831;
895 pv[1][2] = 0.0266151194;
896
897 iauApcs13(date1, date2, pv, &astrom);
898
899 vvd(astrom.pmt, 12.65133794027378508, 1e-11,
900 "iauApcs13", "pmt", status);
901 vvd(astrom.eb[0], 0.9012691529023298391, 1e-12,
902 "iauApcs13", "eb(1)", status);
903 vvd(astrom.eb[1], -0.4173999812023068781, 1e-12,
904 "iauApcs13", "eb(2)", status);
905 vvd(astrom.eb[2], -0.1809906511146821008, 1e-12,
906 "iauApcs13", "eb(3)", status);
907 vvd(astrom.eh[0], 0.8939939101759726824, 1e-12,
908 "iauApcs13", "eh(1)", status);
909 vvd(astrom.eh[1], -0.4111053891734599955, 1e-12,
910 "iauApcs13", "eh(2)", status);
911 vvd(astrom.eh[2], -0.1782336880637689334, 1e-12,
912 "iauApcs13", "eh(3)", status);
913 vvd(astrom.em, 1.010428384373318379, 1e-12,
914 "iauApcs13", "em", status);
915 vvd(astrom.v[0], 0.4279877278327626511e-4, 1e-16,
916 "iauApcs13", "v(1)", status);
917 vvd(astrom.v[1], 0.7963255057040027770e-4, 1e-16,
918 "iauApcs13", "v(2)", status);
919 vvd(astrom.v[2], 0.3517564000441374759e-4, 1e-16,
920 "iauApcs13", "v(3)", status);
921 vvd(astrom.bm1, 0.9999999952947981330, 1e-12,
922 "iauApcs13", "bm1", status);
923 vvd(astrom.bpn[0][0], 1, 0,
924 "iauApcs13", "bpn(1,1)", status);
925 vvd(astrom.bpn[1][0], 0, 0,
926 "iauApcs13", "bpn(2,1)", status);
927 vvd(astrom.bpn[2][0], 0, 0,
928 "iauApcs13", "bpn(3,1)", status);
929 vvd(astrom.bpn[0][1], 0, 0,
930 "iauApcs13", "bpn(1,2)", status);
931 vvd(astrom.bpn[1][1], 1, 0,
932 "iauApcs13", "bpn(2,2)", status);
933 vvd(astrom.bpn[2][1], 0, 0,
934 "iauApcs13", "bpn(3,2)", status);
935 vvd(astrom.bpn[0][2], 0, 0,
936 "iauApcs13", "bpn(1,3)", status);
937 vvd(astrom.bpn[1][2], 0, 0,
938 "iauApcs13", "bpn(2,3)", status);
939 vvd(astrom.bpn[2][2], 1, 0,
940 "iauApcs13", "bpn(3,3)", status);
941
942}
943
944static void t_aper(int *status)
945/*
946** - - - - - - -
947** t _ a p e r
948** - - - - - - -
949*
950** Test iauAper function.
951*
952** Returned:
953** status int FALSE = success, TRUE = fail
954*
955** Called: iauAper, vvd
956*
957** This revision: 2013 October 3
958*/
959{
960 double theta;
961 iauASTROM astrom;
962
963
964 astrom.along = 1.234;
965 theta = 5.678;
966
967 iauAper(theta, &astrom);
968
969 vvd(astrom.eral, 6.912000000000000000, 1e-12,
970 "iauAper", "pmt", status);
971
972}
973
974static void t_aper13(int *status)
975/*
976** - - - - - - - - -
977** t _ a p e r 1 3
978** - - - - - - - - -
979**
980** Test iauAper13 function.
981**
982** Returned:
983** status int FALSE = success, TRUE = fail
984**
985** Called: iauAper13, vvd
986**
987** This revision: 2013 October 3
988*/
989{
990 double ut11, ut12;
991 iauASTROM astrom;
992
993
994 astrom.along = 1.234;
995 ut11 = 2456165.5;
996 ut12 = 0.401182685;
997
998 iauAper13(ut11, ut12, &astrom);
999
1000 vvd(astrom.eral, 3.316236661789694933, 1e-12,
1001 "iauAper13", "pmt", status);
1002
1003}
1004
1005static void t_apio(int *status)
1006/*
1007** - - - - - - -
1008** t _ a p i o
1009** - - - - - - -
1010**
1011** Test iauApio function.
1012**
1013** Returned:
1014** status int FALSE = success, TRUE = fail
1015**
1016** Called: iauApio, vvd
1017**
1018** This revision: 2013 October 3
1019*/
1020{
1021 double sp, theta, elong, phi, hm, xp, yp, refa, refb;
1022 iauASTROM astrom;
1023
1024
1025 sp = -3.01974337e-11;
1026 theta = 3.14540971;
1027 elong = -0.527800806;
1028 phi = -1.2345856;
1029 hm = 2738.0;
1030 xp = 2.47230737e-7;
1031 yp = 1.82640464e-6;
1032 refa = 0.000201418779;
1033 refb = -2.36140831e-7;
1034
1035 iauApio(sp, theta, elong, phi, hm, xp, yp, refa, refb, &astrom);
1036
1037 vvd(astrom.along, -0.5278008060301974337, 1e-12,
1038 "iauApio", "along", status);
1039 vvd(astrom.xpl, 0.1133427418174939329e-5, 1e-17,
1040 "iauApio", "xpl", status);
1041 vvd(astrom.ypl, 0.1453347595745898629e-5, 1e-17,
1042 "iauApio", "ypl", status);
1043 vvd(astrom.sphi, -0.9440115679003211329, 1e-12,
1044 "iauApio", "sphi", status);
1045 vvd(astrom.cphi, 0.3299123514971474711, 1e-12,
1046 "iauApio", "cphi", status);
1047 vvd(astrom.diurab, 0.5135843661699913529e-6, 1e-12,
1048 "iauApio", "diurab", status);
1049 vvd(astrom.eral, 2.617608903969802566, 1e-12,
1050 "iauApio", "eral", status);
1051 vvd(astrom.refa, 0.2014187790000000000e-3, 1e-15,
1052 "iauApio", "refa", status);
1053 vvd(astrom.refb, -0.2361408310000000000e-6, 1e-18,
1054 "iauApio", "refb", status);
1055
1056}
1057
1058static void t_apio13(int *status)
1059/*
1060** - - - - - - - - -
1061** t _ a p i o 1 3
1062** - - - - - - - - -
1063**
1064** Test iauApio13 function.
1065**
1066** Returned:
1067** status int FALSE = success, TRUE = fail
1068**
1069** Called: iauApio13, vvd, viv
1070**
1071** This revision: 2013 October 4
1072*/
1073{
1074 double utc1, utc2, dut1, elong, phi, hm, xp, yp, phpa, tc, rh, wl;
1075 int j;
1076 iauASTROM astrom;
1077
1078
1079 utc1 = 2456384.5;
1080 utc2 = 0.969254051;
1081 dut1 = 0.1550675;
1082 elong = -0.527800806;
1083 phi = -1.2345856;
1084 hm = 2738.0;
1085 xp = 2.47230737e-7;
1086 yp = 1.82640464e-6;
1087 phpa = 731.0;
1088 tc = 12.8;
1089 rh = 0.59;
1090 wl = 0.55;
1091
1092 j = iauApio13(utc1, utc2, dut1, elong, phi, hm, xp, yp,
1093 phpa, tc, rh, wl, &astrom);
1094
1095 vvd(astrom.along, -0.5278008060301974337, 1e-12,
1096 "iauApio13", "along", status);
1097 vvd(astrom.xpl, 0.1133427418174939329e-5, 1e-17,
1098 "iauApio13", "xpl", status);
1099 vvd(astrom.ypl, 0.1453347595745898629e-5, 1e-17,
1100 "iauApio13", "ypl", status);
1101 vvd(astrom.sphi, -0.9440115679003211329, 1e-12,
1102 "iauApio13", "sphi", status);
1103 vvd(astrom.cphi, 0.3299123514971474711, 1e-12,
1104 "iauApio13", "cphi", status);
1105 vvd(astrom.diurab, 0.5135843661699913529e-6, 1e-12,
1106 "iauApio13", "diurab", status);
1107 vvd(astrom.eral, 2.617608909189066140, 1e-12,
1108 "iauApio13", "eral", status);
1109 vvd(astrom.refa, 0.2014187785940396921e-3, 1e-15,
1110 "iauApio13", "refa", status);
1111 vvd(astrom.refb, -0.2361408314943696227e-6, 1e-18,
1112 "iauApio13", "refb", status);
1113 viv(j, 0, "iauApio13", "j", status);
1114
1115}
1116
1117static void t_atci13(int *status)
1118/*
1119** - - - - - - - - -
1120** t _ a t c i 1 3
1121** - - - - - - - - -
1122**
1123** Test iauAtci13 function.
1124**
1125** Returned:
1126** status int FALSE = success, TRUE = fail
1127**
1128** Called: iauAtci13, vvd
1129**
1130** This revision: 2013 October 3
1131*/
1132{
1133 double rc, dc, pr, pd, px, rv, date1, date2, ri, di, eo;
1134
1135
1136 rc = 2.71;
1137 dc = 0.174;
1138 pr = 1e-5;
1139 pd = 5e-6;
1140 px = 0.1;
1141 rv = 55.0;
1142 date1 = 2456165.5;
1143 date2 = 0.401182685;
1144
1145 iauAtci13(rc, dc, pr, pd, px, rv, date1, date2, &ri, &di, &eo);
1146
1147 vvd(ri, 2.710121572969038991, 1e-12,
1148 "iauAtci13", "ri", status);
1149 vvd(di, 0.1729371367218230438, 1e-12,
1150 "iauAtci13", "di", status);
1151 vvd(eo, -0.002900618712657375647, 1e-14,
1152 "iauAtci13", "eo", status);
1153
1154}
1155
1156static void t_atciq(int *status)
1157/*
1158** - - - - - - - -
1159** t _ a t c i q
1160** - - - - - - - -
1161**
1162** Test iauAtciq function.
1163**
1164** Returned:
1165** status int FALSE = success, TRUE = fail
1166**
1167** Called: iauApci13, iauAtciq, vvd
1168**
1169** This revision: 2013 October 3
1170*/
1171{
1172 double date1, date2, eo, rc, dc, pr, pd, px, rv, ri, di;
1173 iauASTROM astrom;
1174
1175 date1 = 2456165.5;
1176 date2 = 0.401182685;
1177 iauApci13(date1, date2, &astrom, &eo);
1178 rc = 2.71;
1179 dc = 0.174;
1180 pr = 1e-5;
1181 pd = 5e-6;
1182 px = 0.1;
1183 rv = 55.0;
1184
1185 iauAtciq(rc, dc, pr, pd, px, rv, &astrom, &ri, &di);
1186
1187 vvd(ri, 2.710121572969038991, 1e-12, "iauAtciq", "ri", status);
1188 vvd(di, 0.1729371367218230438, 1e-12, "iauAtciq", "di", status);
1189
1190}
1191
1192static void t_atciqn(int *status)
1193/*
1194** - - - - - - - - -
1195** t _ a t c i q n
1196** - - - - - - - - -
1197**
1198** Test iauAtciqn function.
1199**
1200** Returned:
1201** status int FALSE = success, TRUE = fail
1202**
1203** Called: iauApci13, iauAtciqn, vvd
1204**
1205** This revision: 2013 October 3
1206*/
1207{
1208 iauLDBODY b[3];
1209 double date1, date2, eo, rc, dc, pr, pd, px, rv, ri, di;
1210 iauASTROM astrom;
1211
1212 date1 = 2456165.5;
1213 date2 = 0.401182685;
1214 iauApci13(date1, date2, &astrom, &eo);
1215 rc = 2.71;
1216 dc = 0.174;
1217 pr = 1e-5;
1218 pd = 5e-6;
1219 px = 0.1;
1220 rv = 55.0;
1221 b[0].bm = 0.00028574;
1222 b[0].dl = 3e-10;
1223 b[0].pv[0][0] = -7.81014427;
1224 b[0].pv[0][1] = -5.60956681;
1225 b[0].pv[0][2] = -1.98079819;
1226 b[0].pv[1][0] = 0.0030723249;
1227 b[0].pv[1][1] = -0.00406995477;
1228 b[0].pv[1][2] = -0.00181335842;
1229 b[1].bm = 0.00095435;
1230 b[1].dl = 3e-9;
1231 b[1].pv[0][0] = 0.738098796;
1232 b[1].pv[0][1] = 4.63658692;
1233 b[1].pv[0][2] = 1.9693136;
1234 b[1].pv[1][0] = -0.00755816922;
1235 b[1].pv[1][1] = 0.00126913722;
1236 b[1].pv[1][2] = 0.000727999001;
1237 b[2].bm = 1.0;
1238 b[2].dl = 6e-6;
1239 b[2].pv[0][0] = -0.000712174377;
1240 b[2].pv[0][1] = -0.00230478303;
1241 b[2].pv[0][2] = -0.00105865966;
1242 b[2].pv[1][0] = 6.29235213e-6;
1243 b[2].pv[1][1] = -3.30888387e-7;
1244 b[2].pv[1][2] = -2.96486623e-7;
1245
1246 iauAtciqn ( rc, dc, pr, pd, px, rv, &astrom, 3, b, &ri, &di);
1247
1248 vvd(ri, 2.710122008105325582, 1e-12, "iauAtciqn", "ri", status);
1249 vvd(di, 0.1729371916491459122, 1e-12, "iauAtciqn", "di", status);
1250
1251}
1252
1253static void t_atciqz(int *status)
1254/*
1255** - - - - - - - - -
1256** t _ a t c i q z
1257** - - - - - - - - -
1258**
1259** Test iauAtciqz function.
1260**
1261** Returned:
1262** status int FALSE = success, TRUE = fail
1263**
1264** Called: iauApci13, iauAtciqz, vvd
1265**
1266** This revision: 2013 October 3
1267*/
1268{
1269 double date1, date2, eo, rc, dc, ri, di;
1270 iauASTROM astrom;
1271
1272
1273 date1 = 2456165.5;
1274 date2 = 0.401182685;
1275 iauApci13(date1, date2, &astrom, &eo);
1276 rc = 2.71;
1277 dc = 0.174;
1278
1279 iauAtciqz(rc, dc, &astrom, &ri, &di);
1280
1281 vvd(ri, 2.709994899247599271, 1e-12, "iauAtciqz", "ri", status);
1282 vvd(di, 0.1728740720983623469, 1e-12, "iauAtciqz", "di", status);
1283
1284}
1285
1286static void t_atco13(int *status)
1287/*
1288** - - - - - - - - -
1289** t _ a t c o 1 3
1290** - - - - - - - - -
1291**
1292** Test iauAtco13 function.
1293**
1294** Returned:
1295** status int FALSE = success, TRUE = fail
1296**
1297** Called: iauAtco13, vvd, viv
1298**
1299** This revision: 2013 October 4
1300*/
1301{
1302 double rc, dc, pr, pd, px, rv, utc1, utc2, dut1,
1303 elong, phi, hm, xp, yp, phpa, tc, rh, wl,
1304 aob, zob, hob, dob, rob, eo;
1305 int j;
1306
1307
1308 rc = 2.71;
1309 dc = 0.174;
1310 pr = 1e-5;
1311 pd = 5e-6;
1312 px = 0.1;
1313 rv = 55.0;
1314 utc1 = 2456384.5;
1315 utc2 = 0.969254051;
1316 dut1 = 0.1550675;
1317 elong = -0.527800806;
1318 phi = -1.2345856;
1319 hm = 2738.0;
1320 xp = 2.47230737e-7;
1321 yp = 1.82640464e-6;
1322 phpa = 731.0;
1323 tc = 12.8;
1324 rh = 0.59;
1325 wl = 0.55;
1326
1327 j = iauAtco13(rc, dc, pr, pd, px, rv,
1328 utc1, utc2, dut1, elong, phi, hm, xp, yp,
1329 phpa, tc, rh, wl,
1330 &aob, &zob, &hob, &dob, &rob, &eo);
1331
1332 vvd(aob, 0.09251774485358230653, 1e-12, "iauAtco13", "aob", status);
1333 vvd(zob, 1.407661405256767021, 1e-12, "iauAtco13", "zob", status);
1334 vvd(hob, -0.09265154431403157925, 1e-12, "iauAtco13", "hob", status);
1335 vvd(dob, 0.1716626560075591655, 1e-12, "iauAtco13", "dob", status);
1336 vvd(rob, 2.710260453503097719, 1e-12, "iauAtco13", "rob", status);
1337 vvd(eo, -0.003020548354802412839, 1e-14, "iauAtco13", "eo", status);
1338 viv(j, 0, "iauAtco13", "j", status);
1339
1340}
1341
1342static void t_atic13(int *status)
1343/*
1344** - - - - - - - - -
1345** t _ a t i c 1 3
1346** - - - - - - - - -
1347**
1348** Test iauAtic13 function.
1349**
1350** Returned:
1351** status int FALSE = success, TRUE = fail
1352**
1353** Called: iauAtic13, vvd
1354**
1355** This revision: 2013 October 3
1356*/
1357{
1358 double ri, di, date1, date2, rc, dc, eo;
1359
1360
1361 ri = 2.710121572969038991;
1362 di = 0.1729371367218230438;
1363 date1 = 2456165.5;
1364 date2 = 0.401182685;
1365
1366 iauAtic13(ri, di, date1, date2, &rc, &dc, &eo);
1367
1368 vvd(rc, 2.710126504531374930, 1e-12, "iauAtic13", "rc", status);
1369 vvd(dc, 0.1740632537628342320, 1e-12, "iauAtic13", "dc", status);
1370 vvd(eo, -0.002900618712657375647, 1e-14, "iauAtic13", "eo", status);
1371
1372}
1373
1374static void t_aticq(int *status)
1375/*
1376** - - - - - - - -
1377** t _ a t i c q
1378** - - - - - - - -
1379**
1380** Test iauAticq function.
1381**
1382** Returned:
1383** status int FALSE = success, TRUE = fail
1384**
1385** Called: iauApci13, iauAticq, vvd
1386**
1387** This revision: 2013 October 3
1388*/
1389{
1390 double date1, date2, eo, ri, di, rc, dc;
1391 iauASTROM astrom;
1392
1393
1394 date1 = 2456165.5;
1395 date2 = 0.401182685;
1396 iauApci13(date1, date2, &astrom, &eo);
1397 ri = 2.710121572969038991;
1398 di = 0.1729371367218230438;
1399
1400 iauAticq(ri, di, &astrom, &rc, &dc);
1401
1402 vvd(rc, 2.710126504531374930, 1e-12, "iauAticq", "rc", status);
1403 vvd(dc, 0.1740632537628342320, 1e-12, "iauAticq", "dc", status);
1404
1405}
1406
1407static void t_aticqn(int *status)
1408/*
1409** - - - - - - - - -
1410** t _ a t i c q n
1411** - - - - - - - - -
1412**
1413** Test iauAticqn function.
1414**
1415** Returned:
1416** status int FALSE = success, TRUE = fail
1417**
1418** Called: iauApci13, iauAticqn, vvd
1419**
1420** This revision: 2013 October 3
1421*/
1422{
1423 double date1, date2, eo, ri, di, rc, dc;
1424 iauLDBODY b[3];
1425 iauASTROM astrom;
1426
1427
1428 date1 = 2456165.5;
1429 date2 = 0.401182685;
1430 iauApci13(date1, date2, &astrom, &eo);
1431 ri = 2.709994899247599271;
1432 di = 0.1728740720983623469;
1433 b[0].bm = 0.00028574;
1434 b[0].dl = 3e-10;
1435 b[0].pv[0][0] = -7.81014427;
1436 b[0].pv[0][1] = -5.60956681;
1437 b[0].pv[0][2] = -1.98079819;
1438 b[0].pv[1][0] = 0.0030723249;
1439 b[0].pv[1][1] = -0.00406995477;
1440 b[0].pv[1][2] = -0.00181335842;
1441 b[1].bm = 0.00095435;
1442 b[1].dl = 3e-9;
1443 b[1].pv[0][0] = 0.738098796;
1444 b[1].pv[0][1] = 4.63658692;
1445 b[1].pv[0][2] = 1.9693136;
1446 b[1].pv[1][0] = -0.00755816922;
1447 b[1].pv[1][1] = 0.00126913722;
1448 b[1].pv[1][2] = 0.000727999001;
1449 b[2].bm = 1.0;
1450 b[2].dl = 6e-6;
1451 b[2].pv[0][0] = -0.000712174377;
1452 b[2].pv[0][1] = -0.00230478303;
1453 b[2].pv[0][2] = -0.00105865966;
1454 b[2].pv[1][0] = 6.29235213e-6;
1455 b[2].pv[1][1] = -3.30888387e-7;
1456 b[2].pv[1][2] = -2.96486623e-7;
1457
1458 iauAticqn(ri, di, &astrom, 3, b, &rc, &dc);
1459
1460 vvd(rc, 2.709999575032685412, 1e-12, "iauAtciqn", "rc", status);
1461 vvd(dc, 0.1739999656317778034, 1e-12, "iauAtciqn", "dc", status);
1462
1463}
1464
1465static void t_atio13(int *status)
1466/*
1467** - - - - - - - - -
1468** t _ a t i o 1 3
1469** - - - - - - - - -
1470**
1471** Test iauAtio13 function.
1472**
1473** Returned:
1474** status int FALSE = success, TRUE = fail
1475**
1476** Called: iauAtio13, vvd, viv
1477**
1478** This revision: 2013 October 3
1479*/
1480{
1481 double ri, di, utc1, utc2, dut1, elong, phi, hm, xp, yp,
1482 phpa, tc, rh, wl, aob, zob, hob, dob, rob;
1483 int j;
1484
1485
1486 ri = 2.710121572969038991;
1487 di = 0.1729371367218230438;
1488 utc1 = 2456384.5;
1489 utc2 = 0.969254051;
1490 dut1 = 0.1550675;
1491 elong = -0.527800806;
1492 phi = -1.2345856;
1493 hm = 2738.0;
1494 xp = 2.47230737e-7;
1495 yp = 1.82640464e-6;
1496 phpa = 731.0;
1497 tc = 12.8;
1498 rh = 0.59;
1499 wl = 0.55;
1500
1501 j = iauAtio13(ri, di, utc1, utc2, dut1, elong, phi, hm,
1502 xp, yp, phpa, tc, rh, wl,
1503 &aob, &zob, &hob, &dob, &rob);
1504
1505 vvd(aob, 0.09233952224794989993, 1e-12, "iauAtio13", "aob", status);
1506 vvd(zob, 1.407758704513722461, 1e-12, "iauAtio13", "zob", status);
1507 vvd(hob, -0.09247619879782006106, 1e-12, "iauAtio13", "hob", status);
1508 vvd(dob, 0.1717653435758265198, 1e-12, "iauAtio13", "dob", status);
1509 vvd(rob, 2.710085107986886201, 1e-12, "iauAtio13", "rob", status);
1510 viv(j, 0, "iauAtio13", "j", status);
1511
1512}
1513
1514static void t_atioq(int *status)
1515/*
1516** - - - - - - - -
1517** t _ a t i o q
1518** - - - - - - - -
1519**
1520** Test iauAtioq function.
1521**
1522** Returned:
1523** status int FALSE = success, TRUE = fail
1524**
1525** Called: iauApio13, iauAtioq, vvd, viv
1526**
1527** This revision: 2013 October 4
1528*/
1529{
1530 double utc1, utc2, dut1, elong, phi, hm, xp, yp,
1531 phpa, tc, rh, wl, ri, di, aob, zob, hob, dob, rob;
1532 iauASTROM astrom;
1533
1534
1535 utc1 = 2456384.5;
1536 utc2 = 0.969254051;
1537 dut1 = 0.1550675;
1538 elong = -0.527800806;
1539 phi = -1.2345856;
1540 hm = 2738.0;
1541 xp = 2.47230737e-7;
1542 yp = 1.82640464e-6;
1543 phpa = 731.0;
1544 tc = 12.8;
1545 rh = 0.59;
1546 wl = 0.55;
1547 (void) iauApio13(utc1, utc2, dut1, elong, phi, hm, xp, yp,
1548 phpa, tc, rh, wl, &astrom);
1549 ri = 2.710121572969038991;
1550 di = 0.1729371367218230438;
1551
1552 iauAtioq(ri, di, &astrom, &aob, &zob, &hob, &dob, &rob);
1553
1554 vvd(aob, 0.09233952224794989993, 1e-12, "iauAtioq", "aob", status);
1555 vvd(zob, 1.407758704513722461, 1e-12, "iauAtioq", "zob", status);
1556 vvd(hob, -0.09247619879782006106, 1e-12, "iauAtioq", "hob", status);
1557 vvd(dob, 0.1717653435758265198, 1e-12, "iauAtioq", "dob", status);
1558 vvd(rob, 2.710085107986886201, 1e-12, "iauAtioq", "rob", status);
1559
1560}
1561
1562static void t_atoc13(int *status)
1563/*
1564** - - - - - - - - -
1565** t _ a t o c 1 3
1566** - - - - - - - - -
1567**
1568** Test iauAtoc13 function.
1569**
1570** Returned:
1571** status int FALSE = success, TRUE = fail
1572**
1573** Called: iauAtoc13, vvd, viv
1574**
1575** This revision: 2013 October 3
1576*/
1577{
1578 double utc1, utc2, dut1,
1579 elong, phi, hm, xp, yp, phpa, tc, rh, wl,
1580 ob1, ob2, rc, dc;
1581 int j;
1582
1583
1584 utc1 = 2456384.5;
1585 utc2 = 0.969254051;
1586 dut1 = 0.1550675;
1587 elong = -0.527800806;
1588 phi = -1.2345856;
1589 hm = 2738.0;
1590 xp = 2.47230737e-7;
1591 yp = 1.82640464e-6;
1592 phpa = 731.0;
1593 tc = 12.8;
1594 rh = 0.59;
1595 wl = 0.55;
1596
1597 ob1 = 2.710085107986886201;
1598 ob2 = 0.1717653435758265198;
1599 j = iauAtoc13 ( "R", ob1, ob2, utc1, utc2, dut1,
1600 elong, phi, hm, xp, yp, phpa, tc, rh, wl,
1601 &rc, &dc);
1602 vvd(rc, 2.709956744661000609, 1e-12, "iauAtoc13", "R/rc", status);
1603 vvd(dc, 0.1741696500895398562, 1e-12, "iauAtoc13", "R/dc", status);
1604 viv(j, 0, "iauAtoc13", "R/j", status);
1605
1606 ob1 = -0.09247619879782006106;
1607 ob2 = 0.1717653435758265198;
1608 j = iauAtoc13 ( "H", ob1, ob2, utc1, utc2, dut1,
1609 elong, phi, hm, xp, yp, phpa, tc, rh, wl,
1610 &rc, &dc);
1611 vvd(rc, 2.709956744661000609, 1e-12, "iauAtoc13", "H/rc", status);
1612 vvd(dc, 0.1741696500895398562, 1e-12, "iauAtoc13", "H/dc", status);
1613 viv(j, 0, "iauAtoc13", "H/j", status);
1614
1615 ob1 = 0.09233952224794989993;
1616 ob2 = 1.407758704513722461;
1617 j = iauAtoc13 ( "A", ob1, ob2, utc1, utc2, dut1,
1618 elong, phi, hm, xp, yp, phpa, tc, rh, wl,
1619 &rc, &dc);
1620 vvd(rc, 2.709956744661000609, 1e-12, "iauAtoc13", "A/rc", status);
1621 vvd(dc, 0.1741696500895398565, 1e-12, "iauAtoc13", "A/dc", status);
1622 viv(j, 0, "iauAtoc13", "A/j", status);
1623
1624}
1625
1626static void t_atoi13(int *status)
1627/*
1628** - - - - - - - - -
1629** t _ a t o i 1 3
1630** - - - - - - - - -
1631**
1632** Test iauAtoi13 function.
1633**
1634** Returned:
1635** status int FALSE = success, TRUE = fail
1636**
1637** Called: iauAtoi13, vvd, viv
1638**
1639** This revision: 2013 October 3
1640*/
1641{
1642 double utc1, utc2, dut1, elong, phi, hm, xp, yp, phpa, tc, rh, wl,
1643 ob1, ob2, ri, di;
1644 int j;
1645
1646
1647 utc1 = 2456384.5;
1648 utc2 = 0.969254051;
1649 dut1 = 0.1550675;
1650 elong = -0.527800806;
1651 phi = -1.2345856;
1652 hm = 2738.0;
1653 xp = 2.47230737e-7;
1654 yp = 1.82640464e-6;
1655 phpa = 731.0;
1656 tc = 12.8;
1657 rh = 0.59;
1658 wl = 0.55;
1659
1660 ob1 = 2.710085107986886201;
1661 ob2 = 0.1717653435758265198;
1662 j = iauAtoi13 ( "R", ob1, ob2, utc1, utc2, dut1,
1663 elong, phi, hm, xp, yp, phpa, tc, rh, wl,
1664 &ri, &di);
1665 vvd(ri, 2.710121574449135955, 1e-12, "iauAtoi13", "R/ri", status);
1666 vvd(di, 0.1729371839114567725, 1e-12, "iauAtoi13", "R/di", status);
1667 viv(j, 0, "iauAtoi13", "R/J", status);
1668
1669 ob1 = -0.09247619879782006106;
1670 ob2 = 0.1717653435758265198;
1671 j = iauAtoi13 ( "H", ob1, ob2, utc1, utc2, dut1,
1672 elong, phi, hm, xp, yp, phpa, tc, rh, wl,
1673 &ri, &di);
1674 vvd(ri, 2.710121574449135955, 1e-12, "iauAtoi13", "H/ri", status);
1675 vvd(di, 0.1729371839114567725, 1e-12, "iauAtoi13", "H/di", status);
1676 viv(j, 0, "iauAtoi13", "H/J", status);
1677
1678 ob1 = 0.09233952224794989993;
1679 ob2 = 1.407758704513722461;
1680 j = iauAtoi13 ( "A", ob1, ob2, utc1, utc2, dut1,
1681 elong, phi, hm, xp, yp, phpa, tc, rh, wl,
1682 &ri, &di);
1683 vvd(ri, 2.710121574449135955, 1e-12, "iauAtoi13", "A/ri", status);
1684 vvd(di, 0.1729371839114567728, 1e-12, "iauAtoi13", "A/di", status);
1685 viv(j, 0, "iauAtoi13", "A/J", status);
1686
1687}
1688
1689static void t_atoiq(int *status)
1690/*
1691** - - - - - - - -
1692** t _ a t o i q
1693** - - - - - - - -
1694*
1695** Test iauAtoiq function.
1696*
1697** Returned:
1698** status int FALSE = success, TRUE = fail
1699*
1700** Called: iauApio13, iauAtoiq, vvd
1701*
1702** This revision: 2013 October 4
1703*/
1704{
1705 double utc1, utc2, dut1, elong, phi, hm, xp, yp, phpa, tc, rh, wl,
1706 ob1, ob2, ri, di;
1707 iauASTROM astrom;
1708
1709
1710 utc1 = 2456384.5;
1711 utc2 = 0.969254051;
1712 dut1 = 0.1550675;
1713 elong = -0.527800806;
1714 phi = -1.2345856;
1715 hm = 2738.0;
1716 xp = 2.47230737e-7;
1717 yp = 1.82640464e-6;
1718 phpa = 731.0;
1719 tc = 12.8;
1720 rh = 0.59;
1721 wl = 0.55;
1722 (void) iauApio13(utc1, utc2, dut1, elong, phi, hm, xp, yp,
1723 phpa, tc, rh, wl, &astrom);
1724
1725 ob1 = 2.710085107986886201;
1726 ob2 = 0.1717653435758265198;
1727 iauAtoiq("R", ob1, ob2, &astrom, &ri, &di);
1728 vvd(ri, 2.710121574449135955, 1e-12,
1729 "iauAtoiq", "R/ri", status);
1730 vvd(di, 0.1729371839114567725, 1e-12,
1731 "iauAtoiq", "R/di", status);
1732
1733 ob1 = -0.09247619879782006106;
1734 ob2 = 0.1717653435758265198;
1735 iauAtoiq("H", ob1, ob2, &astrom, &ri, &di);
1736 vvd(ri, 2.710121574449135955, 1e-12,
1737 "iauAtoiq", "H/ri", status);
1738 vvd(di, 0.1729371839114567725, 1e-12,
1739 "iauAtoiq", "H/di", status);
1740
1741 ob1 = 0.09233952224794989993;
1742 ob2 = 1.407758704513722461;
1743 iauAtoiq("A", ob1, ob2, &astrom, &ri, &di);
1744 vvd(ri, 2.710121574449135955, 1e-12,
1745 "iauAtoiq", "A/ri", status);
1746 vvd(di, 0.1729371839114567728, 1e-12,
1747 "iauAtoiq", "A/di", status);
1748
1749}
1750
1751static void t_bi00(int *status)
1752/*
1753** - - - - - - -
1754** t _ b i 0 0
1755** - - - - - - -
1756**
1757** Test iauBi00 function.
1758**
1759** Returned:
1760** status int FALSE = success, TRUE = fail
1761**
1762** Called: iauBi00, vvd
1763**
1764** This revision: 2013 August 7
1765*/
1766{
1767 double dpsibi, depsbi, dra;
1768
1769 iauBi00(&dpsibi, &depsbi, &dra);
1770
1771 vvd(dpsibi, -0.2025309152835086613e-6, 1e-12,
1772 "iauBi00", "dpsibi", status);
1773 vvd(depsbi, -0.3306041454222147847e-7, 1e-12,
1774 "iauBi00", "depsbi", status);
1775 vvd(dra, -0.7078279744199225506e-7, 1e-12,
1776 "iauBi00", "dra", status);
1777}
1778
1779static void t_bp00(int *status)
1780/*
1781** - - - - - - -
1782** t _ b p 0 0
1783** - - - - - - -
1784**
1785** Test iauBp00 function.
1786**
1787** Returned:
1788** status int FALSE = success, TRUE = fail
1789**
1790** Called: iauBp00, vvd
1791**
1792** This revision: 2013 August 7
1793*/
1794{
1795 double rb[3][3], rp[3][3], rbp[3][3];
1796
1797
1798 iauBp00(2400000.5, 50123.9999, rb, rp, rbp);
1799
1800 vvd(rb[0][0], 0.9999999999999942498, 1e-12,
1801 "iauBp00", "rb11", status);
1802 vvd(rb[0][1], -0.7078279744199196626e-7, 1e-16,
1803 "iauBp00", "rb12", status);
1804 vvd(rb[0][2], 0.8056217146976134152e-7, 1e-16,
1805 "iauBp00", "rb13", status);
1806 vvd(rb[1][0], 0.7078279477857337206e-7, 1e-16,
1807 "iauBp00", "rb21", status);
1808 vvd(rb[1][1], 0.9999999999999969484, 1e-12,
1809 "iauBp00", "rb22", status);
1810 vvd(rb[1][2], 0.3306041454222136517e-7, 1e-16,
1811 "iauBp00", "rb23", status);
1812 vvd(rb[2][0], -0.8056217380986972157e-7, 1e-16,
1813 "iauBp00", "rb31", status);
1814 vvd(rb[2][1], -0.3306040883980552500e-7, 1e-16,
1815 "iauBp00", "rb32", status);
1816 vvd(rb[2][2], 0.9999999999999962084, 1e-12,
1817 "iauBp00", "rb33", status);
1818
1819 vvd(rp[0][0], 0.9999995504864048241, 1e-12,
1820 "iauBp00", "rp11", status);
1821 vvd(rp[0][1], 0.8696113836207084411e-3, 1e-14,
1822 "iauBp00", "rp12", status);
1823 vvd(rp[0][2], 0.3778928813389333402e-3, 1e-14,
1824 "iauBp00", "rp13", status);
1825 vvd(rp[1][0], -0.8696113818227265968e-3, 1e-14,
1826 "iauBp00", "rp21", status);
1827 vvd(rp[1][1], 0.9999996218879365258, 1e-12,
1828 "iauBp00", "rp22", status);
1829 vvd(rp[1][2], -0.1690679263009242066e-6, 1e-14,
1830 "iauBp00", "rp23", status);
1831 vvd(rp[2][0], -0.3778928854764695214e-3, 1e-14,
1832 "iauBp00", "rp31", status);
1833 vvd(rp[2][1], -0.1595521004195286491e-6, 1e-14,
1834 "iauBp00", "rp32", status);
1835 vvd(rp[2][2], 0.9999999285984682756, 1e-12,
1836 "iauBp00", "rp33", status);
1837
1838 vvd(rbp[0][0], 0.9999995505175087260, 1e-12,
1839 "iauBp00", "rbp11", status);
1840 vvd(rbp[0][1], 0.8695405883617884705e-3, 1e-14,
1841 "iauBp00", "rbp12", status);
1842 vvd(rbp[0][2], 0.3779734722239007105e-3, 1e-14,
1843 "iauBp00", "rbp13", status);
1844 vvd(rbp[1][0], -0.8695405990410863719e-3, 1e-14,
1845 "iauBp00", "rbp21", status);
1846 vvd(rbp[1][1], 0.9999996219494925900, 1e-12,
1847 "iauBp00", "rbp22", status);
1848 vvd(rbp[1][2], -0.1360775820404982209e-6, 1e-14,
1849 "iauBp00", "rbp23", status);
1850 vvd(rbp[2][0], -0.3779734476558184991e-3, 1e-14,
1851 "iauBp00", "rbp31", status);
1852 vvd(rbp[2][1], -0.1925857585832024058e-6, 1e-14,
1853 "iauBp00", "rbp32", status);
1854 vvd(rbp[2][2], 0.9999999285680153377, 1e-12,
1855 "iauBp00", "rbp33", status);
1856}
1857
1858static void t_bp06(int *status)
1859/*
1860** - - - - - - -
1861** t _ b p 0 6
1862** - - - - - - -
1863**
1864** Test iauBp06 function.
1865**
1866** Returned:
1867** status int FALSE = success, TRUE = fail
1868**
1869** Called: iauBp06, vvd
1870**
1871** This revision: 2013 August 7
1872*/
1873{
1874 double rb[3][3], rp[3][3], rbp[3][3];
1875
1876
1877 iauBp06(2400000.5, 50123.9999, rb, rp, rbp);
1878
1879 vvd(rb[0][0], 0.9999999999999942497, 1e-12,
1880 "iauBp06", "rb11", status);
1881 vvd(rb[0][1], -0.7078368960971557145e-7, 1e-14,
1882 "iauBp06", "rb12", status);
1883 vvd(rb[0][2], 0.8056213977613185606e-7, 1e-14,
1884 "iauBp06", "rb13", status);
1885 vvd(rb[1][0], 0.7078368694637674333e-7, 1e-14,
1886 "iauBp06", "rb21", status);
1887 vvd(rb[1][1], 0.9999999999999969484, 1e-12,
1888 "iauBp06", "rb22", status);
1889 vvd(rb[1][2], 0.3305943742989134124e-7, 1e-14,
1890 "iauBp06", "rb23", status);
1891 vvd(rb[2][0], -0.8056214211620056792e-7, 1e-14,
1892 "iauBp06", "rb31", status);
1893 vvd(rb[2][1], -0.3305943172740586950e-7, 1e-14,
1894 "iauBp06", "rb32", status);
1895 vvd(rb[2][2], 0.9999999999999962084, 1e-12,
1896 "iauBp06", "rb33", status);
1897
1898 vvd(rp[0][0], 0.9999995504864960278, 1e-12,
1899 "iauBp06", "rp11", status);
1900 vvd(rp[0][1], 0.8696112578855404832e-3, 1e-14,
1901 "iauBp06", "rp12", status);
1902 vvd(rp[0][2], 0.3778929293341390127e-3, 1e-14,
1903 "iauBp06", "rp13", status);
1904 vvd(rp[1][0], -0.8696112560510186244e-3, 1e-14,
1905 "iauBp06", "rp21", status);
1906 vvd(rp[1][1], 0.9999996218880458820, 1e-12,
1907 "iauBp06", "rp22", status);
1908 vvd(rp[1][2], -0.1691646168941896285e-6, 1e-14,
1909 "iauBp06", "rp23", status);
1910 vvd(rp[2][0], -0.3778929335557603418e-3, 1e-14,
1911 "iauBp06", "rp31", status);
1912 vvd(rp[2][1], -0.1594554040786495076e-6, 1e-14,
1913 "iauBp06", "rp32", status);
1914 vvd(rp[2][2], 0.9999999285984501222, 1e-12,
1915 "iauBp06", "rp33", status);
1916
1917 vvd(rbp[0][0], 0.9999995505176007047, 1e-12,
1918 "iauBp06", "rbp11", status);
1919 vvd(rbp[0][1], 0.8695404617348208406e-3, 1e-14,
1920 "iauBp06", "rbp12", status);
1921 vvd(rbp[0][2], 0.3779735201865589104e-3, 1e-14,
1922 "iauBp06", "rbp13", status);
1923 vvd(rbp[1][0], -0.8695404723772031414e-3, 1e-14,
1924 "iauBp06", "rbp21", status);
1925 vvd(rbp[1][1], 0.9999996219496027161, 1e-12,
1926 "iauBp06", "rbp22", status);
1927 vvd(rbp[1][2], -0.1361752497080270143e-6, 1e-14,
1928 "iauBp06", "rbp23", status);
1929 vvd(rbp[2][0], -0.3779734957034089490e-3, 1e-14,
1930 "iauBp06", "rbp31", status);
1931 vvd(rbp[2][1], -0.1924880847894457113e-6, 1e-14,
1932 "iauBp06", "rbp32", status);
1933 vvd(rbp[2][2], 0.9999999285679971958, 1e-12,
1934 "iauBp06", "rbp33", status);
1935}
1936
1937static void t_bpn2xy(int *status)
1938/*
1939** - - - - - - - - -
1940** t _ b p n 2 x y
1941** - - - - - - - - -
1942**
1943** Test iauBpn2xy function.
1944**
1945** Returned:
1946** status int FALSE = success, TRUE = fail
1947**
1948** Called: iauBpn2xy, vvd
1949**
1950** This revision: 2013 August 7
1951*/
1952{
1953 double rbpn[3][3], x, y;
1954
1955
1956 rbpn[0][0] = 9.999962358680738e-1;
1957 rbpn[0][1] = -2.516417057665452e-3;
1958 rbpn[0][2] = -1.093569785342370e-3;
1959
1960 rbpn[1][0] = 2.516462370370876e-3;
1961 rbpn[1][1] = 9.999968329010883e-1;
1962 rbpn[1][2] = 4.006159587358310e-5;
1963
1964 rbpn[2][0] = 1.093465510215479e-3;
1965 rbpn[2][1] = -4.281337229063151e-5;
1966 rbpn[2][2] = 9.999994012499173e-1;
1967
1968 iauBpn2xy(rbpn, &x, &y);
1969
1970 vvd(x, 1.093465510215479e-3, 1e-12, "iauBpn2xy", "x", status);
1971 vvd(y, -4.281337229063151e-5, 1e-12, "iauBpn2xy", "y", status);
1972
1973}
1974
1975static void t_c2i00a(int *status)
1976/*
1977** - - - - - - - - -
1978** t _ c 2 i 0 0 a
1979** - - - - - - - - -
1980**
1981** Test iauC2i00a function.
1982**
1983** Returned:
1984** status int FALSE = success, TRUE = fail
1985**
1986** Called: iauC2i00a, vvd
1987**
1988** This revision: 2013 August 7
1989*/
1990{
1991 double rc2i[3][3];
1992
1993
1994 iauC2i00a(2400000.5, 53736.0, rc2i);
1995
1996 vvd(rc2i[0][0], 0.9999998323037165557, 1e-12,
1997 "iauC2i00a", "11", status);
1998 vvd(rc2i[0][1], 0.5581526348992140183e-9, 1e-12,
1999 "iauC2i00a", "12", status);
2000 vvd(rc2i[0][2], -0.5791308477073443415e-3, 1e-12,
2001 "iauC2i00a", "13", status);
2002
2003 vvd(rc2i[1][0], -0.2384266227870752452e-7, 1e-12,
2004 "iauC2i00a", "21", status);
2005 vvd(rc2i[1][1], 0.9999999991917405258, 1e-12,
2006 "iauC2i00a", "22", status);
2007 vvd(rc2i[1][2], -0.4020594955028209745e-4, 1e-12,
2008 "iauC2i00a", "23", status);
2009
2010 vvd(rc2i[2][0], 0.5791308472168152904e-3, 1e-12,
2011 "iauC2i00a", "31", status);
2012 vvd(rc2i[2][1], 0.4020595661591500259e-4, 1e-12,
2013 "iauC2i00a", "32", status);
2014 vvd(rc2i[2][2], 0.9999998314954572304, 1e-12,
2015 "iauC2i00a", "33", status);
2016
2017}
2018
2019static void t_c2i00b(int *status)
2020/*
2021** - - - - - - - - -
2022** t _ c 2 i 0 0 b
2023** - - - - - - - - -
2024**
2025** Test iauC2i00b function.
2026**
2027** Returned:
2028** status int FALSE = success, TRUE = fail
2029**
2030** Called: iauC2i00b, vvd
2031**
2032** This revision: 2013 August 7
2033*/
2034{
2035 double rc2i[3][3];
2036
2037
2038 iauC2i00b(2400000.5, 53736.0, rc2i);
2039
2040 vvd(rc2i[0][0], 0.9999998323040954356, 1e-12,
2041 "iauC2i00b", "11", status);
2042 vvd(rc2i[0][1], 0.5581526349131823372e-9, 1e-12,
2043 "iauC2i00b", "12", status);
2044 vvd(rc2i[0][2], -0.5791301934855394005e-3, 1e-12,
2045 "iauC2i00b", "13", status);
2046
2047 vvd(rc2i[1][0], -0.2384239285499175543e-7, 1e-12,
2048 "iauC2i00b", "21", status);
2049 vvd(rc2i[1][1], 0.9999999991917574043, 1e-12,
2050 "iauC2i00b", "22", status);
2051 vvd(rc2i[1][2], -0.4020552974819030066e-4, 1e-12,
2052 "iauC2i00b", "23", status);
2053
2054 vvd(rc2i[2][0], 0.5791301929950208873e-3, 1e-12,
2055 "iauC2i00b", "31", status);
2056 vvd(rc2i[2][1], 0.4020553681373720832e-4, 1e-12,
2057 "iauC2i00b", "32", status);
2058 vvd(rc2i[2][2], 0.9999998314958529887, 1e-12,
2059 "iauC2i00b", "33", status);
2060
2061}
2062
2063static void t_c2i06a(int *status)
2064/*
2065** - - - - - - - - -
2066** t _ c 2 i 0 6 a
2067** - - - - - - - - -
2068**
2069** Test iauC2i06a function.
2070**
2071** Returned:
2072** status int FALSE = success, TRUE = fail
2073**
2074** Called: iauC2i06a, vvd
2075**
2076** This revision: 2013 August 7
2077*/
2078{
2079 double rc2i[3][3];
2080
2081
2082 iauC2i06a(2400000.5, 53736.0, rc2i);
2083
2084 vvd(rc2i[0][0], 0.9999998323037159379, 1e-12,
2085 "iauC2i06a", "11", status);
2086 vvd(rc2i[0][1], 0.5581121329587613787e-9, 1e-12,
2087 "iauC2i06a", "12", status);
2088 vvd(rc2i[0][2], -0.5791308487740529749e-3, 1e-12,
2089 "iauC2i06a", "13", status);
2090
2091 vvd(rc2i[1][0], -0.2384253169452306581e-7, 1e-12,
2092 "iauC2i06a", "21", status);
2093 vvd(rc2i[1][1], 0.9999999991917467827, 1e-12,
2094 "iauC2i06a", "22", status);
2095 vvd(rc2i[1][2], -0.4020579392895682558e-4, 1e-12,
2096 "iauC2i06a", "23", status);
2097
2098 vvd(rc2i[2][0], 0.5791308482835292617e-3, 1e-12,
2099 "iauC2i06a", "31", status);
2100 vvd(rc2i[2][1], 0.4020580099454020310e-4, 1e-12,
2101 "iauC2i06a", "32", status);
2102 vvd(rc2i[2][2], 0.9999998314954628695, 1e-12,
2103 "iauC2i06a", "33", status);
2104
2105}
2106
2107static void t_c2ibpn(int *status)
2108/*
2109** - - - - - - - - -
2110** t _ c 2 i b p n
2111** - - - - - - - - -
2112**
2113** Test iauC2ibpn function.
2114**
2115** Returned:
2116** status int FALSE = success, TRUE = fail
2117**
2118** Called: iauC2ibpn, vvd
2119**
2120** This revision: 2013 August 7
2121*/
2122{
2123 double rbpn[3][3], rc2i[3][3];
2124
2125
2126 rbpn[0][0] = 9.999962358680738e-1;
2127 rbpn[0][1] = -2.516417057665452e-3;
2128 rbpn[0][2] = -1.093569785342370e-3;
2129
2130 rbpn[1][0] = 2.516462370370876e-3;
2131 rbpn[1][1] = 9.999968329010883e-1;
2132 rbpn[1][2] = 4.006159587358310e-5;
2133
2134 rbpn[2][0] = 1.093465510215479e-3;
2135 rbpn[2][1] = -4.281337229063151e-5;
2136 rbpn[2][2] = 9.999994012499173e-1;
2137
2138 iauC2ibpn(2400000.5, 50123.9999, rbpn, rc2i);
2139
2140 vvd(rc2i[0][0], 0.9999994021664089977, 1e-12,
2141 "iauC2ibpn", "11", status);
2142 vvd(rc2i[0][1], -0.3869195948017503664e-8, 1e-12,
2143 "iauC2ibpn", "12", status);
2144 vvd(rc2i[0][2], -0.1093465511383285076e-2, 1e-12,
2145 "iauC2ibpn", "13", status);
2146
2147 vvd(rc2i[1][0], 0.5068413965715446111e-7, 1e-12,
2148 "iauC2ibpn", "21", status);
2149 vvd(rc2i[1][1], 0.9999999990835075686, 1e-12,
2150 "iauC2ibpn", "22", status);
2151 vvd(rc2i[1][2], 0.4281334246452708915e-4, 1e-12,
2152 "iauC2ibpn", "23", status);
2153
2154 vvd(rc2i[2][0], 0.1093465510215479000e-2, 1e-12,
2155 "iauC2ibpn", "31", status);
2156 vvd(rc2i[2][1], -0.4281337229063151000e-4, 1e-12,
2157 "iauC2ibpn", "32", status);
2158 vvd(rc2i[2][2], 0.9999994012499173103, 1e-12,
2159 "iauC2ibpn", "33", status);
2160
2161}
2162
2163static void t_c2ixy(int *status)
2164/*
2165** - - - - - - - -
2166** t _ c 2 i x y
2167** - - - - - - - -
2168**
2169** Test iauC2ixy function.
2170**
2171** Returned:
2172** status int FALSE = success, TRUE = fail
2173**
2174** Called: iauC2ixy, vvd
2175**
2176** This revision: 2013 August 7
2177*/
2178{
2179 double x, y, rc2i[3][3];
2180
2181
2182 x = 0.5791308486706011000e-3;
2183 y = 0.4020579816732961219e-4;
2184
2185 iauC2ixy(2400000.5, 53736, x, y, rc2i);
2186
2187 vvd(rc2i[0][0], 0.9999998323037157138, 1e-12,
2188 "iauC2ixy", "11", status);
2189 vvd(rc2i[0][1], 0.5581526349032241205e-9, 1e-12,
2190 "iauC2ixy", "12", status);
2191 vvd(rc2i[0][2], -0.5791308491611263745e-3, 1e-12,
2192 "iauC2ixy", "13", status);
2193
2194 vvd(rc2i[1][0], -0.2384257057469842953e-7, 1e-12,
2195 "iauC2ixy", "21", status);
2196 vvd(rc2i[1][1], 0.9999999991917468964, 1e-12,
2197 "iauC2ixy", "22", status);
2198 vvd(rc2i[1][2], -0.4020579110172324363e-4, 1e-12,
2199 "iauC2ixy", "23", status);
2200
2201 vvd(rc2i[2][0], 0.5791308486706011000e-3, 1e-12,
2202 "iauC2ixy", "31", status);
2203 vvd(rc2i[2][1], 0.4020579816732961219e-4, 1e-12,
2204 "iauC2ixy", "32", status);
2205 vvd(rc2i[2][2], 0.9999998314954627590, 1e-12,
2206 "iauC2ixy", "33", status);
2207
2208}
2209
2210static void t_c2ixys(int *status)
2211/*
2212** - - - - - - - - -
2213** t _ c 2 i x y s
2214** - - - - - - - - -
2215**
2216** Test iauC2ixys function.
2217**
2218** Returned:
2219** status int FALSE = success, TRUE = fail
2220**
2221** Called: iauC2ixys, vvd
2222**
2223** This revision: 2013 August 7
2224*/
2225{
2226 double x, y, s, rc2i[3][3];
2227
2228
2229 x = 0.5791308486706011000e-3;
2230 y = 0.4020579816732961219e-4;
2231 s = -0.1220040848472271978e-7;
2232
2233 iauC2ixys(x, y, s, rc2i);
2234
2235 vvd(rc2i[0][0], 0.9999998323037157138, 1e-12,
2236 "iauC2ixys", "11", status);
2237 vvd(rc2i[0][1], 0.5581984869168499149e-9, 1e-12,
2238 "iauC2ixys", "12", status);
2239 vvd(rc2i[0][2], -0.5791308491611282180e-3, 1e-12,
2240 "iauC2ixys", "13", status);
2241
2242 vvd(rc2i[1][0], -0.2384261642670440317e-7, 1e-12,
2243 "iauC2ixys", "21", status);
2244 vvd(rc2i[1][1], 0.9999999991917468964, 1e-12,
2245 "iauC2ixys", "22", status);
2246 vvd(rc2i[1][2], -0.4020579110169668931e-4, 1e-12,
2247 "iauC2ixys", "23", status);
2248
2249 vvd(rc2i[2][0], 0.5791308486706011000e-3, 1e-12,
2250 "iauC2ixys", "31", status);
2251 vvd(rc2i[2][1], 0.4020579816732961219e-4, 1e-12,
2252 "iauC2ixys", "32", status);
2253 vvd(rc2i[2][2], 0.9999998314954627590, 1e-12,
2254 "iauC2ixys", "33", status);
2255
2256}
2257
2258static void t_c2s(int *status)
2259/*
2260** - - - - - -
2261** t _ c 2 s
2262** - - - - - -
2263**
2264** Test iauC2s function.
2265**
2266** Returned:
2267** status int FALSE = success, TRUE = fail
2268**
2269** Called: iauC2s, vvd
2270**
2271** This revision: 2013 August 7
2272*/
2273{
2274 double p[3], theta, phi;
2275
2276
2277 p[0] = 100.0;
2278 p[1] = -50.0;
2279 p[2] = 25.0;
2280
2281 iauC2s(p, &theta, &phi);
2282
2283 vvd(theta, -0.4636476090008061162, 1e-14, "iauC2s", "theta", status);
2284 vvd(phi, 0.2199879773954594463, 1e-14, "iauC2s", "phi", status);
2285
2286}
2287
2288static void t_c2t00a(int *status)
2289/*
2290** - - - - - - - - -
2291** t _ c 2 t 0 0 a
2292** - - - - - - - - -
2293**
2294** Test iauC2t00a function.
2295**
2296** Returned:
2297** status int FALSE = success, TRUE = fail
2298**
2299** Called: iauC2t00a, vvd
2300**
2301** This revision: 2013 August 7
2302*/
2303{
2304 double tta, ttb, uta, utb, xp, yp, rc2t[3][3];
2305
2306
2307 tta = 2400000.5;
2308 uta = 2400000.5;
2309 ttb = 53736.0;
2310 utb = 53736.0;
2311 xp = 2.55060238e-7;
2312 yp = 1.860359247e-6;
2313
2314 iauC2t00a(tta, ttb, uta, utb, xp, yp, rc2t);
2315
2316 vvd(rc2t[0][0], -0.1810332128307182668, 1e-12,
2317 "iauC2t00a", "11", status);
2318 vvd(rc2t[0][1], 0.9834769806938457836, 1e-12,
2319 "iauC2t00a", "12", status);
2320 vvd(rc2t[0][2], 0.6555535638688341725e-4, 1e-12,
2321 "iauC2t00a", "13", status);
2322
2323 vvd(rc2t[1][0], -0.9834768134135984552, 1e-12,
2324 "iauC2t00a", "21", status);
2325 vvd(rc2t[1][1], -0.1810332203649520727, 1e-12,
2326 "iauC2t00a", "22", status);
2327 vvd(rc2t[1][2], 0.5749801116141056317e-3, 1e-12,
2328 "iauC2t00a", "23", status);
2329
2330 vvd(rc2t[2][0], 0.5773474014081406921e-3, 1e-12,
2331 "iauC2t00a", "31", status);
2332 vvd(rc2t[2][1], 0.3961832391770163647e-4, 1e-12,
2333 "iauC2t00a", "32", status);
2334 vvd(rc2t[2][2], 0.9999998325501692289, 1e-12,
2335 "iauC2t00a", "33", status);
2336
2337}
2338
2339static void t_c2t00b(int *status)
2340/*
2341** - - - - - - - - -
2342** t _ c 2 t 0 0 b
2343** - - - - - - - - -
2344**
2345** Test iauC2t00b function.
2346**
2347** Returned:
2348** status int FALSE = success, TRUE = fail
2349**
2350** Called: iauC2t00b, vvd
2351**
2352** This revision: 2013 August 7
2353*/
2354{
2355 double tta, ttb, uta, utb, xp, yp, rc2t[3][3];
2356
2357
2358 tta = 2400000.5;
2359 uta = 2400000.5;
2360 ttb = 53736.0;
2361 utb = 53736.0;
2362 xp = 2.55060238e-7;
2363 yp = 1.860359247e-6;
2364
2365 iauC2t00b(tta, ttb, uta, utb, xp, yp, rc2t);
2366
2367 vvd(rc2t[0][0], -0.1810332128439678965, 1e-12,
2368 "iauC2t00b", "11", status);
2369 vvd(rc2t[0][1], 0.9834769806913872359, 1e-12,
2370 "iauC2t00b", "12", status);
2371 vvd(rc2t[0][2], 0.6555565082458415611e-4, 1e-12,
2372 "iauC2t00b", "13", status);
2373
2374 vvd(rc2t[1][0], -0.9834768134115435923, 1e-12,
2375 "iauC2t00b", "21", status);
2376 vvd(rc2t[1][1], -0.1810332203784001946, 1e-12,
2377 "iauC2t00b", "22", status);
2378 vvd(rc2t[1][2], 0.5749793922030017230e-3, 1e-12,
2379 "iauC2t00b", "23", status);
2380
2381 vvd(rc2t[2][0], 0.5773467471863534901e-3, 1e-12,
2382 "iauC2t00b", "31", status);
2383 vvd(rc2t[2][1], 0.3961790411549945020e-4, 1e-12,
2384 "iauC2t00b", "32", status);
2385 vvd(rc2t[2][2], 0.9999998325505635738, 1e-12,
2386 "iauC2t00b", "33", status);
2387
2388}
2389
2390static void t_c2t06a(int *status)
2391/*
2392** - - - - - - - - -
2393** t _ c 2 t 0 6 a
2394** - - - - - - - - -
2395**
2396** Test iauC2t06a function.
2397**
2398** Returned:
2399** status int FALSE = success, TRUE = fail
2400**
2401** Called: iauC2t06a, vvd
2402**
2403** This revision: 2013 August 7
2404*/
2405{
2406 double tta, ttb, uta, utb, xp, yp, rc2t[3][3];
2407
2408
2409 tta = 2400000.5;
2410 uta = 2400000.5;
2411 ttb = 53736.0;
2412 utb = 53736.0;
2413 xp = 2.55060238e-7;
2414 yp = 1.860359247e-6;
2415
2416 iauC2t06a(tta, ttb, uta, utb, xp, yp, rc2t);
2417
2418 vvd(rc2t[0][0], -0.1810332128305897282, 1e-12,
2419 "iauC2t06a", "11", status);
2420 vvd(rc2t[0][1], 0.9834769806938592296, 1e-12,
2421 "iauC2t06a", "12", status);
2422 vvd(rc2t[0][2], 0.6555550962998436505e-4, 1e-12,
2423 "iauC2t06a", "13", status);
2424
2425 vvd(rc2t[1][0], -0.9834768134136214897, 1e-12,
2426 "iauC2t06a", "21", status);
2427 vvd(rc2t[1][1], -0.1810332203649130832, 1e-12,
2428 "iauC2t06a", "22", status);
2429 vvd(rc2t[1][2], 0.5749800844905594110e-3, 1e-12,
2430 "iauC2t06a", "23", status);
2431
2432 vvd(rc2t[2][0], 0.5773474024748545878e-3, 1e-12,
2433 "iauC2t06a", "31", status);
2434 vvd(rc2t[2][1], 0.3961816829632690581e-4, 1e-12,
2435 "iauC2t06a", "32", status);
2436 vvd(rc2t[2][2], 0.9999998325501747785, 1e-12,
2437 "iauC2t06a", "33", status);
2438
2439}
2440
2441static void t_c2tcio(int *status)
2442/*
2443** - - - - - - - - -
2444** t _ c 2 t c i o
2445** - - - - - - - - -
2446**
2447** Test iauC2tcio function.
2448**
2449** Returned:
2450** status int FALSE = success, TRUE = fail
2451**
2452** Called: iauC2tcio, vvd
2453**
2454** This revision: 2013 August 7
2455*/
2456{
2457 double rc2i[3][3], era, rpom[3][3], rc2t[3][3];
2458
2459
2460 rc2i[0][0] = 0.9999998323037164738;
2461 rc2i[0][1] = 0.5581526271714303683e-9;
2462 rc2i[0][2] = -0.5791308477073443903e-3;
2463
2464 rc2i[1][0] = -0.2384266227524722273e-7;
2465 rc2i[1][1] = 0.9999999991917404296;
2466 rc2i[1][2] = -0.4020594955030704125e-4;
2467
2468 rc2i[2][0] = 0.5791308472168153320e-3;
2469 rc2i[2][1] = 0.4020595661593994396e-4;
2470 rc2i[2][2] = 0.9999998314954572365;
2471
2472 era = 1.75283325530307;
2473
2474 rpom[0][0] = 0.9999999999999674705;
2475 rpom[0][1] = -0.1367174580728847031e-10;
2476 rpom[0][2] = 0.2550602379999972723e-6;
2477
2478 rpom[1][0] = 0.1414624947957029721e-10;
2479 rpom[1][1] = 0.9999999999982694954;
2480 rpom[1][2] = -0.1860359246998866338e-5;
2481
2482 rpom[2][0] = -0.2550602379741215275e-6;
2483 rpom[2][1] = 0.1860359247002413923e-5;
2484 rpom[2][2] = 0.9999999999982369658;
2485
2486
2487 iauC2tcio(rc2i, era, rpom, rc2t);
2488
2489 vvd(rc2t[0][0], -0.1810332128307110439, 1e-12,
2490 "iauC2tcio", "11", status);
2491 vvd(rc2t[0][1], 0.9834769806938470149, 1e-12,
2492 "iauC2tcio", "12", status);
2493 vvd(rc2t[0][2], 0.6555535638685466874e-4, 1e-12,
2494 "iauC2tcio", "13", status);
2495
2496 vvd(rc2t[1][0], -0.9834768134135996657, 1e-12,
2497 "iauC2tcio", "21", status);
2498 vvd(rc2t[1][1], -0.1810332203649448367, 1e-12,
2499 "iauC2tcio", "22", status);
2500 vvd(rc2t[1][2], 0.5749801116141106528e-3, 1e-12,
2501 "iauC2tcio", "23", status);
2502
2503 vvd(rc2t[2][0], 0.5773474014081407076e-3, 1e-12,
2504 "iauC2tcio", "31", status);
2505 vvd(rc2t[2][1], 0.3961832391772658944e-4, 1e-12,
2506 "iauC2tcio", "32", status);
2507 vvd(rc2t[2][2], 0.9999998325501691969, 1e-12,
2508 "iauC2tcio", "33", status);
2509
2510}
2511
2512static void t_c2teqx(int *status)
2513/*
2514** - - - - - - - - -
2515** t _ c 2 t e q x
2516** - - - - - - - - -
2517**
2518** Test iauC2teqx function.
2519**
2520** Returned:
2521** status int FALSE = success, TRUE = fail
2522**
2523** Called: iauC2teqx, vvd
2524**
2525** This revision: 2013 August 7
2526*/
2527{
2528 double rbpn[3][3], gst, rpom[3][3], rc2t[3][3];
2529
2530
2531 rbpn[0][0] = 0.9999989440476103608;
2532 rbpn[0][1] = -0.1332881761240011518e-2;
2533 rbpn[0][2] = -0.5790767434730085097e-3;
2534
2535 rbpn[1][0] = 0.1332858254308954453e-2;
2536 rbpn[1][1] = 0.9999991109044505944;
2537 rbpn[1][2] = -0.4097782710401555759e-4;
2538
2539 rbpn[2][0] = 0.5791308472168153320e-3;
2540 rbpn[2][1] = 0.4020595661593994396e-4;
2541 rbpn[2][2] = 0.9999998314954572365;
2542
2543 gst = 1.754166138040730516;
2544
2545 rpom[0][0] = 0.9999999999999674705;
2546 rpom[0][1] = -0.1367174580728847031e-10;
2547 rpom[0][2] = 0.2550602379999972723e-6;
2548
2549 rpom[1][0] = 0.1414624947957029721e-10;
2550 rpom[1][1] = 0.9999999999982694954;
2551 rpom[1][2] = -0.1860359246998866338e-5;
2552
2553 rpom[2][0] = -0.2550602379741215275e-6;
2554 rpom[2][1] = 0.1860359247002413923e-5;
2555 rpom[2][2] = 0.9999999999982369658;
2556
2557 iauC2teqx(rbpn, gst, rpom, rc2t);
2558
2559 vvd(rc2t[0][0], -0.1810332128528685730, 1e-12,
2560 "iauC2teqx", "11", status);
2561 vvd(rc2t[0][1], 0.9834769806897685071, 1e-12,
2562 "iauC2teqx", "12", status);
2563 vvd(rc2t[0][2], 0.6555535639982634449e-4, 1e-12,
2564 "iauC2teqx", "13", status);
2565
2566 vvd(rc2t[1][0], -0.9834768134095211257, 1e-12,
2567 "iauC2teqx", "21", status);
2568 vvd(rc2t[1][1], -0.1810332203871023800, 1e-12,
2569 "iauC2teqx", "22", status);
2570 vvd(rc2t[1][2], 0.5749801116126438962e-3, 1e-12,
2571 "iauC2teqx", "23", status);
2572
2573 vvd(rc2t[2][0], 0.5773474014081539467e-3, 1e-12,
2574 "iauC2teqx", "31", status);
2575 vvd(rc2t[2][1], 0.3961832391768640871e-4, 1e-12,
2576 "iauC2teqx", "32", status);
2577 vvd(rc2t[2][2], 0.9999998325501691969, 1e-12,
2578 "iauC2teqx", "33", status);
2579
2580}
2581
2582static void t_c2tpe(int *status)
2583/*
2584** - - - - - - - -
2585** t _ c 2 t p e
2586** - - - - - - - -
2587**
2588** Test iauC2tpe function.
2589**
2590** Returned:
2591** status int FALSE = success, TRUE = fail
2592**
2593** Called: iauC2tpe, vvd
2594**
2595** This revision: 2013 August 7
2596*/
2597{
2598 double tta, ttb, uta, utb, dpsi, deps, xp, yp, rc2t[3][3];
2599
2600
2601 tta = 2400000.5;
2602 uta = 2400000.5;
2603 ttb = 53736.0;
2604 utb = 53736.0;
2605 deps = 0.4090789763356509900;
2606 dpsi = -0.9630909107115582393e-5;
2607 xp = 2.55060238e-7;
2608 yp = 1.860359247e-6;
2609
2610 iauC2tpe(tta, ttb, uta, utb, dpsi, deps, xp, yp, rc2t);
2611
2612 vvd(rc2t[0][0], -0.1813677995763029394, 1e-12,
2613 "iauC2tpe", "11", status);
2614 vvd(rc2t[0][1], 0.9023482206891683275, 1e-12,
2615 "iauC2tpe", "12", status);
2616 vvd(rc2t[0][2], -0.3909902938641085751, 1e-12,
2617 "iauC2tpe", "13", status);
2618
2619 vvd(rc2t[1][0], -0.9834147641476804807, 1e-12,
2620 "iauC2tpe", "21", status);
2621 vvd(rc2t[1][1], -0.1659883635434995121, 1e-12,
2622 "iauC2tpe", "22", status);
2623 vvd(rc2t[1][2], 0.7309763898042819705e-1, 1e-12,
2624 "iauC2tpe", "23", status);
2625
2626 vvd(rc2t[2][0], 0.1059685430673215247e-2, 1e-12,
2627 "iauC2tpe", "31", status);
2628 vvd(rc2t[2][1], 0.3977631855605078674, 1e-12,
2629 "iauC2tpe", "32", status);
2630 vvd(rc2t[2][2], 0.9174875068792735362, 1e-12,
2631 "iauC2tpe", "33", status);
2632
2633}
2634
2635static void t_c2txy(int *status)
2636/*
2637** - - - - - - - -
2638** t _ c 2 t x y
2639** - - - - - - - -
2640**
2641** Test iauC2txy function.
2642**
2643** Returned:
2644** status int FALSE = success, TRUE = fail
2645**
2646** Called: iauC2txy, vvd
2647**
2648** This revision: 2013 August 7
2649*/
2650{
2651 double tta, ttb, uta, utb, x, y, xp, yp, rc2t[3][3];
2652
2653
2654 tta = 2400000.5;
2655 uta = 2400000.5;
2656 ttb = 53736.0;
2657 utb = 53736.0;
2658 x = 0.5791308486706011000e-3;
2659 y = 0.4020579816732961219e-4;
2660 xp = 2.55060238e-7;
2661 yp = 1.860359247e-6;
2662
2663 iauC2txy(tta, ttb, uta, utb, x, y, xp, yp, rc2t);
2664
2665 vvd(rc2t[0][0], -0.1810332128306279253, 1e-12,
2666 "iauC2txy", "11", status);
2667 vvd(rc2t[0][1], 0.9834769806938520084, 1e-12,
2668 "iauC2txy", "12", status);
2669 vvd(rc2t[0][2], 0.6555551248057665829e-4, 1e-12,
2670 "iauC2txy", "13", status);
2671
2672 vvd(rc2t[1][0], -0.9834768134136142314, 1e-12,
2673 "iauC2txy", "21", status);
2674 vvd(rc2t[1][1], -0.1810332203649529312, 1e-12,
2675 "iauC2txy", "22", status);
2676 vvd(rc2t[1][2], 0.5749800843594139912e-3, 1e-12,
2677 "iauC2txy", "23", status);
2678
2679 vvd(rc2t[2][0], 0.5773474028619264494e-3, 1e-12,
2680 "iauC2txy", "31", status);
2681 vvd(rc2t[2][1], 0.3961816546911624260e-4, 1e-12,
2682 "iauC2txy", "32", status);
2683 vvd(rc2t[2][2], 0.9999998325501746670, 1e-12,
2684 "iauC2txy", "33", status);
2685
2686}
2687
2688static void t_cal2jd(int *status)
2689/*
2690** - - - - - - - - -
2691** t _ c a l 2 j d
2692** - - - - - - - - -
2693**
2694** Test iauCal2jd function.
2695**
2696** Returned:
2697** status int FALSE = success, TRUE = fail
2698**
2699** Called: iauCal2jd, vvd, viv
2700**
2701** This revision: 2013 August 7
2702*/
2703{
2704 int j;
2705 double djm0, djm;
2706
2707
2708 j = iauCal2jd(2003, 06, 01, &djm0, &djm);
2709
2710 vvd(djm0, 2400000.5, 0.0, "iauCal2jd", "djm0", status);
2711 vvd(djm, 52791.0, 0.0, "iauCal2jd", "djm", status);
2712
2713 viv(j, 0, "iauCal2jd", "j", status);
2714
2715}
2716
2717static void t_cp(int *status)
2718/*
2719** - - - - -
2720** t _ c p
2721** - - - - -
2722**
2723** Test iauCp function.
2724**
2725** Returned:
2726** status int FALSE = success, TRUE = fail
2727**
2728** Called: iauCp, vvd
2729**
2730** This revision: 2013 August 7
2731*/
2732{
2733 double p[3], c[3];
2734
2735
2736 p[0] = 0.3;
2737 p[1] = 1.2;
2738 p[2] = -2.5;
2739
2740 iauCp(p, c);
2741
2742 vvd(c[0], 0.3, 0.0, "iauCp", "1", status);
2743 vvd(c[1], 1.2, 0.0, "iauCp", "2", status);
2744 vvd(c[2], -2.5, 0.0, "iauCp", "3", status);
2745}
2746
2747static void t_cpv(int *status)
2748/*
2749** - - - - - -
2750** t _ c p v
2751** - - - - - -
2752**
2753** Test iauCpv function.
2754**
2755** Returned:
2756** status int FALSE = success, TRUE = fail
2757**
2758** Called: iauCpv, vvd
2759**
2760** This revision: 2013 August 7
2761*/
2762{
2763 double pv[2][3], c[2][3];
2764
2765
2766 pv[0][0] = 0.3;
2767 pv[0][1] = 1.2;
2768 pv[0][2] = -2.5;
2769
2770 pv[1][0] = -0.5;
2771 pv[1][1] = 3.1;
2772 pv[1][2] = 0.9;
2773
2774 iauCpv(pv, c);
2775
2776 vvd(c[0][0], 0.3, 0.0, "iauCpv", "p1", status);
2777 vvd(c[0][1], 1.2, 0.0, "iauCpv", "p2", status);
2778 vvd(c[0][2], -2.5, 0.0, "iauCpv", "p3", status);
2779
2780 vvd(c[1][0], -0.5, 0.0, "iauCpv", "v1", status);
2781 vvd(c[1][1], 3.1, 0.0, "iauCpv", "v2", status);
2782 vvd(c[1][2], 0.9, 0.0, "iauCpv", "v3", status);
2783
2784}
2785
2786static void t_cr(int *status)
2787/*
2788** - - - - -
2789** t _ c r
2790** - - - - -
2791**
2792** Test iauCr function.
2793**
2794** Returned:
2795** status int FALSE = success, TRUE = fail
2796**
2797** Called: iauCr, vvd
2798**
2799** This revision: 2013 August 7
2800*/
2801{
2802 double r[3][3], c[3][3];
2803
2804
2805 r[0][0] = 2.0;
2806 r[0][1] = 3.0;
2807 r[0][2] = 2.0;
2808
2809 r[1][0] = 3.0;
2810 r[1][1] = 2.0;
2811 r[1][2] = 3.0;
2812
2813 r[2][0] = 3.0;
2814 r[2][1] = 4.0;
2815 r[2][2] = 5.0;
2816
2817 iauCr(r, c);
2818
2819 vvd(c[0][0], 2.0, 0.0, "iauCr", "11", status);
2820 vvd(c[0][1], 3.0, 0.0, "iauCr", "12", status);
2821 vvd(c[0][2], 2.0, 0.0, "iauCr", "13", status);
2822
2823 vvd(c[1][0], 3.0, 0.0, "iauCr", "21", status);
2824 vvd(c[1][1], 2.0, 0.0, "iauCr", "22", status);
2825 vvd(c[1][2], 3.0, 0.0, "iauCr", "23", status);
2826
2827 vvd(c[2][0], 3.0, 0.0, "iauCr", "31", status);
2828 vvd(c[2][1], 4.0, 0.0, "iauCr", "32", status);
2829 vvd(c[2][2], 5.0, 0.0, "iauCr", "33", status);
2830}
2831
2832static void t_d2dtf(int *status )
2833/*
2834** - - - - - - - -
2835** t _ d 2 d t f
2836** - - - - - - - -
2837**
2838** Test iauD2dtf function.
2839**
2840** Returned:
2841** status int FALSE = success, TRUE = fail
2842**
2843** Called: iauD2dtf, viv
2844**
2845** This revision: 2013 August 7
2846*/
2847{
2848 int j, iy, im, id, ihmsf[4];
2849
2850
2851 j = iauD2dtf("UTC", 5, 2400000.5, 49533.99999, &iy, &im, &id, ihmsf);
2852
2853 viv(iy, 1994, "iauD2dtf", "y", status);
2854 viv(im, 6, "iauD2dtf", "mo", status);
2855 viv(id, 30, "iauD2dtf", "d", status);
2856 viv(ihmsf[0], 23, "iauD2dtf", "h", status);
2857 viv(ihmsf[1], 59, "iauD2dtf", "m", status);
2858 viv(ihmsf[2], 60, "iauD2dtf", "s", status);
2859 viv(ihmsf[3], 13599, "iauD2dtf", "f", status);
2860 viv(j, 0, "iauD2dtf", "j", status);
2861
2862}
2863
2864static void t_d2tf(int *status)
2865/*
2866** - - - - - - -
2867** t _ d 2 t f
2868** - - - - - - -
2869**
2870** Test iauD2tf function.
2871**
2872** Returned:
2873** status int FALSE = success, TRUE = fail
2874**
2875** Called: iauD2tf, viv, vvd
2876**
2877** This revision: 2013 August 7
2878*/
2879{
2880 int ihmsf[4];
2881 char s;
2882
2883
2884 iauD2tf(4, -0.987654321, &s, ihmsf);
2885
2886 viv((int)s, '-', "iauD2tf", "s", status);
2887
2888 viv(ihmsf[0], 23, "iauD2tf", "0", status);
2889 viv(ihmsf[1], 42, "iauD2tf", "1", status);
2890 viv(ihmsf[2], 13, "iauD2tf", "2", status);
2891 viv(ihmsf[3], 3333, "iauD2tf", "3", status);
2892
2893}
2894
2895static void t_dat(int *status)
2896/*
2897** - - - - - -
2898** t _ d a t
2899** - - - - - -
2900**
2901** Test iauDat function.
2902**
2903** Returned:
2904** status int FALSE = success, TRUE = fail
2905**
2906** Called: iauDat, vvd, viv
2907**
2908** This revision: 2015 January 30
2909*/
2910{
2911 int j;
2912 double deltat;
2913
2914
2915 j = iauDat(2003, 6, 1, 0.0, &deltat);
2916
2917 vvd(deltat, 32.0, 0.0, "iauDat", "d1", status);
2918 viv(j, 0, "iauDat", "j1", status);
2919
2920 j = iauDat(2008, 1, 17, 0.0, &deltat);
2921
2922 vvd(deltat, 33.0, 0.0, "iauDat", "d2", status);
2923 viv(j, 0, "iauDat", "j2", status);
2924
2925 j = iauDat(2015, 9, 1, 0.0, &deltat);
2926
2927 vvd(deltat, 36.0, 0.0, "iauDat", "d3", status);
2928 viv(j, 0, "iauDat", "j3", status);
2929
2930}
2931
2932static void t_dtdb(int *status)
2933/*
2934** - - - - - - -
2935** t _ d t d b
2936** - - - - - - -
2937**
2938** Test iauDtdb function.
2939**
2940** Returned:
2941** status int FALSE = success, TRUE = fail
2942**
2943** Called: iauDtdb, vvd
2944**
2945** This revision: 2013 August 7
2946*/
2947{
2948 double dtdb;
2949
2950
2951 dtdb = iauDtdb(2448939.5, 0.123, 0.76543, 5.0123, 5525.242, 3190.0);
2952
2953 vvd(dtdb, -0.1280368005936998991e-2, 1e-15, "iauDtdb", "", status);
2954
2955}
2956
2957static void t_dtf2d(int *status)
2958/*
2959** - - - - - - - -
2960** t _ d t f 2 d
2961** - - - - - - - -
2962**
2963** Test iauDtf2d function.
2964**
2965** Returned:
2966** status int FALSE = success, TRUE = fail
2967**
2968** Called: iauDtf2d, vvd, viv
2969**
2970** This revision: 2013 August 7
2971*/
2972{
2973 double u1, u2;
2974 int j;
2975
2976
2977 j = iauDtf2d("UTC", 1994, 6, 30, 23, 59, 60.13599, &u1, &u2);
2978
2979 vvd(u1+u2, 2449534.49999, 1e-6, "iauDtf2d", "u", status);
2980 viv(j, 0, "iauDtf2d", "j", status);
2981
2982}
2983
2984static void t_ee00(int *status)
2985/*
2986** - - - - - - -
2987** t _ e e 0 0
2988** - - - - - - -
2989**
2990** Test iauEe00 function.
2991**
2992** Returned:
2993** status int FALSE = success, TRUE = fail
2994**
2995** Called: iauEe00, vvd
2996**
2997** This revision: 2013 August 7
2998*/
2999{
3000 double epsa, dpsi, ee;
3001
3002
3003 epsa = 0.4090789763356509900;
3004 dpsi = -0.9630909107115582393e-5;
3005
3006 ee = iauEe00(2400000.5, 53736.0, epsa, dpsi);
3007
3008 vvd(ee, -0.8834193235367965479e-5, 1e-18, "iauEe00", "", status);
3009
3010}
3011
3012static void t_ee00a(int *status)
3013/*
3014** - - - - - - - -
3015** t _ e e 0 0 a
3016** - - - - - - - -
3017**
3018** Test iauEe00a function.
3019**
3020** Returned:
3021** status int FALSE = success, TRUE = fail
3022**
3023** Called: iauEe00a, vvd
3024**
3025** This revision: 2013 August 7
3026*/
3027{
3028 double ee;
3029
3030
3031 ee = iauEe00a(2400000.5, 53736.0);
3032
3033 vvd(ee, -0.8834192459222588227e-5, 1e-18, "iauEe00a", "", status);
3034
3035}
3036
3037static void t_ee00b(int *status)
3038/*
3039** - - - - - - - -
3040** t _ e e 0 0 b
3041** - - - - - - - -
3042**
3043** Test iauEe00b function.
3044**
3045** Returned:
3046** status int FALSE = success, TRUE = fail
3047**
3048** Called: iauEe00b, vvd
3049**
3050** This revision: 2013 August 7
3051*/
3052{
3053 double ee;
3054
3055
3056 ee = iauEe00b(2400000.5, 53736.0);
3057
3058 vvd(ee, -0.8835700060003032831e-5, 1e-18, "iauEe00b", "", status);
3059
3060}
3061
3062static void t_ee06a(int *status)
3063/*
3064** - - - - - - - -
3065** t _ e e 0 6 a
3066** - - - - - - - -
3067**
3068** Test iauEe06a function.
3069**
3070** Returned:
3071** status int FALSE = success, TRUE = fail
3072**
3073** Called: iauEe06a, vvd
3074**
3075** This revision: 2013 August 7
3076*/
3077{
3078 double ee;
3079
3080
3081 ee = iauEe06a(2400000.5, 53736.0);
3082
3083 vvd(ee, -0.8834195072043790156e-5, 1e-15, "iauEe06a", "", status);
3084}
3085
3086static void t_eect00(int *status)
3087/*
3088** - - - - - - - - -
3089** t _ e e c t 0 0
3090** - - - - - - - - -
3091**
3092** Test iauEect00 function.
3093**
3094** Returned:
3095** status int FALSE = success, TRUE = fail
3096**
3097** Called: iauEect00, vvd
3098**
3099** This revision: 2013 August 7
3100*/
3101{
3102 double eect;
3103
3104
3105 eect = iauEect00(2400000.5, 53736.0);
3106
3107 vvd(eect, 0.2046085004885125264e-8, 1e-20, "iauEect00", "", status);
3108
3109}
3110
3111static void t_eform(int *status)
3112/*
3113** - - - - - - - -
3114** t _ e f o r m
3115** - - - - - - - -
3116**
3117** Test iauEform function.
3118**
3119** Returned:
3120** status int FALSE = success, TRUE = fail
3121**
3122** Called: iauEform, viv, vvd
3123**
3124** This revision: 2013 August 7
3125*/
3126{
3127 int j;
3128 double a, f;
3129
3130 j = iauEform(0, &a, &f);
3131
3132 viv(j, -1, "iauEform", "j0", status);
3133
3134 j = iauEform(WGS84, &a, &f);
3135
3136 viv(j, 0, "iauEform", "j1", status);
3137 vvd(a, 6378137.0, 1e-10, "iauEform", "a1", status);
3138 vvd(f, 0.0033528106647474807, 1e-18, "iauEform", "f1", status);
3139
3140 j = iauEform(GRS80, &a, &f);
3141
3142 viv(j, 0, "iauEform", "j2", status);
3143 vvd(a, 6378137.0, 1e-10, "iauEform", "a2", status);
3144 vvd(f, 0.0033528106811823189, 1e-18, "iauEform", "f2", status);
3145
3146 j = iauEform(WGS72, &a, &f);
3147
3148 viv(j, 0, "iauEform", "j2", status);
3149 vvd(a, 6378135.0, 1e-10, "iauEform", "a3", status);
3150 vvd(f, 0.0033527794541675049, 1e-18, "iauEform", "f3", status);
3151
3152 j = iauEform(4, &a, &f);
3153 viv(j, -1, "iauEform", "j3", status);
3154}
3155
3156static void t_eo06a(int *status)
3157/*
3158** - - - - - - - -
3159** t _ e o 0 6 a
3160** - - - - - - - -
3161**
3162** Test iauEo06a function.
3163**
3164** Returned:
3165** status int FALSE = success, TRUE = fail
3166**
3167** Called: iauEo06a, vvd
3168**
3169** This revision: 2013 August 7
3170*/
3171{
3172 double eo;
3173
3174
3175 eo = iauEo06a(2400000.5, 53736.0);
3176
3177 vvd(eo, -0.1332882371941833644e-2, 1e-15, "iauEo06a", "", status);
3178
3179}
3180
3181static void t_eors(int *status)
3182/*
3183** - - - - - - -
3184** t _ e o r s
3185** - - - - - - -
3186**
3187** Test iauEors function.
3188**
3189** Returned:
3190** status int FALSE = success, TRUE = fail
3191**
3192** Called: iauEors, vvd
3193**
3194** This revision: 2013 August 7
3195*/
3196{
3197 double rnpb[3][3], s, eo;
3198
3199
3200 rnpb[0][0] = 0.9999989440476103608;
3201 rnpb[0][1] = -0.1332881761240011518e-2;
3202 rnpb[0][2] = -0.5790767434730085097e-3;
3203
3204 rnpb[1][0] = 0.1332858254308954453e-2;
3205 rnpb[1][1] = 0.9999991109044505944;
3206 rnpb[1][2] = -0.4097782710401555759e-4;
3207
3208 rnpb[2][0] = 0.5791308472168153320e-3;
3209 rnpb[2][1] = 0.4020595661593994396e-4;
3210 rnpb[2][2] = 0.9999998314954572365;
3211
3212 s = -0.1220040848472271978e-7;
3213
3214 eo = iauEors(rnpb, s);
3215
3216 vvd(eo, -0.1332882715130744606e-2, 1e-14, "iauEors", "", status);
3217
3218}
3219
3220static void t_epb(int *status)
3221/*
3222** - - - - - -
3223** t _ e p b
3224** - - - - - -
3225**
3226** Test iauEpb function.
3227**
3228** Returned:
3229** status int FALSE = success, TRUE = fail
3230**
3231** Called: iauEpb, vvd
3232**
3233** This revision: 2013 August 7
3234*/
3235{
3236 double epb;
3237
3238
3239 epb = iauEpb(2415019.8135, 30103.18648);
3240
3241 vvd(epb, 1982.418424159278580, 1e-12, "iauEpb", "", status);
3242
3243}
3244
3245static void t_epb2jd(int *status)
3246/*
3247** - - - - - - - - -
3248** t _ e p b 2 j d
3249** - - - - - - - - -
3250**
3251** Test iauEpb2jd function.
3252**
3253** Returned:
3254** status int FALSE = success, TRUE = fail
3255**
3256** Called: iauEpb2jd, vvd
3257**
3258** This revision: 2013 August 7
3259*/
3260{
3261 double epb, djm0, djm;
3262
3263
3264 epb = 1957.3;
3265
3266 iauEpb2jd(epb, &djm0, &djm);
3267
3268 vvd(djm0, 2400000.5, 1e-9, "iauEpb2jd", "djm0", status);
3269 vvd(djm, 35948.1915101513, 1e-9, "iauEpb2jd", "mjd", status);
3270
3271}
3272
3273static void t_epj(int *status)
3274/*
3275** - - - - - -
3276** t _ e p j
3277** - - - - - -
3278**
3279** Test iauEpj function.
3280**
3281** Returned:
3282** status int FALSE = success, TRUE = fail
3283**
3284** Called: iauEpj, vvd
3285**
3286** This revision: 2013 August 7
3287*/
3288{
3289 double epj;
3290
3291
3292 epj = iauEpj(2451545, -7392.5);
3293
3294 vvd(epj, 1979.760438056125941, 1e-12, "iauEpj", "", status);
3295
3296}
3297
3298static void t_epj2jd(int *status)
3299/*
3300** - - - - - - - - -
3301** t _ e p j 2 j d
3302** - - - - - - - - -
3303**
3304** Test iauEpj2jd function.
3305**
3306** Returned:
3307** status int FALSE = success, TRUE = fail
3308**
3309** Called: iauEpj2jd, vvd
3310**
3311** This revision: 2013 August 7
3312*/
3313{
3314 double epj, djm0, djm;
3315
3316
3317 epj = 1996.8;
3318
3319 iauEpj2jd(epj, &djm0, &djm);
3320
3321 vvd(djm0, 2400000.5, 1e-9, "iauEpj2jd", "djm0", status);
3322 vvd(djm, 50375.7, 1e-9, "iauEpj2jd", "mjd", status);
3323
3324}
3325
3326static void t_epv00(int *status)
3327/*
3328** - - - - - - - -
3329** t _ e p v 0 0
3330** - - - - - - - -
3331**
3332** Test iauEpv00 function.
3333**
3334** Returned:
3335** status int FALSE = success, TRUE = fail
3336**
3337** Called: iauEpv00, vvd, viv
3338**
3339** This revision: 2013 August 7
3340*/
3341{
3342 double pvh[2][3], pvb[2][3];
3343 int j;
3344
3345
3346 j = iauEpv00(2400000.5, 53411.52501161, pvh, pvb);
3347
3348 vvd(pvh[0][0], -0.7757238809297706813, 1e-14,
3349 "iauEpv00", "ph(x)", status);
3350 vvd(pvh[0][1], 0.5598052241363340596, 1e-14,
3351 "iauEpv00", "ph(y)", status);
3352 vvd(pvh[0][2], 0.2426998466481686993, 1e-14,
3353 "iauEpv00", "ph(z)", status);
3354
3355 vvd(pvh[1][0], -0.1091891824147313846e-1, 1e-15,
3356 "iauEpv00", "vh(x)", status);
3357 vvd(pvh[1][1], -0.1247187268440845008e-1, 1e-15,
3358 "iauEpv00", "vh(y)", status);
3359 vvd(pvh[1][2], -0.5407569418065039061e-2, 1e-15,
3360 "iauEpv00", "vh(z)", status);
3361
3362 vvd(pvb[0][0], -0.7714104440491111971, 1e-14,
3363 "iauEpv00", "pb(x)", status);
3364 vvd(pvb[0][1], 0.5598412061824171323, 1e-14,
3365 "iauEpv00", "pb(y)", status);
3366 vvd(pvb[0][2], 0.2425996277722452400, 1e-14,
3367 "iauEpv00", "pb(z)", status);
3368
3369 vvd(pvb[1][0], -0.1091874268116823295e-1, 1e-15,
3370 "iauEpv00", "vb(x)", status);
3371 vvd(pvb[1][1], -0.1246525461732861538e-1, 1e-15,
3372 "iauEpv00", "vb(y)", status);
3373 vvd(pvb[1][2], -0.5404773180966231279e-2, 1e-15,
3374 "iauEpv00", "vb(z)", status);
3375
3376 viv(j, 0, "iauEpv00", "j", status);
3377
3378}
3379
3380static void t_eqeq94(int *status)
3381/*
3382** - - - - - - - - -
3383** t _ e q e q 9 4
3384** - - - - - - - - -
3385**
3386** Test iauEqeq94 function.
3387**
3388** Returned:
3389** status int FALSE = success, TRUE = fail
3390**
3391** Called: iauEqeq94, vvd
3392**
3393** This revision: 2013 August 7
3394*/
3395{
3396 double eqeq;
3397
3398
3399 eqeq = iauEqeq94(2400000.5, 41234.0);
3400
3401 vvd(eqeq, 0.5357758254609256894e-4, 1e-17, "iauEqeq94", "", status);
3402
3403}
3404
3405static void t_era00(int *status)
3406/*
3407** - - - - - - - -
3408** t _ e r a 0 0
3409** - - - - - - - -
3410**
3411** Test iauEra00 function.
3412**
3413** Returned:
3414** status int FALSE = success, TRUE = fail
3415**
3416** Called: iauEra00, vvd
3417**
3418** This revision: 2013 August 7
3419*/
3420{
3421 double era00;
3422
3423
3424 era00 = iauEra00(2400000.5, 54388.0);
3425
3426 vvd(era00, 0.4022837240028158102, 1e-12, "iauEra00", "", status);
3427
3428}
3429
3430static void t_fad03(int *status)
3431/*
3432** - - - - - - - -
3433** t _ f a d 0 3
3434** - - - - - - - -
3435**
3436** Test iauFad03 function.
3437**
3438** Returned:
3439** status int FALSE = success, TRUE = fail
3440**
3441** Called: iauFad03, vvd
3442**
3443** This revision: 2013 August 7
3444*/
3445{
3446 vvd(iauFad03(0.80), 1.946709205396925672, 1e-12,
3447 "iauFad03", "", status);
3448}
3449
3450static void t_fae03(int *status)
3451/*
3452** - - - - - - - -
3453** t _ f a e 0 3
3454** - - - - - - - -
3455**
3456** Test iauFae03 function.
3457**
3458** Returned:
3459** status int FALSE = success, TRUE = fail
3460**
3461** Called: iauFae03, vvd
3462**
3463** This revision: 2013 August 7
3464*/
3465{
3466 vvd(iauFae03(0.80), 1.744713738913081846, 1e-12,
3467 "iauFae03", "", status);
3468}
3469
3470static void t_faf03(int *status)
3471/*
3472** - - - - - - - -
3473** t _ f a f 0 3
3474** - - - - - - - -
3475**
3476** Test iauFaf03 function.
3477**
3478** Returned:
3479** status int FALSE = success, TRUE = fail
3480**
3481** Called: iauFaf03, vvd
3482**
3483** This revision: 2013 August 7
3484*/
3485{
3486 vvd(iauFaf03(0.80), 0.2597711366745499518, 1e-12,
3487 "iauFaf03", "", status);
3488}
3489
3490static void t_faju03(int *status)
3491/*
3492** - - - - - - - - -
3493** t _ f a j u 0 3
3494** - - - - - - - - -
3495**
3496** Test iauFaju03 function.
3497**
3498** Returned:
3499** status int FALSE = success, TRUE = fail
3500**
3501** Called: iauFaju03, vvd
3502**
3503** This revision: 2013 August 7
3504*/
3505{
3506 vvd(iauFaju03(0.80), 5.275711665202481138, 1e-12,
3507 "iauFaju03", "", status);
3508}
3509
3510static void t_fal03(int *status)
3511/*
3512** - - - - - - - -
3513** t _ f a l 0 3
3514** - - - - - - - -
3515**
3516** Test iauFal03 function.
3517**
3518** Returned:
3519** status int FALSE = success, TRUE = fail
3520**
3521** Called: iauFal03, vvd
3522**
3523** This revision: 2013 August 7
3524*/
3525{
3526 vvd(iauFal03(0.80), 5.132369751108684150, 1e-12,
3527 "iauFal03", "", status);
3528}
3529
3530static void t_falp03(int *status)
3531/*
3532** - - - - - - - - -
3533** t _ f a l p 0 3
3534** - - - - - - - - -
3535**
3536** Test iauFalp03 function.
3537**
3538** Returned:
3539** status int FALSE = success, TRUE = fail
3540**
3541** Called: iauFalp03, vvd
3542**
3543** This revision: 2013 August 7
3544*/
3545{
3546 vvd(iauFalp03(0.80), 6.226797973505507345, 1e-12,
3547 "iauFalp03", "", status);
3548}
3549
3550static void t_fama03(int *status)
3551/*
3552** - - - - - - - - -
3553** t _ f a m a 0 3
3554** - - - - - - - - -
3555**
3556** Test iauFama03 function.
3557**
3558** Returned:
3559** status int FALSE = success, TRUE = fail
3560**
3561** Called: iauFama03, vvd
3562**
3563** This revision: 2013 August 7
3564*/
3565{
3566 vvd(iauFama03(0.80), 3.275506840277781492, 1e-12,
3567 "iauFama03", "", status);
3568}
3569
3570static void t_fame03(int *status)
3571/*
3572** - - - - - - - - -
3573** t _ f a m e 0 3
3574** - - - - - - - - -
3575**
3576** Test iauFame03 function.
3577**
3578** Returned:
3579** status int FALSE = success, TRUE = fail
3580**
3581** Called: iauFame03, vvd
3582**
3583** This revision: 2013 August 7
3584*/
3585{
3586 vvd(iauFame03(0.80), 5.417338184297289661, 1e-12,
3587 "iauFame03", "", status);
3588}
3589
3590static void t_fane03(int *status)
3591/*
3592** - - - - - - - - -
3593** t _ f a n e 0 3
3594** - - - - - - - - -
3595**
3596** Test iauFane03 function.
3597**
3598** Returned:
3599** status int FALSE = success, TRUE = fail
3600**
3601** Called: iauFane03, vvd
3602**
3603** This revision: 2013 August 7
3604*/
3605{
3606 vvd(iauFane03(0.80), 2.079343830860413523, 1e-12,
3607 "iauFane03", "", status);
3608}
3609
3610static void t_faom03(int *status)
3611/*
3612** - - - - - - - - -
3613** t _ f a o m 0 3
3614** - - - - - - - - -
3615**
3616** Test iauFaom03 function.
3617**
3618** Returned:
3619** status int FALSE = success, TRUE = fail
3620**
3621** Called: iauFaom03, vvd
3622**
3623** This revision: 2013 August 7
3624*/
3625{
3626 vvd(iauFaom03(0.80), -5.973618440951302183, 1e-12,
3627 "iauFaom03", "", status);
3628}
3629
3630static void t_fapa03(int *status)
3631/*
3632** - - - - - - - - -
3633** t _ f a p a 0 3
3634** - - - - - - - - -
3635**
3636** Test iauFapa03 function.
3637**
3638** Returned:
3639** status int FALSE = success, TRUE = fail
3640**
3641** Called: iauFapa03, vvd
3642**
3643** This revision: 2013 August 7
3644*/
3645{
3646 vvd(iauFapa03(0.80), 0.1950884762240000000e-1, 1e-12,
3647 "iauFapa03", "", status);
3648}
3649
3650static void t_fasa03(int *status)
3651/*
3652** - - - - - - - - -
3653** t _ f a s a 0 3
3654** - - - - - - - - -
3655**
3656** Test iauFasa03 function.
3657**
3658** Returned:
3659** status int FALSE = success, TRUE = fail
3660**
3661** Called: iauFasa03, vvd
3662**
3663** This revision: 2013 August 7
3664*/
3665{
3666 vvd(iauFasa03(0.80), 5.371574539440827046, 1e-12,
3667 "iauFasa03", "", status);
3668}
3669
3670static void t_faur03(int *status)
3671/*
3672** - - - - - - - - -
3673** t _ f a u r 0 3
3674** - - - - - - - - -
3675**
3676** Test iauFaur03 function.
3677**
3678** Returned:
3679** status int FALSE = success, TRUE = fail
3680**
3681** Called: iauFaur03, vvd
3682**
3683** This revision: 2013 August 7
3684*/
3685{
3686 vvd(iauFaur03(0.80), 5.180636450180413523, 1e-12,
3687 "iauFaur03", "", status);
3688}
3689
3690static void t_fave03(int *status)
3691/*
3692** - - - - - - - - -
3693** t _ f a v e 0 3
3694** - - - - - - - - -
3695**
3696** Test iauFave03 function.
3697**
3698** Returned:
3699** status int FALSE = success, TRUE = fail
3700**
3701** Called: iauFave03, vvd
3702**
3703** This revision: 2013 August 7
3704*/
3705{
3706 vvd(iauFave03(0.80), 3.424900460533758000, 1e-12,
3707 "iauFave03", "", status);
3708}
3709
3710static void t_fk52h(int *status)
3711/*
3712** - - - - - - - -
3713** t _ f k 5 2 h
3714** - - - - - - - -
3715**
3716** Test iauFk52h function.
3717**
3718** Returned:
3719** status int FALSE = success, TRUE = fail
3720**
3721** Called: iauFk52h, vvd
3722**
3723** This revision: 2013 August 7
3724*/
3725{
3726 double r5, d5, dr5, dd5, px5, rv5, rh, dh, drh, ddh, pxh, rvh;
3727
3728
3729 r5 = 1.76779433;
3730 d5 = -0.2917517103;
3731 dr5 = -1.91851572e-7;
3732 dd5 = -5.8468475e-6;
3733 px5 = 0.379210;
3734 rv5 = -7.6;
3735
3736 iauFk52h(r5, d5, dr5, dd5, px5, rv5,
3737 &rh, &dh, &drh, &ddh, &pxh, &rvh);
3738
3739 vvd(rh, 1.767794226299947632, 1e-14,
3740 "iauFk52h", "ra", status);
3741 vvd(dh, -0.2917516070530391757, 1e-14,
3742 "iauFk52h", "dec", status);
3743 vvd(drh, -0.19618741256057224e-6,1e-19,
3744 "iauFk52h", "dr5", status);
3745 vvd(ddh, -0.58459905176693911e-5, 1e-19,
3746 "iauFk52h", "dd5", status);
3747 vvd(pxh, 0.37921, 1e-14,
3748 "iauFk52h", "px", status);
3749 vvd(rvh, -7.6000000940000254, 1e-11,
3750 "iauFk52h", "rv", status);
3751
3752}
3753
3754static void t_fk5hip(int *status)
3755/*
3756** - - - - - - - - -
3757** t _ f k 5 h i p
3758** - - - - - - - - -
3759**
3760** Test iauFk5hip function.
3761**
3762** Returned:
3763** status int FALSE = success, TRUE = fail
3764**
3765** Called: iauFk5hip, vvd
3766**
3767** This revision: 2013 August 7
3768*/
3769{
3770 double r5h[3][3], s5h[3];
3771
3772
3773 iauFk5hip(r5h, s5h);
3774
3775 vvd(r5h[0][0], 0.9999999999999928638, 1e-14,
3776 "iauFk5hip", "11", status);
3777 vvd(r5h[0][1], 0.1110223351022919694e-6, 1e-17,
3778 "iauFk5hip", "12", status);
3779 vvd(r5h[0][2], 0.4411803962536558154e-7, 1e-17,
3780 "iauFk5hip", "13", status);
3781 vvd(r5h[1][0], -0.1110223308458746430e-6, 1e-17,
3782 "iauFk5hip", "21", status);
3783 vvd(r5h[1][1], 0.9999999999999891830, 1e-14,
3784 "iauFk5hip", "22", status);
3785 vvd(r5h[1][2], -0.9647792498984142358e-7, 1e-17,
3786 "iauFk5hip", "23", status);
3787 vvd(r5h[2][0], -0.4411805033656962252e-7, 1e-17,
3788 "iauFk5hip", "31", status);
3789 vvd(r5h[2][1], 0.9647792009175314354e-7, 1e-17,
3790 "iauFk5hip", "32", status);
3791 vvd(r5h[2][2], 0.9999999999999943728, 1e-14,
3792 "iauFk5hip", "33", status);
3793 vvd(s5h[0], -0.1454441043328607981e-8, 1e-17,
3794 "iauFk5hip", "s1", status);
3795 vvd(s5h[1], 0.2908882086657215962e-8, 1e-17,
3796 "iauFk5hip", "s2", status);
3797 vvd(s5h[2], 0.3393695767766751955e-8, 1e-17,
3798 "iauFk5hip", "s3", status);
3799
3800}
3801
3802static void t_fk5hz(int *status)
3803/*
3804** - - - - - - - -
3805** t _ f k 5 h z
3806** - - - - - - - -
3807**
3808** Test iauFk5hz function.
3809**
3810** Returned:
3811** status int FALSE = success, TRUE = fail
3812**
3813** Called: iauFk5hz, vvd
3814**
3815** This revision: 2013 August 7
3816*/
3817{
3818 double r5, d5, rh, dh;
3819
3820
3821 r5 = 1.76779433;
3822 d5 = -0.2917517103;
3823
3824 iauFk5hz(r5, d5, 2400000.5, 54479.0, &rh, &dh);
3825
3826 vvd(rh, 1.767794191464423978, 1e-12, "iauFk5hz", "ra", status);
3827 vvd(dh, -0.2917516001679884419, 1e-12, "iauFk5hz", "dec", status);
3828
3829}
3830
3831static void t_fw2m(int *status)
3832/*
3833** - - - - - - -
3834** t _ f w 2 m
3835** - - - - - - -
3836**
3837** Test iauFw2m function.
3838**
3839** Returned:
3840** status int FALSE = success, TRUE = fail
3841**
3842** Called: iauFw2m, vvd
3843**
3844** This revision: 2013 August 7
3845*/
3846{
3847 double gamb, phib, psi, eps, r[3][3];
3848
3849
3850 gamb = -0.2243387670997992368e-5;
3851 phib = 0.4091014602391312982;
3852 psi = -0.9501954178013015092e-3;
3853 eps = 0.4091014316587367472;
3854
3855 iauFw2m(gamb, phib, psi, eps, r);
3856
3857 vvd(r[0][0], 0.9999995505176007047, 1e-12,
3858 "iauFw2m", "11", status);
3859 vvd(r[0][1], 0.8695404617348192957e-3, 1e-12,
3860 "iauFw2m", "12", status);
3861 vvd(r[0][2], 0.3779735201865582571e-3, 1e-12,
3862 "iauFw2m", "13", status);
3863
3864 vvd(r[1][0], -0.8695404723772016038e-3, 1e-12,
3865 "iauFw2m", "21", status);
3866 vvd(r[1][1], 0.9999996219496027161, 1e-12,
3867 "iauFw2m", "22", status);
3868 vvd(r[1][2], -0.1361752496887100026e-6, 1e-12,
3869 "iauFw2m", "23", status);
3870
3871 vvd(r[2][0], -0.3779734957034082790e-3, 1e-12,
3872 "iauFw2m", "31", status);
3873 vvd(r[2][1], -0.1924880848087615651e-6, 1e-12,
3874 "iauFw2m", "32", status);
3875 vvd(r[2][2], 0.9999999285679971958, 1e-12,
3876 "iauFw2m", "33", status);
3877
3878}
3879
3880static void t_fw2xy(int *status)
3881/*
3882** - - - - - - - -
3883** t _ f w 2 x y
3884** - - - - - - - -
3885**
3886** Test iauFw2xy function.
3887**
3888** Returned:
3889** status int FALSE = success, TRUE = fail
3890**
3891** Called: iauFw2xy, vvd
3892**
3893** This revision: 2013 August 7
3894*/
3895{
3896 double gamb, phib, psi, eps, x, y;
3897
3898
3899 gamb = -0.2243387670997992368e-5;
3900 phib = 0.4091014602391312982;
3901 psi = -0.9501954178013015092e-3;
3902 eps = 0.4091014316587367472;
3903
3904 iauFw2xy(gamb, phib, psi, eps, &x, &y);
3905
3906 vvd(x, -0.3779734957034082790e-3, 1e-14, "iauFw2xy", "x", status);
3907 vvd(y, -0.1924880848087615651e-6, 1e-14, "iauFw2xy", "y", status);
3908
3909}
3910
3911static void t_g2icrs(int *status)
3912/*
3913** - - - - - - - - -
3914** t _ g 2 i c r s
3915** - - - - - - - - -
3916**
3917** Test iauG2icrs function.
3918**
3919** Returned:
3920** status int FALSE = success, TRUE = fail
3921**
3922** Called: iauG2icrs, vvd
3923**
3924** This revision: 2015 January 30
3925*/
3926{
3927 double dl, db, dr, dd;
3928
3929
3930 dl = 5.5850536063818546461558105;
3931 db = -0.7853981633974483096156608;
3932 iauG2icrs (dl, db, &dr, &dd);
3933 vvd(dr, 5.9338074302227188048671, 1e-14, "iauG2icrs", "R", status);
3934 vvd(dd, -1.1784870613579944551541, 1e-14, "iauG2icrs", "D", status);
3935 }
3936
3937static void t_gc2gd(int *status)
3938/*
3939** - - - - - - - -
3940** t _ g c 2 g d
3941** - - - - - - - -
3942**
3943** Test iauGc2gd function.
3944**
3945** Returned:
3946** status int FALSE = success, TRUE = fail
3947**
3948** Called: iauGc2gd, viv, vvd
3949**
3950** This revision: 2013 August 7
3951*/
3952{
3953 int j;
3954 double xyz[] = {2e6, 3e6, 5.244e6};
3955 double e, p, h;
3956
3957 j = iauGc2gd(0, xyz, &e, &p, &h);
3958
3959 viv(j, -1, "iauGc2gd", "j0", status);
3960
3961 j = iauGc2gd(WGS84, xyz, &e, &p, &h);
3962
3963 viv(j, 0, "iauGc2gd", "j1", status);
3964 vvd(e, 0.98279372324732907, 1e-14, "iauGc2gd", "e1", status);
3965 vvd(p, 0.97160184819075459, 1e-14, "iauGc2gd", "p1", status);
3966 vvd(h, 331.41724614260599, 1e-8, "iauGc2gd", "h1", status);
3967
3968 j = iauGc2gd(GRS80, xyz, &e, &p, &h);
3969
3970 viv(j, 0, "iauGc2gd", "j2", status);
3971 vvd(e, 0.98279372324732907, 1e-14, "iauGc2gd", "e2", status);
3972 vvd(p, 0.97160184820607853, 1e-14, "iauGc2gd", "p2", status);
3973 vvd(h, 331.41731754844348, 1e-8, "iauGc2gd", "h2", status);
3974
3975 j = iauGc2gd(WGS72, xyz, &e, &p, &h);
3976
3977 viv(j, 0, "iauGc2gd", "j3", status);
3978 vvd(e, 0.98279372324732907, 1e-14, "iauGc2gd", "e3", status);
3979 vvd(p, 0.97160181811015119, 1e-14, "iauGc2gd", "p3", status);
3980 vvd(h, 333.27707261303181, 1e-8, "iauGc2gd", "h3", status);
3981
3982 j = iauGc2gd(4, xyz, &e, &p, &h);
3983
3984 viv(j, -1, "iauGc2gd", "j4", status);
3985}
3986
3987static void t_gc2gde(int *status)
3988/*
3989** - - - - - - - - -
3990** t _ g c 2 g d e
3991** - - - - - - - - -
3992**
3993** Test iauGc2gde function.
3994**
3995** Returned:
3996** status int FALSE = success, TRUE = fail
3997**
3998** Called: iauGc2gde, viv, vvd
3999**
4000** This revision: 2013 August 7
4001*/
4002{
4003 int j;
4004 double a = 6378136.0, f = 0.0033528;
4005 double xyz[] = {2e6, 3e6, 5.244e6};
4006 double e, p, h;
4007
4008 j = iauGc2gde(a, f, xyz, &e, &p, &h);
4009
4010 viv(j, 0, "iauGc2gde", "j", status);
4011 vvd(e, 0.98279372324732907, 1e-14, "iauGc2gde", "e", status);
4012 vvd(p, 0.97160183775704115, 1e-14, "iauGc2gde", "p", status);
4013 vvd(h, 332.36862495764397, 1e-8, "iauGc2gde", "h", status);
4014}
4015
4016static void t_gd2gc(int *status)
4017/*
4018** - - - - - - - -
4019** t _ g d 2 g c
4020** - - - - - - - -
4021**
4022** Test iauGd2gc function.
4023**
4024** Returned:
4025** status int FALSE = success, TRUE = fail
4026**
4027** Called: iauGd2gc, viv, vvd
4028**
4029** This revision: 2013 August 7
4030*/
4031{
4032 int j;
4033 double e = 3.1, p = -0.5, h = 2500.0;
4034 double xyz[3];
4035
4036 j = iauGd2gc(0, e, p, h, xyz);
4037
4038 viv(j, -1, "iauGd2gc", "j0", status);
4039
4040 j = iauGd2gc(WGS84, e, p, h, xyz);
4041
4042 viv(j, 0, "iauGd2gc", "j1", status);
4043 vvd(xyz[0], -5599000.5577049947, 1e-7, "iauGd2gc", "0/1", status);
4044 vvd(xyz[1], 233011.67223479203, 1e-7, "iauGd2gc", "1/1", status);
4045 vvd(xyz[2], -3040909.4706983363, 1e-7, "iauGd2gc", "2/1", status);
4046
4047 j = iauGd2gc(GRS80, e, p, h, xyz);
4048
4049 viv(j, 0, "iauGd2gc", "j2", status);
4050 vvd(xyz[0], -5599000.5577260984, 1e-7, "iauGd2gc", "0/2", status);
4051 vvd(xyz[1], 233011.6722356703, 1e-7, "iauGd2gc", "1/2", status);
4052 vvd(xyz[2], -3040909.4706095476, 1e-7, "iauGd2gc", "2/2", status);
4053
4054 j = iauGd2gc(WGS72, e, p, h, xyz);
4055
4056 viv(j, 0, "iauGd2gc", "j3", status);
4057 vvd(xyz[0], -5598998.7626301490, 1e-7, "iauGd2gc", "0/3", status);
4058 vvd(xyz[1], 233011.5975297822, 1e-7, "iauGd2gc", "1/3", status);
4059 vvd(xyz[2], -3040908.6861467111, 1e-7, "iauGd2gc", "2/3", status);
4060
4061 j = iauGd2gc(4, e, p, h, xyz);
4062
4063 viv(j, -1, "iauGd2gc", "j4", status);
4064}
4065
4066static void t_gd2gce(int *status)
4067/*
4068** - - - - - - - - -
4069** t _ g d 2 g c e
4070** - - - - - - - - -
4071**
4072** Test iauGd2gce function.
4073**
4074** Returned:
4075** status int FALSE = success, TRUE = fail
4076**
4077** Called: iauGd2gce, viv, vvd
4078**
4079** This revision: 2013 August 7
4080*/
4081{
4082 int j;
4083 double a = 6378136.0, f = 0.0033528;
4084 double e = 3.1, p = -0.5, h = 2500.0;
4085 double xyz[3];
4086
4087 j = iauGd2gce(a, f, e, p, h, xyz);
4088
4089 viv(j, 0, "iauGd2gce", "j", status);
4090 vvd(xyz[0], -5598999.6665116328, 1e-7, "iauGd2gce", "0", status);
4091 vvd(xyz[1], 233011.63514630572, 1e-7, "iauGd2gce", "1", status);
4092 vvd(xyz[2], -3040909.0517314132, 1e-7, "iauGd2gce", "2", status);
4093}
4094
4095static void t_gmst00(int *status)
4096/*
4097** - - - - - - - - -
4098** t _ g m s t 0 0
4099** - - - - - - - - -
4100**
4101** Test iauGmst00 function.
4102**
4103** Returned:
4104** status int FALSE = success, TRUE = fail
4105**
4106** Called: iauGmst00, vvd
4107**
4108** This revision: 2013 August 7
4109*/
4110{
4111 double theta;
4112
4113
4114 theta = iauGmst00(2400000.5, 53736.0, 2400000.5, 53736.0);
4115
4116 vvd(theta, 1.754174972210740592, 1e-12, "iauGmst00", "", status);
4117
4118}
4119
4120static void t_gmst06(int *status)
4121/*
4122** - - - - - - - - -
4123** t _ g m s t 0 6
4124** - - - - - - - - -
4125**
4126** Test iauGmst06 function.
4127**
4128** Returned:
4129** status int FALSE = success, TRUE = fail
4130**
4131** Called: iauGmst06, vvd
4132**
4133** This revision: 2013 August 7
4134*/
4135{
4136 double theta;
4137
4138
4139 theta = iauGmst06(2400000.5, 53736.0, 2400000.5, 53736.0);
4140
4141 vvd(theta, 1.754174971870091203, 1e-12, "iauGmst06", "", status);
4142
4143}
4144
4145static void t_gmst82(int *status)
4146/*
4147** - - - - - - - - -
4148** t _ g m s t 8 2
4149** - - - - - - - - -
4150**
4151** Test iauGmst82 function.
4152**
4153** Returned:
4154** status int FALSE = success, TRUE = fail
4155**
4156** Called: iauGmst82, vvd
4157**
4158** This revision: 2013 August 7
4159*/
4160{
4161 double theta;
4162
4163
4164 theta = iauGmst82(2400000.5, 53736.0);
4165
4166 vvd(theta, 1.754174981860675096, 1e-12, "iauGmst82", "", status);
4167
4168}
4169
4170static void t_gst00a(int *status)
4171/*
4172** - - - - - - - - -
4173** t _ g s t 0 0 a
4174** - - - - - - - - -
4175**
4176** Test iauGst00a function.
4177**
4178** Returned:
4179** status int FALSE = success, TRUE = fail
4180**
4181** Called: iauGst00a, vvd
4182**
4183** This revision: 2013 August 7
4184*/
4185{
4186 double theta;
4187
4188
4189 theta = iauGst00a(2400000.5, 53736.0, 2400000.5, 53736.0);
4190
4191 vvd(theta, 1.754166138018281369, 1e-12, "iauGst00a", "", status);
4192
4193}
4194
4195static void t_gst00b(int *status)
4196/*
4197** - - - - - - - - -
4198** t _ g s t 0 0 b
4199** - - - - - - - - -
4200**
4201** Test iauGst00b function.
4202**
4203** Returned:
4204** status int FALSE = success, TRUE = fail
4205**
4206** Called: iauGst00b, vvd
4207**
4208** This revision: 2013 August 7
4209*/
4210{
4211 double theta;
4212
4213
4214 theta = iauGst00b(2400000.5, 53736.0);
4215
4216 vvd(theta, 1.754166136510680589, 1e-12, "iauGst00b", "", status);
4217
4218}
4219
4220static void t_gst06(int *status)
4221/*
4222** - - - - - - - -
4223** t _ g s t 0 6
4224** - - - - - - - -
4225**
4226** Test iauGst06 function.
4227**
4228** Returned:
4229** status int FALSE = success, TRUE = fail
4230**
4231** Called: iauGst06, vvd
4232**
4233** This revision: 2013 August 7
4234*/
4235{
4236 double rnpb[3][3], theta;
4237
4238
4239 rnpb[0][0] = 0.9999989440476103608;
4240 rnpb[0][1] = -0.1332881761240011518e-2;
4241 rnpb[0][2] = -0.5790767434730085097e-3;
4242
4243 rnpb[1][0] = 0.1332858254308954453e-2;
4244 rnpb[1][1] = 0.9999991109044505944;
4245 rnpb[1][2] = -0.4097782710401555759e-4;
4246
4247 rnpb[2][0] = 0.5791308472168153320e-3;
4248 rnpb[2][1] = 0.4020595661593994396e-4;
4249 rnpb[2][2] = 0.9999998314954572365;
4250
4251 theta = iauGst06(2400000.5, 53736.0, 2400000.5, 53736.0, rnpb);
4252
4253 vvd(theta, 1.754166138018167568, 1e-12, "iauGst06", "", status);
4254
4255}
4256
4257static void t_gst06a(int *status)
4258/*
4259** - - - - - - - - -
4260** t _ g s t 0 6 a
4261** - - - - - - - - -
4262**
4263** Test iauGst06a function.
4264**
4265** Returned:
4266** status int FALSE = success, TRUE = fail
4267**
4268** Called: iauGst06a, vvd
4269**
4270** This revision: 2013 August 7
4271*/
4272{
4273 double theta;
4274
4275
4276 theta = iauGst06a(2400000.5, 53736.0, 2400000.5, 53736.0);
4277
4278 vvd(theta, 1.754166137675019159, 1e-12, "iauGst06a", "", status);
4279
4280}
4281
4282static void t_gst94(int *status)
4283/*
4284** - - - - - - - -
4285** t _ g s t 9 4
4286** - - - - - - - -
4287**
4288** Test iauGst94 function.
4289**
4290** Returned:
4291** status int FALSE = success, TRUE = fail
4292**
4293** Called: iauGst94, vvd
4294**
4295** This revision: 2013 August 7
4296*/
4297{
4298 double theta;
4299
4300
4301 theta = iauGst94(2400000.5, 53736.0);
4302
4303 vvd(theta, 1.754166136020645203, 1e-12, "iauGst94", "", status);
4304
4305}
4306
4307static void t_icrs2g(int *status)
4308/*
4309** - - - - - - - - -
4310** t _ i c r s 2 g
4311** - - - - - - - - -
4312**
4313** Test iauIcrs2g function.
4314**
4315** Returned:
4316** status int FALSE = success, TRUE = fail
4317**
4318** Called: iauIcrs2g, vvd
4319**
4320** This revision: 2015 January 30
4321*/
4322{
4323 double dr, dd, dl, db;
4324
4325 dr = 5.9338074302227188048671087;
4326 dd = -1.1784870613579944551540570;
4327 iauIcrs2g (dr, dd, &dl, &db);
4328 vvd(dl, 5.5850536063818546461558, 1e-14, "iauIcrs2g", "L", status);
4329 vvd(db, -0.7853981633974483096157, 1e-14, "iauIcrs2g", "B", status);
4330 }
4331
4332static void t_h2fk5(int *status)
4333/*
4334** - - - - - - - -
4335** t _ h 2 f k 5
4336** - - - - - - - -
4337**
4338** Test iauH2fk5 function.
4339**
4340** Returned:
4341** status int FALSE = success, TRUE = fail
4342**
4343** Called: iauH2fk5, vvd
4344**
4345** This revision: 2013 August 7
4346*/
4347{
4348 double rh, dh, drh, ddh, pxh, rvh, r5, d5, dr5, dd5, px5, rv5;
4349
4350
4351 rh = 1.767794352;
4352 dh = -0.2917512594;
4353 drh = -2.76413026e-6;
4354 ddh = -5.92994449e-6;
4355 pxh = 0.379210;
4356 rvh = -7.6;
4357
4358 iauH2fk5(rh, dh, drh, ddh, pxh, rvh,
4359 &r5, &d5, &dr5, &dd5, &px5, &rv5);
4360
4361 vvd(r5, 1.767794455700065506, 1e-13,
4362 "iauH2fk5", "ra", status);
4363 vvd(d5, -0.2917513626469638890, 1e-13,
4364 "iauH2fk5", "dec", status);
4365 vvd(dr5, -0.27597945024511204e-5, 1e-18,
4366 "iauH2fk5", "dr5", status);
4367 vvd(dd5, -0.59308014093262838e-5, 1e-18,
4368 "iauH2fk5", "dd5", status);
4369 vvd(px5, 0.37921, 1e-13,
4370 "iauH2fk5", "px", status);
4371 vvd(rv5, -7.6000001309071126, 1e-10,
4372 "iauH2fk5", "rv", status);
4373
4374}
4375
4376static void t_hfk5z(int *status)
4377/*
4378** - - - - - - - -
4379** t _ h f k 5 z
4380** - - - - - - - -
4381**
4382** Test iauHfk5z function.
4383**
4384** Returned:
4385** status int FALSE = success, TRUE = fail
4386**
4387** Called: iauHfk5z, vvd
4388**
4389** This revision: 2013 August 7
4390*/
4391{
4392 double rh, dh, r5, d5, dr5, dd5;
4393
4394
4395
4396 rh = 1.767794352;
4397 dh = -0.2917512594;
4398
4399 iauHfk5z(rh, dh, 2400000.5, 54479.0, &r5, &d5, &dr5, &dd5);
4400
4401 vvd(r5, 1.767794490535581026, 1e-13,
4402 "iauHfk5z", "ra", status);
4403 vvd(d5, -0.2917513695320114258, 1e-14,
4404 "iauHfk5z", "dec", status);
4405 vvd(dr5, 0.4335890983539243029e-8, 1e-22,
4406 "iauHfk5z", "dr5", status);
4407 vvd(dd5, -0.8569648841237745902e-9, 1e-23,
4408 "iauHfk5z", "dd5", status);
4409
4410}
4411
4412static void t_ir(int *status)
4413/*
4414** - - - - -
4415** t _ i r
4416** - - - - -
4417**
4418** Test iauIr function.
4419**
4420** Returned:
4421** status int FALSE = success, TRUE = fail
4422**
4423** Called: iauIr, vvd
4424**
4425** This revision: 2013 August 7
4426*/
4427{
4428 double r[3][3];
4429
4430
4431 r[0][0] = 2.0;
4432 r[0][1] = 3.0;
4433 r[0][2] = 2.0;
4434
4435 r[1][0] = 3.0;
4436 r[1][1] = 2.0;
4437 r[1][2] = 3.0;
4438
4439 r[2][0] = 3.0;
4440 r[2][1] = 4.0;
4441 r[2][2] = 5.0;
4442
4443 iauIr(r);
4444
4445 vvd(r[0][0], 1.0, 0.0, "iauIr", "11", status);
4446 vvd(r[0][1], 0.0, 0.0, "iauIr", "12", status);
4447 vvd(r[0][2], 0.0, 0.0, "iauIr", "13", status);
4448
4449 vvd(r[1][0], 0.0, 0.0, "iauIr", "21", status);
4450 vvd(r[1][1], 1.0, 0.0, "iauIr", "22", status);
4451 vvd(r[1][2], 0.0, 0.0, "iauIr", "23", status);
4452
4453 vvd(r[2][0], 0.0, 0.0, "iauIr", "31", status);
4454 vvd(r[2][1], 0.0, 0.0, "iauIr", "32", status);
4455 vvd(r[2][2], 1.0, 0.0, "iauIr", "33", status);
4456
4457}
4458
4459static void t_jd2cal(int *status)
4460/*
4461** - - - - - - - - -
4462** t _ j d 2 c a l
4463** - - - - - - - - -
4464**
4465** Test iauJd2cal function.
4466**
4467** Returned:
4468** status int FALSE = success, TRUE = fail
4469**
4470** Called: iauJd2cal, viv, vvd
4471**
4472** This revision: 2013 August 7
4473*/
4474{
4475 double dj1, dj2, fd;
4476 int iy, im, id, j;
4477
4478
4479 dj1 = 2400000.5;
4480 dj2 = 50123.9999;
4481
4482 j = iauJd2cal(dj1, dj2, &iy, &im, &id, &fd);
4483
4484 viv(iy, 1996, "iauJd2cal", "y", status);
4485 viv(im, 2, "iauJd2cal", "m", status);
4486 viv(id, 10, "iauJd2cal", "d", status);
4487 vvd(fd, 0.9999, 1e-7, "iauJd2cal", "fd", status);
4488 viv(j, 0, "iauJd2cal", "j", status);
4489
4490}
4491
4492static void t_jdcalf(int *status)
4493/*
4494** - - - - - - - - -
4495** t _ j d c a l f
4496** - - - - - - - - -
4497**
4498** Test iauJdcalf function.
4499**
4500** Returned:
4501** status int FALSE = success, TRUE = fail
4502**
4503** Called: iauJdcalf, viv
4504**
4505** This revision: 2013 August 7
4506*/
4507{
4508 double dj1, dj2;
4509 int iydmf[4], j;
4510
4511
4512 dj1 = 2400000.5;
4513 dj2 = 50123.9999;
4514
4515 j = iauJdcalf(4, dj1, dj2, iydmf);
4516
4517 viv(iydmf[0], 1996, "iauJdcalf", "y", status);
4518 viv(iydmf[1], 2, "iauJdcalf", "m", status);
4519 viv(iydmf[2], 10, "iauJdcalf", "d", status);
4520 viv(iydmf[3], 9999, "iauJdcalf", "f", status);
4521
4522 viv(j, 0, "iauJdcalf", "j", status);
4523
4524}
4525
4526static void t_ld(int *status)
4527/*
4528** - - - - -
4529** t _ l d
4530** - - - - -
4531**
4532** Test iauLd function.
4533**
4534** Returned:
4535** status int FALSE = success, TRUE = fail
4536**
4537** Called: iauLd, vvd
4538*
4539** This revision: 2013 October 2
4540*/
4541{
4542 double bm, p[3], q[3], e[3], em, dlim, p1[3];
4543
4544
4545 bm = 0.00028574;
4546 p[0] = -0.763276255;
4547 p[1] = -0.608633767;
4548 p[2] = -0.216735543;
4549 q[0] = -0.763276255;
4550 q[1] = -0.608633767;
4551 q[2] = -0.216735543;
4552 e[0] = 0.76700421;
4553 e[1] = 0.605629598;
4554 e[2] = 0.211937094;
4555 em = 8.91276983;
4556 dlim = 3e-10;
4557
4558 iauLd(bm, p, q, e, em, dlim, p1);
4559
4560 vvd(p1[0], -0.7632762548968159627, 1e-12,
4561 "iauLd", "1", status);
4562 vvd(p1[1], -0.6086337670823762701, 1e-12,
4563 "iauLd", "2", status);
4564 vvd(p1[2], -0.2167355431320546947, 1e-12,
4565 "iauLd", "3", status);
4566
4567}
4568
4569static void t_ldn(int *status)
4570/*
4571** - - - - - -
4572** t _ l d n
4573** - - - - - -
4574**
4575** Test iauLdn function.
4576**
4577** Returned:
4578** status int FALSE = success, TRUE = fail
4579**
4580** Called: iauLdn, vvd
4581**
4582** This revision: 2013 October 2
4583*/
4584{
4585 int n;
4586 iauLDBODY b[3];
4587 double ob[3], sc[3], sn[3];
4588
4589
4590 n = 3;
4591 b[0].bm = 0.00028574;
4592 b[0].dl = 3e-10;
4593 b[0].pv[0][0] = -7.81014427;
4594 b[0].pv[0][1] = -5.60956681;
4595 b[0].pv[0][2] = -1.98079819;
4596 b[0].pv[1][0] = 0.0030723249;
4597 b[0].pv[1][1] = -0.00406995477;
4598 b[0].pv[1][2] = -0.00181335842;
4599 b[1].bm = 0.00095435;
4600 b[1].dl = 3e-9;
4601 b[1].pv[0][0] = 0.738098796;
4602 b[1].pv[0][1] = 4.63658692;
4603 b[1].pv[0][2] = 1.9693136;
4604 b[1].pv[1][0] = -0.00755816922;
4605 b[1].pv[1][1] = 0.00126913722;
4606 b[1].pv[1][2] = 0.000727999001;
4607 b[2].bm = 1.0;
4608 b[2].dl = 6e-6;
4609 b[2].pv[0][0] = -0.000712174377;
4610 b[2].pv[0][1] = -0.00230478303;
4611 b[2].pv[0][2] = -0.00105865966;
4612 b[2].pv[1][0] = 6.29235213e-6;
4613 b[2].pv[1][1] = -3.30888387e-7;
4614 b[2].pv[1][2] = -2.96486623e-7;
4615 ob[0] = -0.974170437;
4616 ob[1] = -0.2115201;
4617 ob[2] = -0.0917583114;
4618 sc[0] = -0.763276255;
4619 sc[1] = -0.608633767;
4620 sc[2] = -0.216735543;
4621
4622 iauLdn(n, b, ob, sc, sn);
4623
4624 vvd(sn[0], -0.7632762579693333866, 1e-12,
4625 "iauLdn", "1", status);
4626 vvd(sn[1], -0.6086337636093002660, 1e-12,
4627 "iauLdn", "2", status);
4628 vvd(sn[2], -0.2167355420646328159, 1e-12,
4629 "iauLdn", "3", status);
4630
4631}
4632
4633static void t_ldsun(int *status)
4634/*
4635** - - - - - - - -
4636** t _ l d s u n
4637** - - - - - - - -
4638**
4639** Test iauLdsun function.
4640**
4641** Returned:
4642** status int FALSE = success, TRUE = fail
4643**
4644** Called: iauLdsun, vvd
4645**
4646** This revision: 2013 October 2
4647*/
4648{
4649 double p[3], e[3], em, p1[3];
4650
4651
4652 p[0] = -0.763276255;
4653 p[1] = -0.608633767;
4654 p[2] = -0.216735543;
4655 e[0] = -0.973644023;
4656 e[1] = -0.20925523;
4657 e[2] = -0.0907169552;
4658 em = 0.999809214;
4659
4660 iauLdsun(p, e, em, p1);
4661
4662 vvd(p1[0], -0.7632762580731413169, 1e-12,
4663 "iauLdsun", "1", status);
4664 vvd(p1[1], -0.6086337635262647900, 1e-12,
4665 "iauLdsun", "2", status);
4666 vvd(p1[2], -0.2167355419322321302, 1e-12,
4667 "iauLdsun", "3", status);
4668
4669}
4670
4671static void t_num00a(int *status)
4672/*
4673** - - - - - - - - -
4674** t _ n u m 0 0 a
4675** - - - - - - - - -
4676**
4677** Test iauNum00a function.
4678**
4679** Returned:
4680** status int FALSE = success, TRUE = fail
4681**
4682** Called: iauNum00a, vvd
4683**
4684** This revision: 2013 August 7
4685*/
4686{
4687 double rmatn[3][3];
4688
4689
4690 iauNum00a(2400000.5, 53736.0, rmatn);
4691
4692 vvd(rmatn[0][0], 0.9999999999536227949, 1e-12,
4693 "iauNum00a", "11", status);
4694 vvd(rmatn[0][1], 0.8836238544090873336e-5, 1e-12,
4695 "iauNum00a", "12", status);
4696 vvd(rmatn[0][2], 0.3830835237722400669e-5, 1e-12,
4697 "iauNum00a", "13", status);
4698
4699 vvd(rmatn[1][0], -0.8836082880798569274e-5, 1e-12,
4700 "iauNum00a", "21", status);
4701 vvd(rmatn[1][1], 0.9999999991354655028, 1e-12,
4702 "iauNum00a", "22", status);
4703 vvd(rmatn[1][2], -0.4063240865362499850e-4, 1e-12,
4704 "iauNum00a", "23", status);
4705
4706 vvd(rmatn[2][0], -0.3831194272065995866e-5, 1e-12,
4707 "iauNum00a", "31", status);
4708 vvd(rmatn[2][1], 0.4063237480216291775e-4, 1e-12,
4709 "iauNum00a", "32", status);
4710 vvd(rmatn[2][2], 0.9999999991671660338, 1e-12,
4711 "iauNum00a", "33", status);
4712
4713}
4714
4715static void t_num00b(int *status)
4716/*
4717** - - - - - - - - -
4718** t _ n u m 0 0 b
4719** - - - - - - - - -
4720**
4721** Test iauNum00b function.
4722**
4723** Returned:
4724** status int FALSE = success, TRUE = fail
4725**
4726** Called: iauNum00b, vvd
4727**
4728** This revision: 2013 August 7
4729*/
4730{
4731 double rmatn[3][3];
4732
4733 iauNum00b(2400000.5, 53736, rmatn);
4734
4735 vvd(rmatn[0][0], 0.9999999999536069682, 1e-12,
4736 "iauNum00b", "11", status);
4737 vvd(rmatn[0][1], 0.8837746144871248011e-5, 1e-12,
4738 "iauNum00b", "12", status);
4739 vvd(rmatn[0][2], 0.3831488838252202945e-5, 1e-12,
4740 "iauNum00b", "13", status);
4741
4742 vvd(rmatn[1][0], -0.8837590456632304720e-5, 1e-12,
4743 "iauNum00b", "21", status);
4744 vvd(rmatn[1][1], 0.9999999991354692733, 1e-12,
4745 "iauNum00b", "22", status);
4746 vvd(rmatn[1][2], -0.4063198798559591654e-4, 1e-12,
4747 "iauNum00b", "23", status);
4748
4749 vvd(rmatn[2][0], -0.3831847930134941271e-5, 1e-12,
4750 "iauNum00b", "31", status);
4751 vvd(rmatn[2][1], 0.4063195412258168380e-4, 1e-12,
4752 "iauNum00b", "32", status);
4753 vvd(rmatn[2][2], 0.9999999991671806225, 1e-12,
4754 "iauNum00b", "33", status);
4755
4756}
4757
4758static void t_num06a(int *status)
4759/*
4760** - - - - - - - - -
4761** t _ n u m 0 6 a
4762** - - - - - - - - -
4763**
4764** Test iauNum06a function.
4765**
4766** Returned:
4767** status int FALSE = success, TRUE = fail
4768**
4769** Called: iauNum06a, vvd
4770**
4771** This revision: 2013 August 7
4772*/
4773{
4774 double rmatn[3][3];
4775
4776 iauNum06a(2400000.5, 53736, rmatn);
4777
4778 vvd(rmatn[0][0], 0.9999999999536227668, 1e-12,
4779 "iauNum06a", "11", status);
4780 vvd(rmatn[0][1], 0.8836241998111535233e-5, 1e-12,
4781 "iauNum06a", "12", status);
4782 vvd(rmatn[0][2], 0.3830834608415287707e-5, 1e-12,
4783 "iauNum06a", "13", status);
4784
4785 vvd(rmatn[1][0], -0.8836086334870740138e-5, 1e-12,
4786 "iauNum06a", "21", status);
4787 vvd(rmatn[1][1], 0.9999999991354657474, 1e-12,
4788 "iauNum06a", "22", status);
4789 vvd(rmatn[1][2], -0.4063240188248455065e-4, 1e-12,
4790 "iauNum06a", "23", status);
4791
4792 vvd(rmatn[2][0], -0.3831193642839398128e-5, 1e-12,
4793 "iauNum06a", "31", status);
4794 vvd(rmatn[2][1], 0.4063236803101479770e-4, 1e-12,
4795 "iauNum06a", "32", status);
4796 vvd(rmatn[2][2], 0.9999999991671663114, 1e-12,
4797 "iauNum06a", "33", status);
4798
4799}
4800
4801static void t_numat(int *status)
4802/*
4803** - - - - - - - -
4804** t _ n u m a t
4805** - - - - - - - -
4806**
4807** Test iauNumat function.
4808**
4809** Returned:
4810** status int FALSE = success, TRUE = fail
4811**
4812** Called: iauNumat, vvd
4813**
4814** This revision: 2013 August 7
4815*/
4816{
4817 double epsa, dpsi, deps, rmatn[3][3];
4818
4819
4820 epsa = 0.4090789763356509900;
4821 dpsi = -0.9630909107115582393e-5;
4822 deps = 0.4063239174001678826e-4;
4823
4824 iauNumat(epsa, dpsi, deps, rmatn);
4825
4826 vvd(rmatn[0][0], 0.9999999999536227949, 1e-12,
4827 "iauNumat", "11", status);
4828 vvd(rmatn[0][1], 0.8836239320236250577e-5, 1e-12,
4829 "iauNumat", "12", status);
4830 vvd(rmatn[0][2], 0.3830833447458251908e-5, 1e-12,
4831 "iauNumat", "13", status);
4832
4833 vvd(rmatn[1][0], -0.8836083657016688588e-5, 1e-12,
4834 "iauNumat", "21", status);
4835 vvd(rmatn[1][1], 0.9999999991354654959, 1e-12,
4836 "iauNumat", "22", status);
4837 vvd(rmatn[1][2], -0.4063240865361857698e-4, 1e-12,
4838 "iauNumat", "23", status);
4839
4840 vvd(rmatn[2][0], -0.3831192481833385226e-5, 1e-12,
4841 "iauNumat", "31", status);
4842 vvd(rmatn[2][1], 0.4063237480216934159e-4, 1e-12,
4843 "iauNumat", "32", status);
4844 vvd(rmatn[2][2], 0.9999999991671660407, 1e-12,
4845 "iauNumat", "33", status);
4846
4847}
4848
4849static void t_nut00a(int *status)
4850/*
4851** - - - - - - - - -
4852** t _ n u t 0 0 a
4853** - - - - - - - - -
4854**
4855** Test iauNut00a function.
4856**
4857** Returned:
4858** status int FALSE = success, TRUE = fail
4859**
4860** Called: iauNut00a, vvd
4861**
4862** This revision: 2013 August 7
4863*/
4864{
4865 double dpsi, deps;
4866
4867
4868 iauNut00a(2400000.5, 53736.0, &dpsi, &deps);
4869
4870 vvd(dpsi, -0.9630909107115518431e-5, 1e-13,
4871 "iauNut00a", "dpsi", status);
4872 vvd(deps, 0.4063239174001678710e-4, 1e-13,
4873 "iauNut00a", "deps", status);
4874
4875}
4876
4877static void t_nut00b(int *status)
4878/*
4879** - - - - - - - - -
4880** t _ n u t 0 0 b
4881** - - - - - - - - -
4882**
4883** Test iauNut00b function.
4884**
4885** Returned:
4886** status int FALSE = success, TRUE = fail
4887**
4888** Called: iauNut00b, vvd
4889**
4890** This revision: 2013 August 7
4891*/
4892{
4893 double dpsi, deps;
4894
4895
4896 iauNut00b(2400000.5, 53736.0, &dpsi, &deps);
4897
4898 vvd(dpsi, -0.9632552291148362783e-5, 1e-13,
4899 "iauNut00b", "dpsi", status);
4900 vvd(deps, 0.4063197106621159367e-4, 1e-13,
4901 "iauNut00b", "deps", status);
4902
4903}
4904
4905static void t_nut06a(int *status)
4906/*
4907** - - - - - - - - -
4908** t _ n u t 0 6 a
4909** - - - - - - - - -
4910**
4911** Test iauNut06a function.
4912**
4913** Returned:
4914** status int FALSE = success, TRUE = fail
4915**
4916** Called: iauNut06a, vvd
4917**
4918** This revision: 2013 August 7
4919*/
4920{
4921 double dpsi, deps;
4922
4923
4924 iauNut06a(2400000.5, 53736.0, &dpsi, &deps);
4925
4926 vvd(dpsi, -0.9630912025820308797e-5, 1e-13,
4927 "iauNut06a", "dpsi", status);
4928 vvd(deps, 0.4063238496887249798e-4, 1e-13,
4929 "iauNut06a", "deps", status);
4930
4931}
4932
4933static void t_nut80(int *status)
4934/*
4935** - - - - - - - -
4936** t _ n u t 8 0
4937** - - - - - - - -
4938**
4939** Test iauNut80 function.
4940**
4941** Returned:
4942** status int FALSE = success, TRUE = fail
4943**
4944** Called: iauNut80, vvd
4945**
4946** This revision: 2013 August 7
4947*/
4948{
4949 double dpsi, deps;
4950
4951
4952 iauNut80(2400000.5, 53736.0, &dpsi, &deps);
4953
4954 vvd(dpsi, -0.9643658353226563966e-5, 1e-13,
4955 "iauNut80", "dpsi", status);
4956 vvd(deps, 0.4060051006879713322e-4, 1e-13,
4957 "iauNut80", "deps", status);
4958
4959}
4960
4961static void t_nutm80(int *status)
4962/*
4963** - - - - - - - - -
4964** t _ n u t m 8 0
4965** - - - - - - - - -
4966**
4967** Test iauNutm80 function.
4968**
4969** Returned:
4970** status int FALSE = success, TRUE = fail
4971**
4972** Called: iauNutm80, vvd
4973**
4974** This revision: 2013 August 7
4975*/
4976{
4977 double rmatn[3][3];
4978
4979
4980 iauNutm80(2400000.5, 53736.0, rmatn);
4981
4982 vvd(rmatn[0][0], 0.9999999999534999268, 1e-12,
4983 "iauNutm80", "11", status);
4984 vvd(rmatn[0][1], 0.8847935789636432161e-5, 1e-12,
4985 "iauNutm80", "12", status);
4986 vvd(rmatn[0][2], 0.3835906502164019142e-5, 1e-12,
4987 "iauNutm80", "13", status);
4988
4989 vvd(rmatn[1][0], -0.8847780042583435924e-5, 1e-12,
4990 "iauNutm80", "21", status);
4991 vvd(rmatn[1][1], 0.9999999991366569963, 1e-12,
4992 "iauNutm80", "22", status);
4993 vvd(rmatn[1][2], -0.4060052702727130809e-4, 1e-12,
4994 "iauNutm80", "23", status);
4995
4996 vvd(rmatn[2][0], -0.3836265729708478796e-5, 1e-12,
4997 "iauNutm80", "31", status);
4998 vvd(rmatn[2][1], 0.4060049308612638555e-4, 1e-12,
4999 "iauNutm80", "32", status);
5000 vvd(rmatn[2][2], 0.9999999991684415129, 1e-12,
5001 "iauNutm80", "33", status);
5002
5003}
5004
5005static void t_obl06(int *status)
5006/*
5007** - - - - - - - -
5008** t _ o b l 0 6
5009** - - - - - - - -
5010**
5011** Test iauObl06 function.
5012**
5013** Returned:
5014** status int FALSE = success, TRUE = fail
5015**
5016** Called: iauObl06, vvd
5017**
5018** This revision: 2013 August 7
5019*/
5020{
5021 vvd(iauObl06(2400000.5, 54388.0), 0.4090749229387258204, 1e-14,
5022 "iauObl06", "", status);
5023}
5024
5025static void t_obl80(int *status)
5026/*
5027** - - - - - - - -
5028** t _ o b l 8 0
5029** - - - - - - - -
5030**
5031** Test iauObl80 function.
5032**
5033** Returned:
5034** status int FALSE = success, TRUE = fail
5035**
5036** Called: iauObl80, vvd
5037**
5038** This revision: 2013 August 7
5039*/
5040{
5041 double eps0;
5042
5043
5044 eps0 = iauObl80(2400000.5, 54388.0);
5045
5046 vvd(eps0, 0.4090751347643816218, 1e-14, "iauObl80", "", status);
5047
5048}
5049
5050static void t_p06e(int *status)
5051/*
5052** - - - - - - -
5053** t _ p 0 6 e
5054** - - - - - - -
5055**
5056** Test iauP06e function.
5057**
5058** Returned:
5059** status int FALSE = success, TRUE = fail
5060**
5061** Called: iauP06e, vvd
5062**
5063** This revision: 2013 August 7
5064*/
5065{
5066 double eps0, psia, oma, bpa, bqa, pia, bpia,
5067 epsa, chia, za, zetaa, thetaa, pa, gam, phi, psi;
5068
5069
5070 iauP06e(2400000.5, 52541.0, &eps0, &psia, &oma, &bpa,
5071 &bqa, &pia, &bpia, &epsa, &chia, &za,
5072 &zetaa, &thetaa, &pa, &gam, &phi, &psi);
5073
5074 vvd(eps0, 0.4090926006005828715, 1e-14,
5075 "iauP06e", "eps0", status);
5076 vvd(psia, 0.6664369630191613431e-3, 1e-14,
5077 "iauP06e", "psia", status);
5078 vvd(oma , 0.4090925973783255982, 1e-14,
5079 "iauP06e", "oma", status);
5080 vvd(bpa, 0.5561149371265209445e-6, 1e-14,
5081 "iauP06e", "bpa", status);
5082 vvd(bqa, -0.6191517193290621270e-5, 1e-14,
5083 "iauP06e", "bqa", status);
5084 vvd(pia, 0.6216441751884382923e-5, 1e-14,
5085 "iauP06e", "pia", status);
5086 vvd(bpia, 3.052014180023779882, 1e-14,
5087 "iauP06e", "bpia", status);
5088 vvd(epsa, 0.4090864054922431688, 1e-14,
5089 "iauP06e", "epsa", status);
5090 vvd(chia, 0.1387703379530915364e-5, 1e-14,
5091 "iauP06e", "chia", status);
5092 vvd(za, 0.2921789846651790546e-3, 1e-14,
5093 "iauP06e", "za", status);
5094 vvd(zetaa, 0.3178773290332009310e-3, 1e-14,
5095 "iauP06e", "zetaa", status);
5096 vvd(thetaa, 0.2650932701657497181e-3, 1e-14,
5097 "iauP06e", "thetaa", status);
5098 vvd(pa, 0.6651637681381016344e-3, 1e-14,
5099 "iauP06e", "pa", status);
5100 vvd(gam, 0.1398077115963754987e-5, 1e-14,
5101 "iauP06e", "gam", status);
5102 vvd(phi, 0.4090864090837462602, 1e-14,
5103 "iauP06e", "phi", status);
5104 vvd(psi, 0.6664464807480920325e-3, 1e-14,
5105 "iauP06e", "psi", status);
5106
5107}
5108
5109static void t_p2pv(int *status)
5110/*
5111** - - - - - - -
5112** t _ p 2 p v
5113** - - - - - - -
5114**
5115** Test iauP2pv function.
5116**
5117** Returned:
5118** status int FALSE = success, TRUE = fail
5119**
5120** Called: iauP2pv, vvd
5121**
5122** This revision: 2013 August 7
5123*/
5124{
5125 double p[3], pv[2][3];
5126
5127
5128 p[0] = 0.25;
5129 p[1] = 1.2;
5130 p[2] = 3.0;
5131
5132 pv[0][0] = 0.3;
5133 pv[0][1] = 1.2;
5134 pv[0][2] = -2.5;
5135
5136 pv[1][0] = -0.5;
5137 pv[1][1] = 3.1;
5138 pv[1][2] = 0.9;
5139
5140 iauP2pv(p, pv);
5141
5142 vvd(pv[0][0], 0.25, 0.0, "iauP2pv", "p1", status);
5143 vvd(pv[0][1], 1.2, 0.0, "iauP2pv", "p2", status);
5144 vvd(pv[0][2], 3.0, 0.0, "iauP2pv", "p3", status);
5145
5146 vvd(pv[1][0], 0.0, 0.0, "iauP2pv", "v1", status);
5147 vvd(pv[1][1], 0.0, 0.0, "iauP2pv", "v2", status);
5148 vvd(pv[1][2], 0.0, 0.0, "iauP2pv", "v3", status);
5149
5150}
5151
5152static void t_p2s(int *status)
5153/*
5154** - - - - - -
5155** t _ p 2 s
5156** - - - - - -
5157**
5158** Test iauP2s function.
5159**
5160** Returned:
5161** status int FALSE = success, TRUE = fail
5162**
5163** Called: iauP2s, vvd
5164**
5165** This revision: 2013 August 7
5166*/
5167{
5168 double p[3], theta, phi, r;
5169
5170
5171 p[0] = 100.0;
5172 p[1] = -50.0;
5173 p[2] = 25.0;
5174
5175 iauP2s(p, &theta, &phi, &r);
5176
5177 vvd(theta, -0.4636476090008061162, 1e-12, "iauP2s", "theta", status);
5178 vvd(phi, 0.2199879773954594463, 1e-12, "iauP2s", "phi", status);
5179 vvd(r, 114.5643923738960002, 1e-9, "iauP2s", "r", status);
5180
5181}
5182
5183static void t_pap(int *status)
5184/*
5185** - - - - - -
5186** t _ p a p
5187** - - - - - -
5188**
5189** Test iauPap function.
5190**
5191** Returned:
5192** status int FALSE = success, TRUE = fail
5193**
5194** Called: iauPap, vvd
5195**
5196** This revision: 2013 August 7
5197*/
5198{
5199 double a[3], b[3], theta;
5200
5201
5202 a[0] = 1.0;
5203 a[1] = 0.1;
5204 a[2] = 0.2;
5205
5206 b[0] = -3.0;
5207 b[1] = 1e-3;
5208 b[2] = 0.2;
5209
5210 theta = iauPap(a, b);
5211
5212 vvd(theta, 0.3671514267841113674, 1e-12, "iauPap", "", status);
5213
5214}
5215
5216static void t_pas(int *status)
5217/*
5218** - - - - - -
5219** t _ p a s
5220** - - - - - -
5221**
5222** Test iauPas function.
5223**
5224** Returned:
5225** status int FALSE = success, TRUE = fail
5226**
5227** Called: iauPas, vvd
5228**
5229** This revision: 2013 August 7
5230*/
5231{
5232 double al, ap, bl, bp, theta;
5233
5234
5235 al = 1.0;
5236 ap = 0.1;
5237 bl = 0.2;
5238 bp = -1.0;
5239
5240 theta = iauPas(al, ap, bl, bp);
5241
5242 vvd(theta, -2.724544922932270424, 1e-12, "iauPas", "", status);
5243
5244}
5245
5246static void t_pb06(int *status)
5247/*
5248** - - - - - - -
5249** t _ p b 0 6
5250** - - - - - - -
5251**
5252** Test iauPb06 function.
5253**
5254** Returned:
5255** status int FALSE = success, TRUE = fail
5256**
5257** Called: iauPb06, vvd
5258**
5259** This revision: 2013 August 7
5260*/
5261{
5262 double bzeta, bz, btheta;
5263
5264
5265 iauPb06(2400000.5, 50123.9999, &bzeta, &bz, &btheta);
5266
5267 vvd(bzeta, -0.5092634016326478238e-3, 1e-12,
5268 "iauPb06", "bzeta", status);
5269 vvd(bz, -0.3602772060566044413e-3, 1e-12,
5270 "iauPb06", "bz", status);
5271 vvd(btheta, -0.3779735537167811177e-3, 1e-12,
5272 "iauPb06", "btheta", status);
5273
5274}
5275
5276static void t_pdp(int *status)
5277/*
5278** - - - - - -
5279** t _ p d p
5280** - - - - - -
5281**
5282** Test iauPdp function.
5283**
5284** Returned:
5285** status int FALSE = success, TRUE = fail
5286**
5287** Called: iauPdp, vvd
5288**
5289** This revision: 2013 August 7
5290*/
5291{
5292 double a[3], b[3], adb;
5293
5294
5295 a[0] = 2.0;
5296 a[1] = 2.0;
5297 a[2] = 3.0;
5298
5299 b[0] = 1.0;
5300 b[1] = 3.0;
5301 b[2] = 4.0;
5302
5303 adb = iauPdp(a, b);
5304
5305 vvd(adb, 20, 1e-12, "iauPdp", "", status);
5306
5307}
5308
5309static void t_pfw06(int *status)
5310/*
5311** - - - - - - - -
5312** t _ p f w 0 6
5313** - - - - - - - -
5314**
5315** Test iauPfw06 function.
5316**
5317** Returned:
5318** status int FALSE = success, TRUE = fail
5319**
5320** Called: iauPfw06, vvd
5321**
5322** This revision: 2013 August 7
5323*/
5324{
5325 double gamb, phib, psib, epsa;
5326
5327
5328 iauPfw06(2400000.5, 50123.9999, &gamb, &phib, &psib, &epsa);
5329
5330 vvd(gamb, -0.2243387670997995690e-5, 1e-16,
5331 "iauPfw06", "gamb", status);
5332 vvd(phib, 0.4091014602391312808, 1e-12,
5333 "iauPfw06", "phib", status);
5334 vvd(psib, -0.9501954178013031895e-3, 1e-14,
5335 "iauPfw06", "psib", status);
5336 vvd(epsa, 0.4091014316587367491, 1e-12,
5337 "iauPfw06", "epsa", status);
5338
5339}
5340
5341static void t_plan94(int *status)
5342/*
5343** - - - - - - - - -
5344** t _ p l a n 9 4
5345** - - - - - - - - -
5346**
5347** Test iauPlan94 function.
5348**
5349** Returned:
5350** status int FALSE = success, TRUE = fail
5351**
5352** Called: iauPlan94, vvd, viv
5353**
5354** This revision: 2013 October 2
5355*/
5356{
5357 double pv[2][3];
5358 int j;
5359
5360
5361 j = iauPlan94(2400000.5, 1e6, 0, pv);
5362
5363 vvd(pv[0][0], 0.0, 0.0, "iauPlan94", "x 1", status);
5364 vvd(pv[0][1], 0.0, 0.0, "iauPlan94", "y 1", status);
5365 vvd(pv[0][2], 0.0, 0.0, "iauPlan94", "z 1", status);
5366
5367 vvd(pv[1][0], 0.0, 0.0, "iauPlan94", "xd 1", status);
5368 vvd(pv[1][1], 0.0, 0.0, "iauPlan94", "yd 1", status);
5369 vvd(pv[1][2], 0.0, 0.0, "iauPlan94", "zd 1", status);
5370
5371 viv(j, -1, "iauPlan94", "j 1", status);
5372
5373 j = iauPlan94(2400000.5, 1e6, 10, pv);
5374
5375 viv(j, -1, "iauPlan94", "j 2", status);
5376
5377 j = iauPlan94(2400000.5, -320000, 3, pv);
5378
5379 vvd(pv[0][0], 0.9308038666832975759, 1e-11,
5380 "iauPlan94", "x 3", status);
5381 vvd(pv[0][1], 0.3258319040261346000, 1e-11,
5382 "iauPlan94", "y 3", status);
5383 vvd(pv[0][2], 0.1422794544481140560, 1e-11,
5384 "iauPlan94", "z 3", status);
5385
5386 vvd(pv[1][0], -0.6429458958255170006e-2, 1e-11,
5387 "iauPlan94", "xd 3", status);
5388 vvd(pv[1][1], 0.1468570657704237764e-1, 1e-11,
5389 "iauPlan94", "yd 3", status);
5390 vvd(pv[1][2], 0.6406996426270981189e-2, 1e-11,
5391 "iauPlan94", "zd 3", status);
5392
5393 viv(j, 1, "iauPlan94", "j 3", status);
5394
5395 j = iauPlan94(2400000.5, 43999.9, 1, pv);
5396
5397 vvd(pv[0][0], 0.2945293959257430832, 1e-11,
5398 "iauPlan94", "x 4", status);
5399 vvd(pv[0][1], -0.2452204176601049596, 1e-11,
5400 "iauPlan94", "y 4", status);
5401 vvd(pv[0][2], -0.1615427700571978153, 1e-11,
5402 "iauPlan94", "z 4", status);
5403
5404 vvd(pv[1][0], 0.1413867871404614441e-1, 1e-11,
5405 "iauPlan94", "xd 4", status);
5406 vvd(pv[1][1], 0.1946548301104706582e-1, 1e-11,
5407 "iauPlan94", "yd 4", status);
5408 vvd(pv[1][2], 0.8929809783898904786e-2, 1e-11,
5409 "iauPlan94", "zd 4", status);
5410
5411 viv(j, 0, "iauPlan94", "j 4", status);
5412
5413}
5414
5415static void t_pmat00(int *status)
5416/*
5417** - - - - - - - - -
5418** t _ p m a t 0 0
5419** - - - - - - - - -
5420**
5421** Test iauPmat00 function.
5422**
5423** Returned:
5424** status int FALSE = success, TRUE = fail
5425**
5426** Called: iauPmat00, vvd
5427**
5428** This revision: 2013 August 7
5429*/
5430{
5431 double rbp[3][3];
5432
5433
5434 iauPmat00(2400000.5, 50123.9999, rbp);
5435
5436 vvd(rbp[0][0], 0.9999995505175087260, 1e-12,
5437 "iauPmat00", "11", status);
5438 vvd(rbp[0][1], 0.8695405883617884705e-3, 1e-14,
5439 "iauPmat00", "12", status);
5440 vvd(rbp[0][2], 0.3779734722239007105e-3, 1e-14,
5441 "iauPmat00", "13", status);
5442
5443 vvd(rbp[1][0], -0.8695405990410863719e-3, 1e-14,
5444 "iauPmat00", "21", status);
5445 vvd(rbp[1][1], 0.9999996219494925900, 1e-12,
5446 "iauPmat00", "22", status);
5447 vvd(rbp[1][2], -0.1360775820404982209e-6, 1e-14,
5448 "iauPmat00", "23", status);
5449
5450 vvd(rbp[2][0], -0.3779734476558184991e-3, 1e-14,
5451 "iauPmat00", "31", status);
5452 vvd(rbp[2][1], -0.1925857585832024058e-6, 1e-14,
5453 "iauPmat00", "32", status);
5454 vvd(rbp[2][2], 0.9999999285680153377, 1e-12,
5455 "iauPmat00", "33", status);
5456
5457}
5458
5459static void t_pmat06(int *status)
5460/*
5461** - - - - - - - - -
5462** t _ p m a t 0 6
5463** - - - - - - - - -
5464**
5465** Test iauPmat06 function.
5466**
5467** Returned:
5468** status int FALSE = success, TRUE = fail
5469**
5470** Called: iauPmat06, vvd
5471**
5472** This revision: 2013 August 7
5473*/
5474{
5475 double rbp[3][3];
5476
5477
5478 iauPmat06(2400000.5, 50123.9999, rbp);
5479
5480 vvd(rbp[0][0], 0.9999995505176007047, 1e-12,
5481 "iauPmat06", "11", status);
5482 vvd(rbp[0][1], 0.8695404617348208406e-3, 1e-14,
5483 "iauPmat06", "12", status);
5484 vvd(rbp[0][2], 0.3779735201865589104e-3, 1e-14,
5485 "iauPmat06", "13", status);
5486
5487 vvd(rbp[1][0], -0.8695404723772031414e-3, 1e-14,
5488 "iauPmat06", "21", status);
5489 vvd(rbp[1][1], 0.9999996219496027161, 1e-12,
5490 "iauPmat06", "22", status);
5491 vvd(rbp[1][2], -0.1361752497080270143e-6, 1e-14,
5492 "iauPmat06", "23", status);
5493
5494 vvd(rbp[2][0], -0.3779734957034089490e-3, 1e-14,
5495 "iauPmat06", "31", status);
5496 vvd(rbp[2][1], -0.1924880847894457113e-6, 1e-14,
5497 "iauPmat06", "32", status);
5498 vvd(rbp[2][2], 0.9999999285679971958, 1e-12,
5499 "iauPmat06", "33", status);
5500
5501}
5502
5503static void t_pmat76(int *status)
5504/*
5505** - - - - - - - - -
5506** t _ p m a t 7 6
5507** - - - - - - - - -
5508**
5509** Test iauPmat76 function.
5510**
5511** Returned:
5512** status int FALSE = success, TRUE = fail
5513**
5514** Called: iauPmat76, vvd
5515**
5516** This revision: 2013 August 7
5517*/
5518{
5519 double rmatp[3][3];
5520
5521
5522 iauPmat76(2400000.5, 50123.9999, rmatp);
5523
5524 vvd(rmatp[0][0], 0.9999995504328350733, 1e-12,
5525 "iauPmat76", "11", status);
5526 vvd(rmatp[0][1], 0.8696632209480960785e-3, 1e-14,
5527 "iauPmat76", "12", status);
5528 vvd(rmatp[0][2], 0.3779153474959888345e-3, 1e-14,
5529 "iauPmat76", "13", status);
5530
5531 vvd(rmatp[1][0], -0.8696632209485112192e-3, 1e-14,
5532 "iauPmat76", "21", status);
5533 vvd(rmatp[1][1], 0.9999996218428560614, 1e-12,
5534 "iauPmat76", "22", status);
5535 vvd(rmatp[1][2], -0.1643284776111886407e-6, 1e-14,
5536 "iauPmat76", "23", status);
5537
5538 vvd(rmatp[2][0], -0.3779153474950335077e-3, 1e-14,
5539 "iauPmat76", "31", status);
5540 vvd(rmatp[2][1], -0.1643306746147366896e-6, 1e-14,
5541 "iauPmat76", "32", status);
5542 vvd(rmatp[2][2], 0.9999999285899790119, 1e-12,
5543 "iauPmat76", "33", status);
5544
5545}
5546
5547static void t_pm(int *status)
5548/*
5549** - - - - -
5550** t _ p m
5551** - - - - -
5552**
5553** Test iauPm function.
5554**
5555** Returned:
5556** status int FALSE = success, TRUE = fail
5557**
5558** Called: iauPm, vvd
5559**
5560** This revision: 2013 August 7
5561*/
5562{
5563 double p[3], r;
5564
5565
5566 p[0] = 0.3;
5567 p[1] = 1.2;
5568 p[2] = -2.5;
5569
5570 r = iauPm(p);
5571
5572 vvd(r, 2.789265136196270604, 1e-12, "iauPm", "", status);
5573
5574}
5575
5576static void t_pmp(int *status)
5577/*
5578** - - - - - -
5579** t _ p m p
5580** - - - - - -
5581**
5582** Test iauPmp function.
5583**
5584** Returned:
5585** status int FALSE = success, TRUE = fail
5586**
5587** Called: iauPmp, vvd
5588**
5589** This revision: 2013 August 7
5590*/
5591{
5592 double a[3], b[3], amb[3];
5593
5594
5595 a[0] = 2.0;
5596 a[1] = 2.0;
5597 a[2] = 3.0;
5598
5599 b[0] = 1.0;
5600 b[1] = 3.0;
5601 b[2] = 4.0;
5602
5603 iauPmp(a, b, amb);
5604
5605 vvd(amb[0], 1.0, 1e-12, "iauPmp", "0", status);
5606 vvd(amb[1], -1.0, 1e-12, "iauPmp", "1", status);
5607 vvd(amb[2], -1.0, 1e-12, "iauPmp", "2", status);
5608
5609}
5610
5611static void t_pmpx(int *status)
5612/*
5613** - - - - - - -
5614** t _ p m p x
5615** - - - - - - -
5616**
5617** Test iauPmpx function.
5618**
5619** Returned:
5620** status int FALSE = success, TRUE = fail
5621**
5622** Called: iauPmpx, vvd
5623**
5624** This revision: 2013 October 2
5625*/
5626{
5627 double rc, dc, pr, pd, px, rv, pmt, pob[3], pco[3];
5628
5629
5630 rc = 1.234;
5631 dc = 0.789;
5632 pr = 1e-5;
5633 pd = -2e-5;
5634 px = 1e-2;
5635 rv = 10.0;
5636 pmt = 8.75;
5637 pob[0] = 0.9;
5638 pob[1] = 0.4;
5639 pob[2] = 0.1;
5640
5641 iauPmpx(rc, dc, pr, pd, px, rv, pmt, pob, pco);
5642
5643 vvd(pco[0], 0.2328137623960308440, 1e-12,
5644 "iauPmpx", "1", status);
5645 vvd(pco[1], 0.6651097085397855317, 1e-12,
5646 "iauPmpx", "2", status);
5647 vvd(pco[2], 0.7095257765896359847, 1e-12,
5648 "iauPmpx", "3", status);
5649
5650}
5651
5652static void t_pmsafe(int *status)
5653/*
5654** - - - - - - - - -
5655** t _ p m s a f e
5656** - - - - - - - - -
5657**
5658** Test iauPmsafe function.
5659**
5660** Returned:
5661** status int FALSE = success, TRUE = fail
5662**
5663** Called: iauPmsafe, vvd, viv
5664**
5665** This revision: 2013 October 2
5666*/
5667{
5668 int j;
5669 double ra1, dec1, pmr1, pmd1, px1, rv1, ep1a, ep1b, ep2a, ep2b,
5670 ra2, dec2, pmr2, pmd2, px2, rv2;
5671
5672
5673 ra1 = 1.234;
5674 dec1 = 0.789;
5675 pmr1 = 1e-5;
5676 pmd1 = -2e-5;
5677 px1 = 1e-2;
5678 rv1 = 10.0;
5679 ep1a = 2400000.5;
5680 ep1b = 48348.5625;
5681 ep2a = 2400000.5;
5682 ep2b = 51544.5;
5683
5684 j = iauPmsafe(ra1, dec1, pmr1, pmd1, px1, rv1,
5685 ep1a, ep1b, ep2a, ep2b,
5686 &ra2, &dec2, &pmr2, &pmd2, &px2, &rv2);
5687
5688 vvd(ra2, 1.234087484501017061, 1e-12,
5689 "iauPmsafe", "ra2", status);
5690 vvd(dec2, 0.7888249982450468574, 1e-12,
5691 "iauPmsafe", "dec2", status);
5692 vvd(pmr2, 0.9996457663586073988e-5, 1e-12,
5693 "iauPmsafe", "pmr2", status);
5694 vvd(pmd2, -0.2000040085106737816e-4, 1e-16,
5695 "iauPmsafe", "pmd2", status);
5696 vvd(px2, 0.9999997295356765185e-2, 1e-12,
5697 "iauPmsafe", "px2", status);
5698 vvd(rv2, 10.38468380113917014, 1e-10,
5699 "iauPmsafe", "rv2", status);
5700 viv ( j, 0, "iauPmsafe", "j", status);
5701
5702}
5703
5704static void t_pn(int *status)
5705/*
5706** - - - - -
5707** t _ p n
5708** - - - - -
5709**
5710** Test iauPn function.
5711**
5712** Returned:
5713** status int FALSE = success, TRUE = fail
5714**
5715** Called: iauPn, vvd
5716**
5717** This revision: 2013 August 7
5718*/
5719{
5720 double p[3], r, u[3];
5721
5722
5723 p[0] = 0.3;
5724 p[1] = 1.2;
5725 p[2] = -2.5;
5726
5727 iauPn(p, &r, u);
5728
5729 vvd(r, 2.789265136196270604, 1e-12, "iauPn", "r", status);
5730
5731 vvd(u[0], 0.1075552109073112058, 1e-12, "iauPn", "u1", status);
5732 vvd(u[1], 0.4302208436292448232, 1e-12, "iauPn", "u2", status);
5733 vvd(u[2], -0.8962934242275933816, 1e-12, "iauPn", "u3", status);
5734
5735}
5736
5737static void t_pn00(int *status)
5738/*
5739** - - - - - - -
5740** t _ p n 0 0
5741** - - - - - - -
5742**
5743** Test iauPn00 function.
5744**
5745** Returned:
5746** status int FALSE = success, TRUE = fail
5747**
5748** Called: iauPn00, vvd
5749**
5750** This revision: 2013 August 7
5751*/
5752{
5753 double dpsi, deps, epsa,
5754 rb[3][3], rp[3][3], rbp[3][3], rn[3][3], rbpn[3][3];
5755
5756
5757 dpsi = -0.9632552291149335877e-5;
5758 deps = 0.4063197106621141414e-4;
5759
5760 iauPn00(2400000.5, 53736.0, dpsi, deps,
5761 &epsa, rb, rp, rbp, rn, rbpn);
5762
5763 vvd(epsa, 0.4090791789404229916, 1e-12, "iauPn00", "epsa", status);
5764
5765 vvd(rb[0][0], 0.9999999999999942498, 1e-12,
5766 "iauPn00", "rb11", status);
5767 vvd(rb[0][1], -0.7078279744199196626e-7, 1e-18,
5768 "iauPn00", "rb12", status);
5769 vvd(rb[0][2], 0.8056217146976134152e-7, 1e-18,
5770 "iauPn00", "rb13", status);
5771
5772 vvd(rb[1][0], 0.7078279477857337206e-7, 1e-18,
5773 "iauPn00", "rb21", status);
5774 vvd(rb[1][1], 0.9999999999999969484, 1e-12,
5775 "iauPn00", "rb22", status);
5776 vvd(rb[1][2], 0.3306041454222136517e-7, 1e-18,
5777 "iauPn00", "rb23", status);
5778
5779 vvd(rb[2][0], -0.8056217380986972157e-7, 1e-18,
5780 "iauPn00", "rb31", status);
5781 vvd(rb[2][1], -0.3306040883980552500e-7, 1e-18,
5782 "iauPn00", "rb32", status);
5783 vvd(rb[2][2], 0.9999999999999962084, 1e-12,
5784 "iauPn00", "rb33", status);
5785
5786 vvd(rp[0][0], 0.9999989300532289018, 1e-12,
5787 "iauPn00", "rp11", status);
5788 vvd(rp[0][1], -0.1341647226791824349e-2, 1e-14,
5789 "iauPn00", "rp12", status);
5790 vvd(rp[0][2], -0.5829880927190296547e-3, 1e-14,
5791 "iauPn00", "rp13", status);
5792
5793 vvd(rp[1][0], 0.1341647231069759008e-2, 1e-14,
5794 "iauPn00", "rp21", status);
5795 vvd(rp[1][1], 0.9999990999908750433, 1e-12,
5796 "iauPn00", "rp22", status);
5797 vvd(rp[1][2], -0.3837444441583715468e-6, 1e-14,
5798 "iauPn00", "rp23", status);
5799
5800 vvd(rp[2][0], 0.5829880828740957684e-3, 1e-14,
5801 "iauPn00", "rp31", status);
5802 vvd(rp[2][1], -0.3984203267708834759e-6, 1e-14,
5803 "iauPn00", "rp32", status);
5804 vvd(rp[2][2], 0.9999998300623538046, 1e-12,
5805 "iauPn00", "rp33", status);
5806
5807 vvd(rbp[0][0], 0.9999989300052243993, 1e-12,
5808 "iauPn00", "rbp11", status);
5809 vvd(rbp[0][1], -0.1341717990239703727e-2, 1e-14,
5810 "iauPn00", "rbp12", status);
5811 vvd(rbp[0][2], -0.5829075749891684053e-3, 1e-14,
5812 "iauPn00", "rbp13", status);
5813
5814 vvd(rbp[1][0], 0.1341718013831739992e-2, 1e-14,
5815 "iauPn00", "rbp21", status);
5816 vvd(rbp[1][1], 0.9999990998959191343, 1e-12,
5817 "iauPn00", "rbp22", status);
5818 vvd(rbp[1][2], -0.3505759733565421170e-6, 1e-14,
5819 "iauPn00", "rbp23", status);
5820
5821 vvd(rbp[2][0], 0.5829075206857717883e-3, 1e-14,
5822 "iauPn00", "rbp31", status);
5823 vvd(rbp[2][1], -0.4315219955198608970e-6, 1e-14,
5824 "iauPn00", "rbp32", status);
5825 vvd(rbp[2][2], 0.9999998301093036269, 1e-12,
5826 "iauPn00", "rbp33", status);
5827
5828 vvd(rn[0][0], 0.9999999999536069682, 1e-12,
5829 "iauPn00", "rn11", status);
5830 vvd(rn[0][1], 0.8837746144872140812e-5, 1e-16,
5831 "iauPn00", "rn12", status);
5832 vvd(rn[0][2], 0.3831488838252590008e-5, 1e-16,
5833 "iauPn00", "rn13", status);
5834
5835 vvd(rn[1][0], -0.8837590456633197506e-5, 1e-16,
5836 "iauPn00", "rn21", status);
5837 vvd(rn[1][1], 0.9999999991354692733, 1e-12,
5838 "iauPn00", "rn22", status);
5839 vvd(rn[1][2], -0.4063198798559573702e-4, 1e-16,
5840 "iauPn00", "rn23", status);
5841
5842 vvd(rn[2][0], -0.3831847930135328368e-5, 1e-16,
5843 "iauPn00", "rn31", status);
5844 vvd(rn[2][1], 0.4063195412258150427e-4, 1e-16,
5845 "iauPn00", "rn32", status);
5846 vvd(rn[2][2], 0.9999999991671806225, 1e-12,
5847 "iauPn00", "rn33", status);
5848
5849 vvd(rbpn[0][0], 0.9999989440499982806, 1e-12,
5850 "iauPn00", "rbpn11", status);
5851 vvd(rbpn[0][1], -0.1332880253640848301e-2, 1e-14,
5852 "iauPn00", "rbpn12", status);
5853 vvd(rbpn[0][2], -0.5790760898731087295e-3, 1e-14,
5854 "iauPn00", "rbpn13", status);
5855
5856 vvd(rbpn[1][0], 0.1332856746979948745e-2, 1e-14,
5857 "iauPn00", "rbpn21", status);
5858 vvd(rbpn[1][1], 0.9999991109064768883, 1e-12,
5859 "iauPn00", "rbpn22", status);
5860 vvd(rbpn[1][2], -0.4097740555723063806e-4, 1e-14,
5861 "iauPn00", "rbpn23", status);
5862
5863 vvd(rbpn[2][0], 0.5791301929950205000e-3, 1e-14,
5864 "iauPn00", "rbpn31", status);
5865 vvd(rbpn[2][1], 0.4020553681373702931e-4, 1e-14,
5866 "iauPn00", "rbpn32", status);
5867 vvd(rbpn[2][2], 0.9999998314958529887, 1e-12,
5868 "iauPn00", "rbpn33", status);
5869
5870}
5871
5872static void t_pn00a(int *status)
5873/*
5874** - - - - - - - -
5875** t _ p n 0 0 a
5876** - - - - - - - -
5877**
5878** Test iauPn00a function.
5879**
5880** Returned:
5881** status int FALSE = success, TRUE = fail
5882**
5883** Called: iauPn00a, vvd
5884**
5885** This revision: 2013 August 7
5886*/
5887{
5888 double dpsi, deps, epsa,
5889 rb[3][3], rp[3][3], rbp[3][3], rn[3][3], rbpn[3][3];
5890
5891
5892 iauPn00a(2400000.5, 53736.0,
5893 &dpsi, &deps, &epsa, rb, rp, rbp, rn, rbpn);
5894
5895 vvd(dpsi, -0.9630909107115518431e-5, 1e-12,
5896 "iauPn00a", "dpsi", status);
5897 vvd(deps, 0.4063239174001678710e-4, 1e-12,
5898 "iauPn00a", "deps", status);
5899 vvd(epsa, 0.4090791789404229916, 1e-12, "iauPn00a", "epsa", status);
5900
5901 vvd(rb[0][0], 0.9999999999999942498, 1e-12,
5902 "iauPn00a", "rb11", status);
5903 vvd(rb[0][1], -0.7078279744199196626e-7, 1e-16,
5904 "iauPn00a", "rb12", status);
5905 vvd(rb[0][2], 0.8056217146976134152e-7, 1e-16,
5906 "iauPn00a", "rb13", status);
5907
5908 vvd(rb[1][0], 0.7078279477857337206e-7, 1e-16,
5909 "iauPn00a", "rb21", status);
5910 vvd(rb[1][1], 0.9999999999999969484, 1e-12,
5911 "iauPn00a", "rb22", status);
5912 vvd(rb[1][2], 0.3306041454222136517e-7, 1e-16,
5913 "iauPn00a", "rb23", status);
5914
5915 vvd(rb[2][0], -0.8056217380986972157e-7, 1e-16,
5916 "iauPn00a", "rb31", status);
5917 vvd(rb[2][1], -0.3306040883980552500e-7, 1e-16,
5918 "iauPn00a", "rb32", status);
5919 vvd(rb[2][2], 0.9999999999999962084, 1e-12,
5920 "iauPn00a", "rb33", status);
5921
5922 vvd(rp[0][0], 0.9999989300532289018, 1e-12,
5923 "iauPn00a", "rp11", status);
5924 vvd(rp[0][1], -0.1341647226791824349e-2, 1e-14,
5925 "iauPn00a", "rp12", status);
5926 vvd(rp[0][2], -0.5829880927190296547e-3, 1e-14,
5927 "iauPn00a", "rp13", status);
5928
5929 vvd(rp[1][0], 0.1341647231069759008e-2, 1e-14,
5930 "iauPn00a", "rp21", status);
5931 vvd(rp[1][1], 0.9999990999908750433, 1e-12,
5932 "iauPn00a", "rp22", status);
5933 vvd(rp[1][2], -0.3837444441583715468e-6, 1e-14,
5934 "iauPn00a", "rp23", status);
5935
5936 vvd(rp[2][0], 0.5829880828740957684e-3, 1e-14,
5937 "iauPn00a", "rp31", status);
5938 vvd(rp[2][1], -0.3984203267708834759e-6, 1e-14,
5939 "iauPn00a", "rp32", status);
5940 vvd(rp[2][2], 0.9999998300623538046, 1e-12,
5941 "iauPn00a", "rp33", status);
5942
5943 vvd(rbp[0][0], 0.9999989300052243993, 1e-12,
5944 "iauPn00a", "rbp11", status);
5945 vvd(rbp[0][1], -0.1341717990239703727e-2, 1e-14,
5946 "iauPn00a", "rbp12", status);
5947 vvd(rbp[0][2], -0.5829075749891684053e-3, 1e-14,
5948 "iauPn00a", "rbp13", status);
5949
5950 vvd(rbp[1][0], 0.1341718013831739992e-2, 1e-14,
5951 "iauPn00a", "rbp21", status);
5952 vvd(rbp[1][1], 0.9999990998959191343, 1e-12,
5953 "iauPn00a", "rbp22", status);
5954 vvd(rbp[1][2], -0.3505759733565421170e-6, 1e-14,
5955 "iauPn00a", "rbp23", status);
5956
5957 vvd(rbp[2][0], 0.5829075206857717883e-3, 1e-14,
5958 "iauPn00a", "rbp31", status);
5959 vvd(rbp[2][1], -0.4315219955198608970e-6, 1e-14,
5960 "iauPn00a", "rbp32", status);
5961 vvd(rbp[2][2], 0.9999998301093036269, 1e-12,
5962 "iauPn00a", "rbp33", status);
5963
5964 vvd(rn[0][0], 0.9999999999536227949, 1e-12,
5965 "iauPn00a", "rn11", status);
5966 vvd(rn[0][1], 0.8836238544090873336e-5, 1e-14,
5967 "iauPn00a", "rn12", status);
5968 vvd(rn[0][2], 0.3830835237722400669e-5, 1e-14,
5969 "iauPn00a", "rn13", status);
5970
5971 vvd(rn[1][0], -0.8836082880798569274e-5, 1e-14,
5972 "iauPn00a", "rn21", status);
5973 vvd(rn[1][1], 0.9999999991354655028, 1e-12,
5974 "iauPn00a", "rn22", status);
5975 vvd(rn[1][2], -0.4063240865362499850e-4, 1e-14,
5976 "iauPn00a", "rn23", status);
5977
5978 vvd(rn[2][0], -0.3831194272065995866e-5, 1e-14,
5979 "iauPn00a", "rn31", status);
5980 vvd(rn[2][1], 0.4063237480216291775e-4, 1e-14,
5981 "iauPn00a", "rn32", status);
5982 vvd(rn[2][2], 0.9999999991671660338, 1e-12,
5983 "iauPn00a", "rn33", status);
5984
5985 vvd(rbpn[0][0], 0.9999989440476103435, 1e-12,
5986 "iauPn00a", "rbpn11", status);
5987 vvd(rbpn[0][1], -0.1332881761240011763e-2, 1e-14,
5988 "iauPn00a", "rbpn12", status);
5989 vvd(rbpn[0][2], -0.5790767434730085751e-3, 1e-14,
5990 "iauPn00a", "rbpn13", status);
5991
5992 vvd(rbpn[1][0], 0.1332858254308954658e-2, 1e-14,
5993 "iauPn00a", "rbpn21", status);
5994 vvd(rbpn[1][1], 0.9999991109044505577, 1e-12,
5995 "iauPn00a", "rbpn22", status);
5996 vvd(rbpn[1][2], -0.4097782710396580452e-4, 1e-14,
5997 "iauPn00a", "rbpn23", status);
5998
5999 vvd(rbpn[2][0], 0.5791308472168152904e-3, 1e-14,
6000 "iauPn00a", "rbpn31", status);
6001 vvd(rbpn[2][1], 0.4020595661591500259e-4, 1e-14,
6002 "iauPn00a", "rbpn32", status);
6003 vvd(rbpn[2][2], 0.9999998314954572304, 1e-12,
6004 "iauPn00a", "rbpn33", status);
6005
6006}
6007
6008static void t_pn00b(int *status)
6009/*
6010** - - - - - - - -
6011** t _ p n 0 0 b
6012** - - - - - - - -
6013**
6014** Test iauPn00b function.
6015**
6016** Returned:
6017** status int FALSE = success, TRUE = fail
6018**
6019** Called: iauPn00b, vvd
6020**
6021** This revision: 2013 August 7
6022*/
6023{
6024 double dpsi, deps, epsa,
6025 rb[3][3], rp[3][3], rbp[3][3], rn[3][3], rbpn[3][3];
6026
6027
6028 iauPn00b(2400000.5, 53736.0, &dpsi, &deps, &epsa,
6029 rb, rp, rbp, rn, rbpn);
6030
6031 vvd(dpsi, -0.9632552291148362783e-5, 1e-12,
6032 "iauPn00b", "dpsi", status);
6033 vvd(deps, 0.4063197106621159367e-4, 1e-12,
6034 "iauPn00b", "deps", status);
6035 vvd(epsa, 0.4090791789404229916, 1e-12, "iauPn00b", "epsa", status);
6036
6037 vvd(rb[0][0], 0.9999999999999942498, 1e-12,
6038 "iauPn00b", "rb11", status);
6039 vvd(rb[0][1], -0.7078279744199196626e-7, 1e-16,
6040 "iauPn00b", "rb12", status);
6041 vvd(rb[0][2], 0.8056217146976134152e-7, 1e-16,
6042 "iauPn00b", "rb13", status);
6043
6044 vvd(rb[1][0], 0.7078279477857337206e-7, 1e-16,
6045 "iauPn00b", "rb21", status);
6046 vvd(rb[1][1], 0.9999999999999969484, 1e-12,
6047 "iauPn00b", "rb22", status);
6048 vvd(rb[1][2], 0.3306041454222136517e-7, 1e-16,
6049 "iauPn00b", "rb23", status);
6050
6051 vvd(rb[2][0], -0.8056217380986972157e-7, 1e-16,
6052 "iauPn00b", "rb31", status);
6053 vvd(rb[2][1], -0.3306040883980552500e-7, 1e-16,
6054 "iauPn00b", "rb32", status);
6055 vvd(rb[2][2], 0.9999999999999962084, 1e-12,
6056 "iauPn00b", "rb33", status);
6057
6058 vvd(rp[0][0], 0.9999989300532289018, 1e-12,
6059 "iauPn00b", "rp11", status);
6060 vvd(rp[0][1], -0.1341647226791824349e-2, 1e-14,
6061 "iauPn00b", "rp12", status);
6062 vvd(rp[0][2], -0.5829880927190296547e-3, 1e-14,
6063 "iauPn00b", "rp13", status);
6064
6065 vvd(rp[1][0], 0.1341647231069759008e-2, 1e-14,
6066 "iauPn00b", "rp21", status);
6067 vvd(rp[1][1], 0.9999990999908750433, 1e-12,
6068 "iauPn00b", "rp22", status);
6069 vvd(rp[1][2], -0.3837444441583715468e-6, 1e-14,
6070 "iauPn00b", "rp23", status);
6071
6072 vvd(rp[2][0], 0.5829880828740957684e-3, 1e-14,
6073 "iauPn00b", "rp31", status);
6074 vvd(rp[2][1], -0.3984203267708834759e-6, 1e-14,
6075 "iauPn00b", "rp32", status);
6076 vvd(rp[2][2], 0.9999998300623538046, 1e-12,
6077 "iauPn00b", "rp33", status);
6078
6079 vvd(rbp[0][0], 0.9999989300052243993, 1e-12,
6080 "iauPn00b", "rbp11", status);
6081 vvd(rbp[0][1], -0.1341717990239703727e-2, 1e-14,
6082 "iauPn00b", "rbp12", status);
6083 vvd(rbp[0][2], -0.5829075749891684053e-3, 1e-14,
6084 "iauPn00b", "rbp13", status);
6085
6086 vvd(rbp[1][0], 0.1341718013831739992e-2, 1e-14,
6087 "iauPn00b", "rbp21", status);
6088 vvd(rbp[1][1], 0.9999990998959191343, 1e-12,
6089 "iauPn00b", "rbp22", status);
6090 vvd(rbp[1][2], -0.3505759733565421170e-6, 1e-14,
6091 "iauPn00b", "rbp23", status);
6092
6093 vvd(rbp[2][0], 0.5829075206857717883e-3, 1e-14,
6094 "iauPn00b", "rbp31", status);
6095 vvd(rbp[2][1], -0.4315219955198608970e-6, 1e-14,
6096 "iauPn00b", "rbp32", status);
6097 vvd(rbp[2][2], 0.9999998301093036269, 1e-12,
6098 "iauPn00b", "rbp33", status);
6099
6100 vvd(rn[0][0], 0.9999999999536069682, 1e-12,
6101 "iauPn00b", "rn11", status);
6102 vvd(rn[0][1], 0.8837746144871248011e-5, 1e-14,
6103 "iauPn00b", "rn12", status);
6104 vvd(rn[0][2], 0.3831488838252202945e-5, 1e-14,
6105 "iauPn00b", "rn13", status);
6106
6107 vvd(rn[1][0], -0.8837590456632304720e-5, 1e-14,
6108 "iauPn00b", "rn21", status);
6109 vvd(rn[1][1], 0.9999999991354692733, 1e-12,
6110 "iauPn00b", "rn22", status);
6111 vvd(rn[1][2], -0.4063198798559591654e-4, 1e-14,
6112 "iauPn00b", "rn23", status);
6113
6114 vvd(rn[2][0], -0.3831847930134941271e-5, 1e-14,
6115 "iauPn00b", "rn31", status);
6116 vvd(rn[2][1], 0.4063195412258168380e-4, 1e-14,
6117 "iauPn00b", "rn32", status);
6118 vvd(rn[2][2], 0.9999999991671806225, 1e-12,
6119 "iauPn00b", "rn33", status);
6120
6121 vvd(rbpn[0][0], 0.9999989440499982806, 1e-12,
6122 "iauPn00b", "rbpn11", status);
6123 vvd(rbpn[0][1], -0.1332880253640849194e-2, 1e-14,
6124 "iauPn00b", "rbpn12", status);
6125 vvd(rbpn[0][2], -0.5790760898731091166e-3, 1e-14,
6126 "iauPn00b", "rbpn13", status);
6127
6128 vvd(rbpn[1][0], 0.1332856746979949638e-2, 1e-14,
6129 "iauPn00b", "rbpn21", status);
6130 vvd(rbpn[1][1], 0.9999991109064768883, 1e-12,
6131 "iauPn00b", "rbpn22", status);
6132 vvd(rbpn[1][2], -0.4097740555723081811e-4, 1e-14,
6133 "iauPn00b", "rbpn23", status);
6134
6135 vvd(rbpn[2][0], 0.5791301929950208873e-3, 1e-14,
6136 "iauPn00b", "rbpn31", status);
6137 vvd(rbpn[2][1], 0.4020553681373720832e-4, 1e-14,
6138 "iauPn00b", "rbpn32", status);
6139 vvd(rbpn[2][2], 0.9999998314958529887, 1e-12,
6140 "iauPn00b", "rbpn33", status);
6141
6142}
6143
6144static void t_pn06a(int *status)
6145/*
6146** - - - - - - - -
6147** t _ p n 0 6 a
6148** - - - - - - - -
6149**
6150** Test iauPn06a function.
6151**
6152** Returned:
6153** status int FALSE = success, TRUE = fail
6154**
6155** Called: iauPn06a, vvd
6156**
6157** This revision: 2013 August 7
6158*/
6159{
6160 double dpsi, deps, epsa;
6161 double rb[3][3], rp[3][3], rbp[3][3], rn[3][3], rbpn[3][3];
6162
6163
6164 iauPn06a(2400000.5, 53736.0, &dpsi, &deps, &epsa,
6165 rb, rp, rbp, rn, rbpn);
6166
6167 vvd(dpsi, -0.9630912025820308797e-5, 1e-12,
6168 "iauPn06a", "dpsi", status);
6169 vvd(deps, 0.4063238496887249798e-4, 1e-12,
6170 "iauPn06a", "deps", status);
6171 vvd(epsa, 0.4090789763356509926, 1e-12, "iauPn06a", "epsa", status);
6172
6173 vvd(rb[0][0], 0.9999999999999942497, 1e-12,
6174 "iauPn06a", "rb11", status);
6175 vvd(rb[0][1], -0.7078368960971557145e-7, 1e-14,
6176 "iauPn06a", "rb12", status);
6177 vvd(rb[0][2], 0.8056213977613185606e-7, 1e-14,
6178 "iauPn06a", "rb13", status);
6179
6180 vvd(rb[1][0], 0.7078368694637674333e-7, 1e-14,
6181 "iauPn06a", "rb21", status);
6182 vvd(rb[1][1], 0.9999999999999969484, 1e-12,
6183 "iauPn06a", "rb22", status);
6184 vvd(rb[1][2], 0.3305943742989134124e-7, 1e-14,
6185 "iauPn06a", "rb23", status);
6186
6187 vvd(rb[2][0], -0.8056214211620056792e-7, 1e-14,
6188 "iauPn06a", "rb31", status);
6189 vvd(rb[2][1], -0.3305943172740586950e-7, 1e-14,
6190 "iauPn06a", "rb32", status);
6191 vvd(rb[2][2], 0.9999999999999962084, 1e-12,
6192 "iauPn06a", "rb33", status);
6193
6194 vvd(rp[0][0], 0.9999989300536854831, 1e-12,
6195 "iauPn06a", "rp11", status);
6196 vvd(rp[0][1], -0.1341646886204443795e-2, 1e-14,
6197 "iauPn06a", "rp12", status);
6198 vvd(rp[0][2], -0.5829880933488627759e-3, 1e-14,
6199 "iauPn06a", "rp13", status);
6200
6201 vvd(rp[1][0], 0.1341646890569782183e-2, 1e-14,
6202 "iauPn06a", "rp21", status);
6203 vvd(rp[1][1], 0.9999990999913319321, 1e-12,
6204 "iauPn06a", "rp22", status);
6205 vvd(rp[1][2], -0.3835944216374477457e-6, 1e-14,
6206 "iauPn06a", "rp23", status);
6207
6208 vvd(rp[2][0], 0.5829880833027867368e-3, 1e-14,
6209 "iauPn06a", "rp31", status);
6210 vvd(rp[2][1], -0.3985701514686976112e-6, 1e-14,
6211 "iauPn06a", "rp32", status);
6212 vvd(rp[2][2], 0.9999998300623534950, 1e-12,
6213 "iauPn06a", "rp33", status);
6214
6215 vvd(rbp[0][0], 0.9999989300056797893, 1e-12,
6216 "iauPn06a", "rbp11", status);
6217 vvd(rbp[0][1], -0.1341717650545059598e-2, 1e-14,
6218 "iauPn06a", "rbp12", status);
6219 vvd(rbp[0][2], -0.5829075756493728856e-3, 1e-14,
6220 "iauPn06a", "rbp13", status);
6221
6222 vvd(rbp[1][0], 0.1341717674223918101e-2, 1e-14,
6223 "iauPn06a", "rbp21", status);
6224 vvd(rbp[1][1], 0.9999990998963748448, 1e-12,
6225 "iauPn06a", "rbp22", status);
6226 vvd(rbp[1][2], -0.3504269280170069029e-6, 1e-14,
6227 "iauPn06a", "rbp23", status);
6228
6229 vvd(rbp[2][0], 0.5829075211461454599e-3, 1e-14,
6230 "iauPn06a", "rbp31", status);
6231 vvd(rbp[2][1], -0.4316708436255949093e-6, 1e-14,
6232 "iauPn06a", "rbp32", status);
6233 vvd(rbp[2][2], 0.9999998301093032943, 1e-12,
6234 "iauPn06a", "rbp33", status);
6235
6236 vvd(rn[0][0], 0.9999999999536227668, 1e-12,
6237 "iauPn06a", "rn11", status);
6238 vvd(rn[0][1], 0.8836241998111535233e-5, 1e-14,
6239 "iauPn06a", "rn12", status);
6240 vvd(rn[0][2], 0.3830834608415287707e-5, 1e-14,
6241 "iauPn06a", "rn13", status);
6242
6243 vvd(rn[1][0], -0.8836086334870740138e-5, 1e-14,
6244 "iauPn06a", "rn21", status);
6245 vvd(rn[1][1], 0.9999999991354657474, 1e-12,
6246 "iauPn06a", "rn22", status);
6247 vvd(rn[1][2], -0.4063240188248455065e-4, 1e-14,
6248 "iauPn06a", "rn23", status);
6249
6250 vvd(rn[2][0], -0.3831193642839398128e-5, 1e-14,
6251 "iauPn06a", "rn31", status);
6252 vvd(rn[2][1], 0.4063236803101479770e-4, 1e-14,
6253 "iauPn06a", "rn32", status);
6254 vvd(rn[2][2], 0.9999999991671663114, 1e-12,
6255 "iauPn06a", "rn33", status);
6256
6257 vvd(rbpn[0][0], 0.9999989440480669738, 1e-12,
6258 "iauPn06a", "rbpn11", status);
6259 vvd(rbpn[0][1], -0.1332881418091915973e-2, 1e-14,
6260 "iauPn06a", "rbpn12", status);
6261 vvd(rbpn[0][2], -0.5790767447612042565e-3, 1e-14,
6262 "iauPn06a", "rbpn13", status);
6263
6264 vvd(rbpn[1][0], 0.1332857911250989133e-2, 1e-14,
6265 "iauPn06a", "rbpn21", status);
6266 vvd(rbpn[1][1], 0.9999991109049141908, 1e-12,
6267 "iauPn06a", "rbpn22", status);
6268 vvd(rbpn[1][2], -0.4097767128546784878e-4, 1e-14,
6269 "iauPn06a", "rbpn23", status);
6270
6271 vvd(rbpn[2][0], 0.5791308482835292617e-3, 1e-14,
6272 "iauPn06a", "rbpn31", status);
6273 vvd(rbpn[2][1], 0.4020580099454020310e-4, 1e-14,
6274 "iauPn06a", "rbpn32", status);
6275 vvd(rbpn[2][2], 0.9999998314954628695, 1e-12,
6276 "iauPn06a", "rbpn33", status);
6277
6278}
6279
6280static void t_pn06(int *status)
6281/*
6282** - - - - - - -
6283** t _ p n 0 6
6284** - - - - - - -
6285**
6286** Test iauPn06 function.
6287**
6288** Returned:
6289** status int FALSE = success, TRUE = fail
6290**
6291** Called: iauPn06, vvd
6292**
6293** This revision: 2013 August 7
6294*/
6295{
6296 double dpsi, deps, epsa,
6297 rb[3][3], rp[3][3], rbp[3][3], rn[3][3], rbpn[3][3];
6298
6299
6300 dpsi = -0.9632552291149335877e-5;
6301 deps = 0.4063197106621141414e-4;
6302
6303 iauPn06(2400000.5, 53736.0, dpsi, deps,
6304 &epsa, rb, rp, rbp, rn, rbpn);
6305
6306 vvd(epsa, 0.4090789763356509926, 1e-12, "iauPn06", "epsa", status);
6307
6308 vvd(rb[0][0], 0.9999999999999942497, 1e-12,
6309 "iauPn06", "rb11", status);
6310 vvd(rb[0][1], -0.7078368960971557145e-7, 1e-14,
6311 "iauPn06", "rb12", status);
6312 vvd(rb[0][2], 0.8056213977613185606e-7, 1e-14,
6313 "iauPn06", "rb13", status);
6314
6315 vvd(rb[1][0], 0.7078368694637674333e-7, 1e-14,
6316 "iauPn06", "rb21", status);
6317 vvd(rb[1][1], 0.9999999999999969484, 1e-12,
6318 "iauPn06", "rb22", status);
6319 vvd(rb[1][2], 0.3305943742989134124e-7, 1e-14,
6320 "iauPn06", "rb23", status);
6321
6322 vvd(rb[2][0], -0.8056214211620056792e-7, 1e-14,
6323 "iauPn06", "rb31", status);
6324 vvd(rb[2][1], -0.3305943172740586950e-7, 1e-14,
6325 "iauPn06", "rb32", status);
6326 vvd(rb[2][2], 0.9999999999999962084, 1e-12,
6327 "iauPn06", "rb33", status);
6328
6329 vvd(rp[0][0], 0.9999989300536854831, 1e-12,
6330 "iauPn06", "rp11", status);
6331 vvd(rp[0][1], -0.1341646886204443795e-2, 1e-14,
6332 "iauPn06", "rp12", status);
6333 vvd(rp[0][2], -0.5829880933488627759e-3, 1e-14,
6334 "iauPn06", "rp13", status);
6335
6336 vvd(rp[1][0], 0.1341646890569782183e-2, 1e-14,
6337 "iauPn06", "rp21", status);
6338 vvd(rp[1][1], 0.9999990999913319321, 1e-12,
6339 "iauPn06", "rp22", status);
6340 vvd(rp[1][2], -0.3835944216374477457e-6, 1e-14,
6341 "iauPn06", "rp23", status);
6342
6343 vvd(rp[2][0], 0.5829880833027867368e-3, 1e-14,
6344 "iauPn06", "rp31", status);
6345 vvd(rp[2][1], -0.3985701514686976112e-6, 1e-14,
6346 "iauPn06", "rp32", status);
6347 vvd(rp[2][2], 0.9999998300623534950, 1e-12,
6348 "iauPn06", "rp33", status);
6349
6350 vvd(rbp[0][0], 0.9999989300056797893, 1e-12,
6351 "iauPn06", "rbp11", status);
6352 vvd(rbp[0][1], -0.1341717650545059598e-2, 1e-14,
6353 "iauPn06", "rbp12", status);
6354 vvd(rbp[0][2], -0.5829075756493728856e-3, 1e-14,
6355 "iauPn06", "rbp13", status);
6356
6357 vvd(rbp[1][0], 0.1341717674223918101e-2, 1e-14,
6358 "iauPn06", "rbp21", status);
6359 vvd(rbp[1][1], 0.9999990998963748448, 1e-12,
6360 "iauPn06", "rbp22", status);
6361 vvd(rbp[1][2], -0.3504269280170069029e-6, 1e-14,
6362 "iauPn06", "rbp23", status);
6363
6364 vvd(rbp[2][0], 0.5829075211461454599e-3, 1e-14,
6365 "iauPn06", "rbp31", status);
6366 vvd(rbp[2][1], -0.4316708436255949093e-6, 1e-14,
6367 "iauPn06", "rbp32", status);
6368 vvd(rbp[2][2], 0.9999998301093032943, 1e-12,
6369 "iauPn06", "rbp33", status);
6370
6371 vvd(rn[0][0], 0.9999999999536069682, 1e-12,
6372 "iauPn06", "rn11", status);
6373 vvd(rn[0][1], 0.8837746921149881914e-5, 1e-14,
6374 "iauPn06", "rn12", status);
6375 vvd(rn[0][2], 0.3831487047682968703e-5, 1e-14,
6376 "iauPn06", "rn13", status);
6377
6378 vvd(rn[1][0], -0.8837591232983692340e-5, 1e-14,
6379 "iauPn06", "rn21", status);
6380 vvd(rn[1][1], 0.9999999991354692664, 1e-12,
6381 "iauPn06", "rn22", status);
6382 vvd(rn[1][2], -0.4063198798558931215e-4, 1e-14,
6383 "iauPn06", "rn23", status);
6384
6385 vvd(rn[2][0], -0.3831846139597250235e-5, 1e-14,
6386 "iauPn06", "rn31", status);
6387 vvd(rn[2][1], 0.4063195412258792914e-4, 1e-14,
6388 "iauPn06", "rn32", status);
6389 vvd(rn[2][2], 0.9999999991671806293, 1e-12,
6390 "iauPn06", "rn33", status);
6391
6392 vvd(rbpn[0][0], 0.9999989440504506688, 1e-12,
6393 "iauPn06", "rbpn11", status);
6394 vvd(rbpn[0][1], -0.1332879913170492655e-2, 1e-14,
6395 "iauPn06", "rbpn12", status);
6396 vvd(rbpn[0][2], -0.5790760923225655753e-3, 1e-14,
6397 "iauPn06", "rbpn13", status);
6398
6399 vvd(rbpn[1][0], 0.1332856406595754748e-2, 1e-14,
6400 "iauPn06", "rbpn21", status);
6401 vvd(rbpn[1][1], 0.9999991109069366795, 1e-12,
6402 "iauPn06", "rbpn22", status);
6403 vvd(rbpn[1][2], -0.4097725651142641812e-4, 1e-14,
6404 "iauPn06", "rbpn23", status);
6405
6406 vvd(rbpn[2][0], 0.5791301952321296716e-3, 1e-14,
6407 "iauPn06", "rbpn31", status);
6408 vvd(rbpn[2][1], 0.4020538796195230577e-4, 1e-14,
6409 "iauPn06", "rbpn32", status);
6410 vvd(rbpn[2][2], 0.9999998314958576778, 1e-12,
6411 "iauPn06", "rbpn33", status);
6412
6413}
6414
6415static void t_pnm00a(int *status)
6416/*
6417** - - - - - - - - -
6418** t _ p n m 0 0 a
6419** - - - - - - - - -
6420**
6421** Test iauPnm00a function.
6422**
6423** Returned:
6424** status int FALSE = success, TRUE = fail
6425**
6426** Called: iauPnm00a, vvd
6427**
6428** This revision: 2013 August 7
6429*/
6430{
6431 double rbpn[3][3];
6432
6433
6434 iauPnm00a(2400000.5, 50123.9999, rbpn);
6435
6436 vvd(rbpn[0][0], 0.9999995832793134257, 1e-12,
6437 "iauPnm00a", "11", status);
6438 vvd(rbpn[0][1], 0.8372384254137809439e-3, 1e-14,
6439 "iauPnm00a", "12", status);
6440 vvd(rbpn[0][2], 0.3639684306407150645e-3, 1e-14,
6441 "iauPnm00a", "13", status);
6442
6443 vvd(rbpn[1][0], -0.8372535226570394543e-3, 1e-14,
6444 "iauPnm00a", "21", status);
6445 vvd(rbpn[1][1], 0.9999996486491582471, 1e-12,
6446 "iauPnm00a", "22", status);
6447 vvd(rbpn[1][2], 0.4132915262664072381e-4, 1e-14,
6448 "iauPnm00a", "23", status);
6449
6450 vvd(rbpn[2][0], -0.3639337004054317729e-3, 1e-14,
6451 "iauPnm00a", "31", status);
6452 vvd(rbpn[2][1], -0.4163386925461775873e-4, 1e-14,
6453 "iauPnm00a", "32", status);
6454 vvd(rbpn[2][2], 0.9999999329094390695, 1e-12,
6455 "iauPnm00a", "33", status);
6456
6457}
6458
6459static void t_pnm00b(int *status)
6460/*
6461** - - - - - - - - -
6462** t _ p n m 0 0 b
6463** - - - - - - - - -
6464**
6465** Test iauPnm00b function.
6466**
6467** Returned:
6468** status int FALSE = success, TRUE = fail
6469**
6470** Called: iauPnm00b, vvd
6471**
6472** This revision: 2013 August 7
6473*/
6474{
6475 double rbpn[3][3];
6476
6477
6478 iauPnm00b(2400000.5, 50123.9999, rbpn);
6479
6480 vvd(rbpn[0][0], 0.9999995832776208280, 1e-12,
6481 "iauPnm00b", "11", status);
6482 vvd(rbpn[0][1], 0.8372401264429654837e-3, 1e-14,
6483 "iauPnm00b", "12", status);
6484 vvd(rbpn[0][2], 0.3639691681450271771e-3, 1e-14,
6485 "iauPnm00b", "13", status);
6486
6487 vvd(rbpn[1][0], -0.8372552234147137424e-3, 1e-14,
6488 "iauPnm00b", "21", status);
6489 vvd(rbpn[1][1], 0.9999996486477686123, 1e-12,
6490 "iauPnm00b", "22", status);
6491 vvd(rbpn[1][2], 0.4132832190946052890e-4, 1e-14,
6492 "iauPnm00b", "23", status);
6493
6494 vvd(rbpn[2][0], -0.3639344385341866407e-3, 1e-14,
6495 "iauPnm00b", "31", status);
6496 vvd(rbpn[2][1], -0.4163303977421522785e-4, 1e-14,
6497 "iauPnm00b", "32", status);
6498 vvd(rbpn[2][2], 0.9999999329092049734, 1e-12,
6499 "iauPnm00b", "33", status);
6500
6501}
6502
6503static void t_pnm06a(int *status)
6504/*
6505** - - - - - - - - -
6506** t _ p n m 0 6 a
6507** - - - - - - - - -
6508**
6509** Test iauPnm06a function.
6510**
6511** Returned:
6512** status int FALSE = success, TRUE = fail
6513**
6514** Called: iauPnm06a, vvd
6515**
6516** This revision: 2013 August 7
6517*/
6518{
6519 double rbpn[3][3];
6520
6521
6522 iauPnm06a(2400000.5, 50123.9999, rbpn);
6523
6524 vvd(rbpn[0][0], 0.9999995832794205484, 1e-12,
6525 "iauPnm06a", "11", status);
6526 vvd(rbpn[0][1], 0.8372382772630962111e-3, 1e-14,
6527 "iauPnm06a", "12", status);
6528 vvd(rbpn[0][2], 0.3639684771140623099e-3, 1e-14,
6529 "iauPnm06a", "13", status);
6530
6531 vvd(rbpn[1][0], -0.8372533744743683605e-3, 1e-14,
6532 "iauPnm06a", "21", status);
6533 vvd(rbpn[1][1], 0.9999996486492861646, 1e-12,
6534 "iauPnm06a", "22", status);
6535 vvd(rbpn[1][2], 0.4132905944611019498e-4, 1e-14,
6536 "iauPnm06a", "23", status);
6537
6538 vvd(rbpn[2][0], -0.3639337469629464969e-3, 1e-14,
6539 "iauPnm06a", "31", status);
6540 vvd(rbpn[2][1], -0.4163377605910663999e-4, 1e-14,
6541 "iauPnm06a", "32", status);
6542 vvd(rbpn[2][2], 0.9999999329094260057, 1e-12,
6543 "iauPnm06a", "33", status);
6544
6545}
6546
6547static void t_pnm80(int *status)
6548/*
6549** - - - - - - - -
6550** t _ p n m 8 0
6551** - - - - - - - -
6552**
6553** Test iauPnm80 function.
6554**
6555** Returned:
6556** status int FALSE = success, TRUE = fail
6557**
6558** Called: iauPnm80, vvd
6559**
6560** This revision: 2013 August 7
6561*/
6562{
6563 double rmatpn[3][3];
6564
6565
6566 iauPnm80(2400000.5, 50123.9999, rmatpn);
6567
6568 vvd(rmatpn[0][0], 0.9999995831934611169, 1e-12,
6569 "iauPnm80", "11", status);
6570 vvd(rmatpn[0][1], 0.8373654045728124011e-3, 1e-14,
6571 "iauPnm80", "12", status);
6572 vvd(rmatpn[0][2], 0.3639121916933106191e-3, 1e-14,
6573 "iauPnm80", "13", status);
6574
6575 vvd(rmatpn[1][0], -0.8373804896118301316e-3, 1e-14,
6576 "iauPnm80", "21", status);
6577 vvd(rmatpn[1][1], 0.9999996485439674092, 1e-12,
6578 "iauPnm80", "22", status);
6579 vvd(rmatpn[1][2], 0.4130202510421549752e-4, 1e-14,
6580 "iauPnm80", "23", status);
6581
6582 vvd(rmatpn[2][0], -0.3638774789072144473e-3, 1e-14,
6583 "iauPnm80", "31", status);
6584 vvd(rmatpn[2][1], -0.4160674085851722359e-4, 1e-14,
6585 "iauPnm80", "32", status);
6586 vvd(rmatpn[2][2], 0.9999999329310274805, 1e-12,
6587 "iauPnm80", "33", status);
6588
6589}
6590
6591static void t_pom00(int *status)
6592/*
6593** - - - - - - - -
6594** t _ p o m 0 0
6595** - - - - - - - -
6596**
6597** Test iauPom00 function.
6598**
6599** Returned:
6600** status int FALSE = success, TRUE = fail
6601**
6602** Called: iauPom00, vvd
6603**
6604** This revision: 2013 August 7
6605*/
6606{
6607 double xp, yp, sp, rpom[3][3];
6608
6609
6610 xp = 2.55060238e-7;
6611 yp = 1.860359247e-6;
6612 sp = -0.1367174580728891460e-10;
6613
6614 iauPom00(xp, yp, sp, rpom);
6615
6616 vvd(rpom[0][0], 0.9999999999999674721, 1e-12,
6617 "iauPom00", "11", status);
6618 vvd(rpom[0][1], -0.1367174580728846989e-10, 1e-16,
6619 "iauPom00", "12", status);
6620 vvd(rpom[0][2], 0.2550602379999972345e-6, 1e-16,
6621 "iauPom00", "13", status);
6622
6623 vvd(rpom[1][0], 0.1414624947957029801e-10, 1e-16,
6624 "iauPom00", "21", status);
6625 vvd(rpom[1][1], 0.9999999999982695317, 1e-12,
6626 "iauPom00", "22", status);
6627 vvd(rpom[1][2], -0.1860359246998866389e-5, 1e-16,
6628 "iauPom00", "23", status);
6629
6630 vvd(rpom[2][0], -0.2550602379741215021e-6, 1e-16,
6631 "iauPom00", "31", status);
6632 vvd(rpom[2][1], 0.1860359247002414021e-5, 1e-16,
6633 "iauPom00", "32", status);
6634 vvd(rpom[2][2], 0.9999999999982370039, 1e-12,
6635 "iauPom00", "33", status);
6636
6637}
6638
6639static void t_ppp(int *status)
6640/*
6641** - - - - - -
6642** t _ p p p
6643** - - - - - -
6644**
6645** Test iauPpp function.
6646**
6647** Returned:
6648** status int FALSE = success, TRUE = fail
6649**
6650** Called: iauPpp, vvd
6651**
6652** This revision: 2013 August 7
6653*/
6654{
6655 double a[3], b[3], apb[3];
6656
6657
6658 a[0] = 2.0;
6659 a[1] = 2.0;
6660 a[2] = 3.0;
6661
6662 b[0] = 1.0;
6663 b[1] = 3.0;
6664 b[2] = 4.0;
6665
6666 iauPpp(a, b, apb);
6667
6668 vvd(apb[0], 3.0, 1e-12, "iauPpp", "0", status);
6669 vvd(apb[1], 5.0, 1e-12, "iauPpp", "1", status);
6670 vvd(apb[2], 7.0, 1e-12, "iauPpp", "2", status);
6671
6672}
6673
6674static void t_ppsp(int *status)
6675/*
6676** - - - - - - -
6677** t _ p p s p
6678** - - - - - - -
6679**
6680** Test iauPpsp function.
6681**
6682** Returned:
6683** status int FALSE = success, TRUE = fail
6684**
6685** Called: iauPpsp, vvd
6686**
6687** This revision: 2013 August 7
6688*/
6689{
6690 double a[3], s, b[3], apsb[3];
6691
6692
6693 a[0] = 2.0;
6694 a[1] = 2.0;
6695 a[2] = 3.0;
6696
6697 s = 5.0;
6698
6699 b[0] = 1.0;
6700 b[1] = 3.0;
6701 b[2] = 4.0;
6702
6703 iauPpsp(a, s, b, apsb);
6704
6705 vvd(apsb[0], 7.0, 1e-12, "iauPpsp", "0", status);
6706 vvd(apsb[1], 17.0, 1e-12, "iauPpsp", "1", status);
6707 vvd(apsb[2], 23.0, 1e-12, "iauPpsp", "2", status);
6708
6709}
6710
6711static void t_pr00(int *status)
6712/*
6713** - - - - - - -
6714** t _ p r 0 0
6715** - - - - - - -
6716**
6717** Test iauPr00 function.
6718**
6719** Returned:
6720** status int FALSE = success, TRUE = fail
6721**
6722** Called: iauPr00, vvd
6723**
6724** This revision: 2013 August 7
6725*/
6726{
6727 double dpsipr, depspr;
6728
6729 iauPr00(2400000.5, 53736, &dpsipr, &depspr);
6730
6731 vvd(dpsipr, -0.8716465172668347629e-7, 1e-22,
6732 "iauPr00", "dpsipr", status);
6733 vvd(depspr, -0.7342018386722813087e-8, 1e-22,
6734 "iauPr00", "depspr", status);
6735
6736}
6737
6738static void t_prec76(int *status)
6739/*
6740** - - - - - - - - -
6741** t _ p r e c 7 6
6742** - - - - - - - - -
6743**
6744** Test iauPrec76 function.
6745**
6746** Returned:
6747** status int FALSE = success, TRUE = fail
6748**
6749** Called: iauPrec76, vvd
6750**
6751** This revision: 2013 August 7
6752*/
6753{
6754 double ep01, ep02, ep11, ep12, zeta, z, theta;
6755
6756
6757 ep01 = 2400000.5;
6758 ep02 = 33282.0;
6759 ep11 = 2400000.5;
6760 ep12 = 51544.0;
6761
6762 iauPrec76(ep01, ep02, ep11, ep12, &zeta, &z, &theta);
6763
6764 vvd(zeta, 0.5588961642000161243e-2, 1e-12,
6765 "iauPrec76", "zeta", status);
6766 vvd(z, 0.5589922365870680624e-2, 1e-12,
6767 "iauPrec76", "z", status);
6768 vvd(theta, 0.4858945471687296760e-2, 1e-12,
6769 "iauPrec76", "theta", status);
6770
6771}
6772
6773static void t_pv2p(int *status)
6774/*
6775** - - - - - - -
6776** t _ p v 2 p
6777** - - - - - - -
6778**
6779** Test iauPv2p function.
6780**
6781** Returned:
6782** status int FALSE = success, TRUE = fail
6783**
6784** Called: iauPv2p, vvd
6785**
6786** This revision: 2013 August 7
6787*/
6788{
6789 double pv[2][3], p[3];
6790
6791
6792 pv[0][0] = 0.3;
6793 pv[0][1] = 1.2;
6794 pv[0][2] = -2.5;
6795
6796 pv[1][0] = -0.5;
6797 pv[1][1] = 3.1;
6798 pv[1][2] = 0.9;
6799
6800 iauPv2p(pv, p);
6801
6802 vvd(p[0], 0.3, 0.0, "iauPv2p", "1", status);
6803 vvd(p[1], 1.2, 0.0, "iauPv2p", "2", status);
6804 vvd(p[2], -2.5, 0.0, "iauPv2p", "3", status);
6805
6806}
6807
6808static void t_pv2s(int *status)
6809/*
6810** - - - - - - -
6811** t _ p v 2 s
6812** - - - - - - -
6813**
6814** Test iauPv2s function.
6815**
6816** Returned:
6817** status int FALSE = success, TRUE = fail
6818**
6819** Called: iauPv2s, vvd
6820**
6821** This revision: 2013 August 7
6822*/
6823{
6824 double pv[2][3], theta, phi, r, td, pd, rd;
6825
6826
6827 pv[0][0] = -0.4514964673880165;
6828 pv[0][1] = 0.03093394277342585;
6829 pv[0][2] = 0.05594668105108779;
6830
6831 pv[1][0] = 1.292270850663260e-5;
6832 pv[1][1] = 2.652814182060692e-6;
6833 pv[1][2] = 2.568431853930293e-6;
6834
6835 iauPv2s(pv, &theta, &phi, &r, &td, &pd, &rd);
6836
6837 vvd(theta, 3.073185307179586515, 1e-12, "iauPv2s", "theta", status);
6838 vvd(phi, 0.1229999999999999992, 1e-12, "iauPv2s", "phi", status);
6839 vvd(r, 0.4559999999999999757, 1e-12, "iauPv2s", "r", status);
6840 vvd(td, -0.7800000000000000364e-5, 1e-16, "iauPv2s", "td", status);
6841 vvd(pd, 0.9010000000000001639e-5, 1e-16, "iauPv2s", "pd", status);
6842 vvd(rd, -0.1229999999999999832e-4, 1e-16, "iauPv2s", "rd", status);
6843
6844}
6845
6846static void t_pvdpv(int *status)
6847/*
6848** - - - - - - - -
6849** t _ p v d p v
6850** - - - - - - - -
6851**
6852** Test iauPvdpv function.
6853**
6854** Returned:
6855** status int FALSE = success, TRUE = fail
6856**
6857** Called: iauPvdpv, vvd
6858**
6859** This revision: 2013 August 7
6860*/
6861{
6862 double a[2][3], b[2][3], adb[2];
6863
6864
6865 a[0][0] = 2.0;
6866 a[0][1] = 2.0;
6867 a[0][2] = 3.0;
6868
6869 a[1][0] = 6.0;
6870 a[1][1] = 0.0;
6871 a[1][2] = 4.0;
6872
6873 b[0][0] = 1.0;
6874 b[0][1] = 3.0;
6875 b[0][2] = 4.0;
6876
6877 b[1][0] = 0.0;
6878 b[1][1] = 2.0;
6879 b[1][2] = 8.0;
6880
6881 iauPvdpv(a, b, adb);
6882
6883 vvd(adb[0], 20.0, 1e-12, "iauPvdpv", "1", status);
6884 vvd(adb[1], 50.0, 1e-12, "iauPvdpv", "2", status);
6885
6886}
6887
6888static void t_pvm(int *status)
6889/*
6890** - - - - - -
6891** t _ p v m
6892** - - - - - -
6893**
6894** Test iauPvm function.
6895**
6896** Returned:
6897** status int FALSE = success, TRUE = fail
6898**
6899** Called: iauPvm, vvd
6900**
6901** This revision: 2013 August 7
6902*/
6903{
6904 double pv[2][3], r, s;
6905
6906
6907 pv[0][0] = 0.3;
6908 pv[0][1] = 1.2;
6909 pv[0][2] = -2.5;
6910
6911 pv[1][0] = 0.45;
6912 pv[1][1] = -0.25;
6913 pv[1][2] = 1.1;
6914
6915 iauPvm(pv, &r, &s);
6916
6917 vvd(r, 2.789265136196270604, 1e-12, "iauPvm", "r", status);
6918 vvd(s, 1.214495780149111922, 1e-12, "iauPvm", "s", status);
6919
6920}
6921
6922static void t_pvmpv(int *status)
6923/*
6924** - - - - - - - -
6925** t _ p v m p v
6926** - - - - - - - -
6927**
6928** Test iauPvmpv function.
6929**
6930** Returned:
6931** status int FALSE = success, TRUE = fail
6932**
6933** Called: iauPvmpv, vvd
6934**
6935** This revision: 2013 August 7
6936*/
6937{
6938 double a[2][3], b[2][3], amb[2][3];
6939
6940
6941 a[0][0] = 2.0;
6942 a[0][1] = 2.0;
6943 a[0][2] = 3.0;
6944
6945 a[1][0] = 5.0;
6946 a[1][1] = 6.0;
6947 a[1][2] = 3.0;
6948
6949 b[0][0] = 1.0;
6950 b[0][1] = 3.0;
6951 b[0][2] = 4.0;
6952
6953 b[1][0] = 3.0;
6954 b[1][1] = 2.0;
6955 b[1][2] = 1.0;
6956
6957 iauPvmpv(a, b, amb);
6958
6959 vvd(amb[0][0], 1.0, 1e-12, "iauPvmpv", "11", status);
6960 vvd(amb[0][1], -1.0, 1e-12, "iauPvmpv", "21", status);
6961 vvd(amb[0][2], -1.0, 1e-12, "iauPvmpv", "31", status);
6962
6963 vvd(amb[1][0], 2.0, 1e-12, "iauPvmpv", "12", status);
6964 vvd(amb[1][1], 4.0, 1e-12, "iauPvmpv", "22", status);
6965 vvd(amb[1][2], 2.0, 1e-12, "iauPvmpv", "32", status);
6966
6967}
6968
6969static void t_pvppv(int *status)
6970/*
6971** - - - - - - - -
6972** t _ p v p p v
6973** - - - - - - - -
6974**
6975** Test iauPvppv function.
6976**
6977** Returned:
6978** status int FALSE = success, TRUE = fail
6979**
6980** Called: iauPvppv, vvd
6981**
6982** This revision: 2013 August 7
6983*/
6984{
6985 double a[2][3], b[2][3], apb[2][3];
6986
6987
6988 a[0][0] = 2.0;
6989 a[0][1] = 2.0;
6990 a[0][2] = 3.0;
6991
6992 a[1][0] = 5.0;
6993 a[1][1] = 6.0;
6994 a[1][2] = 3.0;
6995
6996 b[0][0] = 1.0;
6997 b[0][1] = 3.0;
6998 b[0][2] = 4.0;
6999
7000 b[1][0] = 3.0;
7001 b[1][1] = 2.0;
7002 b[1][2] = 1.0;
7003
7004 iauPvppv(a, b, apb);
7005
7006 vvd(apb[0][0], 3.0, 1e-12, "iauPvppv", "p1", status);
7007 vvd(apb[0][1], 5.0, 1e-12, "iauPvppv", "p2", status);
7008 vvd(apb[0][2], 7.0, 1e-12, "iauPvppv", "p3", status);
7009
7010 vvd(apb[1][0], 8.0, 1e-12, "iauPvppv", "v1", status);
7011 vvd(apb[1][1], 8.0, 1e-12, "iauPvppv", "v2", status);
7012 vvd(apb[1][2], 4.0, 1e-12, "iauPvppv", "v3", status);
7013
7014}
7015
7016static void t_pvstar(int *status)
7017/*
7018** - - - - - - - - -
7019** t _ p v s t a r
7020** - - - - - - - - -
7021**
7022** Test iauPvstar function.
7023**
7024** Returned:
7025** status int FALSE = success, TRUE = fail
7026**
7027** Called: iauPvstar, vvd, viv
7028**
7029** This revision: 2013 August 7
7030*/
7031{
7032 double pv[2][3], ra, dec, pmr, pmd, px, rv;
7033 int j;
7034
7035
7036 pv[0][0] = 126668.5912743160601;
7037 pv[0][1] = 2136.792716839935195;
7038 pv[0][2] = -245251.2339876830091;
7039
7040 pv[1][0] = -0.4051854035740712739e-2;
7041 pv[1][1] = -0.6253919754866173866e-2;
7042 pv[1][2] = 0.1189353719774107189e-1;
7043
7044 j = iauPvstar(pv, &ra, &dec, &pmr, &pmd, &px, &rv);
7045
7046 vvd(ra, 0.1686756e-1, 1e-12, "iauPvstar", "ra", status);
7047 vvd(dec, -1.093989828, 1e-12, "iauPvstar", "dec", status);
7048 vvd(pmr, -0.178323516e-4, 1e-16, "iauPvstar", "pmr", status);
7049 vvd(pmd, 0.2336024047e-5, 1e-16, "iauPvstar", "pmd", status);
7050 vvd(px, 0.74723, 1e-12, "iauPvstar", "px", status);
7051 vvd(rv, -21.6, 1e-11, "iauPvstar", "rv", status);
7052
7053 viv(j, 0, "iauPvstar", "j", status);
7054
7055}
7056
7057static void t_pvtob(int *status)
7058/*
7059** - - - - - - - -
7060** t _ p v t o b
7061** - - - - - - - -
7062**
7063** Test iauPvtob function.
7064**
7065** Returned:
7066** status int FALSE = success, TRUE = fail
7067**
7068** Called: iauPvtob, vvd
7069**
7070** This revision: 2013 October 2
7071*/
7072{
7073 double elong, phi, hm, xp, yp, sp, theta, pv[2][3];
7074
7075
7076 elong = 2.0;
7077 phi = 0.5;
7078 hm = 3000.0;
7079 xp = 1e-6;
7080 yp = -0.5e-6;
7081 sp = 1e-8;
7082 theta = 5.0;
7083
7084 iauPvtob(elong, phi, hm, xp, yp, sp, theta, pv);
7085
7086 vvd(pv[0][0], 4225081.367071159207, 1e-5,
7087 "iauPvtob", "p(1)", status);
7088 vvd(pv[0][1], 3681943.215856198144, 1e-5,
7089 "iauPvtob", "p(2)", status);
7090 vvd(pv[0][2], 3041149.399241260785, 1e-5,
7091 "iauPvtob", "p(3)", status);
7092 vvd(pv[1][0], -268.4915389365998787, 1e-9,
7093 "iauPvtob", "v(1)", status);
7094 vvd(pv[1][1], 308.0977983288903123, 1e-9,
7095 "iauPvtob", "v(2)", status);
7096 vvd(pv[1][2], 0, 0,
7097 "iauPvtob", "v(3)", status);
7098
7099}
7100
7101static void t_pvu(int *status)
7102/*
7103** - - - - - -
7104** t _ p v u
7105** - - - - - -
7106**
7107** Test iauPvu function.
7108**
7109** Returned:
7110** status int FALSE = success, TRUE = fail
7111**
7112** Called: iauPvu, vvd
7113**
7114** This revision: 2013 August 7
7115*/
7116{
7117 double pv[2][3], upv[2][3];
7118
7119
7120 pv[0][0] = 126668.5912743160734;
7121 pv[0][1] = 2136.792716839935565;
7122 pv[0][2] = -245251.2339876830229;
7123
7124 pv[1][0] = -0.4051854035740713039e-2;
7125 pv[1][1] = -0.6253919754866175788e-2;
7126 pv[1][2] = 0.1189353719774107615e-1;
7127
7128 iauPvu(2920.0, pv, upv);
7129
7130 vvd(upv[0][0], 126656.7598605317105, 1e-12,
7131 "iauPvu", "p1", status);
7132 vvd(upv[0][1], 2118.531271155726332, 1e-12,
7133 "iauPvu", "p2", status);
7134 vvd(upv[0][2], -245216.5048590656190, 1e-12,
7135 "iauPvu", "p3", status);
7136
7137 vvd(upv[1][0], -0.4051854035740713039e-2, 1e-12,
7138 "iauPvu", "v1", status);
7139 vvd(upv[1][1], -0.6253919754866175788e-2, 1e-12,
7140 "iauPvu", "v2", status);
7141 vvd(upv[1][2], 0.1189353719774107615e-1, 1e-12,
7142 "iauPvu", "v3", status);
7143
7144}
7145
7146static void t_pvup(int *status)
7147/*
7148** - - - - - - -
7149** t _ p v u p
7150** - - - - - - -
7151**
7152** Test iauPvup function.
7153**
7154** Returned:
7155** status int FALSE = success, TRUE = fail
7156**
7157** Called: iauPvup, vvd
7158**
7159** This revision: 2013 August 7
7160*/
7161{
7162 double pv[2][3], p[3];
7163
7164
7165 pv[0][0] = 126668.5912743160734;
7166 pv[0][1] = 2136.792716839935565;
7167 pv[0][2] = -245251.2339876830229;
7168
7169 pv[1][0] = -0.4051854035740713039e-2;
7170 pv[1][1] = -0.6253919754866175788e-2;
7171 pv[1][2] = 0.1189353719774107615e-1;
7172
7173 iauPvup(2920.0, pv, p);
7174
7175 vvd(p[0], 126656.7598605317105, 1e-12, "iauPvup", "1", status);
7176 vvd(p[1], 2118.531271155726332, 1e-12, "iauPvup", "2", status);
7177 vvd(p[2], -245216.5048590656190, 1e-12, "iauPvup", "3", status);
7178
7179}
7180
7181static void t_pvxpv(int *status)
7182/*
7183** - - - - - - - -
7184** t _ p v x p v
7185** - - - - - - - -
7186**
7187** Test iauPvxpv function.
7188**
7189** Returned:
7190** status int FALSE = success, TRUE = fail
7191**
7192** Called: iauPvxpv, vvd
7193**
7194** This revision: 2013 August 7
7195*/
7196{
7197 double a[2][3], b[2][3], axb[2][3];
7198
7199
7200 a[0][0] = 2.0;
7201 a[0][1] = 2.0;
7202 a[0][2] = 3.0;
7203
7204 a[1][0] = 6.0;
7205 a[1][1] = 0.0;
7206 a[1][2] = 4.0;
7207
7208 b[0][0] = 1.0;
7209 b[0][1] = 3.0;
7210 b[0][2] = 4.0;
7211
7212 b[1][0] = 0.0;
7213 b[1][1] = 2.0;
7214 b[1][2] = 8.0;
7215
7216 iauPvxpv(a, b, axb);
7217
7218 vvd(axb[0][0], -1.0, 1e-12, "iauPvxpv", "p1", status);
7219 vvd(axb[0][1], -5.0, 1e-12, "iauPvxpv", "p2", status);
7220 vvd(axb[0][2], 4.0, 1e-12, "iauPvxpv", "p3", status);
7221
7222 vvd(axb[1][0], -2.0, 1e-12, "iauPvxpv", "v1", status);
7223 vvd(axb[1][1], -36.0, 1e-12, "iauPvxpv", "v2", status);
7224 vvd(axb[1][2], 22.0, 1e-12, "iauPvxpv", "v3", status);
7225
7226}
7227
7228static void t_pxp(int *status)
7229/*
7230** - - - - - -
7231** t _ p x p
7232** - - - - - -
7233**
7234** Test iauPxp function.
7235**
7236** Returned:
7237** status int FALSE = success, TRUE = fail
7238**
7239** Called: iauPxp, vvd
7240**
7241** This revision: 2013 August 7
7242*/
7243{
7244 double a[3], b[3], axb[3];
7245
7246
7247 a[0] = 2.0;
7248 a[1] = 2.0;
7249 a[2] = 3.0;
7250
7251 b[0] = 1.0;
7252 b[1] = 3.0;
7253 b[2] = 4.0;
7254
7255 iauPxp(a, b, axb);
7256
7257 vvd(axb[0], -1.0, 1e-12, "iauPxp", "1", status);
7258 vvd(axb[1], -5.0, 1e-12, "iauPxp", "2", status);
7259 vvd(axb[2], 4.0, 1e-12, "iauPxp", "3", status);
7260
7261}
7262
7263static void t_refco(int *status)
7264/*
7265** - - - - - - - -
7266** t _ r e f c o
7267** - - - - - - - -
7268**
7269** Test iauRefco function.
7270**
7271** Returned:
7272** status int FALSE = success, TRUE = fail
7273**
7274** Called: iauRefco, vvd
7275**
7276** This revision: 2013 October 2
7277*/
7278{
7279 double phpa, tc, rh, wl, refa, refb;
7280
7281
7282 phpa = 800.0;
7283 tc = 10.0;
7284 rh = 0.9;
7285 wl = 0.4;
7286
7287 iauRefco(phpa, tc, rh, wl, &refa, &refb);
7288
7289 vvd(refa, 0.2264949956241415009e-3, 1e-15,
7290 "iauRefco", "refa", status);
7291 vvd(refb, -0.2598658261729343970e-6, 1e-18,
7292 "iauRefco", "refb", status);
7293
7294}
7295
7296static void t_rm2v(int *status)
7297/*
7298** - - - - - - -
7299** t _ r m 2 v
7300** - - - - - - -
7301**
7302** Test iauRm2v function.
7303**
7304** Returned:
7305** status int FALSE = success, TRUE = fail
7306**
7307** Called: iauRm2v, vvd
7308**
7309** This revision: 2013 August 7
7310*/
7311{
7312 double r[3][3], w[3];
7313
7314
7315 r[0][0] = 0.00;
7316 r[0][1] = -0.80;
7317 r[0][2] = -0.60;
7318
7319 r[1][0] = 0.80;
7320 r[1][1] = -0.36;
7321 r[1][2] = 0.48;
7322
7323 r[2][0] = 0.60;
7324 r[2][1] = 0.48;
7325 r[2][2] = -0.64;
7326
7327 iauRm2v(r, w);
7328
7329 vvd(w[0], 0.0, 1e-12, "iauRm2v", "1", status);
7330 vvd(w[1], 1.413716694115406957, 1e-12, "iauRm2v", "2", status);
7331 vvd(w[2], -1.884955592153875943, 1e-12, "iauRm2v", "3", status);
7332
7333}
7334
7335static void t_rv2m(int *status)
7336/*
7337** - - - - - - -
7338** t _ r v 2 m
7339** - - - - - - -
7340**
7341** Test iauRv2m function.
7342**
7343** Returned:
7344** status int FALSE = success, TRUE = fail
7345**
7346** Called: iauRv2m, vvd
7347**
7348** This revision: 2013 August 7
7349*/
7350{
7351 double w[3], r[3][3];
7352
7353
7354 w[0] = 0.0;
7355 w[1] = 1.41371669;
7356 w[2] = -1.88495559;
7357
7358 iauRv2m(w, r);
7359
7360 vvd(r[0][0], -0.7071067782221119905, 1e-14, "iauRv2m", "11", status);
7361 vvd(r[0][1], -0.5656854276809129651, 1e-14, "iauRv2m", "12", status);
7362 vvd(r[0][2], -0.4242640700104211225, 1e-14, "iauRv2m", "13", status);
7363
7364 vvd(r[1][0], 0.5656854276809129651, 1e-14, "iauRv2m", "21", status);
7365 vvd(r[1][1], -0.0925483394532274246, 1e-14, "iauRv2m", "22", status);
7366 vvd(r[1][2], -0.8194112531408833269, 1e-14, "iauRv2m", "23", status);
7367
7368 vvd(r[2][0], 0.4242640700104211225, 1e-14, "iauRv2m", "31", status);
7369 vvd(r[2][1], -0.8194112531408833269, 1e-14, "iauRv2m", "32", status);
7370 vvd(r[2][2], 0.3854415612311154341, 1e-14, "iauRv2m", "33", status);
7371
7372}
7373
7374static void t_rx(int *status)
7375/*
7376** - - - - -
7377** t _ r x
7378** - - - - -
7379**
7380** Test iauRx function.
7381**
7382** Returned:
7383** status int FALSE = success, TRUE = fail
7384**
7385** Called: iauRx, vvd
7386**
7387** This revision: 2013 August 7
7388*/
7389{
7390 double phi, r[3][3];
7391
7392
7393 phi = 0.3456789;
7394
7395 r[0][0] = 2.0;
7396 r[0][1] = 3.0;
7397 r[0][2] = 2.0;
7398
7399 r[1][0] = 3.0;
7400 r[1][1] = 2.0;
7401 r[1][2] = 3.0;
7402
7403 r[2][0] = 3.0;
7404 r[2][1] = 4.0;
7405 r[2][2] = 5.0;
7406
7407 iauRx(phi, r);
7408
7409 vvd(r[0][0], 2.0, 0.0, "iauRx", "11", status);
7410 vvd(r[0][1], 3.0, 0.0, "iauRx", "12", status);
7411 vvd(r[0][2], 2.0, 0.0, "iauRx", "13", status);
7412
7413 vvd(r[1][0], 3.839043388235612460, 1e-12, "iauRx", "21", status);
7414 vvd(r[1][1], 3.237033249594111899, 1e-12, "iauRx", "22", status);
7415 vvd(r[1][2], 4.516714379005982719, 1e-12, "iauRx", "23", status);
7416
7417 vvd(r[2][0], 1.806030415924501684, 1e-12, "iauRx", "31", status);
7418 vvd(r[2][1], 3.085711545336372503, 1e-12, "iauRx", "32", status);
7419 vvd(r[2][2], 3.687721683977873065, 1e-12, "iauRx", "33", status);
7420
7421}
7422
7423static void t_rxp(int *status)
7424/*
7425** - - - - - -
7426** t _ r x p
7427** - - - - - -
7428**
7429** Test iauRxp function.
7430**
7431** Returned:
7432** status int FALSE = success, TRUE = fail
7433**
7434** Called: iauRxp, vvd
7435**
7436** This revision: 2013 August 7
7437*/
7438{
7439 double r[3][3], p[3], rp[3];
7440
7441
7442 r[0][0] = 2.0;
7443 r[0][1] = 3.0;
7444 r[0][2] = 2.0;
7445
7446 r[1][0] = 3.0;
7447 r[1][1] = 2.0;
7448 r[1][2] = 3.0;
7449
7450 r[2][0] = 3.0;
7451 r[2][1] = 4.0;
7452 r[2][2] = 5.0;
7453
7454 p[0] = 0.2;
7455 p[1] = 1.5;
7456 p[2] = 0.1;
7457
7458 iauRxp(r, p, rp);
7459
7460 vvd(rp[0], 5.1, 1e-12, "iauRxp", "1", status);
7461 vvd(rp[1], 3.9, 1e-12, "iauRxp", "2", status);
7462 vvd(rp[2], 7.1, 1e-12, "iauRxp", "3", status);
7463
7464}
7465
7466static void t_rxpv(int *status)
7467/*
7468** - - - - - - -
7469** t _ r x p v
7470** - - - - - - -
7471**
7472** Test iauRxpv function.
7473**
7474** Returned:
7475** status int FALSE = success, TRUE = fail
7476**
7477** Called: iauRxpv, vvd
7478**
7479** This revision: 2013 August 7
7480*/
7481{
7482 double r[3][3], pv[2][3], rpv[2][3];
7483
7484
7485 r[0][0] = 2.0;
7486 r[0][1] = 3.0;
7487 r[0][2] = 2.0;
7488
7489 r[1][0] = 3.0;
7490 r[1][1] = 2.0;
7491 r[1][2] = 3.0;
7492
7493 r[2][0] = 3.0;
7494 r[2][1] = 4.0;
7495 r[2][2] = 5.0;
7496
7497 pv[0][0] = 0.2;
7498 pv[0][1] = 1.5;
7499 pv[0][2] = 0.1;
7500
7501 pv[1][0] = 1.5;
7502 pv[1][1] = 0.2;
7503 pv[1][2] = 0.1;
7504
7505 iauRxpv(r, pv, rpv);
7506
7507 vvd(rpv[0][0], 5.1, 1e-12, "iauRxpv", "11", status);
7508 vvd(rpv[1][0], 3.8, 1e-12, "iauRxpv", "12", status);
7509
7510 vvd(rpv[0][1], 3.9, 1e-12, "iauRxpv", "21", status);
7511 vvd(rpv[1][1], 5.2, 1e-12, "iauRxpv", "22", status);
7512
7513 vvd(rpv[0][2], 7.1, 1e-12, "iauRxpv", "31", status);
7514 vvd(rpv[1][2], 5.8, 1e-12, "iauRxpv", "32", status);
7515
7516}
7517
7518static void t_rxr(int *status)
7519/*
7520** - - - - - -
7521** t _ r x r
7522** - - - - - -
7523**
7524** Test iauRxr function.
7525**
7526** Returned:
7527** status int FALSE = success, TRUE = fail
7528**
7529** Called: iauRxr, vvd
7530**
7531** This revision: 2013 August 7
7532*/
7533{
7534 double a[3][3], b[3][3], atb[3][3];
7535
7536
7537 a[0][0] = 2.0;
7538 a[0][1] = 3.0;
7539 a[0][2] = 2.0;
7540
7541 a[1][0] = 3.0;
7542 a[1][1] = 2.0;
7543 a[1][2] = 3.0;
7544
7545 a[2][0] = 3.0;
7546 a[2][1] = 4.0;
7547 a[2][2] = 5.0;
7548
7549 b[0][0] = 1.0;
7550 b[0][1] = 2.0;
7551 b[0][2] = 2.0;
7552
7553 b[1][0] = 4.0;
7554 b[1][1] = 1.0;
7555 b[1][2] = 1.0;
7556
7557 b[2][0] = 3.0;
7558 b[2][1] = 0.0;
7559 b[2][2] = 1.0;
7560
7561 iauRxr(a, b, atb);
7562
7563 vvd(atb[0][0], 20.0, 1e-12, "iauRxr", "11", status);
7564 vvd(atb[0][1], 7.0, 1e-12, "iauRxr", "12", status);
7565 vvd(atb[0][2], 9.0, 1e-12, "iauRxr", "13", status);
7566
7567 vvd(atb[1][0], 20.0, 1e-12, "iauRxr", "21", status);
7568 vvd(atb[1][1], 8.0, 1e-12, "iauRxr", "22", status);
7569 vvd(atb[1][2], 11.0, 1e-12, "iauRxr", "23", status);
7570
7571 vvd(atb[2][0], 34.0, 1e-12, "iauRxr", "31", status);
7572 vvd(atb[2][1], 10.0, 1e-12, "iauRxr", "32", status);
7573 vvd(atb[2][2], 15.0, 1e-12, "iauRxr", "33", status);
7574
7575}
7576
7577static void t_ry(int *status)
7578/*
7579** - - - - -
7580** t _ r y
7581** - - - - -
7582**
7583** Test iauRy function.
7584**
7585** Returned:
7586** status int FALSE = success, TRUE = fail
7587**
7588** Called: iauRy, vvd
7589**
7590** This revision: 2013 August 7
7591*/
7592{
7593 double theta, r[3][3];
7594
7595
7596 theta = 0.3456789;
7597
7598 r[0][0] = 2.0;
7599 r[0][1] = 3.0;
7600 r[0][2] = 2.0;
7601
7602 r[1][0] = 3.0;
7603 r[1][1] = 2.0;
7604 r[1][2] = 3.0;
7605
7606 r[2][0] = 3.0;
7607 r[2][1] = 4.0;
7608 r[2][2] = 5.0;
7609
7610 iauRy(theta, r);
7611
7612 vvd(r[0][0], 0.8651847818978159930, 1e-12, "iauRy", "11", status);
7613 vvd(r[0][1], 1.467194920539316554, 1e-12, "iauRy", "12", status);
7614 vvd(r[0][2], 0.1875137911274457342, 1e-12, "iauRy", "13", status);
7615
7616 vvd(r[1][0], 3, 1e-12, "iauRy", "21", status);
7617 vvd(r[1][1], 2, 1e-12, "iauRy", "22", status);
7618 vvd(r[1][2], 3, 1e-12, "iauRy", "23", status);
7619
7620 vvd(r[2][0], 3.500207892850427330, 1e-12, "iauRy", "31", status);
7621 vvd(r[2][1], 4.779889022262298150, 1e-12, "iauRy", "32", status);
7622 vvd(r[2][2], 5.381899160903798712, 1e-12, "iauRy", "33", status);
7623
7624}
7625
7626static void t_rz(int *status)
7627/*
7628** - - - - -
7629** t _ r z
7630** - - - - -
7631**
7632** Test iauRz function.
7633**
7634** Returned:
7635** status int FALSE = success, TRUE = fail
7636**
7637** Called: iauRz, vvd
7638**
7639** This revision: 2013 August 7
7640*/
7641{
7642 double psi, r[3][3];
7643
7644
7645 psi = 0.3456789;
7646
7647 r[0][0] = 2.0;
7648 r[0][1] = 3.0;
7649 r[0][2] = 2.0;
7650
7651 r[1][0] = 3.0;
7652 r[1][1] = 2.0;
7653 r[1][2] = 3.0;
7654
7655 r[2][0] = 3.0;
7656 r[2][1] = 4.0;
7657 r[2][2] = 5.0;
7658
7659 iauRz(psi, r);
7660
7661 vvd(r[0][0], 2.898197754208926769, 1e-12, "iauRz", "11", status);
7662 vvd(r[0][1], 3.500207892850427330, 1e-12, "iauRz", "12", status);
7663 vvd(r[0][2], 2.898197754208926769, 1e-12, "iauRz", "13", status);
7664
7665 vvd(r[1][0], 2.144865911309686813, 1e-12, "iauRz", "21", status);
7666 vvd(r[1][1], 0.865184781897815993, 1e-12, "iauRz", "22", status);
7667 vvd(r[1][2], 2.144865911309686813, 1e-12, "iauRz", "23", status);
7668
7669 vvd(r[2][0], 3.0, 1e-12, "iauRz", "31", status);
7670 vvd(r[2][1], 4.0, 1e-12, "iauRz", "32", status);
7671 vvd(r[2][2], 5.0, 1e-12, "iauRz", "33", status);
7672
7673}
7674
7675static void t_s00a(int *status)
7676/*
7677** - - - - - - -
7678** t _ s 0 0 a
7679** - - - - - - -
7680**
7681** Test iauS00a function.
7682**
7683** Returned:
7684** status int FALSE = success, TRUE = fail
7685**
7686** Called: iauS00a, vvd
7687**
7688** This revision: 2013 August 7
7689*/
7690{
7691 double s;
7692
7693
7694 s = iauS00a(2400000.5, 52541.0);
7695
7696 vvd(s, -0.1340684448919163584e-7, 1e-18, "iauS00a", "", status);
7697
7698}
7699
7700static void t_s00b(int *status)
7701/*
7702** - - - - - - -
7703** t _ s 0 0 b
7704** - - - - - - -
7705**
7706** Test iauS00b function.
7707**
7708** Returned:
7709** status int FALSE = success, TRUE = fail
7710**
7711** Called: iauS00b, vvd
7712**
7713** This revision: 2013 August 7
7714*/
7715{
7716 double s;
7717
7718
7719 s = iauS00b(2400000.5, 52541.0);
7720
7721 vvd(s, -0.1340695782951026584e-7, 1e-18, "iauS00b", "", status);
7722
7723}
7724
7725static void t_s00(int *status)
7726/*
7727** - - - - - -
7728** t _ s 0 0
7729** - - - - - -
7730**
7731** Test iauS00 function.
7732**
7733** Returned:
7734** status int FALSE = success, TRUE = fail
7735**
7736** Called: iauS00, vvd
7737**
7738** This revision: 2013 August 7
7739*/
7740{
7741 double x, y, s;
7742
7743
7744 x = 0.5791308486706011000e-3;
7745 y = 0.4020579816732961219e-4;
7746
7747 s = iauS00(2400000.5, 53736.0, x, y);
7748
7749 vvd(s, -0.1220036263270905693e-7, 1e-18, "iauS00", "", status);
7750
7751}
7752
7753static void t_s06a(int *status)
7754/*
7755** - - - - - - -
7756** t _ s 0 6 a
7757** - - - - - - -
7758**
7759** Test iauS06a function.
7760**
7761** Returned:
7762** status int FALSE = success, TRUE = fail
7763**
7764** Called: iauS06a, vvd
7765**
7766** This revision: 2013 August 7
7767*/
7768{
7769 double s;
7770
7771
7772 s = iauS06a(2400000.5, 52541.0);
7773
7774 vvd(s, -0.1340680437291812383e-7, 1e-18, "iauS06a", "", status);
7775
7776}
7777
7778static void t_s06(int *status)
7779/*
7780** - - - - - -
7781** t _ s 0 6
7782** - - - - - -
7783**
7784** Test iauS06 function.
7785**
7786** Returned:
7787** status int FALSE = success, TRUE = fail
7788**
7789** Called: iauS06, vvd
7790**
7791** This revision: 2013 August 7
7792*/
7793{
7794 double x, y, s;
7795
7796
7797 x = 0.5791308486706011000e-3;
7798 y = 0.4020579816732961219e-4;
7799
7800 s = iauS06(2400000.5, 53736.0, x, y);
7801
7802 vvd(s, -0.1220032213076463117e-7, 1e-18, "iauS06", "", status);
7803
7804}
7805
7806static void t_s2c(int *status)
7807/*
7808** - - - - - -
7809** t _ s 2 c
7810** - - - - - -
7811**
7812** Test iauS2c function.
7813**
7814** Returned:
7815** status int FALSE = success, TRUE = fail
7816**
7817** Called: iauS2c, vvd
7818**
7819** This revision: 2013 August 7
7820*/
7821{
7822 double c[3];
7823
7824
7825 iauS2c(3.0123, -0.999, c);
7826
7827 vvd(c[0], -0.5366267667260523906, 1e-12, "iauS2c", "1", status);
7828 vvd(c[1], 0.0697711109765145365, 1e-12, "iauS2c", "2", status);
7829 vvd(c[2], -0.8409302618566214041, 1e-12, "iauS2c", "3", status);
7830
7831}
7832
7833static void t_s2p(int *status)
7834/*
7835** - - - - - -
7836** t _ s 2 p
7837** - - - - - -
7838**
7839** Test iauS2p function.
7840**
7841** Returned:
7842** status int FALSE = success, TRUE = fail
7843**
7844** Called: iauS2p, vvd
7845**
7846** This revision: 2013 August 7
7847*/
7848{
7849 double p[3];
7850
7851
7852 iauS2p(-3.21, 0.123, 0.456, p);
7853
7854 vvd(p[0], -0.4514964673880165228, 1e-12, "iauS2p", "x", status);
7855 vvd(p[1], 0.0309339427734258688, 1e-12, "iauS2p", "y", status);
7856 vvd(p[2], 0.0559466810510877933, 1e-12, "iauS2p", "z", status);
7857
7858}
7859
7860static void t_s2pv(int *status)
7861/*
7862** - - - - - - -
7863** t _ s 2 p v
7864** - - - - - - -
7865**
7866** Test iauS2pv function.
7867**
7868** Returned:
7869** status int FALSE = success, TRUE = fail
7870**
7871** Called: iauS2pv, vvd
7872**
7873** This revision: 2013 August 7
7874*/
7875{
7876 double pv[2][3];
7877
7878
7879 iauS2pv(-3.21, 0.123, 0.456, -7.8e-6, 9.01e-6, -1.23e-5, pv);
7880
7881 vvd(pv[0][0], -0.4514964673880165228, 1e-12, "iauS2pv", "x", status);
7882 vvd(pv[0][1], 0.0309339427734258688, 1e-12, "iauS2pv", "y", status);
7883 vvd(pv[0][2], 0.0559466810510877933, 1e-12, "iauS2pv", "z", status);
7884
7885 vvd(pv[1][0], 0.1292270850663260170e-4, 1e-16,
7886 "iauS2pv", "vx", status);
7887 vvd(pv[1][1], 0.2652814182060691422e-5, 1e-16,
7888 "iauS2pv", "vy", status);
7889 vvd(pv[1][2], 0.2568431853930292259e-5, 1e-16,
7890 "iauS2pv", "vz", status);
7891
7892}
7893
7894static void t_s2xpv(int *status)
7895/*
7896** - - - - - - - -
7897** t _ s 2 x p v
7898** - - - - - - - -
7899**
7900** Test iauS2xpv function.
7901**
7902** Returned:
7903** status int FALSE = success, TRUE = fail
7904**
7905** Called: iauS2xpv, vvd
7906**
7907** This revision: 2013 August 7
7908*/
7909{
7910 double s1, s2, pv[2][3], spv[2][3];
7911
7912
7913 s1 = 2.0;
7914 s2 = 3.0;
7915
7916 pv[0][0] = 0.3;
7917 pv[0][1] = 1.2;
7918 pv[0][2] = -2.5;
7919
7920 pv[1][0] = 0.5;
7921 pv[1][1] = 2.3;
7922 pv[1][2] = -0.4;
7923
7924 iauS2xpv(s1, s2, pv, spv);
7925
7926 vvd(spv[0][0], 0.6, 1e-12, "iauS2xpv", "p1", status);
7927 vvd(spv[0][1], 2.4, 1e-12, "iauS2xpv", "p2", status);
7928 vvd(spv[0][2], -5.0, 1e-12, "iauS2xpv", "p3", status);
7929
7930 vvd(spv[1][0], 1.5, 1e-12, "iauS2xpv", "v1", status);
7931 vvd(spv[1][1], 6.9, 1e-12, "iauS2xpv", "v2", status);
7932 vvd(spv[1][2], -1.2, 1e-12, "iauS2xpv", "v3", status);
7933
7934}
7935
7936static void t_sepp(int *status)
7937/*
7938** - - - - - - -
7939** t _ s e p p
7940** - - - - - - -
7941**
7942** Test iauSepp function.
7943**
7944** Returned:
7945** status int FALSE = success, TRUE = fail
7946**
7947** Called: iauSepp, vvd
7948**
7949** This revision: 2013 August 7
7950*/
7951{
7952 double a[3], b[3], s;
7953
7954
7955 a[0] = 1.0;
7956 a[1] = 0.1;
7957 a[2] = 0.2;
7958
7959 b[0] = -3.0;
7960 b[1] = 1e-3;
7961 b[2] = 0.2;
7962
7963 s = iauSepp(a, b);
7964
7965 vvd(s, 2.860391919024660768, 1e-12, "iauSepp", "", status);
7966
7967}
7968
7969static void t_seps(int *status)
7970/*
7971** - - - - - - -
7972** t _ s e p s
7973** - - - - - - -
7974**
7975** Test iauSeps function.
7976**
7977** Returned:
7978** status int FALSE = success, TRUE = fail
7979**
7980** Called: iauSeps, vvd
7981**
7982** This revision: 2013 August 7
7983*/
7984{
7985 double al, ap, bl, bp, s;
7986
7987
7988 al = 1.0;
7989 ap = 0.1;
7990
7991 bl = 0.2;
7992 bp = -3.0;
7993
7994 s = iauSeps(al, ap, bl, bp);
7995
7996 vvd(s, 2.346722016996998842, 1e-14, "iauSeps", "", status);
7997
7998}
7999
8000static void t_sp00(int *status)
8001/*
8002** - - - - - - -
8003** t _ s p 0 0
8004** - - - - - - -
8005**
8006** Test iauSp00 function.
8007**
8008** Returned:
8009** status int FALSE = success, TRUE = fail
8010**
8011** Called: iauSp00, vvd
8012**
8013** This revision: 2013 August 7
8014*/
8015{
8016 vvd(iauSp00(2400000.5, 52541.0),
8017 -0.6216698469981019309e-11, 1e-12, "iauSp00", "", status);
8018
8019}
8020
8021static void t_starpm(int *status)
8022/*
8023** - - - - - - - - -
8024** t _ s t a r p m
8025** - - - - - - - - -
8026**
8027** Test iauStarpm function.
8028**
8029** Returned:
8030** status int FALSE = success, TRUE = fail
8031**
8032** Called: iauStarpm, vvd, viv
8033**
8034** This revision: 2013 August 7
8035*/
8036{
8037 double ra1, dec1, pmr1, pmd1, px1, rv1;
8038 double ra2, dec2, pmr2, pmd2, px2, rv2;
8039 int j;
8040
8041
8042 ra1 = 0.01686756;
8043 dec1 = -1.093989828;
8044 pmr1 = -1.78323516e-5;
8045 pmd1 = 2.336024047e-6;
8046 px1 = 0.74723;
8047 rv1 = -21.6;
8048
8049 j = iauStarpm(ra1, dec1, pmr1, pmd1, px1, rv1,
8050 2400000.5, 50083.0, 2400000.5, 53736.0,
8051 &ra2, &dec2, &pmr2, &pmd2, &px2, &rv2);
8052
8053 vvd(ra2, 0.01668919069414242368, 1e-13,
8054 "iauStarpm", "ra", status);
8055 vvd(dec2, -1.093966454217127879, 1e-13,
8056 "iauStarpm", "dec", status);
8057 vvd(pmr2, -0.1783662682155932702e-4, 1e-17,
8058 "iauStarpm", "pmr", status);
8059 vvd(pmd2, 0.2338092915987603664e-5, 1e-17,
8060 "iauStarpm", "pmd", status);
8061 vvd(px2, 0.7473533835323493644, 1e-13,
8062 "iauStarpm", "px", status);
8063 vvd(rv2, -21.59905170476860786, 1e-11,
8064 "iauStarpm", "rv", status);
8065
8066 viv(j, 0, "iauStarpm", "j", status);
8067
8068}
8069
8070static void t_starpv(int *status)
8071/*
8072** - - - - - - - - -
8073** t _ s t a r p v
8074** - - - - - - - - -
8075**
8076** Test iauStarpv function.
8077**
8078** Returned:
8079** status int FALSE = success, TRUE = fail
8080**
8081** Called: iauStarpv, vvd, viv
8082**
8083** This revision: 2013 August 7
8084*/
8085{
8086 double ra, dec, pmr, pmd, px, rv, pv[2][3];
8087 int j;
8088
8089
8090 ra = 0.01686756;
8091 dec = -1.093989828;
8092 pmr = -1.78323516e-5;
8093 pmd = 2.336024047e-6;
8094 px = 0.74723;
8095 rv = -21.6;
8096
8097 j = iauStarpv(ra, dec, pmr, pmd, px, rv, pv);
8098
8099 vvd(pv[0][0], 126668.5912743160601, 1e-10,
8100 "iauStarpv", "11", status);
8101 vvd(pv[0][1], 2136.792716839935195, 1e-12,
8102 "iauStarpv", "12", status);
8103 vvd(pv[0][2], -245251.2339876830091, 1e-10,
8104 "iauStarpv", "13", status);
8105
8106 vvd(pv[1][0], -0.4051854035740712739e-2, 1e-13,
8107 "iauStarpv", "21", status);
8108 vvd(pv[1][1], -0.6253919754866173866e-2, 1e-15,
8109 "iauStarpv", "22", status);
8110 vvd(pv[1][2], 0.1189353719774107189e-1, 1e-13,
8111 "iauStarpv", "23", status);
8112
8113 viv(j, 0, "iauStarpv", "j", status);
8114
8115}
8116
8117static void t_sxp(int *status)
8118/*
8119** - - - - - -
8120** t _ s x p
8121** - - - - - -
8122**
8123** Test iauSxp function.
8124**
8125** Returned:
8126** status int FALSE = success, TRUE = fail
8127**
8128** Called: iauSxp, vvd
8129**
8130** This revision: 2013 August 7
8131*/
8132{
8133 double s, p[3], sp[3];
8134
8135
8136 s = 2.0;
8137
8138 p[0] = 0.3;
8139 p[1] = 1.2;
8140 p[2] = -2.5;
8141
8142 iauSxp(s, p, sp);
8143
8144 vvd(sp[0], 0.6, 0.0, "iauSxp", "1", status);
8145 vvd(sp[1], 2.4, 0.0, "iauSxp", "2", status);
8146 vvd(sp[2], -5.0, 0.0, "iauSxp", "3", status);
8147
8148}
8149
8150
8151static void t_sxpv(int *status)
8152/*
8153** - - - - - - -
8154** t _ s x p v
8155** - - - - - - -
8156**
8157** Test iauSxpv function.
8158**
8159** Returned:
8160** status int FALSE = success, TRUE = fail
8161**
8162** Called: iauSxpv, vvd
8163**
8164** This revision: 2013 August 7
8165*/
8166{
8167 double s, pv[2][3], spv[2][3];
8168
8169
8170 s = 2.0;
8171
8172 pv[0][0] = 0.3;
8173 pv[0][1] = 1.2;
8174 pv[0][2] = -2.5;
8175
8176 pv[1][0] = 0.5;
8177 pv[1][1] = 3.2;
8178 pv[1][2] = -0.7;
8179
8180 iauSxpv(s, pv, spv);
8181
8182 vvd(spv[0][0], 0.6, 0.0, "iauSxpv", "p1", status);
8183 vvd(spv[0][1], 2.4, 0.0, "iauSxpv", "p2", status);
8184 vvd(spv[0][2], -5.0, 0.0, "iauSxpv", "p3", status);
8185
8186 vvd(spv[1][0], 1.0, 0.0, "iauSxpv", "v1", status);
8187 vvd(spv[1][1], 6.4, 0.0, "iauSxpv", "v2", status);
8188 vvd(spv[1][2], -1.4, 0.0, "iauSxpv", "v3", status);
8189
8190}
8191
8192static void t_taitt(int *status)
8193/*
8194** - - - - - - - -
8195** t _ t a i t t
8196** - - - - - - - -
8197**
8198** Test iauTaitt function.
8199**
8200** Returned:
8201** status int FALSE = success, TRUE = fail
8202**
8203** Called: iauTaitt, vvd, viv
8204**
8205** This revision: 2013 August 7
8206*/
8207{
8208 double t1, t2;
8209 int j;
8210
8211
8212 j = iauTaitt(2453750.5, 0.892482639, &t1, &t2);
8213
8214 vvd(t1, 2453750.5, 1e-6, "iauTaitt", "t1", status);
8215 vvd(t2, 0.892855139, 1e-12, "iauTaitt", "t2", status);
8216 viv(j, 0, "iauTaitt", "j", status);
8217
8218}
8219
8220static void t_taiut1(int *status)
8221/*
8222** - - - - - - - - -
8223** t _ t a i u t 1
8224** - - - - - - - - -
8225**
8226** Test iauTaiut1 function.
8227**
8228** Returned:
8229** status int FALSE = success, TRUE = fail
8230**
8231** Called: iauTaiut1, vvd, viv
8232**
8233** This revision: 2013 August 7
8234*/
8235{
8236 double u1, u2;
8237 int j;
8238
8239
8240 j = iauTaiut1(2453750.5, 0.892482639, -32.6659, &u1, &u2);
8241
8242 vvd(u1, 2453750.5, 1e-6, "iauTaiut1", "u1", status);
8243 vvd(u2, 0.8921045614537037037, 1e-12, "iauTaiut1", "u2", status);
8244 viv(j, 0, "iauTaiut1", "j", status);
8245
8246}
8247
8248static void t_taiutc(int *status)
8249/*
8250** - - - - - - - - -
8251** t _ t a i u t c
8252** - - - - - - - - -
8253**
8254** Test iauTaiutc function.
8255**
8256** Returned:
8257** status LOGICAL TRUE = success, FALSE = fail
8258**
8259** Called: iauTaiutc, vvd, viv
8260**
8261** This revision: 2013 October 3
8262*/
8263{
8264 double u1, u2;
8265 int j;
8266
8267
8268 j = iauTaiutc(2453750.5, 0.892482639, &u1, &u2);
8269
8270 vvd(u1, 2453750.5, 1e-6, "iauTaiutc", "u1", status);
8271 vvd(u2, 0.8921006945555555556, 1e-12, "iauTaiutc", "u2", status);
8272 viv(j, 0, "iauTaiutc", "j", status);
8273
8274}
8275
8276static void t_tcbtdb(int *status)
8277/*
8278** - - - - - - - - -
8279** t _ t c b t d b
8280** - - - - - - - - -
8281**
8282** Test iauTcbtdb function.
8283**
8284** Returned:
8285** status int FALSE = success, TRUE = fail
8286**
8287** Called: iauTcbtdb, vvd, viv
8288**
8289** This revision: 2013 August 7
8290*/
8291{
8292 double b1, b2;
8293 int j;
8294
8295
8296 j = iauTcbtdb(2453750.5, 0.893019599, &b1, &b2);
8297
8298 vvd(b1, 2453750.5, 1e-6, "iauTcbtdb", "b1", status);
8299 vvd(b2, 0.8928551362746343397, 1e-12, "iauTcbtdb", "b2", status);
8300 viv(j, 0, "iauTcbtdb", "j", status);
8301
8302}
8303
8304static void t_tcgtt(int *status)
8305/*
8306** - - - - - - - -
8307** t _ t c g t t
8308** - - - - - - - -
8309**
8310** Test iauTcgtt function.
8311**
8312** Returned:
8313** status int FALSE = success, TRUE = fail
8314**
8315** Called: iauTcgtt, vvd, viv
8316**
8317** This revision: 2013 August 7
8318*/
8319{
8320 double t1, t2;
8321 int j;
8322
8323
8324 j = iauTcgtt(2453750.5, 0.892862531, &t1, &t2);
8325
8326 vvd(t1, 2453750.5, 1e-6, "iauTcgtt", "t1", status);
8327 vvd(t2, 0.8928551387488816828, 1e-12, "iauTcgtt", "t2", status);
8328 viv(j, 0, "iauTcgtt", "j", status);
8329
8330}
8331
8332static void t_tdbtcb(int *status)
8333/*
8334** - - - - - - - - -
8335** t _ t d b t c b
8336** - - - - - - - - -
8337**
8338** Test iauTdbtcb function.
8339**
8340** Returned:
8341** status int FALSE = success, TRUE = fail
8342**
8343** Called: iauTdbtcb, vvd, viv
8344**
8345** This revision: 2013 August 7
8346*/
8347{
8348 double b1, b2;
8349 int j;
8350
8351
8352 j = iauTdbtcb(2453750.5, 0.892855137, &b1, &b2);
8353
8354 vvd( b1, 2453750.5, 1e-6, "iauTdbtcb", "b1", status);
8355 vvd( b2, 0.8930195997253656716, 1e-12, "iauTdbtcb", "b2", status);
8356 viv(j, 0, "iauTdbtcb", "j", status);
8357
8358}
8359
8360static void t_tdbtt(int *status)
8361/*
8362** - - - - - - - -
8363** t _ t d b t t
8364** - - - - - - - -
8365**
8366** Test iauTdbtt function.
8367**
8368** Returned:
8369** status int FALSE = success, TRUE = fail
8370**
8371** Called: iauTdbtt, vvd, viv
8372**
8373** This revision: 2013 August 7
8374*/
8375{
8376 double t1, t2;
8377 int j;
8378
8379
8380 j = iauTdbtt(2453750.5, 0.892855137, -0.000201, &t1, &t2);
8381
8382 vvd(t1, 2453750.5, 1e-6, "iauTdbtt", "t1", status);
8383 vvd(t2, 0.8928551393263888889, 1e-12, "iauTdbtt", "t2", status);
8384 viv(j, 0, "iauTdbtt", "j", status);
8385
8386}
8387
8388static void t_tf2a(int *status)
8389/*
8390** - - - - - - -
8391** t _ t f 2 a
8392** - - - - - - -
8393**
8394** Test iauTf2a function.
8395**
8396** Returned:
8397** status int FALSE = success, TRUE = fail
8398**
8399** Called: iauTf2a, vvd, viv
8400**
8401** This revision: 2013 August 7
8402*/
8403{
8404 double a;
8405 int j;
8406
8407
8408 j = iauTf2a('+', 4, 58, 20.2, &a);
8409
8410 vvd(a, 1.301739278189537429, 1e-12, "iauTf2a", "a", status);
8411 viv(j, 0, "iauTf2a", "j", status);
8412
8413}
8414
8415static void t_tf2d(int *status)
8416/*
8417** - - - - - - -
8418** t _ t f 2 d
8419** - - - - - - -
8420**
8421** Test iauTf2d function.
8422**
8423** Returned:
8424** status int FALSE = success, TRUE = fail
8425**
8426** Called: iauTf2d, vvd, viv
8427**
8428** This revision: 2013 August 7
8429*/
8430{
8431 double d;
8432 int j;
8433
8434
8435 j = iauTf2d(' ', 23, 55, 10.9, &d);
8436
8437 vvd(d, 0.9966539351851851852, 1e-12, "iauTf2d", "d", status);
8438 viv(j, 0, "iauTf2d", "j", status);
8439
8440}
8441
8442static void t_tr(int *status)
8443/*
8444** - - - - -
8445** t _ t r
8446** - - - - -
8447**
8448** Test iauTr function.
8449**
8450** Returned:
8451** status int FALSE = success, TRUE = fail
8452**
8453** Called: iauTr, vvd
8454**
8455** This revision: 2013 August 7
8456*/
8457{
8458 double r[3][3], rt[3][3];
8459
8460
8461 r[0][0] = 2.0;
8462 r[0][1] = 3.0;
8463 r[0][2] = 2.0;
8464
8465 r[1][0] = 3.0;
8466 r[1][1] = 2.0;
8467 r[1][2] = 3.0;
8468
8469 r[2][0] = 3.0;
8470 r[2][1] = 4.0;
8471 r[2][2] = 5.0;
8472
8473 iauTr(r, rt);
8474
8475 vvd(rt[0][0], 2.0, 0.0, "iauTr", "11", status);
8476 vvd(rt[0][1], 3.0, 0.0, "iauTr", "12", status);
8477 vvd(rt[0][2], 3.0, 0.0, "iauTr", "13", status);
8478
8479 vvd(rt[1][0], 3.0, 0.0, "iauTr", "21", status);
8480 vvd(rt[1][1], 2.0, 0.0, "iauTr", "22", status);
8481 vvd(rt[1][2], 4.0, 0.0, "iauTr", "23", status);
8482
8483 vvd(rt[2][0], 2.0, 0.0, "iauTr", "31", status);
8484 vvd(rt[2][1], 3.0, 0.0, "iauTr", "32", status);
8485 vvd(rt[2][2], 5.0, 0.0, "iauTr", "33", status);
8486
8487}
8488
8489static void t_trxp(int *status)
8490/*
8491** - - - - - - -
8492** t _ t r x p
8493** - - - - - - -
8494**
8495** Test iauTrxp function.
8496**
8497** Returned:
8498** status int FALSE = success, TRUE = fail
8499**
8500** Called: iauTrxp, vvd
8501**
8502** This revision: 2013 August 7
8503*/
8504{
8505 double r[3][3], p[3], trp[3];
8506
8507
8508 r[0][0] = 2.0;
8509 r[0][1] = 3.0;
8510 r[0][2] = 2.0;
8511
8512 r[1][0] = 3.0;
8513 r[1][1] = 2.0;
8514 r[1][2] = 3.0;
8515
8516 r[2][0] = 3.0;
8517 r[2][1] = 4.0;
8518 r[2][2] = 5.0;
8519
8520 p[0] = 0.2;
8521 p[1] = 1.5;
8522 p[2] = 0.1;
8523
8524 iauTrxp(r, p, trp);
8525
8526 vvd(trp[0], 5.2, 1e-12, "iauTrxp", "1", status);
8527 vvd(trp[1], 4.0, 1e-12, "iauTrxp", "2", status);
8528 vvd(trp[2], 5.4, 1e-12, "iauTrxp", "3", status);
8529
8530}
8531
8532static void t_trxpv(int *status)
8533/*
8534** - - - - - - - -
8535** t _ t r x p v
8536** - - - - - - - -
8537**
8538** Test iauTrxpv function.
8539**
8540** Returned:
8541** status int FALSE = success, TRUE = fail
8542**
8543** Called: iauTrxpv, vvd
8544**
8545** This revision: 2013 August 7
8546*/
8547{
8548 double r[3][3], pv[2][3], trpv[2][3];
8549
8550
8551 r[0][0] = 2.0;
8552 r[0][1] = 3.0;
8553 r[0][2] = 2.0;
8554
8555 r[1][0] = 3.0;
8556 r[1][1] = 2.0;
8557 r[1][2] = 3.0;
8558
8559 r[2][0] = 3.0;
8560 r[2][1] = 4.0;
8561 r[2][2] = 5.0;
8562
8563 pv[0][0] = 0.2;
8564 pv[0][1] = 1.5;
8565 pv[0][2] = 0.1;
8566
8567 pv[1][0] = 1.5;
8568 pv[1][1] = 0.2;
8569 pv[1][2] = 0.1;
8570
8571 iauTrxpv(r, pv, trpv);
8572
8573 vvd(trpv[0][0], 5.2, 1e-12, "iauTrxpv", "p1", status);
8574 vvd(trpv[0][1], 4.0, 1e-12, "iauTrxpv", "p1", status);
8575 vvd(trpv[0][2], 5.4, 1e-12, "iauTrxpv", "p1", status);
8576
8577 vvd(trpv[1][0], 3.9, 1e-12, "iauTrxpv", "v1", status);
8578 vvd(trpv[1][1], 5.3, 1e-12, "iauTrxpv", "v2", status);
8579 vvd(trpv[1][2], 4.1, 1e-12, "iauTrxpv", "v3", status);
8580
8581}
8582
8583static void t_tttai(int *status)
8584/*
8585** - - - - - - - -
8586** t _ t t t a i
8587** - - - - - - - -
8588**
8589** Test iauTttai function.
8590**
8591** Returned:
8592** status int FALSE = success, TRUE = fail
8593**
8594** Called: iauTttai, vvd, viv
8595**
8596** This revision: 2013 August 7
8597*/
8598{
8599 double a1, a2;
8600 int j;
8601
8602
8603 j = iauTttai(2453750.5, 0.892482639, &a1, &a2);
8604
8605 vvd(a1, 2453750.5, 1e-6, "iauTttai", "a1", status);
8606 vvd(a2, 0.892110139, 1e-12, "iauTttai", "a2", status);
8607 viv(j, 0, "iauTttai", "j", status);
8608
8609}
8610
8611static void t_tttcg(int *status)
8612/*
8613** - - - - - - - -
8614** t _ t t t c g
8615** - - - - - - - -
8616**
8617** Test iauTttcg function.
8618**
8619** Returned:
8620** status int FALSE = success, TRUE = fail
8621**
8622** Called: iauTttcg, vvd, viv
8623**
8624** This revision: 2013 August 7
8625*/
8626{
8627 double g1, g2;
8628 int j;
8629
8630
8631 j = iauTttcg(2453750.5, 0.892482639, &g1, &g2);
8632
8633 vvd( g1, 2453750.5, 1e-6, "iauTttcg", "g1", status);
8634 vvd( g2, 0.8924900312508587113, 1e-12, "iauTttcg", "g2", status);
8635 viv(j, 0, "iauTttcg", "j", status);
8636
8637}
8638
8639static void t_tttdb(int *status)
8640/*
8641** - - - - - - - -
8642** t _ t t t d b
8643** - - - - - - - -
8644**
8645** Test iauTttdb function.
8646**
8647** Returned:
8648** status int FALSE = success, TRUE = fail
8649**
8650** Called: iauTttdb, vvd, viv
8651**
8652** This revision: 2013 August 7
8653*/
8654{
8655 double b1, b2;
8656 int j;
8657
8658
8659 j = iauTttdb(2453750.5, 0.892855139, -0.000201, &b1, &b2);
8660
8661 vvd(b1, 2453750.5, 1e-6, "iauTttdb", "b1", status);
8662 vvd(b2, 0.8928551366736111111, 1e-12, "iauTttdb", "b2", status);
8663 viv(j, 0, "iauTttdb", "j", status);
8664
8665}
8666
8667static void t_ttut1(int *status)
8668/*
8669** - - - - - - - -
8670** t _ t t u t 1
8671** - - - - - - - -
8672**
8673** Test iauTtut1 function.
8674**
8675** Returned:
8676** status int FALSE = success, TRUE = fail
8677**
8678** Called: iauTtut1, vvd, viv
8679**
8680** This revision: 2013 August 7
8681*/
8682{
8683 double u1, u2;
8684 int j;
8685
8686
8687 j = iauTtut1(2453750.5, 0.892855139, 64.8499, &u1, &u2);
8688
8689 vvd(u1, 2453750.5, 1e-6, "iauTtut1", "u1", status);
8690 vvd(u2, 0.8921045614537037037, 1e-12, "iauTtut1", "u2", status);
8691 viv(j, 0, "iauTtut1", "j", status);
8692
8693}
8694
8695static void t_ut1tai(int *status)
8696/*
8697** - - - - - - - - -
8698** t _ u t 1 t a i
8699** - - - - - - - - -
8700**
8701** Test iauUt1tai function.
8702**
8703** Returned:
8704** status int FALSE = success, TRUE = fail
8705**
8706** Called: iauUt1tai, vvd, viv
8707**
8708** This revision: 2013 August 7
8709*/
8710{
8711 double a1, a2;
8712 int j;
8713
8714
8715 j = iauUt1tai(2453750.5, 0.892104561, -32.6659, &a1, &a2);
8716
8717 vvd(a1, 2453750.5, 1e-6, "iauUt1tai", "a1", status);
8718 vvd(a2, 0.8924826385462962963, 1e-12, "iauUt1tai", "a2", status);
8719 viv(j, 0, "iauUt1tai", "j", status);
8720
8721}
8722
8723static void t_ut1tt(int *status)
8724/*
8725** - - - - - - - -
8726** t _ u t 1 t t
8727** - - - - - - - -
8728**
8729** Test iauUt1tt function.
8730**
8731** Returned:
8732** status int FALSE = success, TRUE = fail
8733**
8734** Called: iauUt1tt, vvd, viv
8735**
8736** This revision: 2013 October 3
8737*/
8738{
8739 double t1, t2;
8740 int j;
8741
8742
8743 j = iauUt1tt(2453750.5, 0.892104561, 64.8499, &t1, &t2);
8744
8745 vvd(t1, 2453750.5, 1e-6, "iauUt1tt", "t1", status);
8746 vvd(t2, 0.8928551385462962963, 1e-12, "iauUt1tt", "t2", status);
8747 viv(j, 0, "iauUt1tt", "j", status);
8748
8749}
8750
8751static void t_ut1utc(int *status)
8752/*
8753** - - - - - - - - -
8754** t _ u t 1 u t c
8755** - - - - - - - - -
8756**
8757** Test iauUt1utc function.
8758**
8759** Returned:
8760** status int FALSE = success, TRUE = fail
8761**
8762** Called: iauUt1utc, vvd, viv
8763**
8764** This revision: 2013 August 7
8765*/
8766{
8767 double u1, u2;
8768 int j;
8769
8770
8771 j = iauUt1utc(2453750.5, 0.892104561, 0.3341, &u1, &u2);
8772
8773 vvd(u1, 2453750.5, 1e-6, "iauUt1utc", "u1", status);
8774 vvd(u2, 0.8921006941018518519, 1e-12, "iauUt1utc", "u2", status);
8775 viv(j, 0, "iauUt1utc", "j", status);
8776
8777}
8778
8779static void t_utctai(int *status)
8780/*
8781** - - - - - - - - -
8782** t _ u t c t a i
8783** - - - - - - - - -
8784**
8785** Test iauUtctai function.
8786**
8787** Returned:
8788** status int FALSE = success, TRUE = fail
8789**
8790** Called: iauUtctai, vvd, viv
8791**
8792** This revision: 2013 August 7
8793*/
8794{
8795 double u1, u2;
8796 int j;
8797
8798
8799 j = iauUtctai(2453750.5, 0.892100694, &u1, &u2);
8800
8801 vvd(u1, 2453750.5, 1e-6, "iauUtctai", "u1", status);
8802 vvd(u2, 0.8924826384444444444, 1e-12, "iauUtctai", "u2", status);
8803 viv(j, 0, "iauUtctai", "j", status);
8804
8805}
8806
8807static void t_utcut1(int *status)
8808/*
8809** - - - - - - - - -
8810** t _ u t c u t 1
8811** - - - - - - - - -
8812**
8813** Test iauUtcut1 function.
8814**
8815** Returned:
8816** status int FALSE = success, TRUE = fail
8817**
8818** Called: iauUtcut1, vvd, viv
8819**
8820** This revision: 2013 August 7
8821*/
8822{
8823 double u1, u2;
8824 int j;
8825
8826
8827 j = iauUtcut1(2453750.5, 0.892100694, 0.3341, &u1, &u2);
8828
8829 vvd(u1, 2453750.5, 1e-6, "iauUtcut1", "u1", status);
8830 vvd(u2, 0.8921045608981481481, 1e-12, "iauUtcut1", "u2", status);
8831 viv(j, 0, "iauUtcut1", "j", status);
8832
8833}
8834
8835static void t_xy06(int *status)
8836/*
8837** - - - - - - -
8838** t _ x y 0 6
8839** - - - - - - -
8840**
8841** Test iauXy06 function.
8842**
8843** Returned:
8844** status int FALSE = success, TRUE = fail
8845**
8846** Called: iauXy06, vvd
8847**
8848** This revision: 2013 August 7
8849*/
8850{
8851 double x, y;
8852
8853
8854 iauXy06(2400000.5, 53736.0, &x, &y);
8855
8856 vvd(x, 0.5791308486706010975e-3, 1e-15, "iauXy06", "x", status);
8857 vvd(y, 0.4020579816732958141e-4, 1e-16, "iauXy06", "y", status);
8858
8859}
8860
8861static void t_xys00a(int *status)
8862/*
8863** - - - - - - - - -
8864** t _ x y s 0 0 a
8865** - - - - - - - - -
8866**
8867** Test iauXys00a function.
8868**
8869** Returned:
8870** status int FALSE = success, TRUE = fail
8871**
8872** Called: iauXys00a, vvd
8873**
8874** This revision: 2013 August 7
8875*/
8876{
8877 double x, y, s;
8878
8879
8880 iauXys00a(2400000.5, 53736.0, &x, &y, &s);
8881
8882 vvd(x, 0.5791308472168152904e-3, 1e-14, "iauXys00a", "x", status);
8883 vvd(y, 0.4020595661591500259e-4, 1e-15, "iauXys00a", "y", status);
8884 vvd(s, -0.1220040848471549623e-7, 1e-18, "iauXys00a", "s", status);
8885
8886}
8887
8888static void t_xys00b(int *status)
8889/*
8890** - - - - - - - - -
8891** t _ x y s 0 0 b
8892** - - - - - - - - -
8893**
8894** Test iauXys00b function.
8895**
8896** Returned:
8897** status int FALSE = success, TRUE = fail
8898**
8899** Called: iauXys00b, vvd
8900**
8901** This revision: 2013 August 7
8902*/
8903{
8904 double x, y, s;
8905
8906
8907 iauXys00b(2400000.5, 53736.0, &x, &y, &s);
8908
8909 vvd(x, 0.5791301929950208873e-3, 1e-14, "iauXys00b", "x", status);
8910 vvd(y, 0.4020553681373720832e-4, 1e-15, "iauXys00b", "y", status);
8911 vvd(s, -0.1220027377285083189e-7, 1e-18, "iauXys00b", "s", status);
8912
8913}
8914
8915static void t_xys06a(int *status)
8916/*
8917** - - - - - - - - -
8918** t _ x y s 0 6 a
8919** - - - - - - - - -
8920**
8921** Test iauXys06a function.
8922**
8923** Returned:
8924** status int FALSE = success, TRUE = fail
8925**
8926** Called: iauXys06a, vvd
8927**
8928** This revision: 2013 August 7
8929*/
8930{
8931 double x, y, s;
8932
8933
8934 iauXys06a(2400000.5, 53736.0, &x, &y, &s);
8935
8936 vvd(x, 0.5791308482835292617e-3, 1e-14, "iauXys06a", "x", status);
8937 vvd(y, 0.4020580099454020310e-4, 1e-15, "iauXys06a", "y", status);
8938 vvd(s, -0.1220032294164579896e-7, 1e-18, "iauXys06a", "s", status);
8939
8940}
8941
8942static void t_zp(int *status)
8943/*
8944** - - - - -
8945** t _ z p
8946** - - - - -
8947**
8948** Test iauZp function.
8949**
8950** Returned:
8951** status int FALSE = success, TRUE = fail
8952**
8953** Called: iauZp, vvd
8954**
8955** This revision: 2013 August 7
8956*/
8957{
8958 double p[3];
8959
8960
8961 p[0] = 0.3;
8962 p[1] = 1.2;
8963 p[2] = -2.5;
8964
8965 iauZp(p);
8966
8967 vvd(p[0], 0.0, 0.0, "iauZp", "1", status);
8968 vvd(p[1], 0.0, 0.0, "iauZp", "2", status);
8969 vvd(p[2], 0.0, 0.0, "iauZp", "3", status);
8970
8971}
8972
8973static void t_zpv(int *status)
8974/*
8975** - - - - - -
8976** t _ z p v
8977** - - - - - -
8978**
8979** Test iauZpv function.
8980**
8981** Returned:
8982** status int FALSE = success, TRUE = fail
8983**
8984** Called: iauZpv, vvd
8985**
8986** This revision: 2013 August 7
8987*/
8988{
8989 double pv[2][3];
8990
8991
8992 pv[0][0] = 0.3;
8993 pv[0][1] = 1.2;
8994 pv[0][2] = -2.5;
8995
8996 pv[1][0] = -0.5;
8997 pv[1][1] = 3.1;
8998 pv[1][2] = 0.9;
8999
9000 iauZpv(pv);
9001
9002 vvd(pv[0][0], 0.0, 0.0, "iauZpv", "p1", status);
9003 vvd(pv[0][1], 0.0, 0.0, "iauZpv", "p2", status);
9004 vvd(pv[0][2], 0.0, 0.0, "iauZpv", "p3", status);
9005
9006 vvd(pv[1][0], 0.0, 0.0, "iauZpv", "v1", status);
9007 vvd(pv[1][1], 0.0, 0.0, "iauZpv", "v2", status);
9008 vvd(pv[1][2], 0.0, 0.0, "iauZpv", "v3", status);
9009
9010}
9011
9012static void t_zr(int *status)
9013/*
9014** - - - - -
9015** t _ z r
9016** - - - - -
9017**
9018** Test iauZr function.
9019**
9020** Returned:
9021** status int FALSE = success, TRUE = fail
9022**
9023** Called: iauZr, vvd
9024**
9025** This revision: 2013 August 7
9026*/
9027{
9028 double r[3][3];
9029
9030
9031 r[0][0] = 2.0;
9032 r[1][0] = 3.0;
9033 r[2][0] = 2.0;
9034
9035 r[0][1] = 3.0;
9036 r[1][1] = 2.0;
9037 r[2][1] = 3.0;
9038
9039 r[0][2] = 3.0;
9040 r[1][2] = 4.0;
9041 r[2][2] = 5.0;
9042
9043 iauZr(r);
9044
9045 vvd(r[0][0], 0.0, 0.0, "iauZr", "00", status);
9046 vvd(r[1][0], 0.0, 0.0, "iauZr", "01", status);
9047 vvd(r[2][0], 0.0, 0.0, "iauZr", "02", status);
9048
9049 vvd(r[0][1], 0.0, 0.0, "iauZr", "10", status);
9050 vvd(r[1][1], 0.0, 0.0, "iauZr", "11", status);
9051 vvd(r[2][1], 0.0, 0.0, "iauZr", "12", status);
9052
9053 vvd(r[0][2], 0.0, 0.0, "iauZr", "20", status);
9054 vvd(r[1][2], 0.0, 0.0, "iauZr", "21", status);
9055 vvd(r[2][2], 0.0, 0.0, "iauZr", "22", status);
9056
9057}
9058
9059int main(int argc, char *argv[])
9060/*
9061** - - - - -
9062** m a i n
9063** - - - - -
9064**
9065** This revision: 2013 October 3
9066*/
9067{
9068 int status;
9069
9070
9071/* If any command-line argument, switch to verbose reporting. */
9072 if (argc > 1) {
9073 verbose = 1;
9074 argv[0][0] += 0; /* to avoid compiler warnings */
9075 }
9076
9077/* Preset the &status to FALSE = success. */
9078 status = 0;
9079
9080/* Test all of the SOFA functions. */
9081 t_a2af(&status);
9082 t_a2tf(&status);
9083 t_ab(&status);
9084 t_af2a(&status);
9085 t_anp(&status);
9086 t_anpm(&status);
9087 t_apcg(&status);
9088 t_apcg13(&status);
9089 t_apci(&status);
9090 t_apci13(&status);
9091 t_apco(&status);
9092 t_apco13(&status);
9093 t_apcs(&status);
9094 t_apcs13(&status);
9095 t_aper(&status);
9096 t_aper13(&status);
9097 t_apio(&status);
9098 t_apio13(&status);
9099 t_atci13(&status);
9100 t_atciq(&status);
9101 t_atciqn(&status);
9102 t_atciqz(&status);
9103 t_atco13(&status);
9104 t_atic13(&status);
9105 t_aticq(&status);
9106 t_aticqn(&status);
9107 t_atio13(&status);
9108 t_atioq(&status);
9109 t_atoc13(&status);
9110 t_atoi13(&status);
9111 t_atoiq(&status);
9112 t_bi00(&status);
9113 t_bp00(&status);
9114 t_bp06(&status);
9115 t_bpn2xy(&status);
9116 t_c2i00a(&status);
9117 t_c2i00b(&status);
9118 t_c2i06a(&status);
9119 t_c2ibpn(&status);
9120 t_c2ixy(&status);
9121 t_c2ixys(&status);
9122 t_c2s(&status);
9123 t_c2t00a(&status);
9124 t_c2t00b(&status);
9125 t_c2t06a(&status);
9126 t_c2tcio(&status);
9127 t_c2teqx(&status);
9128 t_c2tpe(&status);
9129 t_c2txy(&status);
9130 t_cal2jd(&status);
9131 t_cp(&status);
9132 t_cpv(&status);
9133 t_cr(&status);
9134 t_d2dtf(&status);
9135 t_d2tf(&status);
9136 t_dat(&status);
9137 t_dtdb(&status);
9138 t_dtf2d(&status);
9139 t_ee00(&status);
9140 t_ee00a(&status);
9141 t_ee00b(&status);
9142 t_ee06a(&status);
9143 t_eect00(&status);
9144 t_eform(&status);
9145 t_eo06a(&status);
9146 t_eors(&status);
9147 t_epb(&status);
9148 t_epb2jd(&status);
9149 t_epj(&status);
9150 t_epj2jd(&status);
9151 t_epv00(&status);
9152 t_eqeq94(&status);
9153 t_era00(&status);
9154 t_fad03(&status);
9155 t_fae03(&status);
9156 t_faf03(&status);
9157 t_faju03(&status);
9158 t_fal03(&status);
9159 t_falp03(&status);
9160 t_fama03(&status);
9161 t_fame03(&status);
9162 t_fane03(&status);
9163 t_faom03(&status);
9164 t_fapa03(&status);
9165 t_fasa03(&status);
9166 t_faur03(&status);
9167 t_fave03(&status);
9168 t_fk52h(&status);
9169 t_fk5hip(&status);
9170 t_fk5hz(&status);
9171 t_fw2m(&status);
9172 t_fw2xy(&status);
9173 t_g2icrs(&status);
9174 t_gc2gd(&status);
9175 t_gc2gde(&status);
9176 t_gd2gc(&status);
9177 t_gd2gce(&status);
9178 t_gmst00(&status);
9179 t_gmst06(&status);
9180 t_gmst82(&status);
9181 t_gst00a(&status);
9182 t_gst00b(&status);
9183 t_gst06(&status);
9184 t_gst06a(&status);
9185 t_gst94(&status);
9186 t_h2fk5(&status);
9187 t_hfk5z(&status);
9188 t_icrs2g(&status);
9189 t_ir(&status);
9190 t_jd2cal(&status);
9191 t_jdcalf(&status);
9192 t_ld(&status);
9193 t_ldn(&status);
9194 t_ldsun(&status);
9195 t_num00a(&status);
9196 t_num00b(&status);
9197 t_num06a(&status);
9198 t_numat(&status);
9199 t_nut00a(&status);
9200 t_nut00b(&status);
9201 t_nut06a(&status);
9202 t_nut80(&status);
9203 t_nutm80(&status);
9204 t_obl06(&status);
9205 t_obl80(&status);
9206 t_p06e(&status);
9207 t_p2pv(&status);
9208 t_p2s(&status);
9209 t_pap(&status);
9210 t_pas(&status);
9211 t_pb06(&status);
9212 t_pdp(&status);
9213 t_pfw06(&status);
9214 t_plan94(&status);
9215 t_pmat00(&status);
9216 t_pmat06(&status);
9217 t_pmat76(&status);
9218 t_pm(&status);
9219 t_pmp(&status);
9220 t_pmpx(&status);
9221 t_pmsafe(&status);
9222 t_pn(&status);
9223 t_pn00(&status);
9224 t_pn00a(&status);
9225 t_pn00b(&status);
9226 t_pn06a(&status);
9227 t_pn06(&status);
9228 t_pnm00a(&status);
9229 t_pnm00b(&status);
9230 t_pnm06a(&status);
9231 t_pnm80(&status);
9232 t_pom00(&status);
9233 t_ppp(&status);
9234 t_ppsp(&status);
9235 t_pr00(&status);
9236 t_prec76(&status);
9237 t_pv2p(&status);
9238 t_pv2s(&status);
9239 t_pvdpv(&status);
9240 t_pvm(&status);
9241 t_pvmpv(&status);
9242 t_pvppv(&status);
9243 t_pvstar(&status);
9244 t_pvtob(&status);
9245 t_pvu(&status);
9246 t_pvup(&status);
9247 t_pvxpv(&status);
9248 t_pxp(&status);
9249 t_refco(&status);
9250 t_rm2v(&status);
9251 t_rv2m(&status);
9252 t_rx(&status);
9253 t_rxp(&status);
9254 t_rxpv(&status);
9255 t_rxr(&status);
9256 t_ry(&status);
9257 t_rz(&status);
9258 t_s00a(&status);
9259 t_s00b(&status);
9260 t_s00(&status);
9261 t_s06a(&status);
9262 t_s06(&status);
9263 t_s2c(&status);
9264 t_s2p(&status);
9265 t_s2pv(&status);
9266 t_s2xpv(&status);
9267 t_sepp(&status);
9268 t_seps(&status);
9269 t_sp00(&status);
9270 t_starpm(&status);
9271 t_starpv(&status);
9272 t_sxp(&status);
9273 t_sxpv(&status);
9274 t_taitt(&status);
9275 t_taiut1(&status);
9276 t_taiutc(&status);
9277 t_tcbtdb(&status);
9278 t_tcgtt(&status);
9279 t_tdbtcb(&status);
9280 t_tdbtt(&status);
9281 t_tf2a(&status);
9282 t_tf2d(&status);
9283 t_tr(&status);
9284 t_trxp(&status);
9285 t_trxpv(&status);
9286 t_tttai(&status);
9287 t_tttcg(&status);
9288 t_tttdb(&status);
9289 t_ttut1(&status);
9290 t_ut1tai(&status);
9291 t_ut1tt(&status) ;
9292 t_ut1utc(&status);
9293 t_utctai(&status);
9294 t_utcut1(&status);
9295 t_xy06(&status);
9296 t_xys00a(&status);
9297 t_xys00b(&status);
9298 t_xys06a(&status);
9299 t_zp(&status);
9300 t_zpv(&status);
9301 t_zr(&status);
9302
9303/* Report, set up an appropriate exit status, and finish. */
9304 if (status) {
9305 printf("t_sofa_c validation failed!\n");
9306 } else {
9307 printf("t_sofa_c validation successful\n");
9308 }
9309 return status;
9310}
Note: See TracBrowser for help on using the repository browser.