erfa_sys/
erfa.rs

1/* automatically generated by rust-bindgen 0.59.2 */
2
3#[repr(C)]
4#[derive(Debug, Copy, Clone)]
5pub struct eraASTROM {
6    pub pmt: f64,
7    pub eb: [f64; 3usize],
8    pub eh: [f64; 3usize],
9    pub em: f64,
10    pub v: [f64; 3usize],
11    pub bm1: f64,
12    pub bpn: [[f64; 3usize]; 3usize],
13    pub along: f64,
14    pub phi: f64,
15    pub xpl: f64,
16    pub ypl: f64,
17    pub sphi: f64,
18    pub cphi: f64,
19    pub diurab: f64,
20    pub eral: f64,
21    pub refa: f64,
22    pub refb: f64,
23}
24#[test]
25fn bindgen_test_layout_eraASTROM() {
26    assert_eq!(
27        ::std::mem::size_of::<eraASTROM>(),
28        248usize,
29        concat!("Size of: ", stringify!(eraASTROM))
30    );
31    assert_eq!(
32        ::std::mem::align_of::<eraASTROM>(),
33        8usize,
34        concat!("Alignment of ", stringify!(eraASTROM))
35    );
36    assert_eq!(
37        unsafe { &(*(::std::ptr::null::<eraASTROM>())).pmt as *const _ as usize },
38        0usize,
39        concat!(
40            "Offset of field: ",
41            stringify!(eraASTROM),
42            "::",
43            stringify!(pmt)
44        )
45    );
46    assert_eq!(
47        unsafe { &(*(::std::ptr::null::<eraASTROM>())).eb as *const _ as usize },
48        8usize,
49        concat!(
50            "Offset of field: ",
51            stringify!(eraASTROM),
52            "::",
53            stringify!(eb)
54        )
55    );
56    assert_eq!(
57        unsafe { &(*(::std::ptr::null::<eraASTROM>())).eh as *const _ as usize },
58        32usize,
59        concat!(
60            "Offset of field: ",
61            stringify!(eraASTROM),
62            "::",
63            stringify!(eh)
64        )
65    );
66    assert_eq!(
67        unsafe { &(*(::std::ptr::null::<eraASTROM>())).em as *const _ as usize },
68        56usize,
69        concat!(
70            "Offset of field: ",
71            stringify!(eraASTROM),
72            "::",
73            stringify!(em)
74        )
75    );
76    assert_eq!(
77        unsafe { &(*(::std::ptr::null::<eraASTROM>())).v as *const _ as usize },
78        64usize,
79        concat!(
80            "Offset of field: ",
81            stringify!(eraASTROM),
82            "::",
83            stringify!(v)
84        )
85    );
86    assert_eq!(
87        unsafe { &(*(::std::ptr::null::<eraASTROM>())).bm1 as *const _ as usize },
88        88usize,
89        concat!(
90            "Offset of field: ",
91            stringify!(eraASTROM),
92            "::",
93            stringify!(bm1)
94        )
95    );
96    assert_eq!(
97        unsafe { &(*(::std::ptr::null::<eraASTROM>())).bpn as *const _ as usize },
98        96usize,
99        concat!(
100            "Offset of field: ",
101            stringify!(eraASTROM),
102            "::",
103            stringify!(bpn)
104        )
105    );
106    assert_eq!(
107        unsafe { &(*(::std::ptr::null::<eraASTROM>())).along as *const _ as usize },
108        168usize,
109        concat!(
110            "Offset of field: ",
111            stringify!(eraASTROM),
112            "::",
113            stringify!(along)
114        )
115    );
116    assert_eq!(
117        unsafe { &(*(::std::ptr::null::<eraASTROM>())).phi as *const _ as usize },
118        176usize,
119        concat!(
120            "Offset of field: ",
121            stringify!(eraASTROM),
122            "::",
123            stringify!(phi)
124        )
125    );
126    assert_eq!(
127        unsafe { &(*(::std::ptr::null::<eraASTROM>())).xpl as *const _ as usize },
128        184usize,
129        concat!(
130            "Offset of field: ",
131            stringify!(eraASTROM),
132            "::",
133            stringify!(xpl)
134        )
135    );
136    assert_eq!(
137        unsafe { &(*(::std::ptr::null::<eraASTROM>())).ypl as *const _ as usize },
138        192usize,
139        concat!(
140            "Offset of field: ",
141            stringify!(eraASTROM),
142            "::",
143            stringify!(ypl)
144        )
145    );
146    assert_eq!(
147        unsafe { &(*(::std::ptr::null::<eraASTROM>())).sphi as *const _ as usize },
148        200usize,
149        concat!(
150            "Offset of field: ",
151            stringify!(eraASTROM),
152            "::",
153            stringify!(sphi)
154        )
155    );
156    assert_eq!(
157        unsafe { &(*(::std::ptr::null::<eraASTROM>())).cphi as *const _ as usize },
158        208usize,
159        concat!(
160            "Offset of field: ",
161            stringify!(eraASTROM),
162            "::",
163            stringify!(cphi)
164        )
165    );
166    assert_eq!(
167        unsafe { &(*(::std::ptr::null::<eraASTROM>())).diurab as *const _ as usize },
168        216usize,
169        concat!(
170            "Offset of field: ",
171            stringify!(eraASTROM),
172            "::",
173            stringify!(diurab)
174        )
175    );
176    assert_eq!(
177        unsafe { &(*(::std::ptr::null::<eraASTROM>())).eral as *const _ as usize },
178        224usize,
179        concat!(
180            "Offset of field: ",
181            stringify!(eraASTROM),
182            "::",
183            stringify!(eral)
184        )
185    );
186    assert_eq!(
187        unsafe { &(*(::std::ptr::null::<eraASTROM>())).refa as *const _ as usize },
188        232usize,
189        concat!(
190            "Offset of field: ",
191            stringify!(eraASTROM),
192            "::",
193            stringify!(refa)
194        )
195    );
196    assert_eq!(
197        unsafe { &(*(::std::ptr::null::<eraASTROM>())).refb as *const _ as usize },
198        240usize,
199        concat!(
200            "Offset of field: ",
201            stringify!(eraASTROM),
202            "::",
203            stringify!(refb)
204        )
205    );
206}
207#[repr(C)]
208#[derive(Debug, Copy, Clone)]
209pub struct eraLDBODY {
210    pub bm: f64,
211    pub dl: f64,
212    pub pv: [[f64; 3usize]; 2usize],
213}
214#[test]
215fn bindgen_test_layout_eraLDBODY() {
216    assert_eq!(
217        ::std::mem::size_of::<eraLDBODY>(),
218        64usize,
219        concat!("Size of: ", stringify!(eraLDBODY))
220    );
221    assert_eq!(
222        ::std::mem::align_of::<eraLDBODY>(),
223        8usize,
224        concat!("Alignment of ", stringify!(eraLDBODY))
225    );
226    assert_eq!(
227        unsafe { &(*(::std::ptr::null::<eraLDBODY>())).bm as *const _ as usize },
228        0usize,
229        concat!(
230            "Offset of field: ",
231            stringify!(eraLDBODY),
232            "::",
233            stringify!(bm)
234        )
235    );
236    assert_eq!(
237        unsafe { &(*(::std::ptr::null::<eraLDBODY>())).dl as *const _ as usize },
238        8usize,
239        concat!(
240            "Offset of field: ",
241            stringify!(eraLDBODY),
242            "::",
243            stringify!(dl)
244        )
245    );
246    assert_eq!(
247        unsafe { &(*(::std::ptr::null::<eraLDBODY>())).pv as *const _ as usize },
248        16usize,
249        concat!(
250            "Offset of field: ",
251            stringify!(eraLDBODY),
252            "::",
253            stringify!(pv)
254        )
255    );
256}
257extern "C" {
258    pub fn eraCal2jd(
259        iy: ::std::os::raw::c_int,
260        im: ::std::os::raw::c_int,
261        id: ::std::os::raw::c_int,
262        djm0: *mut f64,
263        djm: *mut f64,
264    ) -> ::std::os::raw::c_int;
265}
266extern "C" {
267    pub fn eraEpb(dj1: f64, dj2: f64) -> f64;
268}
269extern "C" {
270    pub fn eraEpb2jd(epb: f64, djm0: *mut f64, djm: *mut f64);
271}
272extern "C" {
273    pub fn eraEpj(dj1: f64, dj2: f64) -> f64;
274}
275extern "C" {
276    pub fn eraEpj2jd(epj: f64, djm0: *mut f64, djm: *mut f64);
277}
278extern "C" {
279    pub fn eraJd2cal(
280        dj1: f64,
281        dj2: f64,
282        iy: *mut ::std::os::raw::c_int,
283        im: *mut ::std::os::raw::c_int,
284        id: *mut ::std::os::raw::c_int,
285        fd: *mut f64,
286    ) -> ::std::os::raw::c_int;
287}
288extern "C" {
289    pub fn eraJdcalf(
290        ndp: ::std::os::raw::c_int,
291        dj1: f64,
292        dj2: f64,
293        iymdf: *mut ::std::os::raw::c_int,
294    ) -> ::std::os::raw::c_int;
295}
296extern "C" {
297    pub fn eraAb(pnat: *mut f64, v: *mut f64, s: f64, bm1: f64, ppr: *mut f64);
298}
299extern "C" {
300    pub fn eraApcg(
301        date1: f64,
302        date2: f64,
303        ebpv: *mut [f64; 3usize],
304        ehp: *mut f64,
305        astrom: *mut eraASTROM,
306    );
307}
308extern "C" {
309    pub fn eraApcg13(date1: f64, date2: f64, astrom: *mut eraASTROM);
310}
311extern "C" {
312    pub fn eraApci(
313        date1: f64,
314        date2: f64,
315        ebpv: *mut [f64; 3usize],
316        ehp: *mut f64,
317        x: f64,
318        y: f64,
319        s: f64,
320        astrom: *mut eraASTROM,
321    );
322}
323extern "C" {
324    pub fn eraApci13(date1: f64, date2: f64, astrom: *mut eraASTROM, eo: *mut f64);
325}
326extern "C" {
327    pub fn eraApco(
328        date1: f64,
329        date2: f64,
330        ebpv: *mut [f64; 3usize],
331        ehp: *mut f64,
332        x: f64,
333        y: f64,
334        s: f64,
335        theta: f64,
336        elong: f64,
337        phi: f64,
338        hm: f64,
339        xp: f64,
340        yp: f64,
341        sp: f64,
342        refa: f64,
343        refb: f64,
344        astrom: *mut eraASTROM,
345    );
346}
347extern "C" {
348    pub fn eraApco13(
349        utc1: f64,
350        utc2: f64,
351        dut1: f64,
352        elong: f64,
353        phi: f64,
354        hm: f64,
355        xp: f64,
356        yp: f64,
357        phpa: f64,
358        tc: f64,
359        rh: f64,
360        wl: f64,
361        astrom: *mut eraASTROM,
362        eo: *mut f64,
363    ) -> ::std::os::raw::c_int;
364}
365extern "C" {
366    pub fn eraApcs(
367        date1: f64,
368        date2: f64,
369        pv: *mut [f64; 3usize],
370        ebpv: *mut [f64; 3usize],
371        ehp: *mut f64,
372        astrom: *mut eraASTROM,
373    );
374}
375extern "C" {
376    pub fn eraApcs13(date1: f64, date2: f64, pv: *mut [f64; 3usize], astrom: *mut eraASTROM);
377}
378extern "C" {
379    pub fn eraAper(theta: f64, astrom: *mut eraASTROM);
380}
381extern "C" {
382    pub fn eraAper13(ut11: f64, ut12: f64, astrom: *mut eraASTROM);
383}
384extern "C" {
385    pub fn eraApio(
386        sp: f64,
387        theta: f64,
388        elong: f64,
389        phi: f64,
390        hm: f64,
391        xp: f64,
392        yp: f64,
393        refa: f64,
394        refb: f64,
395        astrom: *mut eraASTROM,
396    );
397}
398extern "C" {
399    pub fn eraApio13(
400        utc1: f64,
401        utc2: f64,
402        dut1: f64,
403        elong: f64,
404        phi: f64,
405        hm: f64,
406        xp: f64,
407        yp: f64,
408        phpa: f64,
409        tc: f64,
410        rh: f64,
411        wl: f64,
412        astrom: *mut eraASTROM,
413    ) -> ::std::os::raw::c_int;
414}
415extern "C" {
416    pub fn eraAtcc13(
417        rc: f64,
418        dc: f64,
419        pr: f64,
420        pd: f64,
421        px: f64,
422        rv: f64,
423        date1: f64,
424        date2: f64,
425        ra: *mut f64,
426        da: *mut f64,
427    );
428}
429extern "C" {
430    pub fn eraAtccq(
431        rc: f64,
432        dc: f64,
433        pr: f64,
434        pd: f64,
435        px: f64,
436        rv: f64,
437        astrom: *mut eraASTROM,
438        ra: *mut f64,
439        da: *mut f64,
440    );
441}
442extern "C" {
443    pub fn eraAtci13(
444        rc: f64,
445        dc: f64,
446        pr: f64,
447        pd: f64,
448        px: f64,
449        rv: f64,
450        date1: f64,
451        date2: f64,
452        ri: *mut f64,
453        di: *mut f64,
454        eo: *mut f64,
455    );
456}
457extern "C" {
458    pub fn eraAtciq(
459        rc: f64,
460        dc: f64,
461        pr: f64,
462        pd: f64,
463        px: f64,
464        rv: f64,
465        astrom: *mut eraASTROM,
466        ri: *mut f64,
467        di: *mut f64,
468    );
469}
470extern "C" {
471    pub fn eraAtciqn(
472        rc: f64,
473        dc: f64,
474        pr: f64,
475        pd: f64,
476        px: f64,
477        rv: f64,
478        astrom: *mut eraASTROM,
479        n: ::std::os::raw::c_int,
480        b: *mut eraLDBODY,
481        ri: *mut f64,
482        di: *mut f64,
483    );
484}
485extern "C" {
486    pub fn eraAtciqz(rc: f64, dc: f64, astrom: *mut eraASTROM, ri: *mut f64, di: *mut f64);
487}
488extern "C" {
489    pub fn eraAtco13(
490        rc: f64,
491        dc: f64,
492        pr: f64,
493        pd: f64,
494        px: f64,
495        rv: f64,
496        utc1: f64,
497        utc2: f64,
498        dut1: f64,
499        elong: f64,
500        phi: f64,
501        hm: f64,
502        xp: f64,
503        yp: f64,
504        phpa: f64,
505        tc: f64,
506        rh: f64,
507        wl: f64,
508        aob: *mut f64,
509        zob: *mut f64,
510        hob: *mut f64,
511        dob: *mut f64,
512        rob: *mut f64,
513        eo: *mut f64,
514    ) -> ::std::os::raw::c_int;
515}
516extern "C" {
517    pub fn eraAtic13(
518        ri: f64,
519        di: f64,
520        date1: f64,
521        date2: f64,
522        rc: *mut f64,
523        dc: *mut f64,
524        eo: *mut f64,
525    );
526}
527extern "C" {
528    pub fn eraAticq(ri: f64, di: f64, astrom: *mut eraASTROM, rc: *mut f64, dc: *mut f64);
529}
530extern "C" {
531    pub fn eraAticqn(
532        ri: f64,
533        di: f64,
534        astrom: *mut eraASTROM,
535        n: ::std::os::raw::c_int,
536        b: *mut eraLDBODY,
537        rc: *mut f64,
538        dc: *mut f64,
539    );
540}
541extern "C" {
542    pub fn eraAtio13(
543        ri: f64,
544        di: f64,
545        utc1: f64,
546        utc2: f64,
547        dut1: f64,
548        elong: f64,
549        phi: f64,
550        hm: f64,
551        xp: f64,
552        yp: f64,
553        phpa: f64,
554        tc: f64,
555        rh: f64,
556        wl: f64,
557        aob: *mut f64,
558        zob: *mut f64,
559        hob: *mut f64,
560        dob: *mut f64,
561        rob: *mut f64,
562    ) -> ::std::os::raw::c_int;
563}
564extern "C" {
565    pub fn eraAtioq(
566        ri: f64,
567        di: f64,
568        astrom: *mut eraASTROM,
569        aob: *mut f64,
570        zob: *mut f64,
571        hob: *mut f64,
572        dob: *mut f64,
573        rob: *mut f64,
574    );
575}
576extern "C" {
577    pub fn eraAtoc13(
578        type_: *const ::std::os::raw::c_char,
579        ob1: f64,
580        ob2: f64,
581        utc1: f64,
582        utc2: f64,
583        dut1: f64,
584        elong: f64,
585        phi: f64,
586        hm: f64,
587        xp: f64,
588        yp: f64,
589        phpa: f64,
590        tc: f64,
591        rh: f64,
592        wl: f64,
593        rc: *mut f64,
594        dc: *mut f64,
595    ) -> ::std::os::raw::c_int;
596}
597extern "C" {
598    pub fn eraAtoi13(
599        type_: *const ::std::os::raw::c_char,
600        ob1: f64,
601        ob2: f64,
602        utc1: f64,
603        utc2: f64,
604        dut1: f64,
605        elong: f64,
606        phi: f64,
607        hm: f64,
608        xp: f64,
609        yp: f64,
610        phpa: f64,
611        tc: f64,
612        rh: f64,
613        wl: f64,
614        ri: *mut f64,
615        di: *mut f64,
616    ) -> ::std::os::raw::c_int;
617}
618extern "C" {
619    pub fn eraAtoiq(
620        type_: *const ::std::os::raw::c_char,
621        ob1: f64,
622        ob2: f64,
623        astrom: *mut eraASTROM,
624        ri: *mut f64,
625        di: *mut f64,
626    );
627}
628extern "C" {
629    pub fn eraLd(bm: f64, p: *mut f64, q: *mut f64, e: *mut f64, em: f64, dlim: f64, p1: *mut f64);
630}
631extern "C" {
632    pub fn eraLdn(
633        n: ::std::os::raw::c_int,
634        b: *mut eraLDBODY,
635        ob: *mut f64,
636        sc: *mut f64,
637        sn: *mut f64,
638    );
639}
640extern "C" {
641    pub fn eraLdsun(p: *mut f64, e: *mut f64, em: f64, p1: *mut f64);
642}
643extern "C" {
644    pub fn eraPmpx(
645        rc: f64,
646        dc: f64,
647        pr: f64,
648        pd: f64,
649        px: f64,
650        rv: f64,
651        pmt: f64,
652        pob: *mut f64,
653        pco: *mut f64,
654    );
655}
656extern "C" {
657    pub fn eraPmsafe(
658        ra1: f64,
659        dec1: f64,
660        pmr1: f64,
661        pmd1: f64,
662        px1: f64,
663        rv1: f64,
664        ep1a: f64,
665        ep1b: f64,
666        ep2a: f64,
667        ep2b: f64,
668        ra2: *mut f64,
669        dec2: *mut f64,
670        pmr2: *mut f64,
671        pmd2: *mut f64,
672        px2: *mut f64,
673        rv2: *mut f64,
674    ) -> ::std::os::raw::c_int;
675}
676extern "C" {
677    pub fn eraPvtob(
678        elong: f64,
679        phi: f64,
680        height: f64,
681        xp: f64,
682        yp: f64,
683        sp: f64,
684        theta: f64,
685        pv: *mut [f64; 3usize],
686    );
687}
688extern "C" {
689    pub fn eraRefco(phpa: f64, tc: f64, rh: f64, wl: f64, refa: *mut f64, refb: *mut f64);
690}
691extern "C" {
692    pub fn eraEpv00(
693        date1: f64,
694        date2: f64,
695        pvh: *mut [f64; 3usize],
696        pvb: *mut [f64; 3usize],
697    ) -> ::std::os::raw::c_int;
698}
699extern "C" {
700    pub fn eraMoon98(date1: f64, date2: f64, pv: *mut [f64; 3usize]);
701}
702extern "C" {
703    pub fn eraPlan94(
704        date1: f64,
705        date2: f64,
706        np: ::std::os::raw::c_int,
707        pv: *mut [f64; 3usize],
708    ) -> ::std::os::raw::c_int;
709}
710extern "C" {
711    pub fn eraFad03(t: f64) -> f64;
712}
713extern "C" {
714    pub fn eraFae03(t: f64) -> f64;
715}
716extern "C" {
717    pub fn eraFaf03(t: f64) -> f64;
718}
719extern "C" {
720    pub fn eraFaju03(t: f64) -> f64;
721}
722extern "C" {
723    pub fn eraFal03(t: f64) -> f64;
724}
725extern "C" {
726    pub fn eraFalp03(t: f64) -> f64;
727}
728extern "C" {
729    pub fn eraFama03(t: f64) -> f64;
730}
731extern "C" {
732    pub fn eraFame03(t: f64) -> f64;
733}
734extern "C" {
735    pub fn eraFane03(t: f64) -> f64;
736}
737extern "C" {
738    pub fn eraFaom03(t: f64) -> f64;
739}
740extern "C" {
741    pub fn eraFapa03(t: f64) -> f64;
742}
743extern "C" {
744    pub fn eraFasa03(t: f64) -> f64;
745}
746extern "C" {
747    pub fn eraFaur03(t: f64) -> f64;
748}
749extern "C" {
750    pub fn eraFave03(t: f64) -> f64;
751}
752extern "C" {
753    pub fn eraBi00(dpsibi: *mut f64, depsbi: *mut f64, dra: *mut f64);
754}
755extern "C" {
756    pub fn eraBp00(
757        date1: f64,
758        date2: f64,
759        rb: *mut [f64; 3usize],
760        rp: *mut [f64; 3usize],
761        rbp: *mut [f64; 3usize],
762    );
763}
764extern "C" {
765    pub fn eraBp06(
766        date1: f64,
767        date2: f64,
768        rb: *mut [f64; 3usize],
769        rp: *mut [f64; 3usize],
770        rbp: *mut [f64; 3usize],
771    );
772}
773extern "C" {
774    pub fn eraBpn2xy(rbpn: *mut [f64; 3usize], x: *mut f64, y: *mut f64);
775}
776extern "C" {
777    pub fn eraC2i00a(date1: f64, date2: f64, rc2i: *mut [f64; 3usize]);
778}
779extern "C" {
780    pub fn eraC2i00b(date1: f64, date2: f64, rc2i: *mut [f64; 3usize]);
781}
782extern "C" {
783    pub fn eraC2i06a(date1: f64, date2: f64, rc2i: *mut [f64; 3usize]);
784}
785extern "C" {
786    pub fn eraC2ibpn(date1: f64, date2: f64, rbpn: *mut [f64; 3usize], rc2i: *mut [f64; 3usize]);
787}
788extern "C" {
789    pub fn eraC2ixy(date1: f64, date2: f64, x: f64, y: f64, rc2i: *mut [f64; 3usize]);
790}
791extern "C" {
792    pub fn eraC2ixys(x: f64, y: f64, s: f64, rc2i: *mut [f64; 3usize]);
793}
794extern "C" {
795    pub fn eraC2t00a(
796        tta: f64,
797        ttb: f64,
798        uta: f64,
799        utb: f64,
800        xp: f64,
801        yp: f64,
802        rc2t: *mut [f64; 3usize],
803    );
804}
805extern "C" {
806    pub fn eraC2t00b(
807        tta: f64,
808        ttb: f64,
809        uta: f64,
810        utb: f64,
811        xp: f64,
812        yp: f64,
813        rc2t: *mut [f64; 3usize],
814    );
815}
816extern "C" {
817    pub fn eraC2t06a(
818        tta: f64,
819        ttb: f64,
820        uta: f64,
821        utb: f64,
822        xp: f64,
823        yp: f64,
824        rc2t: *mut [f64; 3usize],
825    );
826}
827extern "C" {
828    pub fn eraC2tcio(
829        rc2i: *mut [f64; 3usize],
830        era: f64,
831        rpom: *mut [f64; 3usize],
832        rc2t: *mut [f64; 3usize],
833    );
834}
835extern "C" {
836    pub fn eraC2teqx(
837        rbpn: *mut [f64; 3usize],
838        gst: f64,
839        rpom: *mut [f64; 3usize],
840        rc2t: *mut [f64; 3usize],
841    );
842}
843extern "C" {
844    pub fn eraC2tpe(
845        tta: f64,
846        ttb: f64,
847        uta: f64,
848        utb: f64,
849        dpsi: f64,
850        deps: f64,
851        xp: f64,
852        yp: f64,
853        rc2t: *mut [f64; 3usize],
854    );
855}
856extern "C" {
857    pub fn eraC2txy(
858        tta: f64,
859        ttb: f64,
860        uta: f64,
861        utb: f64,
862        x: f64,
863        y: f64,
864        xp: f64,
865        yp: f64,
866        rc2t: *mut [f64; 3usize],
867    );
868}
869extern "C" {
870    pub fn eraEo06a(date1: f64, date2: f64) -> f64;
871}
872extern "C" {
873    pub fn eraEors(rnpb: *mut [f64; 3usize], s: f64) -> f64;
874}
875extern "C" {
876    pub fn eraFw2m(gamb: f64, phib: f64, psi: f64, eps: f64, r: *mut [f64; 3usize]);
877}
878extern "C" {
879    pub fn eraFw2xy(gamb: f64, phib: f64, psi: f64, eps: f64, x: *mut f64, y: *mut f64);
880}
881extern "C" {
882    pub fn eraLtp(epj: f64, rp: *mut [f64; 3usize]);
883}
884extern "C" {
885    pub fn eraLtpb(epj: f64, rpb: *mut [f64; 3usize]);
886}
887extern "C" {
888    pub fn eraLtpecl(epj: f64, vec: *mut f64);
889}
890extern "C" {
891    pub fn eraLtpequ(epj: f64, veq: *mut f64);
892}
893extern "C" {
894    pub fn eraNum00a(date1: f64, date2: f64, rmatn: *mut [f64; 3usize]);
895}
896extern "C" {
897    pub fn eraNum00b(date1: f64, date2: f64, rmatn: *mut [f64; 3usize]);
898}
899extern "C" {
900    pub fn eraNum06a(date1: f64, date2: f64, rmatn: *mut [f64; 3usize]);
901}
902extern "C" {
903    pub fn eraNumat(epsa: f64, dpsi: f64, deps: f64, rmatn: *mut [f64; 3usize]);
904}
905extern "C" {
906    pub fn eraNut00a(date1: f64, date2: f64, dpsi: *mut f64, deps: *mut f64);
907}
908extern "C" {
909    pub fn eraNut00b(date1: f64, date2: f64, dpsi: *mut f64, deps: *mut f64);
910}
911extern "C" {
912    pub fn eraNut06a(date1: f64, date2: f64, dpsi: *mut f64, deps: *mut f64);
913}
914extern "C" {
915    pub fn eraNut80(date1: f64, date2: f64, dpsi: *mut f64, deps: *mut f64);
916}
917extern "C" {
918    pub fn eraNutm80(date1: f64, date2: f64, rmatn: *mut [f64; 3usize]);
919}
920extern "C" {
921    pub fn eraObl06(date1: f64, date2: f64) -> f64;
922}
923extern "C" {
924    pub fn eraObl80(date1: f64, date2: f64) -> f64;
925}
926extern "C" {
927    pub fn eraP06e(
928        date1: f64,
929        date2: f64,
930        eps0: *mut f64,
931        psia: *mut f64,
932        oma: *mut f64,
933        bpa: *mut f64,
934        bqa: *mut f64,
935        pia: *mut f64,
936        bpia: *mut f64,
937        epsa: *mut f64,
938        chia: *mut f64,
939        za: *mut f64,
940        zetaa: *mut f64,
941        thetaa: *mut f64,
942        pa: *mut f64,
943        gam: *mut f64,
944        phi: *mut f64,
945        psi: *mut f64,
946    );
947}
948extern "C" {
949    pub fn eraPb06(date1: f64, date2: f64, bzeta: *mut f64, bz: *mut f64, btheta: *mut f64);
950}
951extern "C" {
952    pub fn eraPfw06(
953        date1: f64,
954        date2: f64,
955        gamb: *mut f64,
956        phib: *mut f64,
957        psib: *mut f64,
958        epsa: *mut f64,
959    );
960}
961extern "C" {
962    pub fn eraPmat00(date1: f64, date2: f64, rbp: *mut [f64; 3usize]);
963}
964extern "C" {
965    pub fn eraPmat06(date1: f64, date2: f64, rbp: *mut [f64; 3usize]);
966}
967extern "C" {
968    pub fn eraPmat76(date1: f64, date2: f64, rmatp: *mut [f64; 3usize]);
969}
970extern "C" {
971    pub fn eraPn00(
972        date1: f64,
973        date2: f64,
974        dpsi: f64,
975        deps: f64,
976        epsa: *mut f64,
977        rb: *mut [f64; 3usize],
978        rp: *mut [f64; 3usize],
979        rbp: *mut [f64; 3usize],
980        rn: *mut [f64; 3usize],
981        rbpn: *mut [f64; 3usize],
982    );
983}
984extern "C" {
985    pub fn eraPn00a(
986        date1: f64,
987        date2: f64,
988        dpsi: *mut f64,
989        deps: *mut f64,
990        epsa: *mut f64,
991        rb: *mut [f64; 3usize],
992        rp: *mut [f64; 3usize],
993        rbp: *mut [f64; 3usize],
994        rn: *mut [f64; 3usize],
995        rbpn: *mut [f64; 3usize],
996    );
997}
998extern "C" {
999    pub fn eraPn00b(
1000        date1: f64,
1001        date2: f64,
1002        dpsi: *mut f64,
1003        deps: *mut f64,
1004        epsa: *mut f64,
1005        rb: *mut [f64; 3usize],
1006        rp: *mut [f64; 3usize],
1007        rbp: *mut [f64; 3usize],
1008        rn: *mut [f64; 3usize],
1009        rbpn: *mut [f64; 3usize],
1010    );
1011}
1012extern "C" {
1013    pub fn eraPn06(
1014        date1: f64,
1015        date2: f64,
1016        dpsi: f64,
1017        deps: f64,
1018        epsa: *mut f64,
1019        rb: *mut [f64; 3usize],
1020        rp: *mut [f64; 3usize],
1021        rbp: *mut [f64; 3usize],
1022        rn: *mut [f64; 3usize],
1023        rbpn: *mut [f64; 3usize],
1024    );
1025}
1026extern "C" {
1027    pub fn eraPn06a(
1028        date1: f64,
1029        date2: f64,
1030        dpsi: *mut f64,
1031        deps: *mut f64,
1032        epsa: *mut f64,
1033        rb: *mut [f64; 3usize],
1034        rp: *mut [f64; 3usize],
1035        rbp: *mut [f64; 3usize],
1036        rn: *mut [f64; 3usize],
1037        rbpn: *mut [f64; 3usize],
1038    );
1039}
1040extern "C" {
1041    pub fn eraPnm00a(date1: f64, date2: f64, rbpn: *mut [f64; 3usize]);
1042}
1043extern "C" {
1044    pub fn eraPnm00b(date1: f64, date2: f64, rbpn: *mut [f64; 3usize]);
1045}
1046extern "C" {
1047    pub fn eraPnm06a(date1: f64, date2: f64, rnpb: *mut [f64; 3usize]);
1048}
1049extern "C" {
1050    pub fn eraPnm80(date1: f64, date2: f64, rmatpn: *mut [f64; 3usize]);
1051}
1052extern "C" {
1053    pub fn eraPom00(xp: f64, yp: f64, sp: f64, rpom: *mut [f64; 3usize]);
1054}
1055extern "C" {
1056    pub fn eraPr00(date1: f64, date2: f64, dpsipr: *mut f64, depspr: *mut f64);
1057}
1058extern "C" {
1059    pub fn eraPrec76(
1060        date01: f64,
1061        date02: f64,
1062        date11: f64,
1063        date12: f64,
1064        zeta: *mut f64,
1065        z: *mut f64,
1066        theta: *mut f64,
1067    );
1068}
1069extern "C" {
1070    pub fn eraS00(date1: f64, date2: f64, x: f64, y: f64) -> f64;
1071}
1072extern "C" {
1073    pub fn eraS00a(date1: f64, date2: f64) -> f64;
1074}
1075extern "C" {
1076    pub fn eraS00b(date1: f64, date2: f64) -> f64;
1077}
1078extern "C" {
1079    pub fn eraS06(date1: f64, date2: f64, x: f64, y: f64) -> f64;
1080}
1081extern "C" {
1082    pub fn eraS06a(date1: f64, date2: f64) -> f64;
1083}
1084extern "C" {
1085    pub fn eraSp00(date1: f64, date2: f64) -> f64;
1086}
1087extern "C" {
1088    pub fn eraXy06(date1: f64, date2: f64, x: *mut f64, y: *mut f64);
1089}
1090extern "C" {
1091    pub fn eraXys00a(date1: f64, date2: f64, x: *mut f64, y: *mut f64, s: *mut f64);
1092}
1093extern "C" {
1094    pub fn eraXys00b(date1: f64, date2: f64, x: *mut f64, y: *mut f64, s: *mut f64);
1095}
1096extern "C" {
1097    pub fn eraXys06a(date1: f64, date2: f64, x: *mut f64, y: *mut f64, s: *mut f64);
1098}
1099extern "C" {
1100    pub fn eraEe00(date1: f64, date2: f64, epsa: f64, dpsi: f64) -> f64;
1101}
1102extern "C" {
1103    pub fn eraEe00a(date1: f64, date2: f64) -> f64;
1104}
1105extern "C" {
1106    pub fn eraEe00b(date1: f64, date2: f64) -> f64;
1107}
1108extern "C" {
1109    pub fn eraEe06a(date1: f64, date2: f64) -> f64;
1110}
1111extern "C" {
1112    pub fn eraEect00(date1: f64, date2: f64) -> f64;
1113}
1114extern "C" {
1115    pub fn eraEqeq94(date1: f64, date2: f64) -> f64;
1116}
1117extern "C" {
1118    pub fn eraEra00(dj1: f64, dj2: f64) -> f64;
1119}
1120extern "C" {
1121    pub fn eraGmst00(uta: f64, utb: f64, tta: f64, ttb: f64) -> f64;
1122}
1123extern "C" {
1124    pub fn eraGmst06(uta: f64, utb: f64, tta: f64, ttb: f64) -> f64;
1125}
1126extern "C" {
1127    pub fn eraGmst82(dj1: f64, dj2: f64) -> f64;
1128}
1129extern "C" {
1130    pub fn eraGst00a(uta: f64, utb: f64, tta: f64, ttb: f64) -> f64;
1131}
1132extern "C" {
1133    pub fn eraGst00b(uta: f64, utb: f64) -> f64;
1134}
1135extern "C" {
1136    pub fn eraGst06(uta: f64, utb: f64, tta: f64, ttb: f64, rnpb: *mut [f64; 3usize]) -> f64;
1137}
1138extern "C" {
1139    pub fn eraGst06a(uta: f64, utb: f64, tta: f64, ttb: f64) -> f64;
1140}
1141extern "C" {
1142    pub fn eraGst94(uta: f64, utb: f64) -> f64;
1143}
1144extern "C" {
1145    pub fn eraPvstar(
1146        pv: *mut [f64; 3usize],
1147        ra: *mut f64,
1148        dec: *mut f64,
1149        pmr: *mut f64,
1150        pmd: *mut f64,
1151        px: *mut f64,
1152        rv: *mut f64,
1153    ) -> ::std::os::raw::c_int;
1154}
1155extern "C" {
1156    pub fn eraStarpv(
1157        ra: f64,
1158        dec: f64,
1159        pmr: f64,
1160        pmd: f64,
1161        px: f64,
1162        rv: f64,
1163        pv: *mut [f64; 3usize],
1164    ) -> ::std::os::raw::c_int;
1165}
1166extern "C" {
1167    pub fn eraFk425(
1168        r1950: f64,
1169        d1950: f64,
1170        dr1950: f64,
1171        dd1950: f64,
1172        p1950: f64,
1173        v1950: f64,
1174        r2000: *mut f64,
1175        d2000: *mut f64,
1176        dr2000: *mut f64,
1177        dd2000: *mut f64,
1178        p2000: *mut f64,
1179        v2000: *mut f64,
1180    );
1181}
1182extern "C" {
1183    pub fn eraFk45z(r1950: f64, d1950: f64, bepoch: f64, r2000: *mut f64, d2000: *mut f64);
1184}
1185extern "C" {
1186    pub fn eraFk524(
1187        r2000: f64,
1188        d2000: f64,
1189        dr2000: f64,
1190        dd2000: f64,
1191        p2000: f64,
1192        v2000: f64,
1193        r1950: *mut f64,
1194        d1950: *mut f64,
1195        dr1950: *mut f64,
1196        dd1950: *mut f64,
1197        p1950: *mut f64,
1198        v1950: *mut f64,
1199    );
1200}
1201extern "C" {
1202    pub fn eraFk52h(
1203        r5: f64,
1204        d5: f64,
1205        dr5: f64,
1206        dd5: f64,
1207        px5: f64,
1208        rv5: f64,
1209        rh: *mut f64,
1210        dh: *mut f64,
1211        drh: *mut f64,
1212        ddh: *mut f64,
1213        pxh: *mut f64,
1214        rvh: *mut f64,
1215    );
1216}
1217extern "C" {
1218    pub fn eraFk54z(
1219        r2000: f64,
1220        d2000: f64,
1221        bepoch: f64,
1222        r1950: *mut f64,
1223        d1950: *mut f64,
1224        dr1950: *mut f64,
1225        dd1950: *mut f64,
1226    );
1227}
1228extern "C" {
1229    pub fn eraFk5hip(r5h: *mut [f64; 3usize], s5h: *mut f64);
1230}
1231extern "C" {
1232    pub fn eraFk5hz(r5: f64, d5: f64, date1: f64, date2: f64, rh: *mut f64, dh: *mut f64);
1233}
1234extern "C" {
1235    pub fn eraH2fk5(
1236        rh: f64,
1237        dh: f64,
1238        drh: f64,
1239        ddh: f64,
1240        pxh: f64,
1241        rvh: f64,
1242        r5: *mut f64,
1243        d5: *mut f64,
1244        dr5: *mut f64,
1245        dd5: *mut f64,
1246        px5: *mut f64,
1247        rv5: *mut f64,
1248    );
1249}
1250extern "C" {
1251    pub fn eraHfk5z(
1252        rh: f64,
1253        dh: f64,
1254        date1: f64,
1255        date2: f64,
1256        r5: *mut f64,
1257        d5: *mut f64,
1258        dr5: *mut f64,
1259        dd5: *mut f64,
1260    );
1261}
1262extern "C" {
1263    pub fn eraStarpm(
1264        ra1: f64,
1265        dec1: f64,
1266        pmr1: f64,
1267        pmd1: f64,
1268        px1: f64,
1269        rv1: f64,
1270        ep1a: f64,
1271        ep1b: f64,
1272        ep2a: f64,
1273        ep2b: f64,
1274        ra2: *mut f64,
1275        dec2: *mut f64,
1276        pmr2: *mut f64,
1277        pmd2: *mut f64,
1278        px2: *mut f64,
1279        rv2: *mut f64,
1280    ) -> ::std::os::raw::c_int;
1281}
1282extern "C" {
1283    pub fn eraEceq06(date1: f64, date2: f64, dl: f64, db: f64, dr: *mut f64, dd: *mut f64);
1284}
1285extern "C" {
1286    pub fn eraEcm06(date1: f64, date2: f64, rm: *mut [f64; 3usize]);
1287}
1288extern "C" {
1289    pub fn eraEqec06(date1: f64, date2: f64, dr: f64, dd: f64, dl: *mut f64, db: *mut f64);
1290}
1291extern "C" {
1292    pub fn eraLteceq(epj: f64, dl: f64, db: f64, dr: *mut f64, dd: *mut f64);
1293}
1294extern "C" {
1295    pub fn eraLtecm(epj: f64, rm: *mut [f64; 3usize]);
1296}
1297extern "C" {
1298    pub fn eraLteqec(epj: f64, dr: f64, dd: f64, dl: *mut f64, db: *mut f64);
1299}
1300extern "C" {
1301    pub fn eraG2icrs(dl: f64, db: f64, dr: *mut f64, dd: *mut f64);
1302}
1303extern "C" {
1304    pub fn eraIcrs2g(dr: f64, dd: f64, dl: *mut f64, db: *mut f64);
1305}
1306extern "C" {
1307    pub fn eraEform(n: ::std::os::raw::c_int, a: *mut f64, f: *mut f64) -> ::std::os::raw::c_int;
1308}
1309extern "C" {
1310    pub fn eraGc2gd(
1311        n: ::std::os::raw::c_int,
1312        xyz: *mut f64,
1313        elong: *mut f64,
1314        phi: *mut f64,
1315        height: *mut f64,
1316    ) -> ::std::os::raw::c_int;
1317}
1318extern "C" {
1319    pub fn eraGc2gde(
1320        a: f64,
1321        f: f64,
1322        xyz: *mut f64,
1323        elong: *mut f64,
1324        phi: *mut f64,
1325        height: *mut f64,
1326    ) -> ::std::os::raw::c_int;
1327}
1328extern "C" {
1329    pub fn eraGd2gc(
1330        n: ::std::os::raw::c_int,
1331        elong: f64,
1332        phi: f64,
1333        height: f64,
1334        xyz: *mut f64,
1335    ) -> ::std::os::raw::c_int;
1336}
1337extern "C" {
1338    pub fn eraGd2gce(
1339        a: f64,
1340        f: f64,
1341        elong: f64,
1342        phi: f64,
1343        height: f64,
1344        xyz: *mut f64,
1345    ) -> ::std::os::raw::c_int;
1346}
1347extern "C" {
1348    pub fn eraD2dtf(
1349        scale: *const ::std::os::raw::c_char,
1350        ndp: ::std::os::raw::c_int,
1351        d1: f64,
1352        d2: f64,
1353        iy: *mut ::std::os::raw::c_int,
1354        im: *mut ::std::os::raw::c_int,
1355        id: *mut ::std::os::raw::c_int,
1356        ihmsf: *mut ::std::os::raw::c_int,
1357    ) -> ::std::os::raw::c_int;
1358}
1359extern "C" {
1360    pub fn eraDat(
1361        iy: ::std::os::raw::c_int,
1362        im: ::std::os::raw::c_int,
1363        id: ::std::os::raw::c_int,
1364        fd: f64,
1365        deltat: *mut f64,
1366    ) -> ::std::os::raw::c_int;
1367}
1368extern "C" {
1369    pub fn eraDtdb(date1: f64, date2: f64, ut: f64, elong: f64, u: f64, v: f64) -> f64;
1370}
1371extern "C" {
1372    pub fn eraDtf2d(
1373        scale: *const ::std::os::raw::c_char,
1374        iy: ::std::os::raw::c_int,
1375        im: ::std::os::raw::c_int,
1376        id: ::std::os::raw::c_int,
1377        ihr: ::std::os::raw::c_int,
1378        imn: ::std::os::raw::c_int,
1379        sec: f64,
1380        d1: *mut f64,
1381        d2: *mut f64,
1382    ) -> ::std::os::raw::c_int;
1383}
1384extern "C" {
1385    pub fn eraTaitt(tai1: f64, tai2: f64, tt1: *mut f64, tt2: *mut f64) -> ::std::os::raw::c_int;
1386}
1387extern "C" {
1388    pub fn eraTaiut1(
1389        tai1: f64,
1390        tai2: f64,
1391        dta: f64,
1392        ut11: *mut f64,
1393        ut12: *mut f64,
1394    ) -> ::std::os::raw::c_int;
1395}
1396extern "C" {
1397    pub fn eraTaiutc(tai1: f64, tai2: f64, utc1: *mut f64, utc2: *mut f64)
1398        -> ::std::os::raw::c_int;
1399}
1400extern "C" {
1401    pub fn eraTcbtdb(tcb1: f64, tcb2: f64, tdb1: *mut f64, tdb2: *mut f64)
1402        -> ::std::os::raw::c_int;
1403}
1404extern "C" {
1405    pub fn eraTcgtt(tcg1: f64, tcg2: f64, tt1: *mut f64, tt2: *mut f64) -> ::std::os::raw::c_int;
1406}
1407extern "C" {
1408    pub fn eraTdbtcb(tdb1: f64, tdb2: f64, tcb1: *mut f64, tcb2: *mut f64)
1409        -> ::std::os::raw::c_int;
1410}
1411extern "C" {
1412    pub fn eraTdbtt(
1413        tdb1: f64,
1414        tdb2: f64,
1415        dtr: f64,
1416        tt1: *mut f64,
1417        tt2: *mut f64,
1418    ) -> ::std::os::raw::c_int;
1419}
1420extern "C" {
1421    pub fn eraTttai(tt1: f64, tt2: f64, tai1: *mut f64, tai2: *mut f64) -> ::std::os::raw::c_int;
1422}
1423extern "C" {
1424    pub fn eraTttcg(tt1: f64, tt2: f64, tcg1: *mut f64, tcg2: *mut f64) -> ::std::os::raw::c_int;
1425}
1426extern "C" {
1427    pub fn eraTttdb(
1428        tt1: f64,
1429        tt2: f64,
1430        dtr: f64,
1431        tdb1: *mut f64,
1432        tdb2: *mut f64,
1433    ) -> ::std::os::raw::c_int;
1434}
1435extern "C" {
1436    pub fn eraTtut1(
1437        tt1: f64,
1438        tt2: f64,
1439        dt: f64,
1440        ut11: *mut f64,
1441        ut12: *mut f64,
1442    ) -> ::std::os::raw::c_int;
1443}
1444extern "C" {
1445    pub fn eraUt1tai(
1446        ut11: f64,
1447        ut12: f64,
1448        dta: f64,
1449        tai1: *mut f64,
1450        tai2: *mut f64,
1451    ) -> ::std::os::raw::c_int;
1452}
1453extern "C" {
1454    pub fn eraUt1tt(
1455        ut11: f64,
1456        ut12: f64,
1457        dt: f64,
1458        tt1: *mut f64,
1459        tt2: *mut f64,
1460    ) -> ::std::os::raw::c_int;
1461}
1462extern "C" {
1463    pub fn eraUt1utc(
1464        ut11: f64,
1465        ut12: f64,
1466        dut1: f64,
1467        utc1: *mut f64,
1468        utc2: *mut f64,
1469    ) -> ::std::os::raw::c_int;
1470}
1471extern "C" {
1472    pub fn eraUtctai(utc1: f64, utc2: f64, tai1: *mut f64, tai2: *mut f64)
1473        -> ::std::os::raw::c_int;
1474}
1475extern "C" {
1476    pub fn eraUtcut1(
1477        utc1: f64,
1478        utc2: f64,
1479        dut1: f64,
1480        ut11: *mut f64,
1481        ut12: *mut f64,
1482    ) -> ::std::os::raw::c_int;
1483}
1484extern "C" {
1485    pub fn eraAe2hd(az: f64, el: f64, phi: f64, ha: *mut f64, dec: *mut f64);
1486}
1487extern "C" {
1488    pub fn eraHd2ae(ha: f64, dec: f64, phi: f64, az: *mut f64, el: *mut f64);
1489}
1490extern "C" {
1491    pub fn eraHd2pa(ha: f64, dec: f64, phi: f64) -> f64;
1492}
1493extern "C" {
1494    pub fn eraTpors(
1495        xi: f64,
1496        eta: f64,
1497        a: f64,
1498        b: f64,
1499        a01: *mut f64,
1500        b01: *mut f64,
1501        a02: *mut f64,
1502        b02: *mut f64,
1503    ) -> ::std::os::raw::c_int;
1504}
1505extern "C" {
1506    pub fn eraTporv(
1507        xi: f64,
1508        eta: f64,
1509        v: *mut f64,
1510        v01: *mut f64,
1511        v02: *mut f64,
1512    ) -> ::std::os::raw::c_int;
1513}
1514extern "C" {
1515    pub fn eraTpsts(xi: f64, eta: f64, a0: f64, b0: f64, a: *mut f64, b: *mut f64);
1516}
1517extern "C" {
1518    pub fn eraTpstv(xi: f64, eta: f64, v0: *mut f64, v: *mut f64);
1519}
1520extern "C" {
1521    pub fn eraTpxes(
1522        a: f64,
1523        b: f64,
1524        a0: f64,
1525        b0: f64,
1526        xi: *mut f64,
1527        eta: *mut f64,
1528    ) -> ::std::os::raw::c_int;
1529}
1530extern "C" {
1531    pub fn eraTpxev(
1532        v: *mut f64,
1533        v0: *mut f64,
1534        xi: *mut f64,
1535        eta: *mut f64,
1536    ) -> ::std::os::raw::c_int;
1537}
1538extern "C" {
1539    pub fn eraA2af(
1540        ndp: ::std::os::raw::c_int,
1541        angle: f64,
1542        sign: *mut ::std::os::raw::c_char,
1543        idmsf: *mut ::std::os::raw::c_int,
1544    );
1545}
1546extern "C" {
1547    pub fn eraA2tf(
1548        ndp: ::std::os::raw::c_int,
1549        angle: f64,
1550        sign: *mut ::std::os::raw::c_char,
1551        ihmsf: *mut ::std::os::raw::c_int,
1552    );
1553}
1554extern "C" {
1555    pub fn eraAf2a(
1556        s: ::std::os::raw::c_char,
1557        ideg: ::std::os::raw::c_int,
1558        iamin: ::std::os::raw::c_int,
1559        asec: f64,
1560        rad: *mut f64,
1561    ) -> ::std::os::raw::c_int;
1562}
1563extern "C" {
1564    pub fn eraAnp(a: f64) -> f64;
1565}
1566extern "C" {
1567    pub fn eraAnpm(a: f64) -> f64;
1568}
1569extern "C" {
1570    pub fn eraD2tf(
1571        ndp: ::std::os::raw::c_int,
1572        days: f64,
1573        sign: *mut ::std::os::raw::c_char,
1574        ihmsf: *mut ::std::os::raw::c_int,
1575    );
1576}
1577extern "C" {
1578    pub fn eraTf2a(
1579        s: ::std::os::raw::c_char,
1580        ihour: ::std::os::raw::c_int,
1581        imin: ::std::os::raw::c_int,
1582        sec: f64,
1583        rad: *mut f64,
1584    ) -> ::std::os::raw::c_int;
1585}
1586extern "C" {
1587    pub fn eraTf2d(
1588        s: ::std::os::raw::c_char,
1589        ihour: ::std::os::raw::c_int,
1590        imin: ::std::os::raw::c_int,
1591        sec: f64,
1592        days: *mut f64,
1593    ) -> ::std::os::raw::c_int;
1594}
1595extern "C" {
1596    pub fn eraRx(phi: f64, r: *mut [f64; 3usize]);
1597}
1598extern "C" {
1599    pub fn eraRy(theta: f64, r: *mut [f64; 3usize]);
1600}
1601extern "C" {
1602    pub fn eraRz(psi: f64, r: *mut [f64; 3usize]);
1603}
1604extern "C" {
1605    pub fn eraCp(p: *mut f64, c: *mut f64);
1606}
1607extern "C" {
1608    pub fn eraCpv(pv: *mut [f64; 3usize], c: *mut [f64; 3usize]);
1609}
1610extern "C" {
1611    pub fn eraCr(r: *mut [f64; 3usize], c: *mut [f64; 3usize]);
1612}
1613extern "C" {
1614    pub fn eraP2pv(p: *mut f64, pv: *mut [f64; 3usize]);
1615}
1616extern "C" {
1617    pub fn eraPv2p(pv: *mut [f64; 3usize], p: *mut f64);
1618}
1619extern "C" {
1620    pub fn eraIr(r: *mut [f64; 3usize]);
1621}
1622extern "C" {
1623    pub fn eraZp(p: *mut f64);
1624}
1625extern "C" {
1626    pub fn eraZpv(pv: *mut [f64; 3usize]);
1627}
1628extern "C" {
1629    pub fn eraZr(r: *mut [f64; 3usize]);
1630}
1631extern "C" {
1632    pub fn eraRxr(a: *mut [f64; 3usize], b: *mut [f64; 3usize], atb: *mut [f64; 3usize]);
1633}
1634extern "C" {
1635    pub fn eraTr(r: *mut [f64; 3usize], rt: *mut [f64; 3usize]);
1636}
1637extern "C" {
1638    pub fn eraRxp(r: *mut [f64; 3usize], p: *mut f64, rp: *mut f64);
1639}
1640extern "C" {
1641    pub fn eraRxpv(r: *mut [f64; 3usize], pv: *mut [f64; 3usize], rpv: *mut [f64; 3usize]);
1642}
1643extern "C" {
1644    pub fn eraTrxp(r: *mut [f64; 3usize], p: *mut f64, trp: *mut f64);
1645}
1646extern "C" {
1647    pub fn eraTrxpv(r: *mut [f64; 3usize], pv: *mut [f64; 3usize], trpv: *mut [f64; 3usize]);
1648}
1649extern "C" {
1650    pub fn eraRm2v(r: *mut [f64; 3usize], w: *mut f64);
1651}
1652extern "C" {
1653    pub fn eraRv2m(w: *mut f64, r: *mut [f64; 3usize]);
1654}
1655extern "C" {
1656    pub fn eraPap(a: *mut f64, b: *mut f64) -> f64;
1657}
1658extern "C" {
1659    pub fn eraPas(al: f64, ap: f64, bl: f64, bp: f64) -> f64;
1660}
1661extern "C" {
1662    pub fn eraSepp(a: *mut f64, b: *mut f64) -> f64;
1663}
1664extern "C" {
1665    pub fn eraSeps(al: f64, ap: f64, bl: f64, bp: f64) -> f64;
1666}
1667extern "C" {
1668    pub fn eraC2s(p: *mut f64, theta: *mut f64, phi: *mut f64);
1669}
1670extern "C" {
1671    pub fn eraP2s(p: *mut f64, theta: *mut f64, phi: *mut f64, r: *mut f64);
1672}
1673extern "C" {
1674    pub fn eraPv2s(
1675        pv: *mut [f64; 3usize],
1676        theta: *mut f64,
1677        phi: *mut f64,
1678        r: *mut f64,
1679        td: *mut f64,
1680        pd: *mut f64,
1681        rd: *mut f64,
1682    );
1683}
1684extern "C" {
1685    pub fn eraS2c(theta: f64, phi: f64, c: *mut f64);
1686}
1687extern "C" {
1688    pub fn eraS2p(theta: f64, phi: f64, r: f64, p: *mut f64);
1689}
1690extern "C" {
1691    pub fn eraS2pv(theta: f64, phi: f64, r: f64, td: f64, pd: f64, rd: f64, pv: *mut [f64; 3usize]);
1692}
1693extern "C" {
1694    pub fn eraPdp(a: *mut f64, b: *mut f64) -> f64;
1695}
1696extern "C" {
1697    pub fn eraPm(p: *mut f64) -> f64;
1698}
1699extern "C" {
1700    pub fn eraPmp(a: *mut f64, b: *mut f64, amb: *mut f64);
1701}
1702extern "C" {
1703    pub fn eraPn(p: *mut f64, r: *mut f64, u: *mut f64);
1704}
1705extern "C" {
1706    pub fn eraPpp(a: *mut f64, b: *mut f64, apb: *mut f64);
1707}
1708extern "C" {
1709    pub fn eraPpsp(a: *mut f64, s: f64, b: *mut f64, apsb: *mut f64);
1710}
1711extern "C" {
1712    pub fn eraPvdpv(a: *mut [f64; 3usize], b: *mut [f64; 3usize], adb: *mut f64);
1713}
1714extern "C" {
1715    pub fn eraPvm(pv: *mut [f64; 3usize], r: *mut f64, s: *mut f64);
1716}
1717extern "C" {
1718    pub fn eraPvmpv(a: *mut [f64; 3usize], b: *mut [f64; 3usize], amb: *mut [f64; 3usize]);
1719}
1720extern "C" {
1721    pub fn eraPvppv(a: *mut [f64; 3usize], b: *mut [f64; 3usize], apb: *mut [f64; 3usize]);
1722}
1723extern "C" {
1724    pub fn eraPvu(dt: f64, pv: *mut [f64; 3usize], upv: *mut [f64; 3usize]);
1725}
1726extern "C" {
1727    pub fn eraPvup(dt: f64, pv: *mut [f64; 3usize], p: *mut f64);
1728}
1729extern "C" {
1730    pub fn eraPvxpv(a: *mut [f64; 3usize], b: *mut [f64; 3usize], axb: *mut [f64; 3usize]);
1731}
1732extern "C" {
1733    pub fn eraPxp(a: *mut f64, b: *mut f64, axb: *mut f64);
1734}
1735extern "C" {
1736    pub fn eraS2xpv(s1: f64, s2: f64, pv: *mut [f64; 3usize], spv: *mut [f64; 3usize]);
1737}
1738extern "C" {
1739    pub fn eraSxp(s: f64, p: *mut f64, sp: *mut f64);
1740}
1741extern "C" {
1742    pub fn eraSxpv(s: f64, pv: *mut [f64; 3usize], spv: *mut [f64; 3usize]);
1743}
1744pub const ERFA_DPI: f64 = 3.141592653589793238462643;
1745pub const ERFA_D2PI: f64 = 6.283185307179586476925287;
1746pub const ERFA_DR2D: f64 = 57.29577951308232087679815;
1747pub const ERFA_DD2R: f64 = 1.745329251994329576923691e-2;
1748pub const ERFA_DR2AS: f64 = 206264.8062470963551564734;
1749pub const ERFA_DAS2R: f64 = 4.848136811095359935899141e-6;
1750pub const ERFA_DS2R: f64 = 7.272205216643039903848712e-5;
1751pub const ERFA_TURNAS: f64 = 1296000.0;
1752pub const ERFA_DMAS2R: f64 = ERFA_DAS2R / 1e3;
1753pub const ERFA_DTY: f64 = 365.242198781;
1754pub const ERFA_DAYSEC: f64 = 86400.0;
1755pub const ERFA_DJY: f64 = 365.25;
1756pub const ERFA_DJC: f64 = 36525.0;
1757pub const ERFA_DJM: f64 = 365250.0;
1758pub const ERFA_DJ00: f64 = 2451545.0;
1759pub const ERFA_DJM0: f64 = 2400000.5;
1760pub const ERFA_DJM00: f64 = 51544.5;
1761pub const ERFA_DJM77: f64 = 43144.0;
1762pub const ERFA_TTMTAI: f64 = 32.184;
1763pub const ERFA_DAU: f64 = 149597870.7e3;
1764pub const ERFA_CMPS: f64 = 299792458.0;
1765pub const ERFA_AULT: f64 = ERFA_DAU/ERFA_CMPS;
1766pub const ERFA_DC: f64 = ERFA_DAYSEC/ERFA_AULT;
1767pub const ERFA_ELG: f64 = 6.969290134e-10;
1768pub const ERFA_ELB: f64 = 1.550519768e-8;
1769pub const ERFA_TDB0: f64 = -6.55e-5;
1770pub const ERFA_SRS: f64 = 1.97412574336e-8;
1771pub const ERFA_WGS84: i32 = 1;
1772pub const ERFA_GRS80: i32 = 2;
1773pub const ERFA_WGS72: i32 = 3;