URI:
       tastro.h - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tastro.h (4208B)
       ---
            1 #include        <u.h>
            2 #include        <libc.h>
            3 
            4 #ifdef VARARGCK
            5 #pragma        varargck        type        "R"        double
            6 #pragma        varargck        type        "D"        double
            7 #endif
            8 
            9 #undef sun
           10 #define sun astrosun        /* not the machine! */
           11 #undef fmod
           12 #define fmod astrofmod        /* ours is always positive */
           13 
           14 typedef        struct        Obj1        Obj1;
           15 typedef        struct        Obj2        Obj2;
           16 typedef        struct        Obj3        Obj3;
           17 typedef        struct        Occ        Occ;
           18 typedef        struct        Event        Event;
           19 typedef        struct        Tim        Tim;
           20 typedef        struct        Moontab        Moontab;
           21 
           22 #define        NPTS        12
           23 #define        PER        1.0
           24 
           25 enum
           26 {
           27         DARK        = 1<<0,
           28         SIGNIF        = 1<<1,
           29         PTIME        = 1<<2,
           30         LIGHT        = 1<<3
           31 };
           32 
           33 struct        Obj1
           34 {
           35         double        ra;
           36         double        decl2;
           37         double        semi2;
           38         double        az;
           39         double        el;
           40         double        mag;
           41 };
           42 struct        Obj2
           43 {
           44         char*        name;
           45         char*        name1;
           46         void        (*obj)(void);
           47         Obj1        point[NPTS+2];
           48 };
           49 struct        Obj3
           50 {
           51         double        t1;
           52         double        e1;
           53         double        t2;
           54         double        e2;
           55         double        t3;
           56         double        e3;
           57         double        t4;
           58         double        e4;
           59         double        t5;
           60         double        e5;
           61 };
           62 struct Event
           63 {
           64         char*        format;
           65         char*        arg1;
           66         char*        arg2;
           67         double        tim;
           68         int        flag;
           69 };
           70 struct        Moontab
           71 {
           72         double        f;
           73         char        c[4];
           74 };
           75 struct        Occ
           76 {
           77         Obj1        act;
           78         Obj1        del0;
           79         Obj1        del1;
           80         Obj1        del2;
           81 };
           82 struct        Tim
           83 {
           84         double        ifa[5];
           85         char        tz[4];
           86 };
           87 
           88 double        converge;
           89 
           90 char        flags[128];
           91 int        nperiods;
           92 double        wlong, awlong, nlat, elev;
           93 double        obliq, phi, eps, tobliq;
           94 double        dphi, deps;
           95 double        day, deld, per;
           96 double        eday, capt, capt2, capt3, gst;
           97 double        pi, pipi, radian, radsec, deltat;
           98 double        erad, glat;
           99 double        xms, yms, zms;
          100 double        xdot, ydot, zdot;
          101 
          102 double        ecc, incl, node, argp, mrad, anom, motion;
          103 
          104 double        lambda, beta, rad, mag, semi;
          105 double        alpha, delta, rp, hp;
          106 double        ra, decl, semi2;
          107 double        lha, decl2, lmb2;
          108 double        az, el;
          109 
          110 double        meday, seday, mhp, salph, sdelt, srad;
          111 
          112 double*        cafp;
          113 char*        cacp;
          114 
          115 double        rah, ram, ras, dday, dmin, dsec;
          116 long        sao;
          117 double        da, dd, px, epoch;
          118 char        line[100];
          119 Obj2        osun;
          120 Obj2        omoon;
          121 Obj2        oshad;
          122 Obj2        omerc;
          123 Obj2        ovenus;
          124 Obj2        omars;
          125 Obj2        osat;
          126 Obj2        ouran;
          127 Obj2        onept;
          128 Obj2        oplut;
          129 Obj2        ojup;
          130 Obj2        ostar;
          131 Obj2        ocomet;
          132 Obj3        occ;
          133 Obj2*        eobj1;
          134 Obj2*        eobj2;
          135 
          136 char*        startab;
          137 
          138 extern        int        dmo[];
          139 extern        Obj2*        objlst[];
          140 
          141 extern        double        venfp[];
          142 extern        char        vencp[];
          143 extern        double        sunfp[];
          144 extern        char        suncp[];
          145 extern        double        mercfp[];
          146 extern        char        merccp[];
          147 extern        double        nutfp[];
          148 extern        char        nutcp[];
          149 extern        Moontab moontab[];
          150 
          151 extern        void        args(int, char**);
          152 extern        void        bdtsetup(double, Tim*);
          153 extern        double        betcross(double);
          154 extern        double        convdate(Tim*);
          155 extern        double        cosadd(int, ...);
          156 extern        double        cosx(double, int, int, int, int, double);
          157 extern        double        dist(Obj1*, Obj1*);
          158 extern        double        dsrc(double, Tim*, int);
          159 extern        void        dtsetup(double, Tim*);
          160 /*extern        int        evcomp(void*, void*);*/
          161 extern        void        event(char*, char*, char*, double, int);
          162 extern        void        evflush(void);
          163 extern        double        fmod(double, double);
          164 extern        void        fstar(void);
          165 extern        void        fsun(void);
          166 extern        void        geo(void);
          167 extern        void        helio(void);
          168 extern        void        icosadd(double*, char*);
          169 extern        void        init(void);
          170 extern        void        jup(void);
          171 extern        int        lastsun(Tim*, int);
          172 extern        int        main(int, char**);
          173 extern        void        mars(void);
          174 extern        double        melong(Obj2*);
          175 extern        void        merc(void);
          176 extern        void        moon(void);
          177 extern        void        numb(int);
          178 extern        void        nutate(void);
          179 extern        void        occult(Obj2*, Obj2*, double);
          180 extern        void        output(char*, Obj1*);
          181 extern        void        pdate(double);
          182 extern        double        pinorm(double);
          183 extern        void        ptime(double);
          184 extern        void        pstime(double);
          185 extern        double        pyth(double);
          186 extern        double        readate(void);
          187 extern        double        readdt(void);
          188 extern        void        readlat(int);
          189 extern        double        rise(Obj2*, double);
          190 extern        int        rline(int);
          191 extern        void        sat(void);
          192 extern        void        uran(void);
          193 extern        void        nept(void);
          194 extern        void        plut(void);
          195 extern        void        satel(double);
          196 extern        void        satels(void);
          197 extern        void        search(void);
          198 extern        double        set(Obj2*, double);
          199 extern        void        set3pt(Obj2*, int, Occ*);
          200 extern        void        setime(double);
          201 extern        void        setobj(Obj1*);
          202 extern        void        setpt(Occ*, double);
          203 extern        void        shad(void);
          204 extern        double        sinadd(int, ...);
          205 extern        double        sinx(double, int, int, int, int, double);
          206 extern        char*        skip(int);
          207 extern        double        solstice(int);
          208 extern        void        star(void);
          209 extern        void        stars(void);
          210 extern        void        sun(void);
          211 extern        double        sunel(double);
          212 extern        void        venus(void);
          213 extern        int        vis(double, double, double, double);
          214 extern        void        comet(void);
          215 extern        int        Rconv(Fmt*);
          216 extern        int        Dconv(Fmt*);
          217 extern        double        etdate(long, int, double);