!  SCCSID: @(#)DXMLDEF.FOR	1.1  of 6/7/96 
!+
!----------------------------------------------------------------
!
!			  COPYRIGHT (C) 1989 BY
!	      DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
!
! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
! ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
! INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
! COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
! OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
! TRANSFERRED.
!
! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
! AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
! CORPORATION.
!
! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
!
!******************************************************************************
!
!       This include file contains the error code and the data structure
!       definitions for the DXML library 
!
!******************************************************************************
!
!       ERROR CODE FUNCTION DECLARATIONS
!
	INTEGER*4 DXML_SUCCESS
	INTEGER*4 DXML_MAND_ARG
	INTEGER*4 DXML_ILL_TEMP_ARRAY
	INTEGER*4 DXML_IN_VERSION_SKEW
	INTEGER*4 DXML_ILL_N_IS_ODD
	INTEGER*4 DXML_ILL_WIGGLES
	INTEGER*4 DXML_ILL_FLOW
	INTEGER*4 DXML_ILL_F_RANGE
	INTEGER*4 DXML_ILL_N_RANGE
	INTEGER*4 DXML_ILL_N_NONREC
	INTEGER*4 DXML_ILL_NTERMS
	INTEGER*4 DXML_ILL_LDA
	INTEGER*4 DXML_INS_RES
	INTEGER*4 DXML_BAD_STRIDE
        INTEGER*4 DXML_DIRECTION_NOT_MATCH
        INTEGER*4 DXML_BAD_DIRECTION_STRING
        INTEGER*4 DXML_BAD_FORMAT_STRING
        INTEGER*4 DXML_OPTION_NOT_SUPPORTED
        INTEGER*4 DXML_BAD_FORMAT_FOR_DIRECTION
        INTEGER*4 DXML_ILL_SCAL_VECT_CODE
!
!       STRUCTURE DEFINITIONS 
!
        STRUCTURE /DXML_C_FFT_STRUCTURE/ 
           INTEGER*4 N
           LOGICAL*4 STRIDE_1_FLAG
           INTEGER*4 N_TI(0:16)
           INTEGER*4 N_K(0:16)
           INTEGER*4 N_T(0:16)
           INTEGER*4 TYPE(0:16)
           INTEGER*4 NUM_STAGES
           INTEGER*8 ROTATION_VECTOR
           INTEGER*8 ROTATION_VECTOR_SIZE
           INTEGER*8 TEMP_AREA
           INTEGER*8 TEMP_AREA_SIZE
           INTEGER*4 SET_BLOCK_SIZE
           INTEGER*4 NUM_NON_SPECIAL_RADIX
           INTEGER*4 NON_SPECIAL_RADIX(0:16)
           INTEGER*8 NON_SPEC_RAD_TWIDDLE_SIZE
           INTEGER*8 NON_SPEC_RAD_TWIDDLE_VEC
           INTEGER*8 NON_SPECIAL_RADIX_COS(0:16)
           INTEGER*8 NON_SPECIAL_RADIX_SIN(0:16)
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)
           INTEGER*4 GK(0:11)
        END STRUCTURE
 
        STRUCTURE /DXML_S_FHT_STRUCTURE/ 
           INTEGER*4 N
           LOGICAL*4 STRIDE_1_FLAG
           INTEGER*4 N_TI(0:16)
           INTEGER*4 N_K(0:16)
           INTEGER*4 N_T(0:16)
           INTEGER*4 TYPE(0:16)
           INTEGER*4 NUM_STAGES
           INTEGER*8 ROTATION_VECTOR
           INTEGER*8 ROTATION_VECTOR_SIZE
           INTEGER*8 TEMP_AREA
           INTEGER*8 TEMP_AREA_SIZE
           INTEGER*4 SET_BLOCK_SIZE
           INTEGER*4 NUM_NON_SPECIAL_RADIX
           INTEGER*4 NON_SPECIAL_RADIX(0:16)
           INTEGER*8 NON_SPEC_RAD_TWIDDLE_SIZE
           INTEGER*8 NON_SPEC_RAD_TWIDDLE_VEC
           INTEGER*8 NON_SPECIAL_RADIX_COS(0:16)
           INTEGER*8 NON_SPECIAL_RADIX_SIN(0:16)
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)
           INTEGER*4 GK(0:11)
        END STRUCTURE
 
        STRUCTURE /DXML_S_FFT_STRUCTURE/ 
           INTEGER*4 N
           LOGICAL*4 STRIDE_1_FLAG
           RECORD /DXML_C_FFT_STRUCTURE/ CV_STRUCT
           INTEGER*8 COS_RECOMB
           INTEGER*8 SIN_RECOMB
           INTEGER*8 TWIDDLE_RECOMB_POINTER
           INTEGER*8 TWIDDLE_RECOMB_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)
        END STRUCTURE

        STRUCTURE /DXML_S_FST_STRUCTURE/
           RECORD /DXML_S_FHT_STRUCTURE/ FHT_STRUCT
           INTEGER*4 N
           INTEGER*4 TYPE
           LOGICAL*4 STRIDE_1_FLAG
           INTEGER*8 TWIDDLE_POINTER
           INTEGER*8 TWIDDLE_SIZE
           INTEGER*8 TEMP_ARRAY_PTR
           INTEGER*4 TEMP_ARRAY_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)           
        END STRUCTURE

        STRUCTURE /DXML_S_FCT_STRUCTURE/
           RECORD /DXML_S_FHT_STRUCTURE/ FHT_STRUCT
           INTEGER*4 N
           INTEGER*4 TYPE
           LOGICAL*4 STRIDE_1_FLAG
           INTEGER*8 TWIDDLE_POINTER
           INTEGER*8 TWIDDLE_SIZE
           INTEGER*8 TEMP_ARRAY_PTR
           INTEGER*4 TEMP_ARRAY_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)           
        END STRUCTURE

        STRUCTURE /DXML_Z_FFT_STRUCTURE/ 
           INTEGER*4 N
           LOGICAL*4 STRIDE_1_FLAG
           INTEGER*4 N_TI(0:16)
           INTEGER*4 N_K(0:16)
           INTEGER*4 N_T(0:16)
           INTEGER*4 TYPE(0:16)
           INTEGER*4 NUM_STAGES
           INTEGER*8 ROTATION_VECTOR
           INTEGER*8 ROTATION_VECTOR_SIZE
           INTEGER*8 TEMP_AREA
           INTEGER*8 TEMP_AREA_SIZE
           INTEGER*4 SET_BLOCK_SIZE
           INTEGER*4 NUM_NON_SPECIAL_RADIX
           INTEGER*4 NON_SPECIAL_RADIX(0:16)
           INTEGER*8 NON_SPEC_RAD_TWIDDLE_SIZE
           INTEGER*8 NON_SPEC_RAD_TWIDDLE_VEC
           INTEGER*8 NON_SPECIAL_RADIX_COS(0:16)
           INTEGER*8 NON_SPECIAL_RADIX_SIN(0:16)
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)
           INTEGER*4 GK(0:11)
        END STRUCTURE
 
        STRUCTURE /DXML_D_FHT_STRUCTURE/ 
           INTEGER*4 N
           LOGICAL*4 STRIDE_1_FLAG
           INTEGER*4 N_TI(0:16)
           INTEGER*4 N_K(0:16)
           INTEGER*4 N_T(0:16)
           INTEGER*4 TYPE(0:16)
           INTEGER*4 NUM_STAGES
           INTEGER*8 ROTATION_VECTOR
           INTEGER*8 ROTATION_VECTOR_SIZE
           INTEGER*8 TEMP_AREA
           INTEGER*8 TEMP_AREA_SIZE
           INTEGER*4 SET_BLOCK_SIZE
           INTEGER*4 NUM_NON_SPECIAL_RADIX
           INTEGER*4 NON_SPECIAL_RADIX(0:16)
           INTEGER*8 NON_SPEC_RAD_TWIDDLE_SIZE
           INTEGER*8 NON_SPEC_RAD_TWIDDLE_VEC
           INTEGER*8 NON_SPECIAL_RADIX_COS(0:16)
           INTEGER*8 NON_SPECIAL_RADIX_SIN(0:16)
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)
           INTEGER*4 GK(0:11)
        END STRUCTURE
 
        STRUCTURE /DXML_D_FFT_STRUCTURE/ 
           INTEGER*4 N
           LOGICAL*4 STRIDE_1_FLAG
           RECORD /DXML_C_FFT_STRUCTURE/ CV_STRUCT
           INTEGER*8 COS_RECOMB
           INTEGER*8 SIN_RECOMB
           INTEGER*8 TWIDDLE_RECOMB_POINTER
           INTEGER*8 TWIDDLE_RECOMB_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)
        END STRUCTURE

        STRUCTURE /DXML_D_FST_STRUCTURE/
           RECORD /DXML_D_FHT_STRUCTURE/ FHT_STRUCT
           INTEGER*4 N
           INTEGER*4 TYPE
           LOGICAL*4 STRIDE_1_FLAG
           INTEGER*8 TWIDDLE_POINTER
           INTEGER*8 TWIDDLE_SIZE
           INTEGER*8 TEMP_ARRAY_PTR
           INTEGER*4 TEMP_ARRAY_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)           
        END STRUCTURE

        STRUCTURE /DXML_D_FCT_STRUCTURE/
           RECORD /DXML_D_FHT_STRUCTURE/ FHT_STRUCT
           INTEGER*4 N
           INTEGER*4 TYPE
           LOGICAL*4 STRIDE_1_FLAG
           INTEGER*8 TWIDDLE_POINTER
           INTEGER*8 TWIDDLE_SIZE
           INTEGER*8 TEMP_ARRAY_PTR
           INTEGER*4 TEMP_ARRAY_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)           
        END STRUCTURE

        STRUCTURE /DXML_C_GRP_FFT_STRUCTURE/ 
           INTEGER*4 N
           LOGICAL*4 GRP_STRIDE_1_FLAG
           INTEGER*4 GRP_BLOCK_SIZE
           INTEGER*4 N_TI(0:16)
           INTEGER*4 N_K(0:16)
           INTEGER*4 N_T(0:16)
           INTEGER*4 TYPE(0:16)
           INTEGER*4 NUM_STAGES
           INTEGER*8 ROTATION_VECTOR
           INTEGER*8 ROTATION_VECTOR_SIZE
           INTEGER*8 TEMP_AREA
           INTEGER*8 TEMP_AREA_SIZE
           INTEGER*4 NUM_NON_SPECIAL_RADIX
           INTEGER*4 NON_SPECIAL_RADIX(0:16)
           INTEGER*8 NON_SPEC_RAD_TWIDDLE_SIZE
           INTEGER*8 NON_SPEC_RAD_TWIDDLE_VEC
           INTEGER*8 NON_SPECIAL_RADIX_COS(0:16)
           INTEGER*8 NON_SPECIAL_RADIX_SIN(0:16)
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)
           INTEGER*4 GK(0:11)
        END STRUCTURE
 
        STRUCTURE /DXML_Z_GRP_FFT_STRUCTURE/ 
           INTEGER*4 N
           LOGICAL*4 GRP_STRIDE_1_FLAG
           INTEGER*4 GRP_BLOCK_SIZE
           INTEGER*4 N_TI(0:16)
           INTEGER*4 N_K(0:16)
           INTEGER*4 N_T(0:16)
           INTEGER*4 TYPE(0:16)
           INTEGER*4 NUM_STAGES
           INTEGER*8 ROTATION_VECTOR
           INTEGER*8 ROTATION_VECTOR_SIZE
           INTEGER*8 TEMP_AREA
           INTEGER*8 TEMP_AREA_SIZE
           INTEGER*4 NUM_NON_SPECIAL_RADIX
           INTEGER*4 NON_SPECIAL_RADIX(0:16)
           INTEGER*8 NON_SPEC_RAD_TWIDDLE_SIZE
           INTEGER*8 NON_SPEC_RAD_TWIDDLE_VEC
           INTEGER*8 NON_SPECIAL_RADIX_COS(0:16)
           INTEGER*8 NON_SPECIAL_RADIX_SIN(0:16)
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)
           INTEGER*4 GK(0:11)
        END STRUCTURE
 
        STRUCTURE /DXML_S_GRP_FFT_STRUCTURE/ 
           INTEGER*4 N
           LOGICAL*4 GRP_STRIDE_1_FLAG
           RECORD /DXML_C_GRP_FFT_STRUCTURE/ CV_STRUCT
           INTEGER*8 COS_RECOMB
           INTEGER*8 SIN_RECOMB
           INTEGER*8 TWIDDLE_RECOMB_POINTER
           INTEGER*8 TWIDDLE_RECOMB_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)
        END STRUCTURE

        STRUCTURE /DXML_D_GRP_FFT_STRUCTURE/ 
           INTEGER*4 N
           LOGICAL*4 GRP_STRIDE_1_FLAG
           RECORD /DXML_C_GRP_FFT_STRUCTURE/ CV_STRUCT
           INTEGER*8 COS_RECOMB
           INTEGER*8 SIN_RECOMB
           INTEGER*8 TWIDDLE_RECOMB_POINTER
           INTEGER*8 TWIDDLE_RECOMB_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)
        END STRUCTURE

        STRUCTURE /DXML_C_FFT_STRUCTURE_2D/
           INTEGER*8 X_STRUCTURE_PTR
           INTEGER*8 Y_STRUCTURE_PTR
           INTEGER*4 NX,NY
           CHARACTER*16 X_TYPE
           INTEGER*8 X_SIZE,Y_SIZE
           LOGICAL*4 STRIDE_X_1_FLAG
           INTEGER*8 TEMP_AREA
           INTEGER*8 TEMP_AREA_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)           
           INTEGER*4 GK(0:11)
        END STRUCTURE

        STRUCTURE /DXML_C_FFT_STRUCTURE_3D/
           INTEGER*8 X_STRUCTURE_PTR
           INTEGER*8 Y_STRUCTURE_PTR
           INTEGER*8 Z_STRUCTURE_PTR
           INTEGER*4 NX,NY,NZ
           CHARACTER*16 X_TYPE
           INTEGER*8 X_SIZE,Y_SIZE,Z_SIZE
           LOGICAL*4 STRIDE_X_1_FLAG
           INTEGER*8 TEMP_AREA
           INTEGER*8 TEMP_AREA_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)           
           INTEGER*4 GK(0:11)
        END STRUCTURE

        STRUCTURE /DXML_Z_FFT_STRUCTURE_2D/
           INTEGER*8 X_STRUCTURE_PTR
           INTEGER*8 Y_STRUCTURE_PTR
           INTEGER*4 NX,NY
           CHARACTER*16 X_TYPE
           INTEGER*8 X_SIZE,Y_SIZE
           LOGICAL*4 STRIDE_X_1_FLAG
           INTEGER*8 TEMP_AREA
           INTEGER*8 TEMP_AREA_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)           
           INTEGER*4 GK(0:11)
        END STRUCTURE

        STRUCTURE /DXML_Z_FFT_STRUCTURE_3D/
           INTEGER*8 X_STRUCTURE_PTR
           INTEGER*8 Y_STRUCTURE_PTR
           INTEGER*8 Z_STRUCTURE_PTR
           INTEGER*4 NX,NY,NZ
           CHARACTER*16 X_TYPE
           INTEGER*8 X_SIZE,Y_SIZE,Z_SIZE
           LOGICAL*4 STRIDE_X_1_FLAG
           INTEGER*8 TEMP_AREA
           INTEGER*8 TEMP_AREA_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)           
           INTEGER*4 GK(0:11)
        END STRUCTURE

        STRUCTURE /DXML_S_FFT_STRUCTURE_2D/
           INTEGER*8 X_STRUCTURE_PTR
           INTEGER*8 Y_STRUCTURE_PTR
           INTEGER*4 NX,NY
           CHARACTER*16 X_TYPE
           INTEGER*4 Y_GRP_BLOCK_SIZE,X_GRP_BLOCK_SIZE
           INTEGER*8 X_SIZE,Y_SIZE
           LOGICAL*4 STRIDE_X_1_FLAG
           INTEGER*8 COS_RECOMB
           INTEGER*8 SIN_RECOMB
           INTEGER*8 TWIDDLE_RECOMB_POINTER
           INTEGER*8 TWIDDLE_RECOMB_SIZE
           INTEGER*8 TEMP_AREA
           INTEGER*8 TEMP_AREA_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)           
           INTEGER*4 GK(0:11)
        END STRUCTURE

        STRUCTURE /DXML_S_FFT_STRUCTURE_3D/
           INTEGER*8 X_STRUCTURE_PTR
           INTEGER*8 Y_STRUCTURE_PTR
           INTEGER*8 Z_STRUCTURE_PTR
           INTEGER*4 NX,NY,NZ
           CHARACTER*16 X_TYPE
           INTEGER*4 Z_GRP_BLOCK_SIZE,Y_GRP_BLOCK_SIZE,X_GRP_BLOCK_SIZE
           INTEGER*8 X_SIZE,Y_SIZE,Z_SIZE
           LOGICAL*4 STRIDE_X_1_FLAG
           INTEGER*8 COS_RECOMB
           INTEGER*8 SIN_RECOMB
           INTEGER*8 TWIDDLE_RECOMB_POINTER
           INTEGER*8 TWIDDLE_RECOMB_SIZE
           INTEGER*8 TEMP_AREA
           INTEGER*8 TEMP_AREA_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)           
           INTEGER*4 GK(0:11)
        END STRUCTURE

        STRUCTURE /DXML_D_FFT_STRUCTURE_2D/
           INTEGER*8 X_STRUCTURE_PTR
           INTEGER*8 Y_STRUCTURE_PTR
           INTEGER*4 NX,NY
           CHARACTER*16 X_TYPE
           INTEGER*4 Y_GRP_BLOCK_SIZE,X_GRP_BLOCK_SIZE
           INTEGER*8 X_SIZE,Y_SIZE
           LOGICAL*4 STRIDE_X_1_FLAG
           INTEGER*8 COS_RECOMB
           INTEGER*8 SIN_RECOMB
           INTEGER*8 TWIDDLE_RECOMB_POINTER
           INTEGER*8 TWIDDLE_RECOMB_SIZE
           INTEGER*8 TEMP_AREA
           INTEGER*8 TEMP_AREA_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)           
           INTEGER*4 GK(0:11)
        END STRUCTURE

        STRUCTURE /DXML_D_FFT_STRUCTURE_3D/
           INTEGER*8 X_STRUCTURE_PTR
           INTEGER*8 Y_STRUCTURE_PTR
           INTEGER*8 Z_STRUCTURE_PTR
           INTEGER*4 NX,NY,NZ
           CHARACTER*16 X_TYPE
           INTEGER*4 Z_GRP_BLOCK_SIZE,Y_GRP_BLOCK_SIZE,X_GRP_BLOCK_SIZE
           INTEGER*8 X_SIZE,Y_SIZE,Z_SIZE
           LOGICAL*4 STRIDE_X_1_FLAG
           INTEGER*8 COS_RECOMB
           INTEGER*8 SIN_RECOMB
           INTEGER*8 TWIDDLE_RECOMB_POINTER
           INTEGER*8 TWIDDLE_RECOMB_SIZE
           INTEGER*8 TEMP_AREA
           INTEGER*8 TEMP_AREA_SIZE
           INTEGER*4 NUM_PROCESSORS
           INTEGER*4 FUTURE_USE(20)           
           INTEGER*4 GK(0:11)
        END STRUCTURE

        STRUCTURE /DXML_S_CONV_CORR_STRUCTURE/
           INTEGER*4 N_A,N_B,N_SIG,N_GOOD_VALUE
           INTEGER*8 A_WORK_PTR,B_WORK_PTR,WORK_PTR
           INTEGER*4 WORK_SIZE
           RECORD /DXML_S_FFT_STRUCTURE/ FFT_STRUCT
        END STRUCTURE

        STRUCTURE /DXML_D_CONV_CORR_STRUCTURE/
           INTEGER*4 N_A,N_B,N_SIG,N_GOOD_VALUE
           INTEGER*8 A_WORK_PTR,B_WORK_PTR,WORK_PTR
           INTEGER*4 WORK_SIZE
           RECORD /DXML_D_FFT_STRUCTURE/ FFT_STRUCT
        END STRUCTURE

        STRUCTURE /DXML_C_CONV_CORR_STRUCTURE/
           INTEGER*4 N_A,N_B,N_SIG,N_GOOD_VALUE
           INTEGER*8 A_WORK_PTR,B_WORK_PTR,WORK_PTR
           INTEGER*4 WORK_SIZE
           RECORD /DXML_C_FFT_STRUCTURE/ FFT_STRUCT
        END STRUCTURE

        STRUCTURE /DXML_Z_CONV_CORR_STRUCTURE/
           INTEGER*4 N_A,N_B,N_SIG,N_GOOD_VALUE
           INTEGER*8 A_WORK_PTR,B_WORK_PTR,WORK_PTR
           INTEGER*4 WORK_SIZE
           RECORD /DXML_Z_FFT_STRUCTURE/ FFT_STRUCT
        END STRUCTURE

!
!       Function type definition of the FFT routines
!
        INTEGER*4 CFFT_INIT,CFFT_APPLY,CFFT_EXIT,CFFT
        INTEGER*4 ZFFT_INIT,ZFFT_APPLY,ZFFT_EXIT,ZFFT
        INTEGER*4 SFFT_INIT,SFFT_APPLY,SFFT_EXIT,SFFT
        INTEGER*4 DFFT_INIT,DFFT_APPLY,DFFT_EXIT,DFFT
!
!       Function type definition of the FHT routines
!
        INTEGER*4 SFHT_INIT,SFHT_APPLY,SFHT_EXIT,SFHT
        INTEGER*4 DFHT_INIT,DFHT_APPLY,DFHT_EXIT,DFHT
!
!       Function type definition of the FST routines
!
        INTEGER*4 SFST_INIT,SFST_APPLY,SFST_EXIT,SFST
        INTEGER*4 DFST_INIT,DFST_APPLY,DFST_EXIT,DFST
!
!       Function type definition of the FCT routines
!
        INTEGER*4 SFCT_INIT,SFCT_APPLY,SFCT_EXIT,SFCT
        INTEGER*4 DFCT_INIT,DFCT_APPLY,DFCT_EXIT,DFCT
!
!       Function type definition of the GRP FFT routines
!
        INTEGER*4 CFFT_INIT_GRP,CFFT_APPLY_GRP,CFFT_EXIT_GRP,CFFT_GRP
        INTEGER*4 ZFFT_INIT_GRP,ZFFT_APPLY_GRP,ZFFT_EXIT_GRP,ZFFT_GRP
        INTEGER*4 SFFT_INIT_GRP,SFFT_APPLY_GRP,SFFT_EXIT_GRP,SFFT_GRP
        INTEGER*4 DFFT_INIT_GRP,DFFT_APPLY_GRP,DFFT_EXIT_GRP,DFFT_GRP
!
!       Function type definition of the 2D FFT routines
!
        INTEGER*4 CFFT_INIT_2D,CFFT_APPLY_2D,CFFT_EXIT_2D,CFFT_2D
        INTEGER*4 ZFFT_INIT_2D,ZFFT_APPLY_2D,ZFFT_EXIT_2D,ZFFT_2D
        INTEGER*4 SFFT_INIT_2D,SFFT_APPLY_2D,SFFT_EXIT_2D,SFFT_2D
        INTEGER*4 DFFT_INIT_2D,DFFT_APPLY_2D,DFFT_EXIT_2D,DFFT_2D
!
!       Function type definition of the 3D FFT routines
!
        INTEGER*4 CFFT_INIT_3D,CFFT_APPLY_3D,CFFT_EXIT_3D,CFFT_3D
        INTEGER*4 ZFFT_INIT_3D,ZFFT_APPLY_3D,ZFFT_EXIT_3D,ZFFT_3D
        INTEGER*4 SFFT_INIT_3D,SFFT_APPLY_3D,SFFT_EXIT_3D,SFFT_3D
        INTEGER*4 DFFT_INIT_3D,DFFT_APPLY_3D,DFFT_EXIT_3D,DFFT_3D
!
!	Function type definition of the CONV/CORR routines
!
        INTEGER*4 CCONV_NONPERIODIC_EXT,CCONV_PERIODIC_EXT
        INTEGER*4 CCORR_NONPERIODIC_EXT,CCORR_PERIODIC_EXT
        INTEGER*4 ZCONV_NONPERIODIC_EXT,ZCONV_PERIODIC_EXT
        INTEGER*4 ZCORR_NONPERIODIC_EXT,ZCORR_PERIODIC_EXT
        INTEGER*4 SCONV_NONPERIODIC_EXT,SCONV_PERIODIC_EXT
        INTEGER*4 SCORR_NONPERIODIC_EXT,SCORR_PERIODIC_EXT
        INTEGER*4 DCONV_NONPERIODIC_EXT,DCONV_PERIODIC_EXT
        INTEGER*4 DCORR_NONPERIODIC_EXT,DCORR_PERIODIC_EXT
!
!	Function type definition of the CONV/CORR SIG routines
!
        INTEGER*4 SCONV_NONPER_SIG_INIT,SCORR_NONPER_SIG_INIT
        INTEGER*4 SCONV_NONPER_SIG_APPLY,SCORR_NONPER_SIG_APPLY
        INTEGER*4 SCONV_NONPER_SIG_EXIT,SCORR_NONPER_SIG_EXIT
        INTEGER*4 DCONV_NONPER_SIG_INIT,DCORR_NONPER_SIG_INIT
        INTEGER*4 DCONV_NONPER_SIG_APPLY,DCORR_NONPER_SIG_APPLY
        INTEGER*4 DCONV_NONPER_SIG_EXIT,DCORR_NONPER_SIG_EXIT
        INTEGER*4 CCONV_NONPER_SIG_INIT,CCORR_NONPER_SIG_INIT
        INTEGER*4 CCONV_NONPER_SIG_APPLY,CCORR_NONPER_SIG_APPLY
        INTEGER*4 CCONV_NONPER_SIG_EXIT,CCORR_NONPER_SIG_EXIT
        INTEGER*4 ZCONV_NONPER_SIG_INIT,ZCORR_NONPER_SIG_INIT
        INTEGER*4 ZCONV_NONPER_SIG_APPLY,ZCORR_NONPER_SIG_APPLY
        INTEGER*4 ZCONV_NONPER_SIG_EXIT,ZCORR_NONPER_SIG_EXIT
!
!	Function type definition of the CONV/CORR 2D routines
!
        INTEGER*4 SCONV_NONPERIODIC_2D_EXT,SCORR_NONPERIODIC_2D_EXT
        INTEGER*4 DCONV_NONPERIODIC_2D_EXT,DCORR_NONPERIODIC_2D_EXT
!
!	Function type definition of the SYM_TOEPLITZ routines
!
        INTEGER*4 SSYM_TOEPLITZ
        INTEGER*4 DSYM_TOEPLITZ
