[SCM] Handle World Coordinate Systems in Astronomy branch, master, updated. 9691cfc80f15ab18ca7190de568d65aa15da4896

Ole Streicher debian at liska.ath.cx
Tue Mar 13 14:02:59 UTC 2012


The following commit has been merged in the master branch:
commit 9691cfc80f15ab18ca7190de568d65aa15da4896
Author: Ole Streicher <debian at liska.ath.cx>
Date:   Tue Mar 13 15:00:41 2012 +0100

    Add libstarlink-ast-pal library that depends on iausora.

diff --git a/debian/control b/debian/control
index 03cf281..b91d6ec 100644
--- a/debian/control
+++ b/debian/control
@@ -65,18 +65,7 @@ Description: Handle World Coordinate Systems in Astronomy (levmar shared lib)
  AST implements an object oriented model for describing physical
  coordinate systems, and the transformations that exist between them.
  .
- It provides a comprehensive range of facilities for attaching world
- coordinate systems (WCS) to astronomical data and for retrieving and
- manipulating that information.
- .
- It has built-in intelligence for identifying types of celestial,
- spectral, time and other coordinate systems (including
- compound systems that combine axes of different types)
- and determining how to transform between them. This
- allows general purpose code to be written that makes no
- assumptions about the nature of the coordinate systems.
- .
- This package contains the levmar shared library.
+ This package contains the levmar module.
 
 Package: libstarlink-ast-wcslib0
 Section: libs
@@ -86,18 +75,17 @@ Description: Handle World Coordinate Systems in Astronomy (wcslib shared lib)
  AST implements an object oriented model for describing physical
  coordinate systems, and the transformations that exist between them.
  .
- It provides a comprehensive range of facilities for attaching world
- coordinate systems (WCS) to astronomical data and for retrieving and
- manipulating that information.
- .
- It has built-in intelligence for identifying types of celestial,
- spectral, time and other coordinate systems (including
- compound systems that combine axes of different types)
- and determining how to transform between them. This
- allows general purpose code to be written that makes no
- assumptions about the nature of the coordinate systems.
+ This package contains the wcslib module.
+
+Package: libstarlink-ast-pal
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Handle World Coordinate Systems in Astronomy (PAL shared lib)
+ AST implements an object oriented model for describing physical
+ coordinate systems, and the transformations that exist between them.
  .
- This package contains the wcslib shared library.
+ This package contains the PAL module.
 
 Package: libstarlink-ast-grf3d0
 Section: libs
@@ -107,17 +95,6 @@ Description: Handle World Coordinate Systems in Astronomy (dummy 3d routines)
  AST implements an object oriented model for describing physical
  coordinate systems, and the transformations that exist between them.
  .
- It provides a comprehensive range of facilities for attaching world
- coordinate systems (WCS) to astronomical data and for retrieving and
- manipulating that information.
- .
- It has built-in intelligence for identifying types of celestial,
- spectral, time and other coordinate systems (including
- compound systems that combine axes of different types)
- and determining how to transform between them. This
- allows general purpose code to be written that makes no
- assumptions about the nature of the coordinate systems.
- .
  This package contains the default (dummy) 3d graphics shared library.
  This library resolves all 3d graphics calls and reports an error if they
  are called. 
@@ -130,17 +107,6 @@ Description: Handle World Coordinate Systems in Astronomy (error reporting)
  AST implements an object oriented model for describing physical
  coordinate systems, and the transformations that exist between them.
  .
- It provides a comprehensive range of facilities for attaching world
- coordinate systems (WCS) to astronomical data and for retrieving and
- manipulating that information.
- .
- It has built-in intelligence for identifying types of celestial,
- spectral, time and other coordinate systems (including
- compound systems that combine axes of different types)
- and determining how to transform between them. This
- allows general purpose code to be written that makes no
- assumptions about the nature of the coordinate systems.
- .
  This package contains the defaulf error reporting shared library. All
  error messages are printed to stderr.
 
diff --git a/debian/libstarlink-ast-pal0.install b/debian/libstarlink-ast-pal0.install
new file mode 100644
index 0000000..9a83480
--- /dev/null
+++ b/debian/libstarlink-ast-pal0.install
@@ -0,0 +1 @@
+usr/lib/libstarlink_ast_pal.so.*
diff --git a/debian/patches/series b/debian/patches/series
index 0ed756b..a7b7528 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,3 @@
 use_std_automake.patch
-use_slalib.patch
+use_external_sofa.patch
 spellfix.patch
diff --git a/debian/patches/use_external_sofa.patch b/debian/patches/use_external_sofa.patch
new file mode 100644
index 0000000..3015b03
--- /dev/null
+++ b/debian/patches/use_external_sofa.patch
@@ -0,0 +1,25 @@
+Author: Ole Streicher <debian at liska.ath.cx>
+Description: Use the IAU SOFA library that is packaged in Debian.
+--- Makefile.am	2012-03-13 14:52:53.522577542 +0100
++++ Makefile.am.new	2012-03-13 14:52:34.982485609 +0100
+@@ -517,11 +517,7 @@
+     sofa/zpv.c \
+     sofa/zr.c
+ 
+-PAL_FILES = \
+-    pal.c \
+-    pal.h \
+-    sofa.h \
+-    sofam.h
++PAL_FILES = $(STAR_PAL_FILES)
+ 
+ bin_SCRIPTS = ast_link
+ dist_bin_SCRIPTS = ast_link_adam
+@@ -668,6 +664,7 @@
+ 
+ #  Positional astronomy libraries.
+ libast_pal_la_SOURCES = $(PAL_FILES)
++libast_pal_la_LIBADD = /usr/lib/libsofa_c.so
+ 
+ # The following files are built by the targets in this makefile.
+ MAINTAINERCLEANFILES = version.h builddocs addversion \
diff --git a/debian/patches/use_slalib.patch b/debian/patches/use_slalib.patch
deleted file mode 100644
index a819a8a..0000000
--- a/debian/patches/use_slalib.patch
+++ /dev/null
@@ -1,857 +0,0 @@
-Author: Ole Streicher <debian at liska.ath.cx>
-Description: Since the obfuscated "pal.c" library cannot be used here, 
- us the external library "libsla". Both are compatible; just the names
- differ by the prefix "pal" due to a requirement of the original author.
- This patch fixes the names as #defines# in the header file.
- One exception are the palSlaDh2e and palSlaDe2h functions which are moved 
- from pal.c to slamap.c.
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -283,12 +283,6 @@ WCSLIB_FILES = \
-     wcsmath.h \
-     wcstrig.h
- 
--PAL_FILES = \
--    COPYING.LIB \
--    pal.c \
--    pal.h \
--    slamac.h
--
- LEVMAR_FILES = \
-     levmar.c \
-     levmar.h
-@@ -323,7 +317,6 @@ lib_LTLIBRARIES = \
-     libast_grf_5.6.la \
-     libast_pgplot.la \
-     libast_pgplot3d.la \
--    libast_pal.la \
-     libast_wcslib.la \
-     libast_levmar.la
- 
-@@ -351,6 +344,8 @@ libast_la_CFLAGS = $(AM_CFLAGS) -prefer-pic
- 
- endif
- 
-+libast_la_LDFLAGS = -lsla -lm
-+
- if !NOPIC
- libast_err_la_CFLAGS = $(AM_CFLAGS) -prefer-pic
- libast_ems_la_CFLAGS = $(AM_CFLAGS) -prefer-pic
-@@ -361,7 +356,6 @@ libast_grf_3_2_la_CFLAGS = $(AM_CFLAGS) -prefer-pic
- libast_grf_5_6_la_CFLAGS = $(AM_CFLAGS) -prefer-pic
- libast_pgplot_la_CFLAGS = $(AM_CFLAGS) -prefer-pic
- libast_pgplot3d_la_CFLAGS = $(AM_CFLAGS) -prefer-pic
--libast_pal_la_CFLAGS = $(AM_CFLAGS) -prefer-pic
- libast_wcslib_la_CFLAGS = $(AM_CFLAGS) -prefer-pic
- libast_levmar_la_CFLAGS = $(AM_CFLAGS) -prefer-pic
- endif
-@@ -416,9 +410,6 @@ libast_wcslib_la_SOURCES = proj.c wcstrig.c tpn.c
- #  Modules adapted from the levmar library.
- libast_levmar_la_SOURCES = levmar.c
- 
--#  Modules supplied by tpoint.
--libast_pal_la_SOURCES = pal.c
--
- # The following files are built by the targets in this makefile.
- MAINTAINERCLEANFILES = version.h builddocs addversion \
- 	ast.h $(DOCUMENTATION_PRODUCTS)
-@@ -522,4 +513,4 @@ ast_test_SOURCES = ast_test.c
- 
- #ast_test_LDADD = `ast_link`
- # Expand ast_link to avoid libast_pass2, which causes problems for Solaris
--ast_test_LDADD = libast.la libast_pal.la libast_grf_3.2.la libast_grf_5.6.la libast_wcslib.la libast_levmar.la libast_grf_2.0.la libast_grf3d.la libast_err.la -lm
-+ast_test_LDADD = libast.la libast_grf_3.2.la libast_grf_5.6.la libast_wcslib.la libast_levmar.la libast_grf_2.0.la libast_grf3d.la libast_err.la -lm
---- a/pal.h
-+++ b/pal.h
-@@ -1,510 +1,189 @@
- #ifndef PALHDEF
- #define PALHDEF
--/*
--**  Author:
--**    Patrick Wallace  (ptw at tpsoft.demon.co.uk)
--**
--**  License:
--**    This program is free software; you can redistribute it and/or modify
--**    it under the terms of the GNU General Public License as published by
--**    the Free Software Foundation; either version 2 of the License, or
--**    (at your option) any later version.
--**
--**    This program is distributed in the hope that it will be useful,
--**    but WITHOUT ANY WARRANTY; without even the implied warranty of
--**    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--**    GNU General Public License for more details.
--**
--**    You should have received a copy of the GNU General Public License
--**    along with this program; if not, write to the Free Software
--**    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
--**    USA.
--**
--**  Last revision:   10 December 2002
--**
--*/
- 
--#ifdef __cplusplus
--extern "C" {
--#endif
--
--#include <math.h>
--
--void palSlaAddet ( double rm, double dm, double eq, double *rc, double *dc );
--
--void palSlaAfin ( char *string, int *iptr, float *a, int *j );
--
--double palSlaAirmas ( double zd );
--
--void palSlaAltaz ( double ha, double dec, double phi,
--                double *az, double *azd, double *azdd,
--                double *el, double *eld, double *eldd,
--                double *pa, double *pad, double *padd );
--
--void palSlaAmp ( double ra, double da, double date, double eq,
--              double *rm, double *dm );
--
--void palSlaAmpqk ( double ra, double da, double amprms[21],
--                double *rm, double *dm );
--
--void palSlaAop ( double rap, double dap, double date, double dut,
--              double elongm, double phim, double hm, double xp,
--              double yp, double tdk, double pmb, double rh,
--              double wl, double tlr,
--              double *aob, double *zob, double *hob,
--              double *dob, double *rob );
--
--void palSlaAoppa ( double date, double dut, double elongm, double phim,
--                double hm, double xp, double yp, double tdk, double pmb,
--                double rh, double wl, double tlr, double aoprms[14] );
--
--void palSlaAoppat ( double date, double aoprms[14] );
--
--void palSlaAopqk ( double rap, double dap, double aoprms[14],
--                double *aob, double *zob, double *hob,
--                double *dob, double *rob );
--
--void palSlaAtmdsp ( double tdk, double pmb, double rh, double wl1,
--                 double a1, double b1, double wl2, double *a2, double *b2 );
--
--void palSlaAv2m ( float axvec[3], float rmat[3][3] );
--
--float palSlaBear ( float a1, float b1, float a2, float b2 );
--
--void palSlaCaf2r ( int ideg, int iamin, float asec, float *rad, int *j );
--
--void palSlaCaldj ( int iy, int im, int id, double *djm, int *j );
--
--void palSlaCalyd ( int iy, int im, int id, int *ny, int *nd, int *j );
--
--void palSlaCc2s ( float v[3], float *a, float *b );
--
--void palSlaCc62s ( float v[6], float *a, float *b, float *r,
--                float *ad, float *bd, float *rd );
--
--void palSlaCd2tf ( int ndp, float days, char *sign, int ihmsf[4] );
--
--void palSlaCldj ( int iy, int im, int id, double *djm, int *j );
--
--void palSlaClyd ( int iy, int im, int id, int *ny, int *nd, int *jstat );
--
--void palSlaCombn ( int nsel, int ncand, int list[], int *j );
--
--void palSlaCr2af ( int ndp, float angle, char *sign, int idmsf[4] );
--
--void palSlaCr2tf ( int ndp, float angle, char *sign, int ihmsf[4] );
--
--void palSlaCs2c ( float a, float b, float v[3] );
--
--void palSlaCs2c6 ( float a, float b, float r, float ad,
--                float bd, float rd, float v[6] );
--
--void palSlaCtf2d ( int ihour, int imin, float sec, float *days, int *j );
--
--void palSlaCtf2r ( int ihour, int imin, float sec, float *rad, int *j );
--
--void palSlaDaf2r ( int ideg, int iamin, double asec, double *rad, int *j );
--
--void palSlaDafin ( char *string, int *iptr, double *a, int *j );
--
--double palSlaDat ( double dju );
--
--void palSlaDav2m ( double axvec[3], double rmat[3][3] );
--
--double palSlaDbear ( double a1, double b1, double a2, double b2 );
--
--void palSlaDbjin ( char *string, int *nstrt,
--                double *dreslt, int *jf1, int *jf2 );
--
--void palSlaDc62s ( double v[6], double *a, double *b, double *r,
--                double *ad, double *bd, double *rd );
--
--void palSlaDcc2s ( double v[3], double *a, double *b );
--
--void palSlaDcmpf ( double coeffs[6], double *xz, double *yz, double *xs,
--                double *ys, double *perp, double *orient );
--
--void palSlaDcs2c ( double a, double b, double v[3] );
--
--void palSlaDd2tf ( int ndp, double days, char *sign, int ihmsf[4] );
--
--void palSlaDe2h ( double ha, double dec, double phi, double diurab,
--               double *az, double *el );
--
--void palSlaDeuler ( char *order, double phi, double theta, double psi,
--                 double rmat[3][3] );
--
--void palSlaDfltin ( char *string, int *nstrt, double *dreslt, int *jflag );
--
--void palSlaDh2e( double az, double el, double phi, double diurab, double *ha,
--                 double *dec);
--
--void palSlaDimxv ( double dm[3][3], double va[3], double vb[3] );
--
--void palSlaDjcal ( int ndp, double djm, int iymdf[4], int *j );
--
--void palSlaDjcl ( double djm, int *iy, int *im, int *id, double *fd, int *j );
--
--void palSlaDm2av ( double rmat[3][3], double axvec[3] );
--
--void palSlaDmat ( int n, double *a, double *y, double *d, int *jf, int *iw );
--
--void palSlaDmoon ( double date, double pv[6] );
--
--void palSlaDmxm ( double a[3][3], double b[3][3], double c[3][3] );
--
--void palSlaDmxv ( double dm[3][3], double va[3], double vb[3] );
--
--double palSlaDpav ( double v1[3], double v2[3] );
--
--void palSlaDr2af ( int ndp, double angle, char *sign, int idmsf[4] );
--
--void palSlaDr2tf ( int ndp, double angle, char *sign, int ihmsf[4] );
--
--double palSlaDrange ( double angle );
--
--double palSlaDranrm ( double angle );
--
--void palSlaDs2c6 ( double a, double b, double r, double ad, double bd,
--                double rd, double v[6] );
--
--void palSlaDs2tp ( double ra, double dec, double raz, double decz,
--                double *xi, double *eta, int *j );
--
--double palSlaDsep ( double a1, double b1, double a2, double b2 );
--
--double palSlaDsepv ( double v1[3], double v2[3] );
--
--double palSlaDt ( double epoch );
--
--void palSlaDtf2d ( int ihour, int imin, double sec, double *days, int *j );
--
--void palSlaDtf2r ( int ihour, int imin, double sec, double *rad, int *j );
--
--void palSlaDtp2s ( double xi, double eta, double raz, double decz,
--                double *ra, double *dec );
--
--void palSlaDtp2v ( double xi, double eta, double v0[3], double v[3] );
--
--void palSlaDtps2c ( double xi, double eta, double ra, double dec,
--                 double *raz1, double *decz1,
--                 double *raz2, double *decz2, int *n );
--
--void palSlaDtpv2c ( double xi, double eta, double v[3],
--                 double v01[3], double v02[3], int *n );
--
--double palSlaDtt ( double dju );
--
--void palSlaDv2tp ( double v[3], double v0[3], double *xi, double *eta, int *j );
--
--double palSlaDvdv ( double va[3], double vb[3] );
--
--void palSlaDvn ( double v[3], double uv[3], double *vm );
--
--void palSlaDvxv ( double va[3], double vb[3], double vc[3] );
--
--void palSlaE2h ( float ha, float dec, float phi, float *az, float *el );
--
--void palSlaEarth ( int iy, int id, float fd, float posvel[6] );
--
--void palSlaEcleq ( double dl, double db, double date, double *dr, double *dd );
--
--void palSlaEcmat ( double date, double rmat[3][3] );
--
--void palSlaEcor ( float rm, float dm, int iy, int id, float fd,
--               float *rv, float *tl );
--
--void palSlaEg50 ( double dr, double dd, double *dl, double *db );
--
--void palSlaEl2ue ( double date, int jform, double epoch, double orbinc,
--                double anode, double perih, double aorq, double e,
--                double aorl, double dm, double u[], int *jstat );
--
--double palSlaEpb ( double date );
--
--double palSlaEpb2d ( double epb );
--
--double palSlaEpco ( char k0, char k, double e );
--
--double palSlaEpj ( double date );
--
--double palSlaEpj2d ( double epj );
--
--void palSlaEqecl ( double dr, double dd, double date, double *dl, double *db );
--
--double palSlaEqeqx ( double date );
--
--void palSlaEqgal ( double dr, double dd, double *dl, double *db );
--
--void palSlaEtrms ( double ep, double ev[3] );
--
--void palSlaEuler ( char *order, float phi, float theta, float psi,
--                float rmat[3][3] );
--
--void palSlaEvp ( double date, double deqx,
--              double dvb[3], double dpb[3],
--              double dvh[3], double dph[3] );
--
--void palSlaFitxy ( int itype, int np, double xye[][2], double xym[][2],
--                double coeffs[6], int *j );
--
--void palSlaFk425 ( double r1950, double d1950, double dr1950,
--                double dd1950, double p1950, double v1950,
--                double *r2000, double *d2000, double *dr2000,
--                double *dd2000, double *p2000, double *v2000 );
--
--void palSlaFk45z ( double r1950, double d1950, double bepoch,
--                double *r2000, double *d2000 );
--
--void palSlaFk524 ( double r2000, double d2000, double dr2000,
--                double dd2000, double p2000, double v2000,
--                double *r1950, double *d1950, double *dr1950,
--                double *dd1950, double *p1950, double *v1950 );
--
--void palSlaFk52h ( double r5, double d5, double dr5, double dd5,
--                double *dr, double *dh, double *drh, double *ddh );
--
--void palSlaFk54z ( double r2000, double d2000, double bepoch,
--                double *r1950, double *d1950,
--                double *dr1950, double *dd1950 );
--
--void palSlaFk5hz ( double r5, double d5, double epoch,
--                double *rh, double *dh );
--
--void palSlaFlotin ( char *string, int *nstrt, float *reslt, int *jflag );
--
--void palSlaGaleq ( double dl, double db, double *dr, double *dd );
--
--void palSlaGalsup ( double dl, double db, double *dsl, double *dsb );
--
--void palSlaGe50 ( double dl, double db, double *dr, double *dd );
--
--void palSlaGeoc ( double p, double h, double *r, double *z );
--
--double palSlaGmst ( double ut1 );
--
--double palSlaGmsta ( double date, double ut1 );
--
--void palSlaH2e ( float az, float el, float phi, float *ha, float *dec );
--
--void palSlaH2fk5 ( double dr, double dh, double drh, double ddh,
--                double *r5, double *d5, double *dr5, double *dd5 );
--
--void palSlaHfk5z ( double rh, double dh, double epoch,
--                double *r5, double *d5, double *dr5, double *dd5 );
--
--void palSlaImxv ( float rm[3][3], float va[3], float vb[3] );
--
--void palSlaInt2in ( char *string, int *nstrt, int *ireslt, int *jflag );
--
--void palSlaIntin ( char *string, int *nstrt, long *ireslt, int *jflag );
--
--void palSlaInvf ( double fwds[6], double bkwds[6], int *j );
--
--void palSlaKbj ( int jb, double e, char *k, int *j );
--
--void palSlaM2av ( float rmat[3][3], float axvec[3] );
--
--void palSlaMap ( double rm, double dm, double pr, double pd,
--              double px, double rv, double eq, double date,
--              double *ra, double *da );
--
--void palSlaMappa ( double eq, double date, double amprms[21] );
--
--void palSlaMapqk ( double rm, double dm, double pr, double pd,
--                double px, double rv, double amprms[21],
--                double *ra, double *da );
--
--void palSlaMapqkz ( double rm, double dm, double amprms[21],
--                 double *ra, double *da );
--
--void palSlaMoon ( int iy, int id, float fd, float posvel[6] );
--
--void palSlaMxm ( float a[3][3], float b[3][3], float c[3][3] );
--
--void palSlaMxv ( float rm[3][3], float va[3], float vb[3] );
--
--void palSlaNut ( double date, double rmatn[3][3] );
--
--void palSlaNutc ( double date, double *dpsi, double *deps, double *eps0 );
--
--void palSlaNutc80 ( double date, double *dpsi, double *deps, double *eps0 );
--
--void palSlaOap ( char *type, double ob1, double ob2, double date,
--              double dut, double elongm, double phim, double hm,
--              double xp, double yp, double tdk, double pmb,
--              double rh, double wl, double tlr,
--              double *rap, double *dap );
--
--void palSlaOapqk ( char *type, double ob1, double ob2, double aoprms[14],
--                double *rap, double *dap );
--
--void palSlaObs ( int n, char *c, char *name, double *w, double *p, double *h );
--
--double palSlaPa ( double ha, double dec, double phi );
--
--double palSlaPav ( float v1[3], float v2[3] );
--
--void palSlaPcd ( double disco, double *x, double *y );
--
--void palSlaPda2h ( double p, double d, double a,
--                double *h1, int *j1, double *h2, int *j2 );
--
--void palSlaPdq2h ( double p, double d, double q,
--                double *h1, int *j1, double *h2, int *j2 );
--
--void palSlaPermut ( int n, int istate[], int iorder[], int *j );
--
--void palSlaPertel (int jform, double date0, double date1,
--                double epoch0, double orbi0, double anode0,
--                double perih0, double aorq0, double e0, double am0,
--                double *epoch1, double *orbi1, double *anode1,
--                double *perih1, double *aorq1, double *e1, double *am1,
--                int *jstat );
--
--void palSlaPertue ( double date, double u[], int *jstat );
--
--void palSlaPlanel ( double date, int jform, double epoch, double orbinc,
--                 double anode, double perih, double aorq,  double e,
--                 double aorl, double dm, double pv[6], int *jstat );
--
--void palSlaPlanet ( double date, int np, double pv[6], int *j );
--
--void palSlaPlante ( double date, double elong, double phi, int jform,
--                 double epoch, double orbinc, double anode, double perih,
--                 double aorq, double e, double aorl, double dm,
--                 double *ra, double *dec, double *r, int *jstat );
--
--void palSlaPlantu ( double date, double elong, double phi, double u[],
--                 double *ra, double *dec, double *r, int *jstat );
--
--void palSlaPm ( double r0, double d0, double pr, double pd,
--             double px, double rv, double ep0, double ep1,
--             double *r1, double *d1 );
--
--void palSlaPolmo ( double elongm, double phim, double xp, double yp,
--                double *elong, double *phi, double *daz );
--
--void palSlaPrebn ( double bep0, double bep1, double rmatp[3][3] );
--
--void palSlaPrec ( double ep0, double ep1, double rmatp[3][3] );
--
--void palSlaPrecl ( double ep0, double ep1, double rmatp[3][3] );
--
--void palSlaPreces ( char sys[3], double ep0, double ep1,
--                 double *ra, double *dc );
--
--void palSlaPrenut ( double epoch, double date, double rmatpn[3][3] );
--
--void palSlaPv2el ( double pv[], double date, double pmass, int jformr,
--                int *jform, double *epoch, double *orbinc,
--                double *anode, double *perih, double *aorq, double *e,
--                double *aorl, double *dm, int *jstat );
--
--void palSlaPv2ue ( double pv[], double date, double pmass,
--                double u[], int *jstat );
--
--void palSlaPvobs ( double p, double h, double stl, double pv[6] );
--
--void palSlaPxy ( int np, double xye[][2], double xym[][2],
--              double coeffs[6],
--              double xyp[][2], double *xrms, double *yrms, double *rrms );
--
--float palSlaRange ( float angle );
--
--float palSlaRanorm ( float angle );
--
--double palSlaRcc ( double tdb, double ut1, double wl, double u, double v );
--
--void palSlaRdplan ( double date, int np, double elong, double phi,
--                 double *ra, double *dec, double *diam );
--
--void palSlaRefco ( double hm, double tdk, double pmb, double rh,
--                double wl, double phi, double tlr, double eps,
--                double *refa, double *refb );
--
--void palSlaRefcoq ( double tdk, double pmb, double rh, double wl,
--                double *refa, double *refb );
--
--void palSlaRefro ( double zobs, double hm, double tdk, double pmb,
--                double rh, double wl, double phi, double tlr, double eps,
--                double *ref );
--
--void palSlaRefv ( double vu[3], double refa, double refb, double vr[3] );
--
--void palSlaRefz ( double zu, double refa, double refb, double *zr );
--
--float palSlaRverot ( float phi, float ra, float da, float st );
--
--float palSlaRvgalc ( float r2000, float d2000 );
--
--float palSlaRvlg ( float r2000, float d2000 );
--
--float palSlaRvlsrd ( float r2000, float d2000 );
--
--float palSlaRvlsrk ( float r2000, float d2000 );
--
--void palSlaS2tp ( float ra, float dec, float raz, float decz,
--               float *xi, float *eta, int *j );
--
--float palSlaSep ( float a1, float b1, float a2, float b2 );
--
--float palSlaSepv ( float v1[3], float v2[3] );
--
--void palSlaSmat ( int n, float *a, float *y, float *d, int *jf, int *iw );
--
--void palSlaSubet ( double rc, double dc, double eq,
--                double *rm, double *dm );
--
--void palSlaSupgal ( double dsl, double dsb, double *dl, double *db );
--
--void palSlaSvd ( int m, int n, int mp, int np,
--              double *a, double *w, double *v, double *work,
--              int *jstat );
--
--void palSlaSvdcov ( int n, int np, int nc,
--                 double *w, double *v, double *work, double *cvm );
--
--void palSlaSvdsol ( int m, int n, int mp, int np,
--                 double *b, double *u, double *w, double *v,
--                 double *work, double *x );
--
--void palSlaTp2s ( float xi, float eta, float raz, float decz,
--               float *ra, float *dec );
--
--void palSlaTp2v ( float xi, float eta, float v0[3], float v[3] );
--
--void palSlaTps2c ( float xi, float eta, float ra, float dec,
--                float *raz1, float *decz1,
--                float *raz2, float *decz2, int *n );
--
--void palSlaTpv2c ( float xi, float eta, float v[3],
--                float v01[3], float v02[3], int *n );
--
--void palSlaUe2el ( double u[], int jformr,
--                int *jform, double *epoch, double *orbinc,
--                double *anode, double *perih, double *aorq, double *e,
--                double *aorl, double *dm, int *jstat );
--
--void palSlaUe2pv ( double date, double u[], double pv[], int *jstat );
--
--void palSlaUnpcd ( double disco, double *x, double *y );
--
--void palSlaV2tp ( float v[3], float v0[3], float *xi, float *eta, int *j );
--
--float palSlaVdv ( float va[3], float vb[3] );
--
--void palSlaVn ( float v[3], float uv[3], float *vm );
--
--void palSlaVxv ( float va[3], float vb[3], float vc[3] );
--
--void palSlaXy2xy ( double x1, double y1, double coeffs[6],
--                double *x2, double *y2 );
--
--double palSlaZd ( double ha, double dec, double phi );
--
--#ifdef __cplusplus
--}
--#endif
-+#include <star/slalib.h>
-+
-+#define palSlaAddet slaAddet
-+#define palSlaAfin  slaAfin
-+#define palSlaAirmas slaAirmas
-+#define palSlaAltaz slaAltaz
-+#define palSlaAmp slaAmp 
-+#define palSlaAmpqk slaAmpqk 
-+#define palSlaAop slaAop 
-+#define palSlaAoppa slaAoppa 
-+#define palSlaAoppat slaAoppat 
-+#define palSlaAopqk slaAopqk 
-+#define palSlaAtmdsp slaAtmdsp 
-+#define palSlaAv2m slaAv2m 
-+#define palSlaBear slaBear 
-+#define palSlaCaf2r slaCaf2r 
-+#define palSlaCaldj slaCaldj 
-+#define palSlaCalyd slaCalyd 
-+#define palSlaCc2s slaCc2s 
-+#define palSlaCc62s slaCc62s 
-+#define palSlaCd2tf slaCd2tf 
-+#define palSlaCldj slaCldj 
-+#define palSlaClyd slaClyd 
-+#define palSlaCombn slaCombn 
-+#define palSlaCr2af slaCr2af 
-+#define palSlaCr2tf slaCr2tf 
-+#define palSlaCs2c slaCs2c 
-+#define palSlaCs2c6 slaCs2c6 
-+#define palSlaCtf2d slaCtf2d 
-+#define palSlaCtf2r slaCtf2r 
-+#define palSlaDaf2r slaDaf2r 
-+#define palSlaDafin slaDafin 
-+#define palSlaDat slaDat 
-+#define palSlaDav2m slaDav2m 
-+#define palSlaDbear slaDbear 
-+#define palSlaDbjin slaDbjin 
-+#define palSlaDc62s slaDc62s 
-+#define palSlaDcc2s slaDcc2s 
-+#define palSlaDcmpf slaDcmpf 
-+#define palSlaDcs2c slaDcs2c 
-+#define palSlaDd2tf slaDd2tf 
-+#define palSlaDeuler slaDeuler 
-+#define palSlaDfltin slaDfltin 
-+#define palSlaDimxv slaDimxv 
-+#define palSlaDjcal slaDjcal 
-+#define palSlaDjcl slaDjcl 
-+#define palSlaDm2av slaDm2av 
-+#define palSlaDmat slaDmat 
-+#define palSlaDmoon slaDmoon 
-+#define palSlaDmxm slaDmxm 
-+#define palSlaDmxv slaDmxv 
-+#define palSlaDpav slaDpav 
-+#define palSlaDr2af slaDr2af 
-+#define palSlaDr2tf slaDr2tf 
-+#define palSlaDrange slaDrange 
-+#define palSlaDranrm slaDranrm 
-+#define palSlaDs2c6 slaDs2c6 
-+#define palSlaDs2tp slaDs2tp 
-+#define palSlaDsep slaDsep 
-+#define palSlaDsepv slaDsepv 
-+#define palSlaDt slaDt 
-+#define palSlaDtf2d slaDtf2d 
-+#define palSlaDtf2r slaDtf2r 
-+#define palSlaDtp2s slaDtp2s 
-+#define palSlaDtp2v slaDtp2v 
-+#define palSlaDtps2c slaDtps2c 
-+#define palSlaDtpv2c slaDtpv2c 
-+#define palSlaDtt slaDtt 
-+#define palSlaDv2tp slaDv2tp 
-+#define palSlaDvdv slaDvdv 
-+#define palSlaDvn slaDvn 
-+#define palSlaDvxv slaDvxv 
-+#define palSlaEarth slaEarth 
-+#define palSlaEcleq slaEcleq 
-+#define palSlaEcmat slaEcmat 
-+#define palSlaEcor slaEcor 
-+#define palSlaEg50 slaEg50 
-+#define palSlaEl2ue slaEl2ue 
-+#define palSlaEpb slaEpb 
-+#define palSlaEpb2d slaEpb2d 
-+#define palSlaEpco slaEpco 
-+#define palSlaEpj slaEpj 
-+#define palSlaEpj2d slaEpj2d 
-+#define palSlaEqecl slaEqecl 
-+#define palSlaEqeqx slaEqeqx 
-+#define palSlaEqgal slaEqgal 
-+#define palSlaEtrms slaEtrms 
-+#define palSlaEuler slaEuler 
-+#define palSlaEvp slaEvp 
-+#define palSlaFitxy slaFitxy 
-+#define palSlaFk425 slaFk425 
-+#define palSlaFk45z slaFk45z 
-+#define palSlaFk524 slaFk524 
-+#define palSlaFk52h slaFk52h 
-+#define palSlaFk54z slaFk54z 
-+#define palSlaFk5hz slaFk5hz 
-+#define palSlaFlotin slaFlotin 
-+#define palSlaGaleq slaGaleq 
-+#define palSlaGalsup slaGalsup 
-+#define palSlaGe50 slaGe50 
-+#define palSlaGeoc slaGeoc 
-+#define palSlaGmst slaGmst 
-+#define palSlaGmsta slaGmsta 
-+#define palSlaH2e slaH2e 
-+#define palSlaH2fk5 slaH2fk5 
-+#define palSlaHfk5z slaHfk5z 
-+#define palSlaImxv slaImxv 
-+#define palSlaInt2in slaInt2in 
-+#define palSlaIntin slaIntin 
-+#define palSlaInvf slaInvf 
-+#define palSlaKbj slaKbj 
-+#define palSlaM2av slaM2av 
-+#define palSlaMap slaMap 
-+#define palSlaMappa slaMappa 
-+#define palSlaMapqk slaMapqk 
-+#define palSlaMapqkz slaMapqkz 
-+#define palSlaMoon slaMoon 
-+#define palSlaMxm slaMxm 
-+#define palSlaMxv slaMxv 
-+#define palSlaNut slaNut 
-+#define palSlaNutc slaNutc 
-+#define palSlaNutc80 slaNutc80 
-+#define palSlaOap slaOap 
-+#define palSlaOapqk slaOapqk 
-+#define palSlaObs slaObs 
-+#define palSlaPa slaPa 
-+#define palSlaPav slaPav 
-+#define palSlaPcd slaPcd 
-+#define palSlaPda2h slaPda2h 
-+#define palSlaPdq2h slaPdq2h 
-+#define palSlaPermut slaPermut 
-+#define palSlaPertel slaPertel 
-+#define palSlaPertue slaPertue 
-+#define palSlaPlanel slaPlanel 
-+#define palSlaPlanet slaPlanet 
-+#define palSlaPlante slaPlante 
-+#define palSlaPlantu slaPlantu 
-+#define palSlaPm slaPm 
-+#define palSlaPolmo slaPolmo 
-+#define palSlaPrebn slaPrebn 
-+#define palSlaPrec slaPrec 
-+#define palSlaPrecl slaPrecl 
-+#define palSlaPreces slaPreces 
-+#define palSlaPrenut slaPrenut 
-+#define palSlaPv2el slaPv2el 
-+#define palSlaPv2ue slaPv2ue 
-+#define palSlaPvobs slaPvobs 
-+#define palSlaPxy slaPxy 
-+#define palSlaRange slaRange 
-+#define palSlaRanorm slaRanorm 
-+#define palSlaRcc slaRcc 
-+#define palSlaRdplan slaRdplan 
-+#define palSlaRefco slaRefco 
-+#define palSlaRefcoq slaRefcoq 
-+#define palSlaRefro slaRefro 
-+#define palSlaRefv slaRefv 
-+#define palSlaRefz slaRefz 
-+#define palSlaRverot slaRverot 
-+#define palSlaRvgalc slaRvgalc 
-+#define palSlaRvlg slaRvlg 
-+#define palSlaRvlsrd slaRvlsrd 
-+#define palSlaRvlsrk slaRvlsrk 
-+#define palSlaS2tp slaS2tp 
-+#define palSlaSep slaSep 
-+#define palSlaSepv slaSepv 
-+#define palSlaSmat slaSmat 
-+#define palSlaSubet slaSubet 
-+#define palSlaSupgal slaSupgal 
-+#define palSlaSvd slaSvd 
-+#define palSlaSvdcov slaSvdcov 
-+#define palSlaSvdsol slaSvdsol 
-+#define palSlaTp2s slaTp2s 
-+#define palSlaTp2v slaTp2v 
-+#define palSlaTps2c slaTps2c 
-+#define palSlaTpv2c slaTpv2c 
-+#define palSlaUe2el slaUe2el 
-+#define palSlaUe2pv slaUe2pv 
-+#define palSlaUnpcd slaUnpcd 
-+#define palSlaV2tp slaV2tp 
-+#define palSlaVdv slaVdv 
-+#define palSlaVn slaVn 
-+#define palSlaVxv slaVxv 
-+#define palSlaXy2xy slaXy2xy 
-+#define palSlaZd slaZd 
- 
- #endif
---- a/slamap.c
-+++ b/slamap.c
-@@ -284,6 +284,94 @@ static void J2000H( int, int, double *, double *, int * );
- static int GetObjSize( AstObject *, int * );
- /* Member functions. */
- /* ================= */
-+
-+/* Not quite like slaDh2e since it converts from topocentric (az,el) to
-+   apparent (ha,dec). This includes a correction for diurnal aberration.
-+   The magnitude of the diurnal aberration vector should be supplied in
-+   parameter "diurab". The extra code is taken from the Fortran routine
-+   SLA_OAPQK. */
-+
-+void palSlaDh2e(double az,double el,double phi,double diurab,double *ha,double *dec){
-+ double sa,ca,se,ce,sp,cp,x,y,z,r,xmhda,ymhda,zmhda,f;
-+
-+ sa=sin(az);
-+ ca=cos(az);
-+ se=sin(el);
-+ ce=cos(el);
-+ sp=sin(phi);
-+ cp=cos(phi);
-+
-+/* Cartesian (az,el) to Cartesian (ha,dec) - note, +ha, not -ha. */
-+ xmhda=-ca*ce*sp+se*cp;
-+ ymhda=-sa*ce;
-+ zmhda=ca*ce*cp+se*sp;
-+
-+/* Correct this vector for diurnal aberration. Since the above
-+  expressions produce +ha rather than -ha, we do not negate "diurab"
-+  before using it. Compare this to SLA_AOPQK. */
-+ f = (1-diurab*ymhda);
-+ x = f*xmhda;
-+ y = f*(ymhda+diurab);
-+ z = f*zmhda;
-+
-+/* Cartesian (ha,dec) to spherical (ha,dec). */
-+ r=sqrt(x*x+y*y);
-+ if (r==0.0) {
-+    *ha=0.0;
-+ } else {
-+    *ha=atan2(y,x);
-+ }
-+ *dec=atan2(z,r);
-+}
-+
-+/* Not quite like slaDe2h since it converts from apparent (ha,dec) to
-+   topocentric (az,el). This includes a correction for diurnal
-+   aberration. The magnitude of the diurnal aberration vector should be
-+   supplied in parameter "diurab". The extra code is taken from the
-+   Fortran routine SLA_AOPQK. */
-+
-+void palSlaDe2h( double ha, double dec, double phi, double diurab,
-+                 double *az, double *el){
-+ double sh,ch,sd,cd,sp,cp,x,y,z,r,a,xhd,yhd,zhd,xhdt,yhdt,zhdt,f;
-+
-+ sh=sin(ha);
-+ ch=cos(ha);
-+ sd=sin(dec);
-+ cd=cos(dec);
-+ sp=sin(phi);
-+ cp=cos(phi);
-+
-+/* Components of cartesian (-ha,dec) vector. */
-+ xhd = ch*cd;
-+ yhd = -sh*cd;
-+ zhd = sd;
-+
-+/* Modify the above vector to apply diurnal aberration. */
-+ f = (1.0-diurab*yhd);
-+ xhdt = f*xhd;
-+ yhdt = f*(yhd+diurab);
-+ zhdt = f*zhd;
-+
-+/* Convert to cartesian (az,el). */
-+ x=-xhdt*sp+zhdt*cp;
-+ y=yhdt;
-+ z=xhdt*cp+zhdt*sp;
-+
-+/* Convert to spherical (az,el). */
-+ r=sqrt(x*x+y*y);
-+ if( r == 0.0 ) {
-+    a=0.0;
-+ } else {
-+    a=atan2(y,x);
-+ }
-+
-+ if(a<0.0) a=a+2*M_PI;
-+
-+ *az=a;
-+ *el=atan2(z,r);
-+}
-+
-+
- static int Equal( AstObject *this_object, AstObject *that_object, int *status ) {
- /*
- *  Name:
diff --git a/debian/patches/use_std_automake.patch b/debian/patches/use_std_automake.patch
index bbffc55..04ccbee 100644
--- a/debian/patches/use_std_automake.patch
+++ b/debian/patches/use_std_automake.patch
@@ -3,7 +3,7 @@ Description: Do not depend on the starlink's automake, but use their macro
  file together with the standard automake
 --- a/configure.ac
 +++ b/configure.ac
-@@ -12,7 +12,11 @@ AC_INIT(ast, 6.0.1, ussc at star.rl.ac.uk)
+@@ -12,7 +12,11 @@ AC_INIT(ast, 7.0.0, ussc at star.rl.ac.uk)
  dnl   Require autoconf-2.50 at least
  AC_PREREQ(2.50)
  dnl   Require Starlink automake
@@ -16,7 +16,7 @@ Description: Do not depend on the starlink's automake, but use their macro
  
  dnl   Sanity-check: name a file in the source directory
  AC_CONFIG_SRCDIR([ast_link.in])
-@@ -78,6 +78,7 @@ AC_CHECK_TYPES([long double])
+@@ -100,6 +104,7 @@ AC_CHECK_TYPES([long double])
  
  #   ast_link needs to be able to link against the Fortran runtime if
  #   necessary
@@ -26,7 +26,7 @@ Description: Do not depend on the starlink's automake, but use their macro
  #   Find an absolute path to the Perl binary, augmenting the path with the
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -328,9 +328,20 @@ lib_LTLIBRARIES = \
+@@ -557,9 +557,20 @@ lib_LTLIBRARIES = \
      libast_levmar.la
  
  

-- 
Handle World Coordinate Systems in Astronomy



More information about the debian-science-commits mailing list