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: 2009 November 3 | ** This revision: 2010 September 10 | |||
** | ** | |||
** SOFA release 2009-12-31 | ** SOFA release YYYY-MM-DD | |||
** | ** | |||
** Copyright (C) 2009 IAU SOFA Review Board. See notes at end. | ** Copyright (C) 2010 IAU SOFA Board. See notes at end. | |||
*/ | */ | |||
#include "math.h" | #include "math.h" | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
/* Astronomy/Calendars */ | /* Astronomy/Calendars */ | |||
int iauCal2jd(int iy, int im, int id, double *djm0, double *djm); | int iauCal2jd(int iy, int im, int id, double *djm0, double *djm); | |||
skipping to change at line 207 | skipping to change at line 207 | |||
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/Geodetic/Geocentric */ | /* Astronomy/Geodetic/Geocentric */ | |||
int iauEform(int, double*, double*); | int iauEform(int n, double *a, double *f); | |||
int iauGc2gd(int, double[3], double*, double*, double*); | int iauGc2gd(int n, double xyz[3], | |||
int iauGc2gde(double, double, double[3], double*, double*, double*); | double *elong, double *phi, double *height); | |||
int iauGd2gc(int, double, double, double, double[3]); | int iauGc2gde(double a, double f, double xyz[3], | |||
int iauGd2gce(double, double, double, double, double, double[3]); | double *elong, double *phi, double *height); | |||
int iauGd2gc(int n, double elong, double phi, double height, | ||||
double xyz[3]); | ||||
int iauGd2gce(double a, double f, | ||||
double elong, double phi, double height, double xyz[3]); | ||||
/* Astronomy/Timescales */ | /* Astronomy/Timescales */ | |||
int iauD2dtf(char *scale, int ndp, double d1, double d2, | ||||
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(char *scale, int iy, int im, int id, | ||||
int ihr, int imn, double sec, double *d1, double *d2); | ||||
int iauTaitt(double tai1, double tai2, double *tt1, double *tt2); | ||||
int iauTaiut1(double tai1, double tai2, double dta, | ||||
double *ut11, double *ut12); | ||||
int iauTaiutc(double tai1, double tai2, double *utc1, double *utc2); | ||||
int iauTcbtdb(double tcb1, double tcb2, double *tdb1, double *tdb2); | ||||
int iauTcgtt(double tcg1, double tcg2, double *tt1, double *tt2); | ||||
int iauTdbtcb(double tdb1, double tdb2, double *tcb1, double *tcb2); | ||||
int iauTdbtt(double tdb1, double tdb2, double dtr, | ||||
double *tt1, double *tt2); | ||||
int iauTttai(double tt1, double tt2, double *tai1, double *tai2); | ||||
int iauTttcg(double tt1, double tt2, double *tcg1, double *tcg2); | ||||
int iauTttdb(double tt1, double tt2, double dtr, | ||||
double *tdb1, double *tdb2); | ||||
int iauTtut1(double tt1, double tt2, double dt, | ||||
double *ut11, double *ut12); | ||||
int iauUt1tai(double ut11, double ut12, double dta, | ||||
double *tai1, double *tai2); | ||||
int iauUt1tt(double ut11, double ut12, double dt, | ||||
double *tt1, double *tt2); | ||||
int iauUt1utc(double ut11, double ut12, double dut1, | ||||
double *utc1, double *utc2); | ||||
int iauUtctai(double utc1, double utc2, double *tai1, double *tai2); | ||||
int iauUtcut1(double utc1, double utc2, double dut1, | ||||
double *ut11, double *ut12); | ||||
/* VectorMatrix/AngleOps */ | /* VectorMatrix/AngleOps */ | |||
void iauA2af(int ndp, double angle, char *sign, int idmsf[4]); | void iauA2af(int ndp, double angle, char *sign, int idmsf[4]); | |||
void iauA2tf(int ndp, double angle, char *sign, int ihmsf[4]); | void iauA2tf(int ndp, double angle, char *sign, int ihmsf[4]); | |||
int iauAf2a(int s, int ideg, int iamin, double asec, double *rad); | ||||
double iauAnp(double a); | double iauAnp(double a); | |||
double iauAnpm(double a); | double iauAnpm(double a); | |||
void iauD2tf(int ndp, double days, char *sign, int ihmsf[4]); | void iauD2tf(int ndp, double days, char *sign, int ihmsf[4]); | |||
int iauTf2a(int s, int ihour, int imin, double sec, double *rad); | ||||
int iauTf2d(int s, int ihour, int imin, double sec, double *days); | ||||
/* VectorMatrix/BuildRotations */ | /* VectorMatrix/BuildRotations */ | |||
void iauRx(double phi, double r[3][3]); | void iauRx(double phi, double r[3][3]); | |||
void iauRy(double theta, double r[3][3]); | void iauRy(double theta, double r[3][3]); | |||
void iauRz(double psi, double r[3][3]); | void iauRz(double psi, double r[3][3]); | |||
/* VectorMatrix/CopyExtendExtract */ | /* VectorMatrix/CopyExtendExtract */ | |||
void iauCp(double p[3], double c[3]); | void iauCp(double p[3], double c[3]); | |||
void iauCpv(double pv[2][3], double c[2][3]); | void iauCpv(double pv[2][3], double c[2][3]); | |||
void iauCr(double r[3][3], double c[3][3]); | void iauCr(double r[3][3], double c[3][3]); | |||
skipping to change at line 302 | skipping to change at line 337 | |||
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 | |||
/*---------------------------------------------------------------------- | /*---------------------------------------------------------------------- | |||
** | ** | |||
** Copyright (C) 2009 | ** Copyright (C) 2010 | |||
** Standards Of Fundamental Astronomy Review Board | ** Standards Of Fundamental Astronomy Board | |||
** of the International Astronomical Union. | ** of the International Astronomical Union. | |||
** | ** | |||
** ===================== | ** ===================== | |||
** SOFA Software License | ** SOFA Software License | |||
** ===================== | ** ===================== | |||
** | ** | |||
** NOTICE TO USER: | ** NOTICE TO USER: | |||
** | ** | |||
** BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING TERMS AND CONDITIONS | ** BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING TERMS AND CONDITIONS | |||
** WHICH APPLY TO ITS USE. | ** WHICH APPLY TO ITS USE. | |||
** | ** | |||
** 1. The Software is owned by the IAU SOFA Review Board ("SOFA"). | ** 1. The Software is owned by the IAU SOFA Board ("SOFA"). | |||
** | ** | |||
** 2. Permission is granted to anyone to use the SOFA software for any | ** 2. Permission is granted to anyone to use the SOFA software for any | |||
** purpose, including commercial applications, free of charge and | ** purpose, including commercial applications, free of charge and | |||
** without payment of royalties, subject to the conditions and | ** without payment of royalties, subject to the conditions and | |||
** restrictions listed below. | ** restrictions listed below. | |||
** | ** | |||
** 3. You (the user) may copy and distribute SOFA source code to others, | ** 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, | ** and use and adapt its code and algorithms in your own software, | |||
** on a world-wide, royalty-free basis. That portion of your | ** on a world-wide, royalty-free basis. That portion of your | |||
** distribution that does not consist of intact and unchanged copies | ** distribution that does not consist of intact and unchanged copies | |||
skipping to change at line 340 | skipping to change at line 375 | |||
** (i) uses routines and computations derived by you from | ** (i) uses routines and computations derived by you from | |||
** software provided by SOFA under license to you; and | ** software provided by SOFA under license to you; and | |||
** (ii) does not itself constitute software provided by and/or | ** (ii) does not itself constitute software provided by and/or | |||
** endorsed by SOFA. | ** endorsed by SOFA. | |||
** | ** | |||
** b) The source code of your derived work must contain descriptions | ** b) The source code of your derived work must contain descriptions | |||
** of how the derived work is based upon, contains and/or differs | ** of how the derived work is based upon, contains and/or differs | |||
** from the original SOFA software. | ** from the original SOFA software. | |||
** | ** | |||
** c) The name(s) of all routine(s) in your derived work shall not | ** c) The name(s) of all routine(s) in your derived work shall not | |||
** include the prefix "iau_". | ** include the prefix "iau". | |||
** | ** | |||
** d) The origin of the SOFA components of your derived work must | ** d) The origin of the SOFA components of your derived work must | |||
** not be misrepresented; you must not claim that you wrote the | ** not be misrepresented; you must not claim that you wrote the | |||
** original software, nor file a patent application for SOFA | ** original software, nor file a patent application for SOFA | |||
** software or algorithms embedded in the SOFA software. | ** software or algorithms embedded in the SOFA software. | |||
** | ** | |||
** e) These requirements must be reproduced intact in any source | ** e) These requirements must be reproduced intact in any source | |||
** distribution and shall apply to anyone to whom you have | ** distribution and shall apply to anyone to whom you have | |||
** granted a further right to modify the source code of your | ** granted a further right to modify the source code of your | |||
** derived work. | ** derived work. | |||
skipping to change at line 386 | skipping to change at line 421 | |||
** claim by any third party. | ** claim by any third party. | |||
** | ** | |||
** 7. The provision of any version of the SOFA software under the terms | ** 7. The provision of any version of the SOFA software under the terms | |||
** and conditions specified herein does not imply that future | ** and conditions specified herein does not imply that future | |||
** versions will also be made available under the same terms and | ** versions will also be made available under the same terms and | |||
** conditions. | ** conditions. | |||
** | ** | |||
** Correspondence concerning SOFA software should be addressed as | ** Correspondence concerning SOFA software should be addressed as | |||
** follows: | ** follows: | |||
** | ** | |||
** By email: sofa@rl.ac.uk | ** By email: sofa@ukho.gov.uk | |||
** By post: IAU SOFA Center | ** By post: IAU SOFA Center | |||
** STFC Rutherford Appleton Laboratory | ** HM Nautical Almanac Office | |||
** Harwell Science and Innovation Campus | ** UK Hydrographic Office | |||
** Didcot, Oxfordshire, OX11 0QX | ** Admiralty Way, Taunton | |||
** Somerset, TA1 2DN | ||||
** United Kingdom | ** United Kingdom | |||
** | ** | |||
**--------------------------------------------------------------------*/ | **--------------------------------------------------------------------*/ | |||
End of changes. 13 change blocks. | ||||
16 lines changed or deleted | 52 lines changed or added | |||
sofam.h | sofam.h | |||
---|---|---|---|---|
skipping to change at line 14 | skipping to change at line 14 | |||
/* | /* | |||
** - - - - - - - - | ** - - - - - - - - | |||
** s o f a m . h | ** s o f a m . h | |||
** - - - - - - - - | ** - - - - - - - - | |||
** | ** | |||
** Macros used by SOFA library. | ** Macros used by 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: 2009 December 18 | ** This revision: 2010 May 16 | |||
** | ** | |||
** SOFA release 2009-12-31 | ** SOFA release YYYY-MM-DD | |||
** | ** | |||
** Copyright (C) 2009 IAU SOFA Review Board. See notes at end. | ** Copyright (C) 2010 IAU SOFA Board. See notes at end. | |||
*/ | */ | |||
#include "sofa.h" | #include "sofa.h" | |||
/* Seconds of time per radian */ | /* Seconds of time per radian */ | |||
#define DS2R (7.272205216643039903848712e-5) | #define DS2R (7.272205216643039903848712e-5) | |||
/* Pi */ | /* Pi */ | |||
#define DPI (3.141592653589793238462643) | #define DPI (3.141592653589793238462643) | |||
skipping to change at line 50 | skipping to change at line 50 | |||
/* Arcseconds in a full circle */ | /* Arcseconds in a full circle */ | |||
#define TURNAS (1296000.0) | #define TURNAS (1296000.0) | |||
/* Milliarcseconds to radians */ | /* Milliarcseconds to radians */ | |||
#define DMAS2R (DAS2R / 1e3) | #define DMAS2R (DAS2R / 1e3) | |||
/* Length of tropical year B1900 (days) */ | /* Length of tropical year B1900 (days) */ | |||
#define DTY (365.242198781) | #define DTY (365.242198781) | |||
/* Reference epoch (J2000.0), Julian Date */ | ||||
#define DJ00 (2451545.0) | ||||
/* Julian Date of Modified Julian Date zero */ | ||||
#define DJM0 (2400000.5) | ||||
/* Reference epoch (J2000.0), Modified Julian Date */ | ||||
#define DJM00 (51544.5) | ||||
/* Seconds per day. */ | /* Seconds per day. */ | |||
#define DAYSEC (86400.0) | #define DAYSEC (86400.0) | |||
/* Days per Julian year */ | /* Days per Julian year */ | |||
#define DJY (365.25) | #define DJY (365.25) | |||
/* Days per Julian century */ | /* Days per Julian century */ | |||
#define DJC (36525.0) | #define DJC (36525.0) | |||
/* Days per Julian millennium */ | /* Days per Julian millennium */ | |||
#define DJM (365250.0) | #define DJM (365250.0) | |||
/* Reference epoch (J2000.0), Julian Date */ | ||||
#define DJ00 (2451545.0) | ||||
/* Julian Date of Modified Julian Date zero */ | ||||
#define DJM0 (2400000.5) | ||||
/* Reference epoch (J2000.0), Modified Julian Date */ | ||||
#define DJM00 (51544.5) | ||||
/* 1977 Jan 1.0 as MJD */ | ||||
#define DJM77 (43144.0) | ||||
/* TT minus TAI (s) */ | ||||
#define TTMTAI (32.184) | ||||
/* AU (m) */ | /* AU (m) */ | |||
#define DAU (149597870e3) | #define DAU (149597870e3) | |||
/* Speed of light (AU per day) */ | /* Speed of light (AU per day) */ | |||
#define DC (DAYSEC / 499.004782) | #define DC (DAYSEC / 499.004782) | |||
/* L_G = 1 - d(TT)/d(TCG) */ | ||||
#define ELG (6.969290134e-10) | ||||
/* L_B = 1 - d(TDB)/d(TCB), and TDB (s) at TAI 1977/1/1.0 */ | ||||
#define ELB (1.550519768e-8) | ||||
#define TDB0 (-6.55e-5) | ||||
/* dint(A) - truncate to nearest whole number towards zero (double) */ | /* dint(A) - truncate to nearest whole number towards zero (double) */ | |||
#define dint(A) ((A)<0.0?ceil(A):floor(A)) | #define dint(A) ((A)<0.0?ceil(A):floor(A)) | |||
/* dnint(A) - round to nearest whole number (double) */ | /* dnint(A) - round to nearest whole number (double) */ | |||
#define dnint(A) ((A)<0.0?ceil((A)-0.5):floor((A)+0.5)) | #define dnint(A) ((A)<0.0?ceil((A)-0.5):floor((A)+0.5)) | |||
/* dsign(A,B) - magnitude of A with sign of B (double) */ | /* dsign(A,B) - magnitude of A with sign of B (double) */ | |||
#define dsign(A,B) ((B)<0.0?-(A):(A)) | #define dsign(A,B) ((B)<0.0?-(A):(A)) | |||
#endif | #endif | |||
/*---------------------------------------------------------------------- | /*---------------------------------------------------------------------- | |||
** | ** | |||
** Copyright (C) 2009 | ** Copyright (C) 2010 | |||
** Standards Of Fundamental Astronomy Review Board | ** Standards Of Fundamental Astronomy Board | |||
** of the International Astronomical Union. | ** of the International Astronomical Union. | |||
** | ** | |||
** ===================== | ** ===================== | |||
** SOFA Software License | ** SOFA Software License | |||
** ===================== | ** ===================== | |||
** | ** | |||
** NOTICE TO USER: | ** NOTICE TO USER: | |||
** | ** | |||
** BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING TERMS AND CONDITIONS | ** BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING TERMS AND CONDITIONS | |||
** WHICH APPLY TO ITS USE. | ** WHICH APPLY TO ITS USE. | |||
** | ** | |||
** 1. The Software is owned by the IAU SOFA Review Board ("SOFA"). | ** 1. The Software is owned by the IAU SOFA Board ("SOFA"). | |||
** | ** | |||
** 2. Permission is granted to anyone to use the SOFA software for any | ** 2. Permission is granted to anyone to use the SOFA software for any | |||
** purpose, including commercial applications, free of charge and | ** purpose, including commercial applications, free of charge and | |||
** without payment of royalties, subject to the conditions and | ** without payment of royalties, subject to the conditions and | |||
** restrictions listed below. | ** restrictions listed below. | |||
** | ** | |||
** 3. You (the user) may copy and distribute SOFA source code to others, | ** 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, | ** and use and adapt its code and algorithms in your own software, | |||
** on a world-wide, royalty-free basis. That portion of your | ** on a world-wide, royalty-free basis. That portion of your | |||
** distribution that does not consist of intact and unchanged copies | ** distribution that does not consist of intact and unchanged copies | |||
skipping to change at line 128 | skipping to change at line 141 | |||
** (i) uses routines and computations derived by you from | ** (i) uses routines and computations derived by you from | |||
** software provided by SOFA under license to you; and | ** software provided by SOFA under license to you; and | |||
** (ii) does not itself constitute software provided by and/or | ** (ii) does not itself constitute software provided by and/or | |||
** endorsed by SOFA. | ** endorsed by SOFA. | |||
** | ** | |||
** b) The source code of your derived work must contain descriptions | ** b) The source code of your derived work must contain descriptions | |||
** of how the derived work is based upon, contains and/or differs | ** of how the derived work is based upon, contains and/or differs | |||
** from the original SOFA software. | ** from the original SOFA software. | |||
** | ** | |||
** c) The name(s) of all routine(s) in your derived work shall not | ** c) The name(s) of all routine(s) in your derived work shall not | |||
** include the prefix "iau_". | ** include the prefix "iau". | |||
** | ** | |||
** d) The origin of the SOFA components of your derived work must | ** d) The origin of the SOFA components of your derived work must | |||
** not be misrepresented; you must not claim that you wrote the | ** not be misrepresented; you must not claim that you wrote the | |||
** original software, nor file a patent application for SOFA | ** original software, nor file a patent application for SOFA | |||
** software or algorithms embedded in the SOFA software. | ** software or algorithms embedded in the SOFA software. | |||
** | ** | |||
** e) These requirements must be reproduced intact in any source | ** e) These requirements must be reproduced intact in any source | |||
** distribution and shall apply to anyone to whom you have | ** distribution and shall apply to anyone to whom you have | |||
** granted a further right to modify the source code of your | ** granted a further right to modify the source code of your | |||
** derived work. | ** derived work. | |||
skipping to change at line 174 | skipping to change at line 187 | |||
** claim by any third party. | ** claim by any third party. | |||
** | ** | |||
** 7. The provision of any version of the SOFA software under the terms | ** 7. The provision of any version of the SOFA software under the terms | |||
** and conditions specified herein does not imply that future | ** and conditions specified herein does not imply that future | |||
** versions will also be made available under the same terms and | ** versions will also be made available under the same terms and | |||
** conditions. | ** conditions. | |||
** | ** | |||
** Correspondence concerning SOFA software should be addressed as | ** Correspondence concerning SOFA software should be addressed as | |||
** follows: | ** follows: | |||
** | ** | |||
** By email: sofa@rl.ac.uk | ** By email: sofa@ukho.gov.uk | |||
** By post: IAU SOFA Center | ** By post: IAU SOFA Center | |||
** STFC Rutherford Appleton Laboratory | ** HM Nautical Almanac Office | |||
** Harwell Science and Innovation Campus | ** UK Hydrographic Office | |||
** Didcot, Oxfordshire, OX11 0QX | ** Admiralty Way, Taunton | |||
** Somerset, TA1 2DN | ||||
** United Kingdom | ** United Kingdom | |||
** | ** | |||
**--------------------------------------------------------------------*/ | **--------------------------------------------------------------------*/ | |||
End of changes. 11 change blocks. | ||||
20 lines changed or deleted | 34 lines changed or added | |||