| sofa.h | | sofa.h | |
| | | | |
| skipping to change at line 14 | | skipping to change at line 14 | |
| /* | | /* | |
| ** - - - - - - - | | ** - - - - - - - | |
| ** s o f a . h | | ** s o f a . h | |
| ** - - - - - - - | | ** - - - - - - - | |
| ** | | ** | |
| ** Prototype function declarations for SOFA library. | | ** Prototype function declarations for SOFA library. | |
| ** | | ** | |
| ** This file is part of the International Astronomical Union's | | ** This file is part of the International Astronomical Union's | |
| ** SOFA (Standards Of Fundamental Astronomy) software collection. | | ** SOFA (Standards Of Fundamental Astronomy) software collection. | |
| ** | | ** | |
|
| ** This revision: 2014 July 29 | | ** This revision: 2015 January 28 | |
| ** | | ** | |
|
| ** Copyright1 | | ** SOFA release 2015-02-09 | |
| | | ** | |
| | | ** Copyright (C) 2015 IAU SOFA Board. See notes at end. | |
| */ | | */ | |
| | | | |
| #include "sofam.h" | | #include "sofam.h" | |
| #include "math.h" | | #include "math.h" | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
| /* Astronomy/Calendars */ | | /* Astronomy/Calendars */ | |
| | | | |
| skipping to change at line 136 | | skipping to change at line 138 | |
| double sn[3]); | | double sn[3]); | |
| void iauLdsun(double p[3], double e[3], double em, double p1[3]); | | void iauLdsun(double p[3], double e[3], double em, double p1[3]); | |
| void iauPmpx(double rc, double dc, double pr, double pd, | | void iauPmpx(double rc, double dc, double pr, double pd, | |
| double px, double rv, double pmt, double pob[3], | | double px, double rv, double pmt, double pob[3], | |
| double pco[3]); | | double pco[3]); | |
| int iauPmsafe(double ra1, double dec1, double pmr1, double pmd1, | | int iauPmsafe(double ra1, double dec1, double pmr1, double pmd1, | |
| double px1, double rv1, | | double px1, double rv1, | |
| double ep1a, double ep1b, double ep2a, double ep2b, | | double ep1a, double ep1b, double ep2a, double ep2b, | |
| double *ra2, double *dec2, double *pmr2, double *pmd2, | | double *ra2, double *dec2, double *pmr2, double *pmd2, | |
| double *px2, double *rv2); | | double *px2, double *rv2); | |
|
| | | void iauPvtob(double elong, double phi, double height, double xp, | |
| | | double yp, double sp, double theta, double pv[2][3]); | |
| void iauRefco(double phpa, double tc, double rh, double wl, | | void iauRefco(double phpa, double tc, double rh, double wl, | |
| double *refa, double *refb); | | double *refa, double *refb); | |
| | | | |
| /* Astronomy/Ephemerides */ | | /* Astronomy/Ephemerides */ | |
| int iauEpv00(double date1, double date2, | | int iauEpv00(double date1, double date2, | |
| double pvh[2][3], double pvb[2][3]); | | double pvh[2][3], double pvb[2][3]); | |
| int iauPlan94(double date1, double date2, int np, double pv[2][3]); | | int iauPlan94(double date1, double date2, int np, double pv[2][3]); | |
| | | | |
| /* Astronomy/FundamentalArgs */ | | /* Astronomy/FundamentalArgs */ | |
| double iauFad03(double t); | | double iauFad03(double t); | |
| | | | |
| skipping to change at line 284 | | skipping to change at line 288 | |
| double iauGmst06(double uta, double utb, double tta, double ttb); | | double iauGmst06(double uta, double utb, double tta, double ttb); | |
| double iauGmst82(double dj1, double dj2); | | double iauGmst82(double dj1, double dj2); | |
| double iauGst00a(double uta, double utb, double tta, double ttb); | | double iauGst00a(double uta, double utb, double tta, double ttb); | |
| double iauGst00b(double uta, double utb); | | double iauGst00b(double uta, double utb); | |
| double iauGst06(double uta, double utb, double tta, double ttb, | | double iauGst06(double uta, double utb, double tta, double ttb, | |
| double rnpb[3][3]); | | double rnpb[3][3]); | |
| double iauGst06a(double uta, double utb, double tta, double ttb); | | double iauGst06a(double uta, double utb, double tta, double ttb); | |
| double iauGst94(double uta, double utb); | | double iauGst94(double uta, double utb); | |
| | | | |
| /* Astronomy/SpaceMotion */ | | /* Astronomy/SpaceMotion */ | |
|
| int iauPmsafe(double ra1, double dec1, double pmr1, double pmd1, | | | |
| double px1, double rv1, double ep1a, double ep1b, | | | |
| double ep2a, double ep2b, double *ra2, double *dec2, | | | |
| double *pmr2, double *pmd2, double *px2, double *rv2); | | | |
| int iauPvstar(double pv[2][3], double *ra, double *dec, | | int iauPvstar(double pv[2][3], double *ra, double *dec, | |
| double *pmr, double *pmd, double *px, double *rv); | | double *pmr, double *pmd, double *px, double *rv); | |
| int iauStarpv(double ra, double dec, | | int iauStarpv(double ra, double dec, | |
| double pmr, double pmd, double px, double rv, | | double pmr, double pmd, double px, double rv, | |
| double pv[2][3]); | | double pv[2][3]); | |
| | | | |
| /* Astronomy/StarCatalogs */ | | /* Astronomy/StarCatalogs */ | |
| void iauFk52h(double r5, double d5, | | void iauFk52h(double r5, double d5, | |
| double dr5, double dd5, double px5, double rv5, | | double dr5, double dd5, double px5, double rv5, | |
| double *rh, double *dh, | | double *rh, double *dh, | |
| | | | |
| skipping to change at line 314 | | skipping to change at line 314 | |
| double *r5, double *d5, | | double *r5, double *d5, | |
| double *dr5, double *dd5, double *px5, double *rv5); | | double *dr5, double *dd5, double *px5, double *rv5); | |
| void iauHfk5z(double rh, double dh, double date1, double date2, | | void iauHfk5z(double rh, double dh, double date1, double date2, | |
| double *r5, double *d5, double *dr5, double *dd5); | | double *r5, double *d5, double *dr5, double *dd5); | |
| int iauStarpm(double ra1, double dec1, | | int iauStarpm(double ra1, double dec1, | |
| double pmr1, double pmd1, double px1, double rv1, | | double pmr1, double pmd1, double px1, double rv1, | |
| double ep1a, double ep1b, double ep2a, double ep2b, | | double ep1a, double ep1b, double ep2a, double ep2b, | |
| double *ra2, double *dec2, | | double *ra2, double *dec2, | |
| double *pmr2, double *pmd2, double *px2, double *rv2); | | double *pmr2, double *pmd2, double *px2, double *rv2); | |
| | | | |
|
| | | /* Astronomy/GalacticCoordinates */ | |
| | | void iauG2icrs ( double dl, double db, double *dr, double *dd ); | |
| | | void iauIcrs2g ( double dr, double dd, double *dl, double *db ); | |
| | | | |
| /* Astronomy/GeodeticGeocentric */ | | /* Astronomy/GeodeticGeocentric */ | |
| int iauEform(int n, double *a, double *f); | | int iauEform(int n, double *a, double *f); | |
| int iauGc2gd(int n, double xyz[3], | | int iauGc2gd(int n, double xyz[3], | |
| double *elong, double *phi, double *height); | | double *elong, double *phi, double *height); | |
| int iauGc2gde(double a, double f, double xyz[3], | | int iauGc2gde(double a, double f, double xyz[3], | |
| double *elong, double *phi, double *height); | | double *elong, double *phi, double *height); | |
| int iauGd2gc(int n, double elong, double phi, double height, | | int iauGd2gc(int n, double elong, double phi, double height, | |
| double xyz[3]); | | double xyz[3]); | |
| int iauGd2gce(double a, double f, | | int iauGd2gce(double a, double f, | |
| double elong, double phi, double height, double xyz[3]); | | double elong, double phi, double height, double xyz[3]); | |
|
| void iauPvtob(double elong, double phi, double height, double xp, | | | |
| double yp, double sp, double theta, double pv[2][3]); | | | |
| | | | |
| /* Astronomy/Timescales */ | | /* Astronomy/Timescales */ | |
| int iauD2dtf(const char *scale, int ndp, double d1, double d2, | | int iauD2dtf(const char *scale, int ndp, double d1, double d2, | |
| int *iy, int *im, int *id, int ihmsf[4]); | | int *iy, int *im, int *id, int ihmsf[4]); | |
| int iauDat(int iy, int im, int id, double fd, double *deltat); | | int iauDat(int iy, int im, int id, double fd, double *deltat); | |
| double iauDtdb(double date1, double date2, | | double iauDtdb(double date1, double date2, | |
| double ut, double elong, double u, double v); | | double ut, double elong, double u, double v); | |
| int iauDtf2d(const char *scale, int iy, int im, int id, | | int iauDtf2d(const char *scale, int iy, int im, int id, | |
| int ihr, int imn, double sec, double *d1, double *d2); | | int ihr, int imn, double sec, double *d1, double *d2); | |
| int iauTaitt(double tai1, double tai2, double *tt1, double *tt2); | | int iauTaitt(double tai1, double tai2, double *tt1, double *tt2); | |
| | | | |
| skipping to change at line 445 | | skipping to change at line 447 | |
| void iauS2xpv(double s1, double s2, double pv[2][3], double spv[2][3]); | | void iauS2xpv(double s1, double s2, double pv[2][3], double spv[2][3]); | |
| void iauSxp(double s, double p[3], double sp[3]); | | void iauSxp(double s, double p[3], double sp[3]); | |
| void iauSxpv(double s, double pv[2][3], double spv[2][3]); | | void iauSxpv(double s, double pv[2][3], double spv[2][3]); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif | | #endif | |
| | | | |
|
| /* Copyright2 */ | | /*---------------------------------------------------------------------- | |
| | | ** | |
| | | ** Copyright (C) 2015 | |
| | | ** Standards Of Fundamental Astronomy Board | |
| | | ** of the International Astronomical Union. | |
| | | ** | |
| | | ** ===================== | |
| | | ** SOFA Software License | |
| | | ** ===================== | |
| | | ** | |
| | | ** NOTICE TO USER: | |
| | | ** | |
| | | ** BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND | |
| | | ** CONDITIONS WHICH APPLY TO ITS USE. | |
| | | ** | |
| | | ** 1. The Software is owned by the IAU SOFA Board ("SOFA"). | |
| | | ** | |
| | | ** 2. Permission is granted to anyone to use the SOFA software for any | |
| | | ** purpose, including commercial applications, free of charge and | |
| | | ** without payment of royalties, subject to the conditions and | |
| | | ** restrictions listed below. | |
| | | ** | |
| | | ** 3. You (the user) may copy and distribute SOFA source code to others, | |
| | | ** and use and adapt its code and algorithms in your own software, | |
| | | ** on a world-wide, royalty-free basis. That portion of your | |
| | | ** distribution that does not consist of intact and unchanged copies | |
| | | ** of SOFA source code files is a "derived work" that must comply | |
| | | ** with the following requirements: | |
| | | ** | |
| | | ** a) Your work shall be marked or carry a statement that it | |
| | | ** (i) uses routines and computations derived by you from | |
| | | ** software provided by SOFA under license to you; and | |
| | | ** (ii) does not itself constitute software provided by and/or | |
| | | ** endorsed by SOFA. | |
| | | ** | |
| | | ** b) The source code of your derived work must contain descriptions | |
| | | ** of how the derived work is based upon, contains and/or differs | |
| | | ** from the original SOFA software. | |
| | | ** | |
| | | ** c) The names of all routines in your derived work shall not | |
| | | ** include the prefix "iau" or "sofa" or trivial modifications | |
| | | ** thereof such as changes of case. | |
| | | ** | |
| | | ** d) The origin of the SOFA components of your derived work must | |
| | | ** not be misrepresented; you must not claim that you wrote the | |
| | | ** original software, nor file a patent application for SOFA | |
| | | ** software or algorithms embedded in the SOFA software. | |
| | | ** | |
| | | ** e) These requirements must be reproduced intact in any source | |
| | | ** distribution and shall apply to anyone to whom you have | |
| | | ** granted a further right to modify the source code of your | |
| | | ** derived work. | |
| | | ** | |
| | | ** Note that, as originally distributed, the SOFA software is | |
| | | ** intended to be a definitive implementation of the IAU standards, | |
| | | ** and consequently third-party modifications are discouraged. All | |
| | | ** variations, no matter how minor, must be explicitly marked as | |
| | | ** such, as explained above. | |
| | | ** | |
| | | ** 4. You shall not cause the SOFA software to be brought into | |
| | | ** disrepute, either by misuse, or use for inappropriate tasks, or | |
| | | ** by inappropriate modification. | |
| | | ** | |
| | | ** 5. The SOFA software is provided "as is" and SOFA makes no warranty | |
| | | ** as to its use or performance. SOFA does not and cannot warrant | |
| | | ** the performance or results which the user may obtain by using the | |
| | | ** SOFA software. SOFA makes no warranties, express or implied, as | |
| | | ** to non-infringement of third party rights, merchantability, or | |
| | | ** fitness for any particular purpose. In no event will SOFA be | |
| | | ** liable to the user for any consequential, incidental, or special | |
| | | ** damages, including any lost profits or lost savings, even if a | |
| | | ** SOFA representative has been advised of such damages, or for any | |
| | | ** claim by any third party. | |
| | | ** | |
| | | ** 6. The provision of any version of the SOFA software under the terms | |
| | | ** and conditions specified herein does not imply that future | |
| | | ** versions will also be made available under the same terms and | |
| | | ** conditions. | |
| | | * | |
| | | ** In any published work or commercial product which uses the SOFA | |
| | | ** software directly, acknowledgement (see www.iausofa.org) is | |
| | | ** appreciated. | |
| | | ** | |
| | | ** Correspondence concerning SOFA software should be addressed as | |
| | | ** follows: | |
| | | ** | |
| | | ** By email: sofa@ukho.gov.uk | |
| | | ** By post: IAU SOFA Center | |
| | | ** HM Nautical Almanac Office | |
| | | ** UK Hydrographic Office | |
| | | ** Admiralty Way, Taunton | |
| | | ** Somerset, TA1 2DN | |
| | | ** United Kingdom | |
| | | ** | |
| | | **--------------------------------------------------------------------*/ | |
| | | | |
End of changes. 7 change blocks. |
| 8 lines changed or deleted | | 10 lines changed or added | |
|