#if !defined( MAPPING_INCLUDED ) /* Include this file only once */
#define MAPPING_INCLUDED
#if HAVE_CONFIG_H
#include <config.h>
#endif
#include "object.h" /* Base Object class */
#include "pointset.h" /* Sets of points/coordinates */
#include "channel.h" /* I/O channels */
#include <stddef.h>
#include <stdint.h>
#if defined(astCLASS) || defined(astFORTRAN77)
#define STATUS_PTR status
#else
#define STATUS_PTR astGetStatusPtr
#endif
#define AST__MAPPING_GETATTRIB_BUFF_LEN 50
#define AST__MAPPING_RATEFUN_MAX_CACHE 5
#define AST__URESAMP1 (1) /* Flags reserved for user-defined purposes */
#define AST__URESAMP2 (2)
#define AST__URESAMP3 (4)
#define AST__URESAMP4 (8)
#define AST__USEVAR (16) /* Use variance arrays? */
#define AST__USEBAD (32) /* Recognise bad pixels? */
#define AST__CONSERVEFLUX (64) /* Conserve flux? */
#define AST__REBININIT (128) /* Initialise a new sequence of calls to astRebinSeq? */
#define AST__REBINEND (256) /* End a sequence of calls to astRebinSeq? */
#define AST__GENVAR (512) /* Generate output variances when rebinning? */
#define AST__VARWGT (1024) /* Use input variances as weights? */
#define AST__NOBAD (2048) /* Leave bad output values unchanged? */
#define AST__DISVAR (4096) /* Generate distribution (not mean) variance? */
#define AST__NONORM (8192) /* No normalisation required at end? */
#define AST__PARWGT (16384) /* Use supplied constant weight? */
#define AST__UKERN1 (1) /* User-supplied 1-d interpolation kernel */
#if 0 /* Not yet implemented */
#define AST__UKERNN (2) /* User-supplied n-d interpolation kernel */
#endif
#define AST__UINTERP (3) /* User-supplied interpolation function */
#define AST__NEAREST (4) /* Use pixel with nearest centre */
#define AST__LINEAR (5) /* Simple linear interpolation */
#define AST__SINC (6) /* sinc(pi*x) interpolation */
#define AST__SINCSINC (7) /* sinc(pi*x)*sinc(k*pi*x) interpolation */
#define AST__SINCCOS (8) /* sinc(pi*x)*cos(k*pi*x) interpolation */
#define AST__SINCGAUSS (9) /* sinc(pi*x)*exp(-k*x*x) interpolation */
#define AST__BLOCKAVE (10) /* Block averaging interpolation */
#define AST__GAUSS (11) /* exp(-k*x*x) spreading */
#define AST__SOMB (12) /* somp(pi*x) interpolation */
#define AST__SOMBCOS (13) /* somp(pi*x)*cos(k*pi*x) interpolation */
#if HAVE_INT64_T && HAVE_UINT64_T
#include <stdint.h>
typedef
int64_t INT_BIG;
typedef
uint64_t UINT_BIG;
#elif SIZEOF_LONG == 8
typedef
long
int
INT_BIG;
typedef
unsigned
long
int
UINT_BIG;
#elif SIZEOF_LONG_LONG == 8
typedef
long
long
int
INT_BIG;
typedef
unsigned
long
long
int
UINT_BIG;
#else
#define INT_BIG "no int64_t type available"
#define UINT_BIG "no uint64_t type available"
#endif
#if defined(astCLASS) /* Protected */
#define AST__ISSIMPLE_FLAG 1 /* Mapping has been simplified */
#define AST__FROZEN_FLAG 2 /* Mapping cannot be nominated for simplification */
#define AST__RESTRICTED_SIMPLIFY_FLAG 4 /* Simplify should nominate only those
Mappings with the ALLOW_SIMPLIFY flag set */
#define AST__ALLOW_SIMPLIFY_FLAG 8 /* Nominate Mapping even if Simplify has
been restricted */
#define astSetIsSimple(this) \
((
void
)(
this
&&(((AstMapping*)
this
)->flags|=AST__ISSIMPLE_FLAG)))
#define astClearIsSimple(this) \
((
void
)(
this
&&(((AstMapping*)
this
)->flags&=~AST__ISSIMPLE_FLAG)))
#define astIsSimple(this) \
(
this
&&((((AstMapping*)
this
)->flags&AST__ISSIMPLE_FLAG)!=0))
#define astSetFrozen(this) \
((
void
)(
this
&&(((AstMapping*)
this
)->flags|=AST__FROZEN_FLAG)))
#define astClearFrozen(this) \
((
void
)(
this
&&(((AstMapping*)
this
)->flags&=~AST__FROZEN_FLAG)))
#define astFrozen(this) \
(
this
&&((((AstMapping*)
this
)->flags&AST__FROZEN_FLAG)!=0))
#define astSetRestrictedSimplify(this) \
((
void
)(
this
&&(((AstMapping*)
this
)->flags|=AST__RESTRICTED_SIMPLIFY_FLAG)))
#define astClearRestrictedSimplify(this) \
((
void
)(
this
&&(((AstMapping*)
this
)->flags&=~AST__RESTRICTED_SIMPLIFY_FLAG)))
#define astRestrictedSimplify(this) \
(
this
&&((((AstMapping*)
this
)->flags&AST__RESTRICTED_SIMPLIFY_FLAG)!=0))
#define astSetAllowSimplify(this) \
((
void
)(
this
&&(((AstMapping*)
this
)->flags|=AST__ALLOW_SIMPLIFY_FLAG)))
#define astClearAllowSimplify(this) \
((
void
)(
this
&&(((AstMapping*)
this
)->flags&=~AST__ALLOW_SIMPLIFY_FLAG)))
#define astAllowSimplify(this) \
(
this
&&((((AstMapping*)
this
)->flags&AST__ALLOW_SIMPLIFY_FLAG)!=0))
#endif
typedef
struct
AstMapping {
AstObject object;
char
invert;
char
flags;
int
nin;
int
nout;
char
report;
char
tran_forward;
char
tran_inverse;
} AstMapping;
#if defined(astCLASS) /* Protected */
typedef
struct
AstMappingVtab {
AstObjectVtab object_vtab;
AstClassIdentifier id;
AstMapping *(* RemoveRegions)( AstMapping *,
int
* );
AstMapping *(* Simplify)( AstMapping *,
int
* );
AstPointSet *(* Transform)( AstMapping *, AstPointSet *,
int
, AstPointSet *,
int
* );
double
(* Rate)( AstMapping *,
double
*,
int
,
int
,
int
* );
int
(* DoNotSimplify)( AstMapping *,
int
* );
int
(* GetInvert)( AstMapping *,
int
* );
int
(* GetIsSimple)( AstMapping *,
int
* );
int
(* GetNin)( AstMapping *,
int
* );
int
(* GetNout)( AstMapping *,
int
* );
int
(* GetReport)( AstMapping *,
int
* );
int
(* GetTranForward)( AstMapping *,
int
* );
int
(* GetTranInverse)( AstMapping *,
int
* );
int
(* GetIsLinear)( AstMapping *,
int
* );
int
(* LinearApprox)( AstMapping *,
const
double
*,
const
double
*,
double
,
double
*,
int
* );
int
(* MapMerge)( AstMapping *,
int
,
int
,
int
*, AstMapping ***,
int
**,
int
* );
int
(* QuadApprox)( AstMapping *,
const
double
[2],
const
double
[2],
int
,
int
,
double
*,
double
*,
int
* );
int
(* TestInvert)( AstMapping *,
int
* );
int
(* TestReport)( AstMapping *,
int
* );
void
(* ClearInvert)( AstMapping *,
int
* );
void
(* ClearReport)( AstMapping *,
int
* );
void
(* Decompose)( AstMapping *, AstMapping **, AstMapping **,
int
*,
int
*,
int
*,
int
* );
void
(* Invert)(
struct
AstMapping *,
int
* );
void
(* MapBox)( AstMapping *,
const
double
[],
const
double
[],
int
,
int
,
double
*,
double
*,
double
[],
double
[],
int
* );
int
(* MapList)( AstMapping *,
int
,
int
,
int
*, AstMapping ***,
int
**,
int
* );
int
*(* MapSplit)( AstMapping *,
int
,
const
int
*, AstMapping **,
int
* );
void
(* ReportPoints)( AstMapping *,
int
, AstPointSet *, AstPointSet *,
int
* );
void
(* SetInvert)( AstMapping *,
int
,
int
* );
void
(* SetReport)( AstMapping *,
int
,
int
* );
void
(* Tran1)( AstMapping *, AstDim,
const
double
[],
int
,
double
[],
int
* );
void
(* Tran2)( AstMapping *, AstDim,
const
double
[],
const
double
[],
int
,
double
[],
double
[],
int
* );
void
(* TranGrid)( AstMapping *,
int
,
const
AstDim[],
const
AstDim[],
double
,
int
,
int
,
int
, AstDim,
double
*,
int
* );
void
(* TranN)( AstMapping *, AstDim,
int
, AstDim,
const
double
*,
int
,
int
, AstDim,
double
*,
int
* );
void
(* TranP)( AstMapping *, AstDim,
int
,
const
double
*[],
int
,
int
,
double
*[],
int
* );
#define DECLARE_GENERIC_ALL(X,Xtype) \
AstDim (* Resample##X)( AstMapping *,
int
,
const
AstDim [],
const
AstDim [], \
const
Xtype [],
const
Xtype [],
int
, \
void
(*)(
void
),
const
double
[],
int
,
double
,
int
, \
Xtype,
int
,
const
AstDim [],
const
AstDim [], \
const
AstDim [],
const
AstDim [], Xtype [], Xtype [],
int
* ); \
DECLARE_GENERIC_ALL(B,
signed
char
)
DECLARE_GENERIC_ALL(D,
double
)
DECLARE_GENERIC_ALL(F,
float
)
DECLARE_GENERIC_ALL(I,
int
)
DECLARE_GENERIC_ALL(K,INT_BIG)
DECLARE_GENERIC_ALL(L,
long
int
)
DECLARE_GENERIC_ALL(S,
short
int
)
DECLARE_GENERIC_ALL(UB,unsigned
char
)
DECLARE_GENERIC_ALL(UI,unsigned
int
)
DECLARE_GENERIC_ALL(UK,UINT_BIG)
DECLARE_GENERIC_ALL(UL,unsigned
long
int
)
DECLARE_GENERIC_ALL(US,unsigned
short
int
)
#if HAVE_LONG_DOUBLE /* Not normally implemented */
DECLARE_GENERIC_ALL(LD,
long
double
)
#endif
#undef DECLARE_GENERIC_ALL
#define DECLARE_GENERIC_DFI(X,Xtype) \
void
(* Rebin##X)( AstMapping *,
double
,
int
,
const
AstDim [],
const
AstDim [], \
const
Xtype [],
const
Xtype [],
int
,
const
double
[],
int
, \
double
,
int
, Xtype,
int
,
const
AstDim [],
const
AstDim [], \
const
AstDim [],
const
AstDim [], Xtype [], Xtype [],
int
* ); \
void
(* RebinSeq##X)( AstMapping *,
double
,
int
,
const
AstDim [],
const
AstDim [], \
const
Xtype [],
const
Xtype [],
int
,
const
double
[], \
int
,
double
,
int
, Xtype,
int
,
const
AstDim [], \
const
AstDim [],
const
AstDim [],
const
AstDim [], Xtype [], \
Xtype [],
double
[], int64_t *,
int
* );
DECLARE_GENERIC_DFI(D,
double
)
DECLARE_GENERIC_DFI(F,
float
)
DECLARE_GENERIC_DFI(I,
int
)
DECLARE_GENERIC_DFI(B,
signed
char
)
DECLARE_GENERIC_DFI(UB,unsigned
char
)
#if HAVE_LONG_DOUBLE /* Not normally implemented */
DECLARE_GENERIC_DFI(LD,
long
double
)
#endif
#undef DECLARE_GENERIC_DFI
} AstMappingVtab;
#if defined(THREAD_SAFE)
typedef
struct
AstMappingGlobals {
AstMappingVtab Class_Vtab;
int
Class_Init;
char
GetAttrib_Buff[ AST__MAPPING_GETATTRIB_BUFF_LEN + 1 ];
AstMapping *Unsimplified_Mapping;
int
Rate_Disabled;
AstPointSet *RateFun_Pset1_Cache[ AST__MAPPING_RATEFUN_MAX_CACHE ];
AstPointSet *RateFun_Pset2_Cache[ AST__MAPPING_RATEFUN_MAX_CACHE ];
int
RateFun_Next_Slot;
int
RateFun_Pset_Size[ AST__MAPPING_RATEFUN_MAX_CACHE ];
} AstMappingGlobals;
#endif
#endif
astPROTO_CHECK(Mapping)
astPROTO_ISA(Mapping)
#if defined(astCLASS) /* Protected */
AstMapping *astInitMapping_(
void
*,
size_t
,
int
, AstMappingVtab *,
const
char
*,
int
,
int
,
int
,
int
,
int
* );
void
astInitMappingVtab_( AstMappingVtab *,
const
char
*,
int
* );
AstMapping *astLoadMapping_(
void
*,
size_t
, AstMappingVtab *,
const
char
*, AstChannel *channel,
int
* );
#if defined(THREAD_SAFE)
void
astInitMappingGlobals_( AstMappingGlobals * );
#endif
#endif
#define PROTO_GENERIC_ALL(X,Xtype) \
AstDim astResample8##X##_( AstMapping *,
int
,
const
AstDim [],
const
AstDim [], \
const
Xtype [],
const
Xtype [],
int
, \
void
(*)(
void
),
const
double
[],
int
,
double
,
int
, \
Xtype,
int
,
const
AstDim [],
const
AstDim [], \
const
AstDim [],
const
AstDim [], Xtype [], Xtype [],
int
* ); \
PROTO_GENERIC_ALL(B,
signed
char
)
PROTO_GENERIC_ALL(D,
double
)
PROTO_GENERIC_ALL(F,
float
)
PROTO_GENERIC_ALL(I,
int
)
PROTO_GENERIC_ALL(K,INT_BIG)
PROTO_GENERIC_ALL(L,
long
int
)
PROTO_GENERIC_ALL(S,
short
int
)
PROTO_GENERIC_ALL(UB,unsigned
char
)
PROTO_GENERIC_ALL(UI,unsigned
int
)
PROTO_GENERIC_ALL(UK,UINT_BIG)
PROTO_GENERIC_ALL(UL,unsigned
long
int
)
PROTO_GENERIC_ALL(US,unsigned
short
int
)
#if HAVE_LONG_DOUBLE /* Not normally implemented */
PROTO_GENERIC_ALL(LD,
long
double
)
#endif
#undef PROTO_GENERIC_ALL
#define PROTO_GENERIC_ALL(X,Xtype) \
int
astResample4##X##_( AstMapping *,
int
,
const
int
[],
const
int
[], \
const
Xtype [],
const
Xtype [],
int
, \
void
(*)(
void
),
const
double
[],
int
,
double
,
int
, \
Xtype,
int
,
const
int
[],
const
int
[], \
const
int
[],
const
int
[], Xtype [], Xtype [],
int
* ); \
PROTO_GENERIC_ALL(B,
signed
char
)
PROTO_GENERIC_ALL(D,
double
)
PROTO_GENERIC_ALL(F,
float
)
PROTO_GENERIC_ALL(I,
int
)
PROTO_GENERIC_ALL(K,INT_BIG)
PROTO_GENERIC_ALL(L,
long
int
)
PROTO_GENERIC_ALL(S,
short
int
)
PROTO_GENERIC_ALL(UB,unsigned
char
)
PROTO_GENERIC_ALL(UI,unsigned
int
)
PROTO_GENERIC_ALL(UK,UINT_BIG)
PROTO_GENERIC_ALL(UL,unsigned
long
int
)
PROTO_GENERIC_ALL(US,unsigned
short
int
)
#if HAVE_LONG_DOUBLE /* Not normally implemented */
PROTO_GENERIC_ALL(LD,
long
double
)
#endif
#undef PROTO_GENERIC_ALL
#define PROTO_GENERIC_DFI(X,Xtype) \
void
astRebin4##X##_( AstMapping *,
double
,
int
,
const
int
[],
const
int
[], \
const
Xtype [],
const
Xtype [],
int
,
const
double
[],
int
, \
double
,
int
, Xtype,
int
,
const
int
[],
const
int
[], \
const
int
[],
const
int
[], Xtype [], Xtype [],
int
* ); \
void
astRebin8##X##_( AstMapping *,
double
,
int
,
const
AstDim [],
const
AstDim [], \
const
Xtype [],
const
Xtype [],
int
,
const
double
[],
int
, \
double
,
int
, Xtype,
int
,
const
AstDim [],
const
AstDim [], \
const
AstDim [],
const
AstDim [], Xtype [], Xtype [],
int
* ); \
void
astRebinSeq4##X##_( AstMapping *,
double
,
int
,
const
int
[],
const
int
[], \
const
Xtype [],
const
Xtype [],
int
,
const
double
[], \
int
,
double
,
int
, Xtype,
int
,
const
int
[], \
const
int
[],
const
int
[],
const
int
[], Xtype [], \
Xtype [],
double
[], int64_t *,
int
* ); \
void
astRebinSeq8##X##_( AstMapping *,
double
,
int
,
const
AstDim [],
const
AstDim [], \
const
Xtype [],
const
Xtype [],
int
,
const
double
[], \
int
,
double
,
int
, Xtype,
int
,
const
AstDim [], \
const
AstDim [],
const
AstDim [],
const
AstDim [], Xtype [], \
Xtype [],
double
[], int64_t *,
int
* );
PROTO_GENERIC_DFI(D,
double
)
PROTO_GENERIC_DFI(F,
float
)
PROTO_GENERIC_DFI(I,
int
)
PROTO_GENERIC_DFI(B,
signed
char
)
PROTO_GENERIC_DFI(UB,unsigned
char
)
#if HAVE_LONG_DOUBLE /* Not normally implemented */
PROTO_GENERIC_DFI(LD,
long
double
)
#endif
#undef PROTO_GENERIC_DFI
AstMapping *astRemoveRegions_( AstMapping *,
int
* );
AstMapping *astSimplify_( AstMapping *,
int
* );
void
astInvert_( AstMapping *,
int
* );
int
astLinearApprox_( AstMapping *,
const
double
*,
const
double
*,
double
,
double
*,
int
* );
int
astQuadApprox_( AstMapping *,
const
double
[2],
const
double
[2],
int
,
int
,
double
*,
double
*,
int
* );
void
astTran18_( AstMapping *, AstDim,
const
double
[],
int
,
double
[],
int
* );
void
astTran28_( AstMapping *, AstDim,
const
double
[],
const
double
[],
int
,
double
[],
double
[],
int
* );
void
astTranGrid4_( AstMapping *,
int
,
const
int
[],
const
int
[],
double
,
int
,
int
,
int
,
int
,
double
*,
int
* );
void
astTranGrid8_( AstMapping *,
int
,
const
AstDim[],
const
AstDim[],
double
,
int
,
int
,
int
, AstDim,
double
*,
int
* );
void
astTranN8_( AstMapping *, AstDim,
int
, AstDim,
const
double
*,
int
,
int
, AstDim,
double
*,
int
* );
void
astTranP8_( AstMapping *, AstDim,
int
,
const
double
*[],
int
,
int
,
double
*[],
int
* );
#if defined(astCLASS) /* Protected */
void
astDecompose_( AstMapping *, AstMapping **, AstMapping **,
int
*,
int
*,
int
*,
int
* );
void
astMapBox_( AstMapping *,
const
double
[],
const
double
[],
int
,
int
,
double
*,
double
*,
double
[],
double
[],
int
* );
double
astRate_( AstMapping *,
double
*,
int
,
int
,
int
* );
int
*astMapSplit_( AstMapping *,
int
,
const
int
*, AstMapping **,
int
* );
#else
void
astDecomposeId_( AstMapping *, AstMapping **, AstMapping **,
int
*,
int
*,
int
*,
int
* );
void
astMapBoxId_( AstMapping *,
const
double
[],
const
double
[],
int
,
int
,
double
*,
double
*,
double
[],
double
[],
int
* );
double
astRateId_( AstMapping *,
double
*,
int
,
int
,
int
* );
void
astMapSplitId_( AstMapping *,
int
,
const
int
*,
int
*, AstMapping **,
int
* );
#endif
#if defined(astCLASS) /* Protected */
int
astRateState_(
int
,
int
* );
AstPointSet *astTransform_( AstMapping *, AstPointSet *,
int
, AstPointSet *,
int
* );
int
astGetInvert_( AstMapping *,
int
* );
int
astGetIsSimple_( AstMapping *,
int
* );
int
astGetNin_( AstMapping *,
int
* );
int
astGetNout_( AstMapping *,
int
* );
int
astGetReport_( AstMapping *,
int
* );
int
astGetTranForward_( AstMapping *,
int
* );
int
astGetTranInverse_( AstMapping *,
int
* );
int
astGetIsLinear_( AstMapping *,
int
* );
int
astDoNotSimplify_( AstMapping *,
int
* );
int
astMapMerge_( AstMapping *,
int
,
int
,
int
*, AstMapping ***,
int
**,
int
* );
int
astTestInvert_( AstMapping *,
int
* );
int
astTestReport_( AstMapping *,
int
* );
void
astClearInvert_( AstMapping *,
int
* );
void
astClearReport_( AstMapping *,
int
* );
int
astMapList_( AstMapping *,
int
,
int
,
int
*, AstMapping ***,
int
**,
int
* );
void
astReportPoints_( AstMapping *,
int
, AstPointSet *, AstPointSet *,
int
* );
void
astSetInvert_( AstMapping *,
int
,
int
* );
void
astSetReport_( AstMapping *,
int
,
int
* );
#endif
#define astCheckMapping(this) astINVOKE_CHECK(Mapping,this,0)
#define astVerifyMapping(this) astINVOKE_CHECK(Mapping,this,1)
#define astIsAMapping(this) astINVOKE_ISA(Mapping,this)
#if defined(astCLASS) /* Protected */
#define astInitMapping(mem,size,init,vtab,name,nin,nout,tran_forward,tran_inverse) \
astINVOKE(O,astInitMapping_(mem,size,init,vtab,name,nin,nout,tran_forward,tran_inverse,STATUS_PTR))
#define astInitMappingVtab(vtab,name) astINVOKE(V,astInitMappingVtab_(vtab,name,STATUS_PTR))
#define astLoadMapping(mem,size,vtab,name,channel) \
astINVOKE(O,astLoadMapping_(mem,size,vtab,name,astCheckChannel(channel),STATUS_PTR))
#endif
#define astResampleB(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample4B_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResample8B(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample8B_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResampleD(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample4D_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResample8D(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample8D_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResampleF(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample4F_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResample8F(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample8F_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResampleI(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample4I_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResample8I(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample8I_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResampleK(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample4K_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResample8K(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample8K_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResampleL(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample4L_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResample8L(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample8L_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResampleS(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample4S_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResample8S(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample8S_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResampleUB(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample4UB_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResample8UB(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample8UB_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResampleUI(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample4UI_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResample8UI(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample8UI_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResampleUK(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample4UK_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResample8UK(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample8UK_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResampleUL(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample4UL_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResample8UL(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample8UL_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResampleUS(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample4US_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResample8US(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample8US_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#if HAVE_LONG_DOUBLE /* Not normally implemented */
#define astResampleLD(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample4LD_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astResample8LD(this,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astResample8LD_(astCheckMapping(
this
),ndim_in,lbnd_in,ubnd_in,in,in_var,interp,finterp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#endif
#define astInvert(this) \
astINVOKE(V,astInvert_(astCheckMapping(
this
),STATUS_PTR))
#define astLinearApprox(this,lbnd,ubnd,tol,fit) \
astINVOKE(V,astLinearApprox_(astCheckMapping(
this
),lbnd,ubnd,tol,fit,STATUS_PTR))
#define astQuadApprox(this,lbnd,ubnd,nx,ny,fit,rms) \
astINVOKE(V,astQuadApprox_(astCheckMapping(
this
),lbnd,ubnd,nx,ny,fit,rms,STATUS_PTR))
#define astRebinD(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astRebin4D_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astRebinF(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astRebin4F_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astRebinI(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astRebin4I_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astRebinB(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astRebin4B_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astRebinUB(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astRebin4UB_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astRebin8D(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astRebin8D_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astRebin8F(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astRebin8F_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astRebin8I(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astRebin8I_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astRebin8B(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astRebin8B_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astRebin8UB(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var) \
astINVOKE(V,astRebin8UB_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,STATUS_PTR))
#define astRebinSeqD(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused) \
astINVOKE(V,astRebinSeq4D_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused,STATUS_PTR))
#define astRebinSeqF(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused) \
astINVOKE(V,astRebinSeq4F_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused,STATUS_PTR))
#define astRebinSeqI(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused) \
astINVOKE(V,astRebinSeq4I_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused,STATUS_PTR))
#define astRebinSeqB(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused) \
astINVOKE(V,astRebinSeq4B_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused,STATUS_PTR))
#define astRebinSeqUB(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused) \
astINVOKE(V,astRebinSeq4UB_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused,STATUS_PTR))
#define astRebinSeq8D(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused) \
astINVOKE(V,astRebinSeq8D_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused,STATUS_PTR))
#define astRebinSeq8F(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused) \
astINVOKE(V,astRebinSeq8F_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused,STATUS_PTR))
#define astRebinSeq8I(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused) \
astINVOKE(V,astRebinSeq8I_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused,STATUS_PTR))
#define astRebinSeq8B(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused) \
astINVOKE(V,astRebinSeq8B_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused,STATUS_PTR))
#define astRebinSeq8UB(this,wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused) \
astINVOKE(V,astRebinSeq8UB_(astCheckMapping(
this
),wlim,ndim_in,lbnd_in,ubnd_in,in,in_var,interp,params,flags,tol,maxpix,badval,ndim_out,lbnd_out,ubnd_out,lbnd,ubnd,out,out_var,weights,nused,STATUS_PTR))
#define astRemoveRegions(this) astINVOKE(O,astRemoveRegions_(astCheckMapping(this),STATUS_PTR))
#define astSimplify(this) astINVOKE(O,astSimplify_(astCheckMapping(this),STATUS_PTR))
#define astTran1(this,npoint,xin,forward,xout) \
astINVOKE(V,astTran18_(astCheckMapping(
this
),npoint,xin,forward,xout,STATUS_PTR))
#define astTran18(this,npoint,xin,forward,xout) \
astINVOKE(V,astTran18_(astCheckMapping(
this
),npoint,xin,forward,xout,STATUS_PTR))
#define astTran2(this,npoint,xin,yin,forward,xout,yout) \
astINVOKE(V,astTran28_(astCheckMapping(
this
),npoint,xin,yin,forward,xout,yout,STATUS_PTR))
#define astTran28(this,npoint,xin,yin,forward,xout,yout) \
astINVOKE(V,astTran28_(astCheckMapping(
this
),npoint,xin,yin,forward,xout,yout,STATUS_PTR))
#define astTranGrid(this,ncoord_in,lbnd,ubnd,tol,maxpix,forward,ncoord_out,outdim,out) \
astINVOKE(V,astTranGrid4_(astCheckMapping(
this
),ncoord_in,lbnd,ubnd,tol,maxpix,forward,ncoord_out,outdim,out,STATUS_PTR))
#define astTranGrid8(this,ncoord_in,lbnd,ubnd,tol,maxpix,forward,ncoord_out,outdim,out) \
astINVOKE(V,astTranGrid8_(astCheckMapping(
this
),ncoord_in,lbnd,ubnd,tol,maxpix,forward,ncoord_out,outdim,out,STATUS_PTR))
#define astTranN(this,npoint,ncoord_in,indim,in,forward,ncoord_out,outdim,out) \
astINVOKE(V,astTranN8_(astCheckMapping(
this
),npoint,ncoord_in,indim,in,forward,ncoord_out,outdim,out,STATUS_PTR))
#define astTranN8(this,npoint,ncoord_in,indim,in,forward,ncoord_out,outdim,out) \
astINVOKE(V,astTranN8_(astCheckMapping(
this
),npoint,ncoord_in,indim,in,forward,ncoord_out,outdim,out,STATUS_PTR))
#define astTranP(this,npoint,ncoord_in,ptr_in,forward,ncoord_out,ptr_out) \
astINVOKE(V,astTranP8_(astCheckMapping(
this
),npoint,ncoord_in,ptr_in,forward,ncoord_out,ptr_out,STATUS_PTR))
#define astTranP8(this,npoint,ncoord_in,ptr_in,forward,ncoord_out,ptr_out) \
astINVOKE(V,astTranP8_(astCheckMapping(
this
),npoint,ncoord_in,ptr_in,forward,ncoord_out,ptr_out,STATUS_PTR))
#if defined(astCLASS) /* Protected */
#define astDecompose(this,map1,map2,series,inv1,inv2) \
astINVOKE(V,astDecompose_(astCheckMapping(
this
),(AstMapping **)(map1),(AstMapping **)(map2),series,inv1,inv2,STATUS_PTR))
#define astMapBox(this,lbnd_in,ubnd_in,forward,coord_out,lbnd_out,ubnd_out,xl,xu) \
astINVOKE(V,astMapBox_(astCheckMapping(
this
),lbnd_in,ubnd_in,forward,coord_out,lbnd_out,ubnd_out,xl,xu,STATUS_PTR))
#define astRate(this,at,ax1,ax2) \
astINVOKE(V,astRate_(astCheckMapping(
this
),at,ax1,ax2,STATUS_PTR))
#define astMapSplit(this,nin,in,map) \
astINVOKE(V,astMapSplit_(
this
,nin,in,map,STATUS_PTR))
#else
#define astDecompose(this,map1,map2,series,inv1,inv2) \
astINVOKE(V,astDecomposeId_(astCheckMapping(
this
),(AstMapping **)(map1),(AstMapping **)(map2),series,inv1,inv2,STATUS_PTR))
#define astMapBox(this,lbnd_in,ubnd_in,forward,coord_out,lbnd_out,ubnd_out,xl,xu) \
astINVOKE(V,astMapBoxId_(astCheckMapping(
this
),lbnd_in,ubnd_in,forward,coord_out,lbnd_out,ubnd_out,xl,xu,STATUS_PTR))
#define astRate(this,at,ax1,ax2) \
astINVOKE(V,astRateId_(astCheckMapping(
this
),at,ax1,ax2,STATUS_PTR))
#define astMapSplit(this,nin,in,out,map) \
astINVOKE(V,astMapSplitId_(astCheckMapping(
this
),nin,in,out,map,STATUS_PTR))
#endif
#if defined(astCLASS) /* Protected */
#define astRateState(disabled) astRateState_(disabled,STATUS_PTR)
#define astClearInvert(this) \
astINVOKE(V,astClearInvert_(astCheckMapping(
this
),STATUS_PTR))
#define astClearReport(this) \
astINVOKE(V,astClearReport_(astCheckMapping(
this
),STATUS_PTR))
#define astGetInvert(this) \
astINVOKE(V,astGetInvert_(astCheckMapping(
this
),STATUS_PTR))
#define astGetIsSimple(this) \
astINVOKE(V,astGetIsSimple_(astCheckMapping(
this
),STATUS_PTR))
#define astGetNin(this) \
astINVOKE(V,astGetNin_(astCheckMapping(
this
),STATUS_PTR))
#define astGetNout(this) \
astINVOKE(V,astGetNout_(astCheckMapping(
this
),STATUS_PTR))
#define astGetReport(this) \
astINVOKE(V,astGetReport_(astCheckMapping(
this
),STATUS_PTR))
#define astGetTranForward(this) \
astINVOKE(V,astGetTranForward_(astCheckMapping(
this
),STATUS_PTR))
#define astGetTranInverse(this) \
astINVOKE(V,astGetTranInverse_(astCheckMapping(
this
),STATUS_PTR))
#define astGetIsLinear(this) \
astINVOKE(V,astGetIsLinear_(astCheckMapping(
this
),STATUS_PTR))
#define astMapList(this,series,invert,nmap,map_list,invert_list) \
astINVOKE(V,astMapList_(
this
,series,invert,nmap,map_list,invert_list,STATUS_PTR))
#define astMapMerge(this,where,series,nmap,map_list,invert_list) \
astINVOKE(V,astMapMerge_(astCheckMapping(
this
),where,series,nmap,map_list,invert_list,STATUS_PTR))
#define astReportPoints(this,forward,in_points,out_points) \
astINVOKE(V,astReportPoints_(astCheckMapping(
this
),forward,astCheckPointSet(in_points),astCheckPointSet(out_points),STATUS_PTR))
#define astSetInvert(this,value) \
astINVOKE(V,astSetInvert_(astCheckMapping(
this
),value,STATUS_PTR))
#define astSetReport(this,value) \
astINVOKE(V,astSetReport_(astCheckMapping(
this
),value,STATUS_PTR))
#define astTestInvert(this) \
astINVOKE(V,astTestInvert_(astCheckMapping(
this
),STATUS_PTR))
#define astTestReport(this) \
astINVOKE(V,astTestReport_(astCheckMapping(
this
),STATUS_PTR))
#define astDoNotSimplify(this) \
astINVOKE(V,astDoNotSimplify_(astCheckMapping(
this
),STATUS_PTR))
#define astTransform(this,in,forward,out) \
astINVOKE(O,astTransform_(astCheckMapping(
this
),astCheckPointSet(in),forward,(out)?astCheckPointSet(out):NULL,STATUS_PTR))
#endif
#endif