00001 #include "idl_export.h"
00002
00003 #define SWAP(a,b) (atemp=a,a=b,b=atemp)
00004 #define SWAP2(TYPE,a,b) {TYPE tmp; tmp=a; a=b; b=tmp;}
00005
00006
00007 #define MAX2(a,b) ( (a) > (b) ? (a) : (b) )
00008 #define MIN2(a,b) ( (a) < (b) ? (a) : (b) )
00009
00010 #define QSRT_k_func2_sig(TYPE)\
00011 void qsrt_k_##TYPE(TYPE a[], long k, long n)
00012
00013 #define QSRT_k_call2(TYPE,a,k,n) qsrt_k_##TYPE(a,k,n)
00014
00015 QSRT_k_func2_sig(UCHAR);
00016 QSRT_k_func2_sig(IDL_INT);
00017 QSRT_k_func2_sig(IDL_UINT);
00018 QSRT_k_func2_sig(IDL_LONG);
00019 QSRT_k_func2_sig(IDL_ULONG);
00020 QSRT_k_func2_sig(IDL_LONG64);
00021 QSRT_k_func2_sig(IDL_ULONG64);
00022 QSRT_k_func2_sig(float);
00023 QSRT_k_func2_sig(double);
00024
00025
00026 #define FMEDIAN_CORE_FUNC2_SIG(TYPE) \
00027 void fmedian_core_##TYPE \
00028 (TYPE *in,TYPE *out,TYPE *work, \
00029 int nx, int ny, int xbox,int ybox, \
00030 int always,TYPE missing,int find_missing)
00031
00032 #define FMEDIAN_CALL(TYPE,in,out,work,nx,ny,xbox,ybox, \
00033 always, missing, find_missing) \
00034 fmedian_core_##TYPE((TYPE*)in,(TYPE*)out,(TYPE*)work,nx,ny, \
00035 xbox,ybox, always, missing, find_missing)
00036
00037
00038 FMEDIAN_CORE_FUNC2_SIG(UCHAR);
00039 FMEDIAN_CORE_FUNC2_SIG(IDL_INT);
00040 FMEDIAN_CORE_FUNC2_SIG(IDL_UINT);
00041 FMEDIAN_CORE_FUNC2_SIG(IDL_LONG);
00042 FMEDIAN_CORE_FUNC2_SIG(IDL_ULONG);
00043 FMEDIAN_CORE_FUNC2_SIG(IDL_LONG64);
00044 FMEDIAN_CORE_FUNC2_SIG(IDL_ULONG64);
00045 FMEDIAN_CORE_FUNC2_SIG(float);
00046 FMEDIAN_CORE_FUNC2_SIG(double);
00047