rpms/sextractor/EL-6 sextractor-cflags.patch, NONE, 1.1 sextractor-pointer-alias.patch, 1.1, 1.2 sextractor.spec, 1.12, 1.13 sources, 1.3, 1.4
Sergio Pascual
sergiopr at fedoraproject.org
Mon Jul 12 08:26:13 UTC 2010
- Previous message: rpms/python-numdisplay/EL-6 python-numdisplay.spec, 1.8, 1.9 sources, 1.4, 1.5
- Next message: rpms/tkcon/EL-6 tkcon-small.svg, NONE, 1.1 sources, 1.3, 1.4 tkcon.desktop, 1.2, 1.3 tkcon.spec, 1.9, 1.10
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: sergiopr
Update of /cvs/pkgs/rpms/sextractor/EL-6
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv9209
Modified Files:
sextractor-pointer-alias.patch sextractor.spec sources
Added Files:
sextractor-cflags.patch
Log Message:
* Mon Jul 12 2010 Sergio Pascual <sergiopr at fedoraproject.org> - 2.8.6-1
- New upstream source
sextractor-cflags.patch:
configure | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
--- NEW FILE sextractor-cflags.patch ---
diff -ur sextractor-2.8.6/configure sextractor-2.8.6.new/configure
--- sextractor-2.8.6/configure 2009-04-09 15:30:14.000000000 +0200
+++ sextractor-2.8.6.new/configure 2009-08-26 16:39:05.000000000 +0200
@@ -2487,10 +2487,10 @@
cclist="cc gcc"
# Backup and reset the input CFLAGS and LDFLAGS
-mycflags="$CFLAGS"
-CFLAGS=""
-myldflags="$LDFLAGS"
-LDFLAGS=""
+#mycflags="$CFLAGS"
+#CFLAGS=""
+#myldflags="$LDFLAGS"
+#LDFLAGS=""
# Provide special option for the Linux Intel C compiler
{ echo "$as_me:$LINENO: checking for Linux Intel C compiler mode" >&5
@@ -4358,8 +4358,8 @@
rm -f conftest.*
fi
if test -n "$prog_cc_optim_flags"; then
- CFLAGS="$CFLAGS $prog_cc_optim_flags"
- LDFLAGS="$LDFLAGS $prog_ld_optim_flags"
+ prog_cc_optim_flags=""
+ prog_ld_optim_flags=""
else
prog_cc_optim_flags=""
prog_ld_optim_flags=""
sextractor-pointer-alias.patch:
analyse.c | 83 ++++-----
analyse.o |only
astrom.c | 519 ++++++++++++++++++++++++++++++--------------------------------
astrom.o |only
growth.c | 22 +-
growth.o |only
pc.c | 37 ++--
pc.o |only
photom.c | 186 +++++++++++-----------
photom.o |only
psf.c | 60 +++----
psf.o |only
winpos.c | 98 +++++------
winpos.o |only
14 files changed, 501 insertions(+), 504 deletions(-)
Index: sextractor-pointer-alias.patch
===================================================================
RCS file: /cvs/pkgs/rpms/sextractor/EL-6/sextractor-pointer-alias.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- sextractor-pointer-alias.patch 26 Jul 2006 16:20:29 -0000 1.1
+++ sextractor-pointer-alias.patch 12 Jul 2010 08:26:13 -0000 1.2
@@ -1,16 +1,15 @@
-diff -ur sextractor-2.5.0.old/src/analyse.c sextractor-2.5.0/src/analyse.c
---- sextractor-2.5.0.old/src/analyse.c 2006-06-29 19:58:03.000000000 +0200
-+++ sextractor-2.5.0/src/analyse.c 2006-07-25 23:26:51.000000000 +0200
-@@ -41,7 +41,7 @@
+diff -ur sextractor-2.8.6/src/analyse.c sextractor-2.8.6.new/src/analyse.c
+--- sextractor-2.8.6/src/analyse.c 2009-01-29 14:51:59.000000000 +0100
++++ sextractor-2.8.6.new/src/analyse.c 2009-05-24 00:07:07.000000000 +0200
+@@ -42,7 +42,6 @@
#include "som.h"
#include "winpos.h"
-static obj2struct *obj2 = &outobj2;
-+/* static obj2struct *obj2 = &outobj2; */
+ extern profitstruct *theprofit;
/********************************* analyse ***********************************/
- void analyse(picstruct *field, picstruct *dfield, int objnb,
-@@ -403,11 +403,11 @@
+@@ -392,11 +391,11 @@
obj = &objlist->obj[n];
/* Current FITS extension */
@@ -25,7 +24,7 @@ diff -ur sextractor-2.5.0.old/src/analys
/* Integer coordinates */
ix=(int)(obj->mx+0.49999);
-@@ -415,11 +415,11 @@
+@@ -404,11 +403,11 @@
/* Association */
if (prefs.assoc_flag)
@@ -39,7 +38,7 @@ diff -ur sextractor-2.5.0.old/src/analys
else
selecflag = 1;
-@@ -450,9 +450,9 @@
+@@ -439,9 +438,9 @@
pmx2+=temp;
pmy2-=temp;
@@ -52,7 +51,7 @@ diff -ur sextractor-2.5.0.old/src/analys
}
if (FLAG(obj2.poserr_cxx))
-@@ -462,32 +462,32 @@
+@@ -451,28 +450,28 @@
xm2 = obj->poserr_mx2;
ym2 = obj->poserr_my2;
xym = obj->poserr_mxy;
@@ -86,16 +85,10 @@ diff -ur sextractor-2.5.0.old/src/analys
- obj2->fluxerr_iso = sqrt(obj->fluxerr);
+ outobj2.flux_iso = obj->flux;
+ outobj2.fluxerr_iso = sqrt(obj->fluxerr);
- if (FLAG(obj.flux_prof))
- {
-- obj2->flux_prof = obj->flux_prof;
-- obj2->fluxerr_prof = sqrt(obj->fluxerr_prof);
-+ outobj2.flux_prof = obj->flux_prof;
-+ outobj2.fluxerr_prof = sqrt(obj->fluxerr_prof);
- }
if (FLAG(obj2.flux_isocor))
-@@ -526,14 +526,14 @@
+ computeisocorflux(field, obj);
+@@ -510,14 +509,14 @@
if (FLAG(obj2.flux_auto))
sexellips(check->pix, check->width, check->height,
@@ -114,7 +107,7 @@ diff -ur sextractor-2.5.0.old/src/analys
check->overlay, obj->flag&OBJ_CROWDED);
}
-@@ -555,7 +555,7 @@
+@@ -539,7 +538,7 @@
input[++j] = log10(obj->iso[i]? obj->iso[i]/fac2: 0.01);
input[++j] = log10(fwhm);
neurresp(input, &output);
@@ -123,9 +116,9 @@ diff -ur sextractor-2.5.0.old/src/analys
}
/*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/
-@@ -604,8 +604,8 @@
+@@ -588,8 +587,8 @@
som_phot(thesom, obj->bkg, field->backsig,
- (float)prefs.gain, obj->mx-ix, obj->my-iy,
+ (float)field->gain, obj->mx-ix, obj->my-iy,
FLAG(obj2.vector_somfit)?outobj2.vector_somfit:NULL, -1.0);
- obj2->stderr_somfit = thesom->stderror;
- obj2->flux_somfit = thesom->amp;
@@ -134,7 +127,7 @@ diff -ur sextractor-2.5.0.old/src/analys
outobj2.fluxerr_somfit = thesom->sigamp;
}
-@@ -628,7 +628,7 @@
+@@ -609,7 +608,7 @@
double_psf_fit(ppsf, field, wfield, obj, thepsf, dfield, dwfield);
else
psf_fit(thepsf, field, wfield, obj);
@@ -143,7 +136,7 @@ diff -ur sextractor-2.5.0.old/src/analys
if (prefs.psfdisplay_type == PSFDISPLAY_SPLIT)
{
nsub = thepsfit->npsf;
-@@ -639,18 +639,18 @@
+@@ -620,18 +619,18 @@
for (j=0; j<thepsfit->npsf; j++)
{
if (FLAG(obj2.x_psf) && j<prefs.psf_xsize)
@@ -169,7 +162,16 @@ diff -ur sextractor-2.5.0.old/src/analys
prefs.mag_zeropoint -2.5*log10(thepsfit->flux[j]) : 99.0;
}
}
-@@ -670,20 +670,20 @@
+@@ -639,7 +638,7 @@
+ /*----------------------------- Profile fitting -----------------------------*/
+ nsub = 1;
+ if (prefs.prof_flag)
+- profit_fit(theprofit, field, wfield, obj, obj2);
++ profit_fit(theprofit, field, wfield, obj, &outobj2);
+
+ /*--- Express everything in magnitude units */
+ computemags(field, obj);
+@@ -659,20 +658,20 @@
if (prefs.psf_flag && prefs.psfdisplay_type == PSFDISPLAY_SPLIT)
{
if (FLAG(obj2.x_psf))
@@ -198,7 +200,7 @@ diff -ur sextractor-2.5.0.old/src/analys
if (j)
obj->number = ++thecat.ntotal;
}
-@@ -714,7 +714,7 @@
+@@ -722,7 +721,7 @@
{
if (prefs.somfit_flag && (check=prefs.check[CHECK_MAPSOM]))
blankcheck(check, obj->blank, obj->subw, obj->subh,
@@ -207,181 +209,261 @@ diff -ur sextractor-2.5.0.old/src/analys
}
blankimage(field, obj->blank, obj->subw, obj->subh,
-diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c
---- sextractor-2.5.0.old/src/astrom.c 2006-07-13 19:13:09.000000000 +0200
-+++ sextractor-2.5.0/src/astrom.c 2006-07-25 23:27:21.000000000 +0200
-@@ -29,7 +29,7 @@
- #include "astrom.h"
+Only in sextractor-2.8.6.new/src: analyse.o
+diff -ur sextractor-2.8.6/src/astrom.c sextractor-2.8.6.new/src/astrom.c
+--- sextractor-2.8.6/src/astrom.c 2009-01-29 14:52:00.000000000 +0100
++++ sextractor-2.8.6.new/src/astrom.c 2009-05-24 00:07:27.000000000 +0200
+@@ -30,7 +30,6 @@
+ #include "fitswcs.h"
#include "wcs/tnx.h"
-static obj2struct *obj2 = &outobj2;
-+/* static obj2struct *obj2 = &outobj2; */
/****************************** initastrom **********************************/
/*
-@@ -169,32 +169,32 @@
- {
- if (as->wcs_flag)
+@@ -99,46 +98,46 @@
+ /* If working with WCS, compute WORLD coordinates and local matrix */
+ if (FLAG(obj2.mxw))
+ {
+- rawpos[0] = obj2->posx;
+- rawpos[1] = obj2->posy;
++ rawpos[0] = outobj2.posx;
++ rawpos[1] = outobj2.posy;
+ raw_to_wcs(wcs, rawpos, wcspos);
+- obj2->mxw = wcspos[0];
+- obj2->myw = wcspos[1];
++ outobj2.mxw = wcspos[0];
++ outobj2.myw = wcspos[1];
+ if (lng != lat)
{
-- wcspos = compute_wcs(field, obj2->posx, obj2->posy);
-- obj2->alphas = obj2->mxw = wcspos[0];
-- obj2->deltas = obj2->myw = wcspos[1];
-+ wcspos = compute_wcs(field, outobj2.posx, outobj2.posy);
-+ outobj2.alphas = outobj2.mxw = wcspos[0];
-+ outobj2.deltas = outobj2.myw = wcspos[1];
+- obj2->alphas = lng<lat? obj2->mxw : obj2->myw;
+- obj2->deltas = lng<lat? obj2->myw : obj2->mxw;
++ outobj2.alphas = lng<lat? outobj2.mxw : outobj2.myw;
++ outobj2.deltas = lng<lat? outobj2.myw : outobj2.mxw;
if (FLAG(obj2.alpha2000))
{
- if (fabs(as->equinox-2000.0)>0.003)
- precess(as->equinox, wcspos[0], wcspos[1],
+ if (fabs(wcs->equinox-2000.0)>0.003)
+ precess(wcs->equinox, wcspos[lng<lat?0:1], wcspos[lng<lat?1:0],
- 2000.0, &obj2->alpha2000, &obj2->delta2000);
+ 2000.0, &outobj2.alpha2000, &outobj2.delta2000);
else
{
-- obj2->alpha2000 = obj2->mxw;
-- obj2->delta2000 = obj2->myw;
-+ outobj2.alpha2000 = outobj2.mxw;
-+ outobj2.delta2000 = outobj2.myw;
+- obj2->alpha2000 = lng<lat? obj2->mxw : obj2->myw;
+- obj2->delta2000 = lng<lat? obj2->myw : obj2->mxw;
++ outobj2.alpha2000 = lng<lat? outobj2.mxw : outobj2.myw;
++ outobj2.delta2000 = lng<lat? outobj2.myw : outobj2.mxw;
+ }
+ if (FLAG(obj2.dtheta2000))
+ {
+- da = wcs->ap2000 - obj2->alpha2000;
++ da = wcs->ap2000 - outobj2.alpha2000;
+ dd = (sin(wcs->dp2000*DEG)
+- -sin(obj2->delta2000*DEG)*sin(obj2->deltas*DEG))
+- /(cos(obj2->delta2000*DEG)*cos(obj2->deltas*DEG));
++ -sin(outobj2.delta2000*DEG)*sin(outobj2.deltas*DEG))
++ /(cos(outobj2.delta2000*DEG)*cos(outobj2.deltas*DEG));
+ dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0;
+- obj2->dtheta2000 = (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd);
++ outobj2.dtheta2000 = (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd);
}
if (FLAG(obj2.alpha1950))
-- j2b(as->equinox, obj2->alpha2000, obj2->delta2000,
+ {
+- j2b(wcs->equinox, obj2->alpha2000, obj2->delta2000,
- &obj2->alpha1950, &obj2->delta1950);
-+ j2b(as->equinox, outobj2.alpha2000, outobj2.delta2000,
++ j2b(wcs->equinox, outobj2.alpha2000, outobj2.delta2000,
+ &outobj2.alpha1950, &outobj2.delta1950);
+ if (FLAG(obj2.dtheta1950))
+ {
+- da = wcs->ap1950 - obj2->alpha1950;
++ da = wcs->ap1950 - outobj2.alpha1950;
+ dd = (sin(wcs->dp1950*DEG)
+- -sin(obj2->delta1950*DEG)*sin(obj2->deltas*DEG))
+- /(cos(obj2->delta1950*DEG)*cos(obj2->deltas*DEG));
++ -sin(outobj2.delta1950*DEG)*sin(outobj2.deltas*DEG))
++ /(cos(outobj2.delta1950*DEG)*cos(outobj2.deltas*DEG));
+ dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0;
+- obj2->dtheta1950 = (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd);
++ outobj2.dtheta1950 = (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd);
+ }
+ }
}
- }
- else
+@@ -151,25 +150,25 @@
+ rawpos[0] = obj->peakx;
+ rawpos[1] = obj->peaky;
+ raw_to_wcs(wcs, rawpos, wcspos);
+- obj2->peakxw = wcspos[0];
+- obj2->peakyw = wcspos[1];
++ outobj2.peakxw = wcspos[0];
++ outobj2.peakyw = wcspos[1];
+ if (lng != lat)
{
- double dx,dy;
-
-- dx = obj2->posx - as->crpix[0];
-- dy = obj2->posy - as->crpix[1];
-- obj2->mxw = as->crval[0]+ lm[0]*dx + lm[1]*dy; /* CDELT included! */
-- obj2->myw = as->crval[1]+ lm[2]*dx + lm[3]*dy; /* CDELT included! */
-+ dx = outobj2.posx - as->crpix[0];
-+ dy = outobj2.posy - as->crpix[1];
-+ outobj2.mxw = as->crval[0]+ lm[0]*dx + lm[1]*dy; /* CDELT included! */
-+ outobj2.myw = as->crval[1]+ lm[2]*dx + lm[3]*dy; /* CDELT included! */
- }
- }
-
-@@ -204,21 +204,21 @@
- if (as->wcs_flag)
- {
- wcspos = compute_wcs(field, (double)obj->peakx, (double)obj->peaky);
-- obj2->peakalphas = obj2->peakxw = wcspos[0];
-- obj2->peakdeltas = obj2->peakyw = wcspos[1];
-+ outobj2.peakalphas = outobj2.peakxw = wcspos[0];
-+ outobj2.peakdeltas = outobj2.peakyw = wcspos[1];
+- obj2->peakalphas = lng<lat? obj2->peakxw : obj2->peakyw;
+- obj2->peakdeltas = lng<lat? obj2->peakyw : obj2->peakxw;
++ outobj2.peakalphas = lng<lat? outobj2.peakxw : outobj2.peakyw;
++ outobj2.peakdeltas = lng<lat? outobj2.peakyw : outobj2.peakxw;
if (FLAG(obj2.peakalpha2000))
{
- if (fabs(as->equinox-2000.0)>0.003)
- precess(as->equinox, wcspos[0], wcspos[1],
+ if (fabs(wcs->equinox-2000.0)>0.003)
+ precess(wcs->equinox, wcspos[lng<lat?0:1], wcspos[lng<lat?1:0],
- 2000.0, &obj2->peakalpha2000, &obj2->peakdelta2000);
+ 2000.0, &outobj2.peakalpha2000, &outobj2.peakdelta2000);
else
{
-- obj2->peakalpha2000 = obj2->peakxw;
-- obj2->peakdelta2000 = obj2->peakyw;
-+ outobj2.peakalpha2000 = outobj2.peakxw;
-+ outobj2.peakdelta2000 = outobj2.peakyw;
+- obj2->peakalpha2000 = lng<lat? obj2->peakxw : obj2->peakyw;
+- obj2->peakdelta2000 = lng<lat? obj2->peakyw : obj2->peakxw;
++ outobj2.peakalpha2000 = lng<lat? outobj2.peakxw : outobj2.peakyw;
++ outobj2.peakdelta2000 = lng<lat? outobj2.peakyw : outobj2.peakxw;
}
if (FLAG(obj2.peakalpha1950))
-- j2b(as->equinox, obj2->peakalpha2000, obj2->peakdelta2000,
+- j2b(wcs->equinox, obj2->peakalpha2000, obj2->peakdelta2000,
- &obj2->peakalpha1950, &obj2->peakdelta1950);
-+ j2b(as->equinox, outobj2.peakalpha2000, outobj2.peakdelta2000,
++ j2b(wcs->equinox, outobj2.peakalpha2000, outobj2.peakdelta2000,
+ &outobj2.peakalpha1950, &outobj2.peakdelta1950);
}
}
- else
-@@ -227,8 +227,8 @@
-
- dx = obj->peakx - as->crpix[0];
- dy = obj->peaky - as->crpix[1];
-- obj2->peakxw = as->crval[0]+ lm[0]*dx + lm[1]*dy; /* CDELT included! */
-- obj2->peakyw = as->crval[1]+ lm[2]*dx + lm[3]*dy; /* CDELT included! */
-+ outobj2.peakxw = as->crval[0]+ lm[0]*dx + lm[1]*dy; /* CDELT included! */
-+ outobj2.peakyw = as->crval[1]+ lm[2]*dx + lm[3]*dy; /* CDELT included! */
- }
}
-
-@@ -237,32 +237,32 @@
- {
- if (as->wcs_flag)
+@@ -177,28 +176,28 @@
+ /* Idem for Windowed positions */
+ if (FLAG(obj2.winpos_xw))
+ {
+- rawpos[0] = obj2->winpos_x;
+- rawpos[1] = obj2->winpos_y;
++ rawpos[0] = outobj2.winpos_x;
++ rawpos[1] = outobj2.winpos_y;
+ raw_to_wcs(wcs, rawpos, wcspos);
+- obj2->winpos_xw = wcspos[0];
+- obj2->winpos_yw = wcspos[1];
++ outobj2.winpos_xw = wcspos[0];
++ outobj2.winpos_yw = wcspos[1];
+ if (lng != lat)
{
-- wcspos = compute_wcs(field, obj2->winpos_x, obj2->winpos_y);
-- obj2->winpos_alphas = obj2->winpos_xw = wcspos[0];
-- obj2->winpos_deltas = obj2->winpos_yw = wcspos[1];
-+ wcspos = compute_wcs(field, outobj2.winpos_x, outobj2.winpos_y);
-+ outobj2.winpos_alphas = outobj2.winpos_xw = wcspos[0];
-+ outobj2.winpos_deltas = outobj2.winpos_yw = wcspos[1];
+- obj2->winpos_alphas = lng<lat? obj2->winpos_xw : obj2->winpos_yw;
+- obj2->winpos_deltas = lng<lat? obj2->winpos_yw : obj2->winpos_xw;
++ outobj2.winpos_alphas = lng<lat? outobj2.winpos_xw : outobj2.winpos_yw;
++ outobj2.winpos_deltas = lng<lat? outobj2.winpos_yw : outobj2.winpos_xw;
if (FLAG(obj2.winpos_alpha2000))
{
- if (fabs(as->equinox-2000.0)>0.003)
- precess(as->equinox, wcspos[0], wcspos[1],
+ if (fabs(wcs->equinox-2000.0)>0.003)
+ precess(wcs->equinox, wcspos[0], wcspos[1],
- 2000.0, &obj2->winpos_alpha2000, &obj2->winpos_delta2000);
+ 2000.0, &outobj2.winpos_alpha2000, &outobj2.winpos_delta2000);
else
{
-- obj2->winpos_alpha2000 = obj2->winpos_xw;
-- obj2->winpos_delta2000 = obj2->winpos_yw;
-+ outobj2.winpos_alpha2000 = outobj2.winpos_xw;
-+ outobj2.winpos_delta2000 = outobj2.winpos_yw;
+- obj2->winpos_alpha2000 = lng<lat? obj2->winpos_xw : obj2->winpos_yw;
+- obj2->winpos_delta2000 = lng<lat? obj2->winpos_yw : obj2->winpos_xw;
++ outobj2.winpos_alpha2000 = lng<lat? outobj2.winpos_xw : outobj2.winpos_yw;
++ outobj2.winpos_delta2000 = lng<lat? outobj2.winpos_yw : outobj2.winpos_xw;
}
if (FLAG(obj2.winpos_alpha1950))
-- j2b(as->equinox, obj2->winpos_alpha2000, obj2->winpos_delta2000,
+- j2b(wcs->equinox, obj2->winpos_alpha2000, obj2->winpos_delta2000,
- &obj2->winpos_alpha1950, &obj2->winpos_delta1950);
-+ j2b(as->equinox, outobj2.winpos_alpha2000, outobj2.winpos_delta2000,
++ j2b(wcs->equinox, outobj2.winpos_alpha2000, outobj2.winpos_delta2000,
+ &outobj2.winpos_alpha1950, &outobj2.winpos_delta1950);
}
}
- else
+ }
+@@ -206,28 +205,28 @@
+ /* Idem for Model-fitted positions */
+ if (FLAG(obj2.xw_prof))
+ {
+- rawpos[0] = obj2->x_prof;
+- rawpos[1] = obj2->y_prof;
++ rawpos[0] = outobj2.x_prof;
++ rawpos[1] = outobj2.y_prof;
+ raw_to_wcs(wcs, rawpos, wcspos);
+- obj2->xw_prof = wcspos[0];
+- obj2->yw_prof = wcspos[1];
++ outobj2.xw_prof = wcspos[0];
++ outobj2.yw_prof = wcspos[1];
+ if (lng != lat)
{
- double dx,dy;
-
-- dx = obj2->winpos_x - as->crpix[0];
-- dy = obj2->winpos_y - as->crpix[1];
-- obj2->winpos_xw = as->crval[0]+ lm[0]*dx + lm[1]*dy;/* CDELT included! */
-- obj2->winpos_yw = as->crval[1]+ lm[2]*dx + lm[3]*dy;/* CDELT included! */
-+ dx = outobj2.winpos_x - as->crpix[0];
-+ dy = outobj2.winpos_y - as->crpix[1];
-+ outobj2.winpos_xw = as->crval[0]+ lm[0]*dx + lm[1]*dy;/* CDELT included! */
-+ outobj2.winpos_yw = as->crval[1]+ lm[2]*dx + lm[3]*dy;/* CDELT included! */
+- obj2->alphas_prof = lng<lat? obj2->xw_prof : obj2->yw_prof;
+- obj2->deltas_prof = lng<lat? obj2->yw_prof : obj2->xw_prof;
++ outobj2.alphas_prof = lng<lat? outobj2.xw_prof : outobj2.yw_prof;
++ outobj2.deltas_prof = lng<lat? outobj2.yw_prof : outobj2.xw_prof;
+ if (FLAG(obj2.alpha2000_prof))
+ {
+ if (fabs(wcs->equinox-2000.0)>0.003)
+ precess(wcs->equinox, wcspos[0], wcspos[1],
+- 2000.0, &obj2->alpha2000_prof, &obj2->delta2000_prof);
++ 2000.0, &outobj2.alpha2000_prof, &outobj2.delta2000_prof);
+ else
+ {
+- obj2->alpha2000_prof = lng<lat? obj2->xw_prof : obj2->yw_prof;
+- obj2->delta2000_prof = lng<lat? obj2->yw_prof : obj2->xw_prof;
++ outobj2.alpha2000_prof = lng<lat? outobj2.xw_prof : outobj2.yw_prof;
++ outobj2.delta2000_prof = lng<lat? outobj2.yw_prof : outobj2.xw_prof;
+ }
+ if (FLAG(obj2.alpha1950_prof))
+- j2b(wcs->equinox, obj2->alpha2000_prof, obj2->delta2000_prof,
+- &obj2->alpha1950_prof, &obj2->delta1950_prof);
++ j2b(wcs->equinox, outobj2.alpha2000_prof, outobj2.delta2000_prof,
++ &outobj2.alpha1950_prof, &outobj2.delta1950_prof);
+ }
}
}
-
-@@ -271,11 +271,11 @@
- {
- double dx,dy;
-
-- dx = obj2->posx - 0.5;
-- dy = obj2->posy - 0.5;
-- obj2->mamaposx = (as->crval[1]+lm[2]*dx+lm[3]*dy)
-+ dx = outobj2.posx - 0.5;
-+ dy = outobj2.posy - 0.5;
-+ outobj2.mamaposx = (as->crval[1]+lm[2]*dx+lm[3]*dy)
- *(MAMA_CORFLEX+1.0); /* CDELT included! */
-- obj2->mamaposy = (as->crval[0]+lm[0]*dx+lm[1]*dy); /* CDELT included! */
-+ outobj2.mamaposy = (as->crval[0]+lm[0]*dx+lm[1]*dy); /* CDELT included! */
+@@ -235,11 +234,11 @@
+ /* Custom coordinate system for the MAMA machine */
+ if (FLAG(obj2.mamaposx))
+ {
+- rawpos[0] = obj2->posx - 0.5;
+- rawpos[1] = obj2->posy - 0.5;
++ rawpos[0] = outobj2.posx - 0.5;
++ rawpos[1] = outobj2.posy - 0.5;
+ raw_to_wcs(wcs, rawpos, wcspos);
+- obj2->mamaposx = wcspos[1]*(MAMA_CORFLEX+1.0);
+- obj2->mamaposy = wcspos[0]*(MAMA_CORFLEX+1.0);
++ outobj2.mamaposx = wcspos[1]*(MAMA_CORFLEX+1.0);
++ outobj2.mamaposy = wcspos[0]*(MAMA_CORFLEX+1.0);
+ }
+
+ if (FLAG(obj2.mx2w)
+@@ -252,9 +251,9 @@
+ || FLAG(obj2.fdnpixw)
+ || FLAG(obj2.fwhmw))))
+ {
+- rawpos[0] = obj2->posx;
+- rawpos[1] = obj2->posy;
+- pixscale2 = wcs_jacobian(wcs, rawpos, obj2->jacob);
++ rawpos[0] = outobj2.posx;
++ rawpos[1] = outobj2.posy;
++ pixscale2 = wcs_jacobian(wcs, rawpos, outobj2.jacob);
}
/* Express shape parameters in WORLD frame */
-@@ -291,12 +291,12 @@
- astrom_winerrparam(field, obj);
+@@ -274,14 +273,14 @@
+ astrom_proferrparam(field, obj);
if (FLAG(obj2.npixw))
-- obj2->npixw = obj->npix*as->pixscale*as->pixscale;
-+ outobj2.npixw = obj->npix*as->pixscale*as->pixscale;
+- obj2->npixw = obj->npix * (prefs.pixel_scale?
++ outobj2.npixw = obj->npix * (prefs.pixel_scale?
+ field->pixscale/3600.0*field->pixscale/3600.0 : pixscale2);
if (FLAG(obj2.fdnpixw))
-- obj2->fdnpixw = obj->fdnpix*as->pixscale*as->pixscale;
-+ outobj2.fdnpixw = obj->fdnpix*as->pixscale*as->pixscale;
+- obj2->fdnpixw = obj->fdnpix * (prefs.pixel_scale?
++ outobj2.fdnpixw = obj->fdnpix * (prefs.pixel_scale?
+ field->pixscale/3600.0*field->pixscale/3600.0 : pixscale2);
if (FLAG(obj2.fwhmw))
-- obj2->fwhmw = obj->fwhm*as->pixscale;
-+ outobj2.fwhmw = obj->fwhm*as->pixscale;
+- obj2->fwhmw = obj->fwhm * (prefs.pixel_scale?
++ outobj2.fwhmw = obj->fwhm * (prefs.pixel_scale?
+ field->pixscale/3600.0 : sqrt(pixscale2));
return;
- }
-@@ -417,15 +417,15 @@
+@@ -307,36 +306,36 @@
+ lng = 0;
+ lat = 1;
+ }
+- lm0 = obj2->jacob[lng+naxis*lng];
+- lm1 = obj2->jacob[lat+naxis*lng];
+- lm2 = obj2->jacob[lng+naxis*lat];
+- lm3 = obj2->jacob[lat+naxis*lat];
++ lm0 = outobj2.jacob[lng+naxis*lng];
++ lm1 = outobj2.jacob[lat+naxis*lng];
++ lm2 = outobj2.jacob[lng+naxis*lat];
++ lm3 = outobj2.jacob[lat+naxis*lat];
+
+
+ /* All WORLD params based on 2nd order moments have to pass through here */
dx2 = obj->mx2;
dy2 = obj->my2;
dxy = obj->mxy;
@@ -394,47 +476,30 @@ diff -ur sextractor-2.5.0.old/src/astrom
temp=xm2-ym2;
if (FLAG(obj2.thetaw))
{
-- obj2->thetaw = (temp == 0.0)? (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG);
-+ outobj2.thetaw = (temp == 0.0)? (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG);
- if (as->wcs_flag && FLAG(obj2.thetas))
-- obj2->thetas = obj2->thetaw + (obj2->thetaw>0.0?-90:90.0);
-+ outobj2.thetas = outobj2.thetaw + (outobj2.thetaw>0.0?-90:90.0);
+- obj2->thetaw = fmod_m90_p90((temp == 0.0)?
++ outobj2.thetaw = fmod_m90_p90((temp == 0.0)?
+ (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG));
/*-- Compute position angles in J2000 or B1950 reference frame */
- if (as->wcs_flag)
-@@ -434,23 +434,23 @@
-
+ if (wcs->lng != wcs->lat)
+ {
+ if (FLAG(obj2.thetas))
+- obj2->thetas = fmod_m90_p90(lng<lat?
+- ((obj2->thetaw>0.0?90:-90.0) - obj2->thetaw)
+- : obj2->thetaw);
++ outobj2.thetas = fmod_m90_p90(lng<lat?
++ ((outobj2.thetaw>0.0?90:-90.0) - outobj2.thetaw)
++ : outobj2.thetaw);
if (FLAG(obj2.theta2000))
- {
-- da = as->ap2000 - obj2->alpha2000;
-+ da = as->ap2000 - outobj2.alpha2000;
- dd = (sin(as->dp2000*DEG)
-- -sin(obj2->delta2000*DEG)*sin(obj2->deltas*DEG))
-- /(cos(obj2->delta2000*DEG)*cos(obj2->deltas*DEG));
-+ -sin(outobj2.delta2000*DEG)*sin(outobj2.deltas*DEG))
-+ /(cos(outobj2.delta2000*DEG)*cos(outobj2.deltas*DEG));
- dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0;
-- obj2->theta2000 = obj2->thetas
-+ outobj2.theta2000 = outobj2.thetas
- + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd);
- }
-
+- obj2->theta2000 = fmod_m90_p90(obj2->thetas + obj2->dtheta2000);
++ outobj2.theta2000 = fmod_m90_p90(outobj2.thetas + outobj2.dtheta2000);
if (FLAG(obj2.theta1950))
- {
-- da = as->ap1950 - obj2->alpha1950;
-+ da = as->ap1950 - outobj2.alpha1950;
- dd = (sin(as->dp1950*DEG)
-- -sin(obj2->delta1950*DEG)*sin(obj2->deltas*DEG))
-- /(cos(obj2->delta1950*DEG)*cos(obj2->deltas*DEG));
-+ -sin(outobj2.delta1950*DEG)*sin(outobj2.deltas*DEG))
-+ /(cos(outobj2.delta1950*DEG)*cos(outobj2.deltas*DEG));
- dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0;
-- obj2->theta1950 = obj2->thetas
-+ outobj2.theta1950 = outobj2.thetas
- + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd);
- }
+- obj2->theta1950 = fmod_m90_p90(obj2->thetas + obj2->dtheta1950);
++ outobj2.theta1950 = fmod_m90_p90(outobj2.thetas + outobj2.dtheta1950);
}
-@@ -460,9 +460,9 @@
+ }
+
+@@ -344,9 +343,9 @@
{
temp = sqrt(0.25*temp*temp+xym*xym);
pm2 = 0.5*(xm2+ym2);
@@ -447,7 +512,7 @@ diff -ur sextractor-2.5.0.old/src/astrom
}
if (FLAG(obj2.cxxw))
-@@ -473,9 +473,9 @@
+@@ -357,9 +356,9 @@
temp = 1e-6;
xym *= 0.99999;
}
@@ -460,8 +525,18 @@ diff -ur sextractor-2.5.0.old/src/astrom
}
return;
-@@ -510,19 +510,19 @@
- lm3 = lm[lat+naxis*lat];
+@@ -385,35 +384,35 @@
+ lng = 0;
+ lat = 1;
+ }
+- lm0 = obj2->jacob[lng+naxis*lng];
+- lm1 = obj2->jacob[lat+naxis*lng];
+- lm2 = obj2->jacob[lng+naxis*lat];
+- lm3 = obj2->jacob[lat+naxis*lat];
++ lm0 = outobj2.jacob[lng+naxis*lng];
++ lm1 = outobj2.jacob[lat+naxis*lng];
++ lm2 = outobj2.jacob[lng+naxis*lat];
++ lm3 = outobj2.jacob[lat+naxis*lat];
/* All WORLD params based on 2nd order moments have to pass through here */
- dx2 = obj2->win_mx2;
@@ -479,49 +554,30 @@ diff -ur sextractor-2.5.0.old/src/astrom
temp=xm2-ym2;
if (FLAG(obj2.win_thetaw))
{
-- obj2->win_thetaw = (temp == 0.0)? (45.0) : (0.5*atan2(2.0*xym,temp)/DEG);
-+ outobj2.win_thetaw = (temp == 0.0)? (45.0) : (0.5*atan2(2.0*xym,temp)/DEG);
- if (as->wcs_flag && FLAG(obj2.win_thetas))
-- obj2->win_thetas = obj2->win_thetaw +
-- (obj2->win_thetaw>0.0?-90:90.0);
-+ outobj2.win_thetas = outobj2.win_thetaw +
-+ (outobj2.win_thetaw>0.0?-90:90.0);
+- obj2->win_thetaw = fmod_m90_p90((temp == 0.0)?
++ outobj2.win_thetaw = fmod_m90_p90((temp == 0.0)?
+ (45.0) : (0.5*atan2(2.0*xym,temp)/DEG));
/*-- Compute position angles in J2000 or B1950 reference frame */
- if (as->wcs_flag)
-@@ -531,23 +531,23 @@
-
+ if (wcs->lng != wcs->lat)
+ {
+ if (FLAG(obj2.win_thetas))
+- obj2->win_thetas = fmod_m90_p90(lng<lat?
+- ((obj2->win_thetaw>0.0?90:-90.0) - obj2->win_thetaw)
+- : obj2->win_thetaw);
++ outobj2.win_thetas = fmod_m90_p90(lng<lat?
++ ((outobj2.win_thetaw>0.0?90:-90.0) - outobj2.win_thetaw)
++ : outobj2.win_thetaw);
if (FLAG(obj2.win_theta2000))
- {
-- da = as->ap2000 - obj2->winpos_alpha2000;
-+ da = as->ap2000 - outobj2.winpos_alpha2000;
- dd = (sin(as->dp2000*DEG)
-- -sin(obj2->winpos_delta2000*DEG)*sin(obj2->winpos_deltas*DEG))
-- /(cos(obj2->winpos_delta2000*DEG)*cos(obj2->winpos_deltas*DEG));
-+ -sin(outobj2.winpos_delta2000*DEG)*sin(outobj2.winpos_deltas*DEG))
-+ /(cos(outobj2.winpos_delta2000*DEG)*cos(outobj2.winpos_deltas*DEG));
- dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0;
-- obj2->win_theta2000 = obj2->win_thetas
-+ outobj2.win_theta2000 = outobj2.win_thetas
- + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd);
- }
-
+- obj2->win_theta2000 = fmod_m90_p90(obj2->win_thetas + obj2->dtheta2000);
++ outobj2.win_theta2000 = fmod_m90_p90(outobj2.win_thetas + outobj2.dtheta2000);
if (FLAG(obj2.win_theta1950))
- {
-- da = as->ap1950 - obj2->winpos_alpha1950;
-+ da = as->ap1950 - outobj2.winpos_alpha1950;
- dd = (sin(as->dp1950*DEG)
-- -sin(obj2->winpos_delta1950*DEG)*sin(obj2->winpos_deltas*DEG))
-- /(cos(obj2->winpos_delta1950*DEG)*cos(obj2->winpos_deltas*DEG));
-+ -sin(outobj2.winpos_delta1950*DEG)*sin(outobj2.winpos_deltas*DEG))
-+ /(cos(outobj2.winpos_delta1950*DEG)*cos(outobj2.winpos_deltas*DEG));
- dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0;
-- obj2->win_theta1950 = obj2->win_thetas
-+ outobj2.win_theta1950 = outobj2.win_thetas
- + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd);
- }
+- obj2->win_theta1950 = fmod_m90_p90(obj2->win_thetas + obj2->dtheta1950);
++ outobj2.win_theta1950 = fmod_m90_p90(outobj2.win_thetas + outobj2.dtheta1950);
}
-@@ -557,9 +557,9 @@
+ }
+
+@@ -421,9 +420,9 @@
{
temp = sqrt(0.25*temp*temp+xym*xym);
pm2 = 0.5*(xm2+ym2);
@@ -534,7 +590,7 @@ diff -ur sextractor-2.5.0.old/src/astrom
}
if (FLAG(obj2.win_cxxw))
-@@ -570,9 +570,9 @@
+@@ -434,9 +433,9 @@
temp = 1e-6;
xym *= 0.99999;
}
@@ -547,7 +603,20 @@ diff -ur sextractor-2.5.0.old/src/astrom
}
return;
-@@ -610,16 +610,16 @@
+@@ -462,37 +461,37 @@
+ lng = 0;
+ lat = 1;
+ }
+- lm0 = obj2->jacob[lng+naxis*lng];
+- lm1 = obj2->jacob[lat+naxis*lng];
+- lm2 = obj2->jacob[lng+naxis*lat];
+- lm3 = obj2->jacob[lat+naxis*lat];
++ lm0 = outobj2.jacob[lng+naxis*lng];
++ lm1 = outobj2.jacob[lat+naxis*lng];
++ lm2 = outobj2.jacob[lng+naxis*lat];
++ lm3 = outobj2.jacob[lat+naxis*lat];
+
+ /* All WORLD params based on 2nd order moments have to pass through here */
dx2 = obj->poserr_mx2;
dy2 = obj->poserr_my2;
dxy = obj->poserr_mxy;
@@ -560,49 +629,34 @@ diff -ur sextractor-2.5.0.old/src/astrom
temp=xm2-ym2;
if (FLAG(obj2.poserr_thetaw))
{
-- obj2->poserr_thetaw = (temp==0.0)? (45.0):(0.5*atan2(2.0*xym,temp)/DEG);
-+ outobj2.poserr_thetaw = (temp==0.0)? (45.0):(0.5*atan2(2.0*xym,temp)/DEG);
- if (as->wcs_flag && FLAG(obj2.poserr_thetas))
-- obj2->poserr_thetas = obj2->poserr_thetaw
-- + (obj2->poserr_thetaw>0.0? -90:90.0);
-+ outobj2.poserr_thetas = outobj2.poserr_thetaw
-+ + (outobj2.poserr_thetaw>0.0? -90:90.0);
+- obj2->poserr_thetaw = fmod_m90_p90((temp==0.0)?
++ outobj2.poserr_thetaw = fmod_m90_p90((temp==0.0)?
+ (45.0):(0.5*atan2(2.0*xym,temp)/DEG));
/*-- Compute position angles in J2000 or B1950 reference frame */
- if (as->wcs_flag)
-@@ -628,23 +628,23 @@
-
+ if (wcs->lng != wcs->lat)
+ {
+ if (FLAG(obj2.poserr_thetas))
+- obj2->poserr_thetas = fmod_m90_p90(lng<lat?
+- ((obj2->poserr_thetaw>0.0?90:-90.0) - obj2->poserr_thetaw)
+- : obj2->poserr_thetaw);
++ outobj2.poserr_thetas = fmod_m90_p90(lng<lat?
++ ((outobj2.poserr_thetaw>0.0?90:-90.0) - outobj2.poserr_thetaw)
++ : outobj2.poserr_thetaw);
if (FLAG(obj2.poserr_theta2000))
- {
-- da = as->ap2000 - obj2->alpha2000;
-+ da = as->ap2000 - outobj2.alpha2000;
- dd = (sin(as->dp2000*DEG)
-- -sin(obj2->delta2000*DEG)*sin(obj2->deltas*DEG))
-- /(cos(obj2->delta2000*DEG)*cos(obj2->deltas*DEG));
-+ -sin(outobj2.delta2000*DEG)*sin(outobj2.deltas*DEG))
-+ /(cos(outobj2.delta2000*DEG)*cos(outobj2.deltas*DEG));
- dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0;
-- obj2->poserr_theta2000 = obj2->poserr_thetas
-+ outobj2.poserr_theta2000 = outobj2.poserr_thetas
- + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd);
- }
-
+- obj2->poserr_theta2000 = fmod_m90_p90(obj2->poserr_thetas
+- + obj2->dtheta2000);
++ outobj2.poserr_theta2000 = fmod_m90_p90(outobj2.poserr_thetas
++ + outobj2.dtheta2000);
if (FLAG(obj2.poserr_theta1950))
- {
-- da = as->ap1950 - obj2->alpha1950;
-+ da = as->ap1950 - outobj2.alpha1950;
- dd = (sin(as->dp1950*DEG)
-- -sin(obj2->delta1950*DEG)*sin(obj2->deltas*DEG))
-- /(cos(obj2->delta1950*DEG)*cos(obj2->deltas*DEG));
-+ -sin(outobj2.delta1950*DEG)*sin(outobj2.deltas*DEG))
-+ /(cos(outobj2.delta1950*DEG)*cos(outobj2.deltas*DEG));
- dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0;
-- obj2->poserr_theta1950 = obj2->poserr_thetas
-+ outobj2.poserr_theta1950 = outobj2.poserr_thetas
- + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd);
- }
+- obj2->poserr_theta1950 = fmod_m90_p90(obj2->poserr_thetas
+- + obj2->dtheta1950);
++ outobj2.poserr_theta1950 = fmod_m90_p90(outobj2.poserr_thetas
++ + outobj2.dtheta1950);
}
-@@ -654,8 +654,8 @@
+ }
+
+@@ -500,8 +499,8 @@
{
temp = sqrt(0.25*temp*temp+xym*xym);
pm2 = 0.5*(xm2+ym2);
@@ -613,7 +667,7 @@ diff -ur sextractor-2.5.0.old/src/astrom
}
if (FLAG(obj2.poserr_cxxw))
-@@ -666,9 +666,9 @@
+@@ -512,9 +511,9 @@
temp = 1e-6;
xym *= 0.99999;
}
@@ -626,8 +680,18 @@ diff -ur sextractor-2.5.0.old/src/astrom
}
return;
-@@ -703,19 +703,19 @@
- lm3 = lm[lat+naxis*lat];
+@@ -540,37 +539,37 @@
+ lng = 0;
+ lat = 1;
+ }
+- lm0 = obj2->jacob[lng+naxis*lng];
+- lm1 = obj2->jacob[lat+naxis*lng];
+- lm2 = obj2->jacob[lng+naxis*lat];
+- lm3 = obj2->jacob[lat+naxis*lat];
++ lm0 = outobj2.jacob[lng+naxis*lng];
++ lm1 = outobj2.jacob[lat+naxis*lng];
++ lm2 = outobj2.jacob[lng+naxis*lat];
++ lm3 = outobj2.jacob[lat+naxis*lat];
/* All WORLD params based on 2nd order moments have to pass through here */
- dx2 = obj2->winposerr_mx2;
@@ -645,49 +709,34 @@ diff -ur sextractor-2.5.0.old/src/astrom
temp=xm2-ym2;
if (FLAG(obj2.winposerr_thetaw))
{
-- obj2->winposerr_thetaw = (temp==0.0)? (45.0):(0.5*atan2(2.0*xym,temp)/DEG);
-+ outobj2.winposerr_thetaw = (temp==0.0)? (45.0):(0.5*atan2(2.0*xym,temp)/DEG);
- if (as->wcs_flag && FLAG(obj2.winposerr_thetas))
-- obj2->winposerr_thetas = obj2->winposerr_thetaw
-- + (obj2->winposerr_thetaw>0.0? -90:90.0);
-+ outobj2.winposerr_thetas = outobj2.winposerr_thetaw
-+ + (outobj2.winposerr_thetaw>0.0? -90:90.0);
+- obj2->winposerr_thetaw = (fmod_m90_p90(temp==0.0)?
++ outobj2.winposerr_thetaw = (fmod_m90_p90(temp==0.0)?
+ (45.0):(0.5*atan2(2.0*xym,temp)/DEG));
/*-- Compute position angles in J2000 or B1950 reference frame */
- if (as->wcs_flag)
-@@ -724,23 +724,23 @@
-
+ if (wcs->lng != wcs->lat)
+ {
+ if (FLAG(obj2.winposerr_thetas))
+- obj2->winposerr_thetas = fmod_m90_p90(lng<lat?
+- ((obj2->winposerr_thetaw>0.0?90:-90.0) - obj2->winposerr_thetaw)
+- : obj2->winposerr_thetaw);
++ outobj2.winposerr_thetas = fmod_m90_p90(lng<lat?
++ ((outobj2.winposerr_thetaw>0.0?90:-90.0) - outobj2.winposerr_thetaw)
++ : outobj2.winposerr_thetaw);
if (FLAG(obj2.winposerr_theta2000))
- {
-- da = as->ap2000 - obj2->winpos_alpha2000;
-+ da = as->ap2000 - outobj2.winpos_alpha2000;
- dd = (sin(as->dp2000*DEG)
-- -sin(obj2->winpos_delta2000*DEG)*sin(obj2->winpos_deltas*DEG))
-- /(cos(obj2->winpos_delta2000*DEG)*cos(obj2->winpos_deltas*DEG));
-+ -sin(outobj2.winpos_delta2000*DEG)*sin(outobj2.winpos_deltas*DEG))
-+ /(cos(outobj2.winpos_delta2000*DEG)*cos(outobj2.winpos_deltas*DEG));
- dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0;
-- obj2->winposerr_theta2000 = obj2->winposerr_thetas
-+ outobj2.winposerr_theta2000 = outobj2.winposerr_thetas
- + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd);
- }
-
+- obj2->winposerr_theta2000 = fmod_m90_p90(obj2->winposerr_thetas
+- + obj2->dtheta2000);
++ outobj2.winposerr_theta2000 = fmod_m90_p90(outobj2.winposerr_thetas
++ + outobj2.dtheta2000);
if (FLAG(obj2.winposerr_theta1950))
- {
-- da = as->ap1950 - obj2->winpos_alpha1950;
-+ da = as->ap1950 - outobj2.winpos_alpha1950;
- dd = (sin(as->dp1950*DEG)
-- -sin(obj2->winpos_delta1950*DEG)*sin(obj2->winpos_deltas*DEG))
-- /(cos(obj2->winpos_delta1950*DEG)*cos(obj2->winpos_deltas*DEG));
-+ -sin(outobj2.winpos_delta1950*DEG)*sin(outobj2.winpos_deltas*DEG))
-+ /(cos(outobj2.winpos_delta1950*DEG)*cos(outobj2.winpos_deltas*DEG));
- dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0;
-- obj2->winposerr_theta1950 = obj2->winposerr_thetas
-+ outobj2.winposerr_theta1950 = outobj2.winposerr_thetas
- + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd);
- }
+- obj2->winposerr_theta1950 = fmod_m90_p90(obj2->winposerr_thetas
+- + obj2->dtheta1950);
++ outobj2.winposerr_theta1950 = fmod_m90_p90(outobj2.winposerr_thetas
++ + outobj2.dtheta1950);
}
-@@ -750,8 +750,8 @@
+ }
+
+@@ -578,8 +577,8 @@
{
temp = sqrt(0.25*temp*temp+xym*xym);
pm2 = 0.5*(xm2+ym2);
@@ -698,7 +747,7 @@ diff -ur sextractor-2.5.0.old/src/astrom
}
if (FLAG(obj2.winposerr_cxxw))
-@@ -762,9 +762,9 @@
+@@ -590,9 +589,9 @@
temp = 1e-6;
xym *= 0.99999;
}
@@ -711,115 +760,367 @@ diff -ur sextractor-2.5.0.old/src/astrom
}
return;
-diff -ur sextractor-2.5.0.old/src/fits/fitsmisc.c sextractor-2.5.0/src/fits/fitsmisc.c
---- sextractor-2.5.0.old/src/fits/fitsmisc.c 2006-07-14 19:21:00.000000000 +0200
-+++ sextractor-2.5.0/src/fits/fitsmisc.c 2006-07-25 23:32:17.000000000 +0200
-@@ -114,48 +114,63 @@
- void swapbytes(void *ptr, int nb, int n)
- {
- char *cp;
-+ char t;
- int j;
-
-- cp = (char *)ptr;
-+ cp = (char *)ptr;
-
-- if (nb&4)
-- {
-- for (j=n; j--; cp+=4)
-- {
-- cp[0] ^= (cp[3]^=(cp[0]^=cp[3]));
-- cp[1] ^= (cp[2]^=(cp[1]^=cp[2]));
-- }
-- return;
-- }
--
-- if (nb&2)
-- {
-- for (j=n; j--; cp+=2)
-- cp[0] ^= (cp[1]^=(cp[0]^=cp[1]));
-- return;
-- }
-+ if (nb == 4)
-+ {
-+ for (j=n; j--; cp+=4)
-+ {
-+ t = cp[0];
-+ cp[0] = cp[3];
-+ cp[3] = t;
-+ t = cp[1];
-+ cp[1] = cp[2];
-+ cp[2] = t;
-+ }
-+ }
-+ else if (nb == 2)
-+ {
-+ for (j=n; j--; cp+=2)
-+ {
-+ t = cp[0];
-+ cp[0] = cp[1];
-+ cp[1] = t;
-+ }
-+ }
-+ else if (nb == 8)
-+ {
-+ for (j=n; j--; cp+=8)
-+ {
-+ t = cp[0];
-+ cp[0] = cp[7];
-+ cp[7] = t;
-+ t = cp[1];
-+ cp[1] = cp[6];
-+ cp[6] = t;
-+ t = cp[2];
-+ cp[2] = cp[5];
-+ cp[5] = t;
-+ t = cp[3];
-+ cp[3] = cp[4];
-+ cp[4] = t;
-+ }
-+ }
-+ else if (nb == 1)
-+ {
-+ /* noop */
-+ }
-
-- if (nb&1)
-- return;
--
-- if (nb&8)
-- {
-- for (j=n; j--; cp+=8)
-- {
-- cp[0] ^= (cp[7]^=(cp[0]^=cp[7]));
-- cp[1] ^= (cp[6]^=(cp[1]^=cp[6]));
-- cp[2] ^= (cp[5]^=(cp[2]^=cp[5]));
-- cp[3] ^= (cp[4]^=(cp[3]^=cp[4]));
-- }
-- return;
-- }
--
-- error(EXIT_FAILURE, "*Internal Error*: Unknown size in ", "swapbytes()");
-+ else
-+ error(EXIT_FAILURE, "*Internal Error*: Unknown size in ", "swapbytes()");
+@@ -618,37 +617,37 @@
+ lng = 0;
+ lat = 1;
+ }
+- lm0 = obj2->jacob[lng+naxis*lng];
+- lm1 = obj2->jacob[lat+naxis*lng];
+- lm2 = obj2->jacob[lng+naxis*lat];
+- lm3 = obj2->jacob[lat+naxis*lat];
++ lm0 = outobj2.jacob[lng+naxis*lng];
++ lm1 = outobj2.jacob[lat+naxis*lng];
++ lm2 = outobj2.jacob[lng+naxis*lat];
++ lm3 = outobj2.jacob[lat+naxis*lat];
+
+ /* All WORLD params based on 2nd order moments have to pass through here */
+- dx2 = obj2->poserrmx2_prof;
+- dy2 = obj2->poserrmy2_prof;
+- dxy = obj2->poserrmxy_prof;
+- obj2->poserrmx2w_prof = xm2 = lm0*lm0*dx2+lm1*lm1*dy2+lm0*lm1*dxy;
+- obj2->poserrmy2w_prof = ym2 = lm2*lm2*dx2+lm3*lm3*dy2+lm2*lm3*dxy;
+- obj2->poserrmxyw_prof = xym = lm0*lm2*dx2+lm1*lm3*dy2+(lm0*lm3+lm1*lm2)*dxy;
++ dx2 = outobj2.poserrmx2_prof;
++ dy2 = outobj2.poserrmy2_prof;
++ dxy = outobj2.poserrmxy_prof;
++ outobj2.poserrmx2w_prof = xm2 = lm0*lm0*dx2+lm1*lm1*dy2+lm0*lm1*dxy;
++ outobj2.poserrmy2w_prof = ym2 = lm2*lm2*dx2+lm3*lm3*dy2+lm2*lm3*dxy;
++ outobj2.poserrmxyw_prof = xym = lm0*lm2*dx2+lm1*lm3*dy2+(lm0*lm3+lm1*lm2)*dxy;
+ temp=xm2-ym2;
+ if (FLAG(obj2.poserrthetaw_prof))
+ {
+- obj2->poserrthetaw_prof = (fmod_m90_p90(temp==0.0)?
++ outobj2.poserrthetaw_prof = (fmod_m90_p90(temp==0.0)?
+ (45.0):(0.5*atan2(2.0*xym,temp)/DEG));
+
+ /*-- Compute position angles in J2000 or B1950 reference frame */
+ if (wcs->lng != wcs->lat)
+ {
+ if (FLAG(obj2.poserrthetas_prof))
+- obj2->poserrthetas_prof = fmod_m90_p90(lng<lat?
+- ((obj2->poserrthetaw_prof>0.0?90:-90.0)-obj2->poserrthetaw_prof)
+- : obj2->poserrthetaw_prof);
++ outobj2.poserrthetas_prof = fmod_m90_p90(lng<lat?
++ ((outobj2.poserrthetaw_prof>0.0?90:-90.0)-outobj2.poserrthetaw_prof)
++ : outobj2.poserrthetaw_prof);
+ if (FLAG(obj2.poserrtheta2000_prof))
+- obj2->poserrtheta2000_prof = fmod_m90_p90(obj2->poserrthetas_prof
+- + obj2->dtheta2000);
++ outobj2.poserrtheta2000_prof = fmod_m90_p90(outobj2.poserrthetas_prof
++ + outobj2.dtheta2000);
+ if (FLAG(obj2.poserrtheta1950_prof))
+- obj2->poserrtheta1950_prof = fmod_m90_p90(obj2->poserrthetas_prof
+- + obj2->dtheta1950);
++ outobj2.poserrtheta1950_prof = fmod_m90_p90(outobj2.poserrthetas_prof
++ + outobj2.dtheta1950);
+ }
+ }
+
+@@ -656,8 +655,8 @@
+ {
+ temp = sqrt(0.25*temp*temp+xym*xym);
+ pm2 = 0.5*(xm2+ym2);
+- obj2->poserraw_prof = (float)sqrt(pm2+temp);
+- obj2->poserrbw_prof = (float)sqrt(pm2-temp);
++ outobj2.poserraw_prof = (float)sqrt(pm2+temp);
++ outobj2.poserrbw_prof = (float)sqrt(pm2-temp);
+ }
+
+ if (FLAG(obj2.poserrcxxw_prof))
+@@ -668,9 +667,9 @@
+ temp = 1e-6;
+ xym *= 0.99999;
+ }
+- obj2->poserrcxxw_prof = (float)(ym2/temp);
+- obj2->poserrcyyw_prof = (float)(xm2/temp);
+- obj2->poserrcxyw_prof = (float)(-2*xym/temp);
++ outobj2.poserrcxxw_prof = (float)(ym2/temp);
++ outobj2.poserrcyyw_prof = (float)(xm2/temp);
++ outobj2.poserrcxyw_prof = (float)(-2*xym/temp);
+ }
return;
- }
+@@ -696,178 +695,178 @@
+ lng = 0;
+ lat = 1;
+ }
+- lm0 = obj2->jacob[lng+naxis*lng];
+- lm1 = obj2->jacob[lat+naxis*lng];
+- lm2 = obj2->jacob[lng+naxis*lat];
+- lm3 = obj2->jacob[lat+naxis*lat];
++ lm0 = outobj2.jacob[lng+naxis*lng];
++ lm1 = outobj2.jacob[lat+naxis*lng];
++ lm2 = outobj2.jacob[lng+naxis*lat];
++ lm3 = outobj2.jacob[lat+naxis*lat];
+
+ /* Spheroid World coordinates */
+- obj2->prof_spheroid_thetaerrw=obj2->prof_spheroid_thetaerr; /* quick & dirty*/
++ outobj2.prof_spheroid_thetaerrw=outobj2.prof_spheroid_thetaerr; /* quick & dirty*/
+ if (FLAG(obj2.prof_spheroid_reffw))
+ {
+- ct = cos(obj2->prof_spheroid_theta*DEG);
+- st = sin(obj2->prof_spheroid_theta*DEG);
+- dx2 = obj2->prof_spheroid_reff*obj2->prof_spheroid_reff * (ct*ct
+- + st*st * obj2->prof_spheroid_aspect*obj2->prof_spheroid_aspect);
+- dy2 = obj2->prof_spheroid_reff*obj2->prof_spheroid_reff * (st*st
+- + ct*ct * obj2->prof_spheroid_aspect*obj2->prof_spheroid_aspect);
+- dxy = ct*st * obj2->prof_spheroid_reff*obj2->prof_spheroid_reff
+- *(1.0 - obj2->prof_spheroid_aspect*obj2->prof_spheroid_aspect);
++ ct = cos(outobj2.prof_spheroid_theta*DEG);
++ st = sin(outobj2.prof_spheroid_theta*DEG);
++ dx2 = outobj2.prof_spheroid_reff*outobj2.prof_spheroid_reff * (ct*ct
++ + st*st * outobj2.prof_spheroid_aspect*outobj2.prof_spheroid_aspect);
++ dy2 = outobj2.prof_spheroid_reff*outobj2.prof_spheroid_reff * (st*st
++ + ct*ct * outobj2.prof_spheroid_aspect*outobj2.prof_spheroid_aspect);
++ dxy = ct*st * outobj2.prof_spheroid_reff*outobj2.prof_spheroid_reff
++ *(1.0 - outobj2.prof_spheroid_aspect*outobj2.prof_spheroid_aspect);
+ xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy;
+ ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy;
+ xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy;
+ temp=xm2-ym2;
+ if (FLAG(obj2.prof_spheroid_thetaw))
+ {
+- obj2->prof_spheroid_thetaw = fmod_m90_p90((temp == 0.0)?
++ outobj2.prof_spheroid_thetaw = fmod_m90_p90((temp == 0.0)?
+ (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG));
+
+ if (wcs->lng != wcs->lat)
+ {
+ if (FLAG(obj2.prof_spheroid_thetas))
+- obj2->prof_spheroid_thetas = fmod_m90_p90(lng<lat?
+- ((obj2->prof_spheroid_thetaw>0.0?90:-90.0)
+- - obj2->prof_spheroid_thetaw)
+- : obj2->prof_spheroid_thetaw);
++ outobj2.prof_spheroid_thetas = fmod_m90_p90(lng<lat?
++ ((outobj2.prof_spheroid_thetaw>0.0?90:-90.0)
++ - outobj2.prof_spheroid_thetaw)
++ : outobj2.prof_spheroid_thetaw);
+ if (FLAG(obj2.prof_spheroid_theta2000))
+- obj2->prof_spheroid_theta2000=fmod_m90_p90(obj2->prof_spheroid_thetas
+- + obj2->dtheta2000);
++ outobj2.prof_spheroid_theta2000=fmod_m90_p90(outobj2.prof_spheroid_thetas
++ + outobj2.dtheta2000);
+ if (FLAG(obj2.prof_spheroid_theta1950))
+- obj2->prof_spheroid_theta1950=fmod_m90_p90(obj2->prof_spheroid_thetas
+- + obj2->dtheta1950);
++ outobj2.prof_spheroid_theta1950=fmod_m90_p90(outobj2.prof_spheroid_thetas
++ + outobj2.dtheta1950);
+ }
+ }
+ temp = sqrt(0.25*temp*temp+xym*xym);
+ pm2 = 0.5*(xm2+ym2);
+- obj2->prof_spheroid_reffw = sqrt(pm2+temp);
+- obj2->prof_spheroid_refferrw = obj2->prof_spheroid_reff > 0.0?
+- obj2->prof_spheroid_refferr/obj2->prof_spheroid_reff
+- *obj2->prof_spheroid_reffw
++ outobj2.prof_spheroid_reffw = sqrt(pm2+temp);
++ outobj2.prof_spheroid_refferrw = outobj2.prof_spheroid_reff > 0.0?
++ outobj2.prof_spheroid_refferr/outobj2.prof_spheroid_reff
++ *outobj2.prof_spheroid_reffw
+ : 0.0;
+- obj2->prof_spheroid_aspectw = obj2->prof_spheroid_reffw>0.0?
+- sqrt(pm2-temp) / obj2->prof_spheroid_reffw
+- : obj2->prof_spheroid_aspect;
+- obj2->prof_spheroid_aspecterrw = obj2->prof_spheroid_aspect > 0.0?
+- obj2->prof_spheroid_aspecterr/obj2->prof_spheroid_aspect
+- *obj2->prof_spheroid_aspectw
++ outobj2.prof_spheroid_aspectw = outobj2.prof_spheroid_reffw>0.0?
++ sqrt(pm2-temp) / outobj2.prof_spheroid_reffw
++ : outobj2.prof_spheroid_aspect;
++ outobj2.prof_spheroid_aspecterrw = outobj2.prof_spheroid_aspect > 0.0?
++ outobj2.prof_spheroid_aspecterr/outobj2.prof_spheroid_aspect
++ *outobj2.prof_spheroid_aspectw
+ : 0.0;
+ }
+
+ /* Disk World coordinates */
+- obj2->prof_disk_thetaerrw = obj2->prof_disk_thetaerr; /* quick & dirty*/
++ outobj2.prof_disk_thetaerrw = outobj2.prof_disk_thetaerr; /* quick & dirty*/
+ if (FLAG(obj2.prof_disk_scalew))
+ {
+- ct = cos(obj2->prof_disk_theta*DEG);
+- st = sin(obj2->prof_disk_theta*DEG);
+- dx2 = obj2->prof_disk_scale*obj2->prof_disk_scale * (ct*ct
+- + st*st * obj2->prof_disk_aspect*obj2->prof_disk_aspect);
+- dy2 = obj2->prof_disk_scale*obj2->prof_disk_scale * (st*st
+- + ct*ct * obj2->prof_disk_aspect*obj2->prof_disk_aspect);
+- dxy = ct*st * obj2->prof_disk_scale*obj2->prof_disk_scale
+- *(1.0 - obj2->prof_disk_aspect*obj2->prof_disk_aspect);
++ ct = cos(outobj2.prof_disk_theta*DEG);
++ st = sin(outobj2.prof_disk_theta*DEG);
++ dx2 = outobj2.prof_disk_scale*outobj2.prof_disk_scale * (ct*ct
++ + st*st * outobj2.prof_disk_aspect*outobj2.prof_disk_aspect);
++ dy2 = outobj2.prof_disk_scale*outobj2.prof_disk_scale * (st*st
++ + ct*ct * outobj2.prof_disk_aspect*outobj2.prof_disk_aspect);
++ dxy = ct*st * outobj2.prof_disk_scale*outobj2.prof_disk_scale
++ *(1.0 - outobj2.prof_disk_aspect*outobj2.prof_disk_aspect);
+ xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy;
+ ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy;
+ xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy;
+ temp=xm2-ym2;
+ if (FLAG(obj2.prof_disk_thetaw))
+ {
+- obj2->prof_disk_thetaw = fmod_m90_p90((temp == 0.0)?
++ outobj2.prof_disk_thetaw = fmod_m90_p90((temp == 0.0)?
+ (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG));
+ /*---- Compute position angles in J2000 or B1950 reference frame */
+ if (wcs->lng != wcs->lat)
+ {
+ if (FLAG(obj2.prof_disk_thetas))
+- obj2->prof_disk_thetas = fmod_m90_p90(lng<lat?
+- ((obj2->prof_disk_thetaw>0.0?90:-90.0)
+- - obj2->prof_disk_thetaw)
+- : obj2->prof_disk_thetaw);
++ outobj2.prof_disk_thetas = fmod_m90_p90(lng<lat?
++ ((outobj2.prof_disk_thetaw>0.0?90:-90.0)
++ - outobj2.prof_disk_thetaw)
++ : outobj2.prof_disk_thetaw);
+ if (FLAG(obj2.prof_disk_theta2000))
+- obj2->prof_disk_theta2000 = fmod_m90_p90(obj2->prof_disk_thetas
+- + obj2->dtheta2000);
++ outobj2.prof_disk_theta2000 = fmod_m90_p90(outobj2.prof_disk_thetas
++ + outobj2.dtheta2000);
+ if (FLAG(obj2.prof_disk_theta1950))
+- obj2->prof_disk_theta1950 = fmod_m90_p90(obj2->prof_disk_thetas
+- + obj2->dtheta1950);
++ outobj2.prof_disk_theta1950 = fmod_m90_p90(outobj2.prof_disk_thetas
++ + outobj2.dtheta1950);
+ }
+ }
+ temp = sqrt(0.25*temp*temp+xym*xym);
+ pm2 = 0.5*(xm2+ym2);
+- obj2->prof_disk_scalew = sqrt(pm2+temp);
+- obj2->prof_disk_scaleerrw = obj2->prof_disk_scale > 0.0?
+- obj2->prof_disk_scaleerr/obj2->prof_disk_scale*obj2->prof_disk_scalew
++ outobj2.prof_disk_scalew = sqrt(pm2+temp);
++ outobj2.prof_disk_scaleerrw = outobj2.prof_disk_scale > 0.0?
++ outobj2.prof_disk_scaleerr/outobj2.prof_disk_scale*outobj2.prof_disk_scalew
+ : 0.0;
+- obj2->prof_disk_aspectw = obj2->prof_disk_scalew>0.0?
+- sqrt(pm2-temp) / obj2->prof_disk_scalew
+- : obj2->prof_disk_aspect;
+- obj2->prof_disk_aspecterrw = obj2->prof_disk_aspect > 0.0?
+- obj2->prof_disk_aspecterr/obj2->prof_disk_aspect*obj2->prof_disk_aspectw
++ outobj2.prof_disk_aspectw = outobj2.prof_disk_scalew>0.0?
++ sqrt(pm2-temp) / outobj2.prof_disk_scalew
++ : outobj2.prof_disk_aspect;
++ outobj2.prof_disk_aspecterrw = outobj2.prof_disk_aspect > 0.0?
++ outobj2.prof_disk_aspecterr/outobj2.prof_disk_aspect*outobj2.prof_disk_aspectw
+ : 0.0;
+ /*-- Arms World coordinates */
+ if (FLAG(obj2.prof_arms_scalew))
+ {
+- obj2->prof_arms_scalew = (obj2->prof_disk_scale > 0.0) ?
+- obj2->prof_arms_scale*obj2->prof_disk_scalew/obj2->prof_disk_scale
++ outobj2.prof_arms_scalew = (outobj2.prof_disk_scale > 0.0) ?
++ outobj2.prof_arms_scale*outobj2.prof_disk_scalew/outobj2.prof_disk_scale
+ : 0.0;
+- obj2->prof_arms_scaleerrw = (obj2->prof_arms_scale > 0.0) ?
+- obj2->prof_arms_scaleerr/obj2->prof_arms_scale*obj2->prof_arms_scalew
++ outobj2.prof_arms_scaleerrw = (outobj2.prof_arms_scale > 0.0) ?
++ outobj2.prof_arms_scaleerr/outobj2.prof_arms_scale*outobj2.prof_arms_scalew
+ : 0.0;
+- obj2->prof_arms_startw = (obj2->prof_disk_scale > 0.0) ?
+- obj2->prof_arms_start*obj2->prof_disk_scalew/obj2->prof_disk_scale
++ outobj2.prof_arms_startw = (outobj2.prof_disk_scale > 0.0) ?
++ outobj2.prof_arms_start*outobj2.prof_disk_scalew/outobj2.prof_disk_scale
+ : 0.0;
+- obj2->prof_arms_starterrw = (obj2->prof_arms_start > 0.0) ?
+- obj2->prof_arms_starterr/obj2->prof_arms_start*obj2->prof_arms_startw
++ outobj2.prof_arms_starterrw = (outobj2.prof_arms_start > 0.0) ?
++ outobj2.prof_arms_starterr/outobj2.prof_arms_start*outobj2.prof_arms_startw
+ : 0.0;
+ }
+ }
-+
- /****** wstrncmp ***************************************************************
- PROTO int wstrncmp(char *cs, char *ct, int n)
- PURPOSE simple wildcard strcmp.
-diff -ur sextractor-2.5.0.old/src/growth.c sextractor-2.5.0/src/growth.c
---- sextractor-2.5.0.old/src/growth.c 2005-10-24 13:48:52.000000000 +0200
-+++ sextractor-2.5.0/src/growth.c 2006-07-25 23:27:35.000000000 +0200
+ /* Bar World coordinates */
+- obj2->prof_bar_thetaerrw = obj2->prof_bar_thetaerr;
++ outobj2.prof_bar_thetaerrw = outobj2.prof_bar_thetaerr;
+ if (FLAG(obj2.prof_bar_lengthw))
+ {
+- ct = cos(obj2->prof_bar_theta*DEG);
+- st = sin(obj2->prof_bar_theta*DEG);
+- dx2 = obj2->prof_bar_length*obj2->prof_bar_length * (ct*ct
+- + st*st * obj2->prof_bar_aspect*obj2->prof_bar_aspect);
+- dy2 = obj2->prof_bar_length*obj2->prof_bar_length * (st*st
+- + ct*ct * obj2->prof_bar_aspect*obj2->prof_bar_aspect);
+- dxy = ct*st * obj2->prof_bar_length*obj2->prof_bar_length
+- *(1.0 - obj2->prof_bar_aspect*obj2->prof_bar_aspect);
++ ct = cos(outobj2.prof_bar_theta*DEG);
++ st = sin(outobj2.prof_bar_theta*DEG);
++ dx2 = outobj2.prof_bar_length*outobj2.prof_bar_length * (ct*ct
++ + st*st * outobj2.prof_bar_aspect*outobj2.prof_bar_aspect);
++ dy2 = outobj2.prof_bar_length*outobj2.prof_bar_length * (st*st
++ + ct*ct * outobj2.prof_bar_aspect*outobj2.prof_bar_aspect);
++ dxy = ct*st * outobj2.prof_bar_length*outobj2.prof_bar_length
++ *(1.0 - outobj2.prof_bar_aspect*outobj2.prof_bar_aspect);
+ xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy;
+ ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy;
+ xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy;
+ temp=xm2-ym2;
+ if (FLAG(obj2.prof_bar_thetaw))
+ {
+- obj2->prof_bar_thetaw = fmod_m90_p90((temp == 0.0)?
++ outobj2.prof_bar_thetaw = fmod_m90_p90((temp == 0.0)?
+ (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG));
+
+ /*---- Compute position angles in J2000 or B1950 reference frame */
+ if (wcs->lng != wcs->lat)
+ {
+ if (FLAG(obj2.prof_bar_thetas))
+- obj2->prof_bar_thetas = fmod_m90_p90(lng<lat?
+- ((obj2->prof_bar_thetaw>0.0?90:-90.0)
+- - obj2->prof_bar_thetaw)
+- : obj2->prof_bar_thetaw);
++ outobj2.prof_bar_thetas = fmod_m90_p90(lng<lat?
++ ((outobj2.prof_bar_thetaw>0.0?90:-90.0)
++ - outobj2.prof_bar_thetaw)
++ : outobj2.prof_bar_thetaw);
+ if (FLAG(obj2.prof_bar_theta2000))
+- obj2->prof_bar_theta2000 = fmod_m90_p90(obj2->prof_bar_thetas
+- + obj2->dtheta2000);
++ outobj2.prof_bar_theta2000 = fmod_m90_p90(outobj2.prof_bar_thetas
++ + outobj2.dtheta2000);
+ if (FLAG(obj2.prof_bar_theta1950))
+- obj2->prof_bar_theta1950 = fmod_m90_p90(obj2->prof_bar_thetas
+- + obj2->dtheta1950);
++ outobj2.prof_bar_theta1950 = fmod_m90_p90(outobj2.prof_bar_thetas
++ + outobj2.dtheta1950);
+ }
+ }
+ temp = sqrt(0.25*temp*temp+xym*xym);
+ pm2 = 0.5*(xm2+ym2);
+- obj2->prof_bar_lengthw = sqrt(pm2+temp);
+- obj2->prof_bar_lengtherrw = obj2->prof_bar_length > 0.0?
+- obj2->prof_bar_lengtherr/obj2->prof_bar_length*obj2->prof_bar_lengthw
++ outobj2.prof_bar_lengthw = sqrt(pm2+temp);
++ outobj2.prof_bar_lengtherrw = outobj2.prof_bar_length > 0.0?
++ outobj2.prof_bar_lengtherr/outobj2.prof_bar_length*outobj2.prof_bar_lengthw
+ : 0.0;
+- obj2->prof_bar_aspectw = obj2->prof_bar_lengthw>0.0?
+- sqrt(pm2-temp) / obj2->prof_bar_lengthw
+- : obj2->prof_bar_aspect;
+- obj2->prof_bar_aspecterrw = obj2->prof_bar_aspect > 0.0?
+- obj2->prof_bar_aspecterr/obj2->prof_bar_aspect*obj2->prof_bar_aspectw
++ outobj2.prof_bar_aspectw = outobj2.prof_bar_lengthw>0.0?
++ sqrt(pm2-temp) / outobj2.prof_bar_lengthw
++ : outobj2.prof_bar_aspect;
++ outobj2.prof_bar_aspecterrw = outobj2.prof_bar_aspect > 0.0?
++ outobj2.prof_bar_aspecterr/outobj2.prof_bar_aspect*outobj2.prof_bar_aspectw
+ : 0.0;
+ }
+
+Only in sextractor-2.8.6.new/src: astrom.o
+diff -ur sextractor-2.8.6/src/growth.c sextractor-2.8.6.new/src/growth.c
+--- sextractor-2.8.6/src/growth.c 2009-01-29 14:52:00.000000000 +0100
++++ sextractor-2.8.6.new/src/growth.c 2009-05-24 00:07:56.000000000 +0200
@@ -32,7 +32,7 @@
static double *growth;
static int ngrowth;
-static obj2struct *obj2 = &outobj2;
-+/* static obj2struct *obj2 = &outobj2; */
++
/******************************** initgrowth *********************************/
/*
@@ -889,19 +1190,19 @@ diff -ur sextractor-2.5.0.old/src/growth
i + (tv - *(growtht-1))/dg
: i)
: (*growth !=0.0 ?tv/(*growth) : 0.0));
-diff -ur sextractor-2.5.0.old/src/pc.c sextractor-2.5.0/src/pc.c
---- sextractor-2.5.0.old/src/pc.c 2005-10-24 13:48:52.000000000 +0200
-+++ sextractor-2.5.0/src/pc.c 2006-07-25 23:27:45.000000000 +0200
-@@ -32,7 +32,7 @@
- #include "poly.h"
+Only in sextractor-2.8.6.new/src: growth.o
+diff -ur sextractor-2.8.6/src/pc.c sextractor-2.8.6.new/src/pc.c
+--- sextractor-2.8.6/src/pc.c 2009-01-29 14:52:00.000000000 +0100
++++ sextractor-2.8.6.new/src/pc.c 2009-05-24 00:08:06.000000000 +0200
+@@ -32,7 +32,6 @@
+ #include "wcs/poly.h"
#include "psf.h"
-static obj2struct *obj2 = &outobj2;
-+/* static obj2struct *obj2 = &outobj2; */
/****** pc_end ***************************************************************
PROTO void pc_end(pcstruct *pc)
-@@ -361,22 +361,22 @@
+@@ -361,22 +360,22 @@
/*-- Copy the derived physical quantities to output parameters */
/*-- (subject to changes) */
@@ -936,7 +1237,7 @@ diff -ur sextractor-2.5.0.old/src/pc.c s
for (c=prefs.pc_vectorsize>npc?npc:prefs.pc_vectorsize; c--;)
*(ppix++) = *(solt++);
}
-@@ -397,9 +397,9 @@
+@@ -397,9 +396,9 @@
xym += val**(mxyt++);
}
@@ -949,7 +1250,7 @@ diff -ur sextractor-2.5.0.old/src/pc.c s
if (FLAG(obj2.a_pc))
{
-@@ -421,9 +421,9 @@
+@@ -421,9 +420,9 @@
pmx2 += temp;
pmy2 -= temp;
@@ -962,15 +1263,16 @@ diff -ur sextractor-2.5.0.old/src/pc.c s
}
/* CHECK-Images */
-diff -ur sextractor-2.5.0.old/src/photom.c sextractor-2.5.0/src/photom.c
---- sextractor-2.5.0.old/src/photom.c 2005-10-24 13:48:52.000000000 +0200
-+++ sextractor-2.5.0/src/photom.c 2006-07-25 23:27:55.000000000 +0200
+Only in sextractor-2.8.6.new/src: pc.o
+diff -ur sextractor-2.8.6/src/photom.c sextractor-2.8.6.new/src/photom.c
+--- sextractor-2.8.6/src/photom.c 2009-01-29 14:51:59.000000000 +0100
++++ sextractor-2.8.6.new/src/photom.c 2009-05-24 00:08:35.000000000 +0200
@@ -27,7 +27,7 @@
#include "photom.h"
#include "plist.h"
-static obj2struct *obj2 = &outobj2;
-+/* static obj2struct *obj2 = &outobj2; */
++
/***************************** computeaperflux********************************/
/*
@@ -1193,7 +1495,7 @@ diff -ur sextractor-2.5.0.old/src/photom
:99.0;
/* Choose the ``best'' flux according to the local crowding */
-@@ -835,63 +835,63 @@
+@@ -835,107 +835,107 @@
{
if (obj->flag&OBJ_CROWDED)
{
@@ -1239,7 +1541,7 @@ diff -ur sextractor-2.5.0.old/src/photom
+ 1.086*outobj2.fluxerr_somfit/outobj2.flux_somfit
:99.0;
- /* Mag. PROFILE */
+ /* Mag. models */
if (FLAG(obj2.mag_prof))
- obj2->mag_prof = obj2->flux_prof>0.0?
- -2.5*log10(obj2->flux_prof) + prefs.mag_zeropoint
@@ -1253,6 +1555,70 @@ diff -ur sextractor-2.5.0.old/src/photom
+ 1.086*outobj2.fluxerr_prof/outobj2.flux_prof
:99.0;
+ if (FLAG(obj2.prof_spheroid_mag))
+- obj2->prof_spheroid_mag = obj2->prof_spheroid_flux>0.0?
+- -2.5*log10(obj2->prof_spheroid_flux)
++ outobj2.prof_spheroid_mag = outobj2.prof_spheroid_flux>0.0?
++ -2.5*log10(outobj2.prof_spheroid_flux)
+ + prefs.mag_zeropoint
+ :99.0;
+ if (FLAG(obj2.prof_spheroid_magerr))
+- obj2->prof_spheroid_magerr = obj2->prof_spheroid_flux>0.0?
+- 1.086*obj2->prof_spheroid_fluxerr
+- / obj2->prof_spheroid_flux
++ outobj2.prof_spheroid_magerr = outobj2.prof_spheroid_flux>0.0?
++ 1.086*outobj2.prof_spheroid_fluxerr
++ / outobj2.prof_spheroid_flux
+ :99.0;
+
+ if (FLAG(obj2.prof_disk_mag))
+- obj2->prof_disk_mag = obj2->prof_disk_flux>0.0?
+- -2.5*log10(obj2->prof_disk_flux)
++ outobj2.prof_disk_mag = outobj2.prof_disk_flux>0.0?
++ -2.5*log10(outobj2.prof_disk_flux)
+ + prefs.mag_zeropoint
+ :99.0;
+ if (FLAG(obj2.prof_disk_magerr))
+- obj2->prof_disk_magerr = obj2->prof_disk_flux>0.0?
+- 1.086*obj2->prof_disk_fluxerr
+- / obj2->prof_disk_flux
++ outobj2.prof_disk_magerr = outobj2.prof_disk_flux>0.0?
++ 1.086*outobj2.prof_disk_fluxerr
++ / outobj2.prof_disk_flux
+ :99.0;
+
+ if (FLAG(obj2.prof_bar_mag))
+- obj2->prof_bar_mag = obj2->prof_bar_flux>0.0?
+- -2.5*log10(obj2->prof_bar_flux)
++ outobj2.prof_bar_mag = outobj2.prof_bar_flux>0.0?
++ -2.5*log10(outobj2.prof_bar_flux)
+ + prefs.mag_zeropoint
+ :99.0;
+ if (FLAG(obj2.prof_bar_magerr))
+- obj2->prof_bar_magerr = obj2->prof_bar_flux>0.0?
+- 1.086*obj2->prof_bar_fluxerr
+- /obj2->prof_bar_flux
++ outobj2.prof_bar_magerr = outobj2.prof_bar_flux>0.0?
++ 1.086*outobj2.prof_bar_fluxerr
++ /outobj2.prof_bar_flux
+ :99.0;
+
+ if (FLAG(obj2.prof_arms_mag))
+- obj2->prof_arms_mag = obj2->prof_arms_flux>0.0?
+- -2.5*log10(obj2->prof_arms_flux)
++ outobj2.prof_arms_mag = outobj2.prof_arms_flux>0.0?
++ -2.5*log10(outobj2.prof_arms_flux)
+ + prefs.mag_zeropoint
+ :99.0;
+ if (FLAG(obj2.prof_arms_magerr))
+- obj2->prof_arms_magerr = obj2->prof_arms_flux>0.0?
+- 1.086*obj2->prof_arms_fluxerr
+- /obj2->prof_arms_flux
++ outobj2.prof_arms_magerr = outobj2.prof_arms_flux>0.0?
++ 1.086*outobj2.prof_arms_fluxerr
++ /outobj2.prof_arms_flux
+ :99.0;
+
/* Mag. WINdowed */
if (FLAG(obj2.mag_win))
- obj2->mag_win = obj2->flux_win>0.0?
@@ -1281,7 +1647,7 @@ diff -ur sextractor-2.5.0.old/src/photom
:99.0;
/* SB units */
-@@ -902,7 +902,7 @@
+@@ -946,7 +946,7 @@
: 99.0;
if (FLAG(obj2.threshmu))
@@ -1290,19 +1656,20 @@ diff -ur sextractor-2.5.0.old/src/photom
-2.5*log10((obj->thresh)
/ (field->pixscale * field->pixscale)) + prefs.mag_zeropoint
: 99.0;
-diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c
---- sextractor-2.5.0.old/src/psf.c 2006-07-14 20:22:44.000000000 +0200
-+++ sextractor-2.5.0/src/psf.c 2006-07-25 23:36:58.000000000 +0200
-@@ -309,7 +309,7 @@
+Only in sextractor-2.8.6.new/src: photom.o
+diff -ur sextractor-2.8.6/src/psf.c sextractor-2.8.6.new/src/psf.c
+--- sextractor-2.8.6/src/psf.c 2009-01-29 14:52:00.000000000 +0100
++++ sextractor-2.8.6.new/src/psf.c 2009-05-24 00:10:31.000000000 +0200
+@@ -312,7 +312,7 @@
objstruct *obj)
{
checkstruct *check;
- static obj2struct *obj2 = &outobj2;
-+ /* static obj2struct *obj2 = &outobj2; */
++
static double x2[PSF_NPSFMAX],y2[PSF_NPSFMAX],xy[PSF_NPSFMAX],
deltax[PSF_NPSFMAX],
deltay[PSF_NPSFMAX],flux[PSF_NPSFMAX],
-@@ -349,8 +349,8 @@
+@@ -352,8 +352,8 @@
thepsfit->npsf = 0;
for (j=0; j<npsfmax; j++)
{
@@ -1313,7 +1680,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c
thepsfit->flux[j] = 0.0;
}
-@@ -377,7 +377,7 @@
+@@ -380,7 +380,7 @@
if (prefs.psf_flag==1)
if (prefs.dpsf_flag!=1)
if(!FLAG(obj2.fluxerr_psf))
@@ -1322,7 +1689,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c
QMALLOC(weighth, PIXTYPE, npix);
QMALLOC(weight, double, npix);
-@@ -556,7 +556,7 @@
+@@ -559,7 +559,7 @@
deltaxb[j] = deltax[j];
deltayb[j] = deltay[j];
fluxb[j] = flux[j];
@@ -1331,7 +1698,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c
}
}
}
-@@ -579,7 +579,7 @@
+@@ -582,7 +582,7 @@
if (FLAG(obj2.poserrmx2_psf))
{
@@ -1340,7 +1707,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c
}
else
var += 3*PSF_NA+3;
-@@ -604,7 +604,7 @@
+@@ -607,7 +607,7 @@
chi2 += pix*pix;
if (chi2>1E29) chi2=1E28;
}
@@ -1349,7 +1716,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c
chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999;
}
-@@ -623,7 +623,7 @@
+@@ -626,7 +626,7 @@
chi2 += pix*pix;
if (chi2>1E29) chi2=1E28;
}
@@ -1358,16 +1725,16 @@ diff -ur sextractor-2.5.0.old/src/psf.c
chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999;
}
-@@ -755,7 +755,7 @@
+@@ -758,7 +758,7 @@
ival,npsfmax;
double *pvar;
- static obj2struct *obj2 = &outobj2;
-+ /* static obj2struct *obj2 = &outobj2; */
++
checkdata = NULL; /* To avoid gcc -Wall warnings */
pdx = pdy =dx = dy = 0.0;
ppixstep = 1.0/ppsf->pixstep;
-@@ -773,13 +773,13 @@
+@@ -776,13 +776,13 @@
ppsfit->niter = 0;
ppsfit->npsf = 0;
if(!FLAG(obj2.fluxerr_psf))
@@ -1383,7 +1750,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c
pdeltax[j]= pdeltay[j]=psol[j]= pwmat[j]=pflux[j]=0.0;
}
-@@ -923,7 +923,7 @@
+@@ -926,7 +926,7 @@
{
svdvar(pvmat, pwmat, j, pcovmat);
pvar = pcovmat;
@@ -1392,7 +1759,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c
sqrt(*pvar):99;
}
}
-@@ -940,7 +940,7 @@
+@@ -943,7 +943,7 @@
chi2 += ppix*ppix;
if (chi2>1E29) chi2=1E28;
}
@@ -1401,7 +1768,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c
chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999;
}
-@@ -960,7 +960,7 @@
+@@ -963,7 +963,7 @@
chi2 += ppix*ppix;
if (chi2>1E29) chi2=1E28;
}
@@ -1410,7 +1777,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c
chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999;
}
-@@ -1192,11 +1192,11 @@
+@@ -1195,11 +1195,11 @@
covab = *(++var);
varb = *(var += PSF_NA);
var += PSF_NA+1;
@@ -1425,7 +1792,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c
+covab*(x2[j]*y2[j]+xy[j]*xy[j]))
/(sol[0]*sol[0]);
-@@ -1205,19 +1205,19 @@
+@@ -1208,19 +1208,19 @@
{
double pmx2,pmy2,temp,theta;
@@ -1452,7 +1819,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c
}
/*------ ...Or ellipse parameters */
-@@ -1225,12 +1225,12 @@
+@@ -1228,12 +1228,12 @@
{
double xm2,ym2, xym, temp;
@@ -1471,3 +1838,197 @@ diff -ur sextractor-2.5.0.old/src/psf.c
}
return;
}
+Only in sextractor-2.8.6.new/src: psf.o
+diff -ur sextractor-2.8.6/src/winpos.c sextractor-2.8.6.new/src/winpos.c
+--- sextractor-2.8.6/src/winpos.c 2009-01-29 14:52:00.000000000 +0100
++++ sextractor-2.8.6.new/src/winpos.c 2009-05-24 00:10:49.000000000 +0200
+@@ -26,7 +26,7 @@
+ #include "prefs.h"
+ #include "winpos.h"
+
+-static obj2struct *obj2 = &outobj2;
++
+
+ /****** compute_winpos ********************************************************
+ PROTO void compute_winpos(picstruct *field, picstruct *wfield,
+@@ -71,7 +71,7 @@
+ momentflag = FLAG(obj2.win_mx2) | FLAG(obj2.winposerr_mx2);
+ var = backnoise2 = field->backsig*field->backsig;
+ gain = field->gain;
+- sig = obj2->hl_radius*2.0/2.35; /* From half-FWHM to sigma */
++ sig = outobj2.hl_radius*2.0/2.35; /* From half-FWHM to sigma */
+ twosig2 = 2.0*sig*sig;
+
+ /* Integration radius */
+@@ -99,8 +99,8 @@
+ offsetx = 0.5*(scalex-1.0);
+ offsety = 0.5*(scaley-1.0);
+ /* Use isophotal centroid as a first guess */
+- mx = obj2->posx - 1.0;
+- my = obj2->posy - 1.0;
++ mx = outobj2.posx - 1.0;
++ my = outobj2.posy - 1.0;
+
+ for (i=0; i<WINPOS_NITERMAX; i++)
+ {
+@@ -241,57 +241,57 @@
+ mx2 = mx2/tv - dxpos*dxpos;
+ my2 = my2/tv - dypos*dypos;
+ mxy = mxy/tv - dxpos*dypos;
+- obj2->winpos_x = mx + 1.0; /* The dreaded 1.0 FITS offset */
+- obj2->winpos_y = my + 1.0; /* The dreaded 1.0 FITS offset */
+- obj2->winpos_niter = i+1;
++ outobj2.winpos_x = mx + 1.0; /* The dreaded 1.0 FITS offset */
++ outobj2.winpos_y = my + 1.0; /* The dreaded 1.0 FITS offset */
++ outobj2.winpos_niter = i+1;
+
+ /* WINdowed flux */
+ if (FLAG(obj2.flux_win))
+ {
+- obj2->flux_win = tv;
+- obj2->fluxerr_win = sqrt(esum);
++ outobj2.flux_win = tv;
++ outobj2.fluxerr_win = sqrt(esum);
+ }
+ temp2=mx2*my2-mxy*mxy;
+- obj2->win_flag = (tv <= 0.0)*4 + (mx2 < 0.0 || my2 < 0.0)*2
++ outobj2.win_flag = (tv <= 0.0)*4 + (mx2 < 0.0 || my2 < 0.0)*2
+ + (temp2<0.0);
+- if (obj2->win_flag)
++ if (outobj2.win_flag)
+ {
+ /*--- Negative values: revert to isophotal estimates */
+ if (errflag)
+ {
+- obj2->winposerr_mx2 = obj->poserr_mx2;
+- obj2->winposerr_my2 = obj->poserr_my2;
+- obj2->winposerr_mxy = obj->poserr_mxy;
++ outobj2.winposerr_mx2 = obj->poserr_mx2;
++ outobj2.winposerr_my2 = obj->poserr_my2;
++ outobj2.winposerr_mxy = obj->poserr_mxy;
+ if (FLAG(obj2.winposerr_a))
+ {
+- obj2->winposerr_a = obj2->poserr_a;
+- obj2->winposerr_b = obj2->poserr_b;
+- obj2->winposerr_theta = obj2->poserr_theta;
++ outobj2.winposerr_a = outobj2.poserr_a;
++ outobj2.winposerr_b = outobj2.poserr_b;
++ outobj2.winposerr_theta = outobj2.poserr_theta;
+ }
+ if (FLAG(obj2.winposerr_cxx))
+ {
+- obj2->winposerr_cxx = obj2->poserr_cxx;
+- obj2->winposerr_cyy = obj2->poserr_cyy;
+- obj2->winposerr_cxy = obj2->poserr_cxy;
++ outobj2.winposerr_cxx = outobj2.poserr_cxx;
++ outobj2.winposerr_cyy = outobj2.poserr_cyy;
++ outobj2.winposerr_cxy = outobj2.poserr_cxy;
+ }
+ }
+ if (momentflag)
+ {
+- obj2->win_mx2 = obj->mx2;
+- obj2->win_my2 = obj->my2;
+- obj2->win_mxy = obj->mxy;
++ outobj2.win_mx2 = obj->mx2;
++ outobj2.win_my2 = obj->my2;
++ outobj2.win_mxy = obj->mxy;
+ if (FLAG(obj2.win_cxx))
+ {
+- obj2->win_cxx = obj->cxx;
+- obj2->win_cyy = obj->cyy;
+- obj2->win_cxy = obj->cxy;
++ outobj2.win_cxx = obj->cxx;
++ outobj2.win_cyy = obj->cyy;
++ outobj2.win_cxy = obj->cxy;
+ }
+ if (FLAG(obj2.win_a))
+ {
+- obj2->win_a = obj->a;
+- obj2->win_b = obj->b;
+- obj2->win_polar = obj2->polar;
+- obj2->win_theta = obj->theta;
++ outobj2.win_a = obj->a;
++ outobj2.win_b = obj->b;
++ outobj2.win_polar = outobj2.polar;
++ outobj2.win_theta = obj->theta;
+ }
+ }
+ }
+@@ -311,9 +311,9 @@
+ emy2 += esum;
+ }
+
+- obj2->winposerr_mx2 = emx2;
+- obj2->winposerr_my2 = emy2;
+- obj2->winposerr_mxy = emxy;
++ outobj2.winposerr_mx2 = emx2;
++ outobj2.winposerr_my2 = emy2;
++ outobj2.winposerr_mxy = emxy;
+ /*---- Error ellipse parameters */
+ if (FLAG(obj2.winposerr_a))
+ {
+@@ -329,18 +329,18 @@
+ pmx2+=temp;
+ pmy2-=temp;
+
+- obj2->winposerr_a = (float)sqrt(pmx2);
+- obj2->winposerr_b = (float)sqrt(pmy2);
+- obj2->winposerr_theta = theta*180.0/PI;
++ outobj2.winposerr_a = (float)sqrt(pmx2);
++ outobj2.winposerr_b = (float)sqrt(pmy2);
++ outobj2.winposerr_theta = theta*180.0/PI;
+ }
+
+ if (FLAG(obj2.winposerr_cxx))
+ {
+ double temp;
+
+- obj2->winposerr_cxx = (float)(emy2/(temp=emx2*emy2-emxy*emxy));
+- obj2->winposerr_cyy = (float)(emx2/temp);
+- obj2->winposerr_cxy = (float)(-2*emxy/temp);
++ outobj2.winposerr_cxx = (float)(emy2/(temp=emx2*emy2-emxy*emxy));
++ outobj2.winposerr_cyy = (float)(emx2/temp);
++ outobj2.winposerr_cxy = (float)(-2*emxy/temp);
+ }
+ }
+
+@@ -353,15 +353,15 @@
+ my2 += 0.0833333;
+ temp2 = mx2*my2-mxy*mxy;
+ }
+- obj2->win_mx2 = mx2;
+- obj2->win_my2 = my2;
+- obj2->win_mxy = mxy;
++ outobj2.win_mx2 = mx2;
++ outobj2.win_my2 = my2;
++ outobj2.win_mxy = mxy;
+
+ if (FLAG(obj2.win_cxx))
+ {
+- obj2->win_cxx = (float)(my2/temp2);
+- obj2->win_cyy = (float)(mx2/temp2);
+- obj2->win_cxy = (float)(-2*mxy/temp2);
++ outobj2.win_cxx = (float)(my2/temp2);
++ outobj2.win_cyy = (float)(mx2/temp2);
++ outobj2.win_cxy = (float)(-2*mxy/temp2);
+ }
+
+ if (FLAG(obj2.win_a))
+@@ -373,11 +373,11 @@
+
+ temp = sqrt(0.25*temp*temp+mxy*mxy);
+ pmx2 = 0.5*(mx2+my2);
+- obj2->win_a = (float)sqrt(pmx2 + temp);
+- obj2->win_b = (float)sqrt(pmx2 - temp);
++ outobj2.win_a = (float)sqrt(pmx2 + temp);
++ outobj2.win_b = (float)sqrt(pmx2 - temp);
+ if (FLAG(obj2.win_polar))
+- obj2->win_polar = temp / pmx2;
+- obj2->win_theta = theta*180.0/PI;
++ outobj2.win_polar = temp / pmx2;
++ outobj2.win_theta = theta*180.0/PI;
+ }
+ }
+ }
+Only in sextractor-2.8.6.new/src: winpos.o
Index: sextractor.spec
===================================================================
RCS file: /cvs/pkgs/rpms/sextractor/EL-6/sextractor.spec,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -p -r1.12 -r1.13
--- sextractor.spec 27 Jul 2009 04:13:48 -0000 1.12
+++ sextractor.spec 12 Jul 2010 08:26:13 -0000 1.13
@@ -1,14 +1,16 @@
Name: sextractor
-Version: 2.5.0
-Release: 9%{?dist}
+Version: 2.8.6
+Release: 1%{?dist}
Summary: Extract catalogs of sources from astronomical images
Group: Applications/Engineering
-License: GPLv2
-URL: http://terapix.iap.fr/soft/%{name}
+License: CeCILL
+URL: http://astromatic.iap.fr/software/%{name}
Source0: ftp://ftp.iap.fr/pub/from_users/bertin/sextractor/%{name}-%{version}.tar.gz
-Patch0: sextractor-pointer-alias.patch
+Patch0: sextractor-cflags.patch
Buildroot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+BuildRequires: fftw-devel >= 3.1
+BuildRequires: atlas-devel >= 3.6.0
%description
SExtractor is a program that builds a catalogue of objects from an
@@ -22,29 +24,30 @@ well on moderately crowded star fields.
%build
%configure
-
-%{__make} %{?_smp_mflags}
+make %{?_smp_mflags}
%install
-%{__rm} -fr %{buildroot}
-%{__make} DESTDIR=%{buildroot} install
-%{__mkdir_p} %{buildroot}%{_datadir}/%{name}
-%{__install} -m 644 -p config/*.conv %{buildroot}%{_datadir}/%{name}
-%{__install} -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name}
-
+rm -rf %{buildroot}
+make DESTDIR=%{buildroot} install
+mkdir -p %{buildroot}%{_datadir}/%{name}
+install -m 644 -p config/*.conv %{buildroot}%{_datadir}/%{name}
+install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name}
%clean
-%{__rm} -fr %{buildroot}
+rm -rf %{buildroot}
%files
%defattr(-,root,root)
-%doc AUTHORS BUGS COPYING HISTORY README THANKS doc/README.DOC doc/sextractor.pdf config/default.sex config/default.param
+%doc AUTHORS BUGS COPYRIGHT HISTORY README THANKS doc/README.DOC doc/sextractor.pdf config/default.sex config/default.param
%{_bindir}/*
%{_mandir}/man1/*
%{_mandir}/manx/*
%{_datadir}/%{name}/
%changelog
+* Mon Jul 12 2010 Sergio Pascual <sergiopr at fedoraproject.org> - 2.8.6-1
+- New upstream source
+
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.5.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
@@ -59,21 +62,28 @@ well on moderately crowded star fields.
* Mon Aug 27 2007 Sergio Pascual <spr at astrax.fis.ucm.es> 2.5.0-5.1
- Rebuild for Fedora 8 to get the build-id
+
* Tue Sep 12 2006 Sergio Pascual <spr at astrax.fis.ucm.es> 2.5.0-5
- Rebuilt for FC6.
+
* Wed Jul 26 2006 Sergio Pascual <spr at astrax.fis.ucm.es> 2.5.0-4
- Patch to resolve pointer aliasing problems (bug #199700)
- Removed -DXSL_URL flag, as the file sextractor.xsl does not exist yet
+
* Mon Jul 24 2006 Sergio Pascual <spr at astrax.fis.ucm.es> 2.5.0-3
- Reverting optimization to -O2, it breaks debug infos
+
* Fri Jul 21 2006 Sergio Pascual <spr at astrax.fis.ucm.es> 2.5.0-2
- fitsconv.c has correct permissions
- changed optimization from -O2 to -O1 (bug #199700)
- additional define allows VOTable output
+
* Wed Jul 19 2006 Sergio Pascual <spr at astrax.fis.ucm.es> 2.5.0-1
- New upstream version 2.5.0
+
* Tue Jun 20 2006 Sergio Pascual <spr at astrax.fis.ucm.es> 2.4.4-2
- Fixed executable permission in src/fits/fitsconv.c
- default.sex and default.param moved to docs
+
* Mon Jun 19 2006 Sergio Pascual <spr at astrax.fis.ucm.es> 2.4.4-1
- Initial spec file.
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/sextractor/EL-6/sources,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- sources 19 Jul 2006 16:26:07 -0000 1.3
+++ sources 12 Jul 2010 08:26:13 -0000 1.4
@@ -1 +1 @@
-3dede44685b582ad5ee03f5b69423530 sextractor-2.5.0.tar.gz
+6c2fc529cd89bdd11b1fbafc0866131c sextractor-2.8.6.tar.gz
- Previous message: rpms/python-numdisplay/EL-6 python-numdisplay.spec, 1.8, 1.9 sources, 1.4, 1.5
- Next message: rpms/tkcon/EL-6 tkcon-small.svg, NONE, 1.1 sources, 1.3, 1.4 tkcon.desktop, 1.2, 1.3 tkcon.spec, 1.9, 1.10
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list