! File: dxml_def.for
!
!		       COPYRIGHT (C) 1997, 1999 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.
!
!	Generated on: Mon Apr 02 15:50:37 2001
!


!
!******************************************************************************
!
!	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*4 ROTATION_VECTOR
	    INTEGER*4 ROTATION_VECTOR_SIZE
	    INTEGER*4 TEMP_AREA
	    INTEGER*4 TEMP_AREA_SIZE
	    INTEGER*4 SET_BLOCK_SIZE
	    INTEGER*4 NUM_NON_SPECIAL_RADIX
	    INTEGER*4 NON_SPECIAL_RADIX(0:16)
	    INTEGER*4 NON_SPEC_RAD_TWIDDLE_SIZE
	    INTEGER*4 NON_SPEC_RAD_TWIDDLE_VEC
	    INTEGER*4 NON_SPECIAL_RADIX_COS(0:16)
	    INTEGER*4 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*4 COS_RECOMB
	    INTEGER*4 SIN_RECOMB
	    INTEGER*4 TWIDDLE_RECOMB_POINTER
	    INTEGER*4 TWIDDLE_RECOMB_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*4 ROTATION_VECTOR
	    INTEGER*4 ROTATION_VECTOR_SIZE
	    INTEGER*4 TEMP_AREA
	    INTEGER*4 TEMP_AREA_SIZE
	    INTEGER*4 SET_BLOCK_SIZE
	    INTEGER*4 NUM_NON_SPECIAL_RADIX
	    INTEGER*4 NON_SPECIAL_RADIX(0:16)
	    INTEGER*4 NON_SPEC_RAD_TWIDDLE_SIZE
	    INTEGER*4 NON_SPEC_RAD_TWIDDLE_VEC
	    INTEGER*4 NON_SPECIAL_RADIX_COS(0:16)
	    INTEGER*4 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_Z_FFT_STRUCTURE/ CV_STRUCT
	    INTEGER*4 COS_RECOMB
	    INTEGER*4 SIN_RECOMB
	    INTEGER*4 TWIDDLE_RECOMB_POINTER
	    INTEGER*4 TWIDDLE_RECOMB_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*4 ROTATION_VECTOR
	    INTEGER*4 ROTATION_VECTOR_SIZE
	    INTEGER*4 TEMP_AREA
	    INTEGER*4 TEMP_AREA_SIZE
	    INTEGER*4 NUM_NON_SPECIAL_RADIX
	    INTEGER*4 NON_SPECIAL_RADIX(0:16)
	    INTEGER*4 NON_SPEC_RAD_TWIDDLE_SIZE
	    INTEGER*4 NON_SPEC_RAD_TWIDDLE_VEC
	    INTEGER*4 NON_SPECIAL_RADIX_COS(0:16)
	    INTEGER*4 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*4 ROTATION_VECTOR
	    INTEGER*4 ROTATION_VECTOR_SIZE
	    INTEGER*4 TEMP_AREA
	    INTEGER*4 TEMP_AREA_SIZE
	    INTEGER*4 NUM_NON_SPECIAL_RADIX
	    INTEGER*4 NON_SPECIAL_RADIX(0:16)
	    INTEGER*4 NON_SPEC_RAD_TWIDDLE_SIZE
	    INTEGER*4 NON_SPEC_RAD_TWIDDLE_VEC
	    INTEGER*4 NON_SPECIAL_RADIX_COS(0:16)
	    INTEGER*4 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*4 COS_RECOMB
	    INTEGER*4 SIN_RECOMB
	    INTEGER*4 TWIDDLE_RECOMB_POINTER
	    INTEGER*4 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_Z_GRP_FFT_STRUCTURE/ CV_STRUCT
	    INTEGER*4 COS_RECOMB
	    INTEGER*4 SIN_RECOMB
	    INTEGER*4 TWIDDLE_RECOMB_POINTER
	    INTEGER*4 TWIDDLE_RECOMB_SIZE
	    INTEGER*4 NUM_PROCESSORS
	    INTEGER*4 FUTURE_USE(20)
	END STRUCTURE

	STRUCTURE /DXML_C_FFT_STRUCTURE_2D/
	    INTEGER*4 X_STRUCTURE_PTR
	    INTEGER*4 Y_STRUCTURE_PTR
	    INTEGER*4 NX,NY
	    CHARACTER*16 X_TYPE
	    INTEGER*4 X_SIZE,Y_SIZE
	    LOGICAL*4 STRIDE_X_1_FLAG
	    INTEGER*4 TEMP_AREA
	    INTEGER*4 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*4 X_STRUCTURE_PTR
	    INTEGER*4 Y_STRUCTURE_PTR
	    INTEGER*4 Z_STRUCTURE_PTR
	    INTEGER*4 NX,NY,NZ
	    CHARACTER*16 X_TYPE
	    INTEGER*4 X_SIZE,Y_SIZE,Z_SIZE
	    LOGICAL*4 STRIDE_X_1_FLAG
	    INTEGER*4 TEMP_AREA
	    INTEGER*4 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*4 X_STRUCTURE_PTR
	    INTEGER*4 Y_STRUCTURE_PTR
	    INTEGER*4 NX,NY
	    CHARACTER*16 X_TYPE
	    INTEGER*4 X_SIZE,Y_SIZE
	    LOGICAL*4 STRIDE_X_1_FLAG
	    INTEGER*4 TEMP_AREA
	    INTEGER*4 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*4 X_STRUCTURE_PTR
	    INTEGER*4 Y_STRUCTURE_PTR
	    INTEGER*4 Z_STRUCTURE_PTR
	    INTEGER*4 NX,NY,NZ
	    CHARACTER*16 X_TYPE
	    INTEGER*4 X_SIZE,Y_SIZE,Z_SIZE
	    LOGICAL*4 STRIDE_X_1_FLAG
	    INTEGER*4 TEMP_AREA
	    INTEGER*4 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*4 X_STRUCTURE_PTR
	    INTEGER*4 Y_STRUCTURE_PTR
	    INTEGER*4 NX,NY
	    CHARACTER*16 X_TYPE
	    INTEGER*4 Y_GRP_BLOCK_SIZE,X_GRP_BLOCK_SIZE
	    INTEGER*4 X_SIZE,Y_SIZE
	    LOGICAL*4 STRIDE_X_1_FLAG
	    INTEGER*4 COS_RECOMB
	    INTEGER*4 SIN_RECOMB
	    INTEGER*4 TWIDDLE_RECOMB_POINTER
	    INTEGER*4 TWIDDLE_RECOMB_SIZE
	    INTEGER*4 TEMP_AREA
	    INTEGER*4 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*4 X_STRUCTURE_PTR
	    INTEGER*4 Y_STRUCTURE_PTR
	    INTEGER*4 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*4 X_SIZE,Y_SIZE,Z_SIZE
	    LOGICAL*4 STRIDE_X_1_FLAG
	    INTEGER*4 COS_RECOMB
	    INTEGER*4 SIN_RECOMB
	    INTEGER*4 TWIDDLE_RECOMB_POINTER
	    INTEGER*4 TWIDDLE_RECOMB_SIZE
	    INTEGER*4 TEMP_AREA
	    INTEGER*4 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*4 X_STRUCTURE_PTR
	    INTEGER*4 Y_STRUCTURE_PTR
	    INTEGER*4 NX,NY
	    CHARACTER*16 X_TYPE
	    INTEGER*4 Y_GRP_BLOCK_SIZE,X_GRP_BLOCK_SIZE
	    INTEGER*4 X_SIZE,Y_SIZE
	    LOGICAL*4 STRIDE_X_1_FLAG
	    INTEGER*4 COS_RECOMB
	    INTEGER*4 SIN_RECOMB
	    INTEGER*4 TWIDDLE_RECOMB_POINTER
	    INTEGER*4 TWIDDLE_RECOMB_SIZE
	    INTEGER*4 TEMP_AREA
	    INTEGER*4 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*4 X_STRUCTURE_PTR
	    INTEGER*4 Y_STRUCTURE_PTR
	    INTEGER*4 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*4 X_SIZE,Y_SIZE,Z_SIZE
	    LOGICAL*4 STRIDE_X_1_FLAG
	    INTEGER*4 COS_RECOMB
	    INTEGER*4 SIN_RECOMB
	    INTEGER*4 TWIDDLE_RECOMB_POINTER
	    INTEGER*4 TWIDDLE_RECOMB_SIZE
	    INTEGER*4 TEMP_AREA
	    INTEGER*4 TEMP_AREA_SIZE
	    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*4 ROTATION_VECTOR
	    INTEGER*4 ROTATION_VECTOR_SIZE
	    INTEGER*4 TEMP_AREA
	    INTEGER*4 TEMP_AREA_SIZE
	    INTEGER*4 SET_BLOCK_SIZE
	    INTEGER*4 NUM_NON_SPECIAL_RADIX
	    INTEGER*4 NON_SPECIAL_RADIX(0:16)
	    INTEGER*4 NON_SPEC_RAD_TWIDDLE_SIZE
	    INTEGER*4 NON_SPEC_RAD_TWIDDLE_VEC
	    INTEGER*4 NON_SPECIAL_RADIX_COS(0:16)
	    INTEGER*4 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_FST_STRUCTURE/
	    RECORD /DXML_S_FHT_STRUCTURE/ FHT_STRUCT
	    INTEGER*4 N
	    INTEGER*4 TYPE
	    LOGICAL*4 STRIDE_1_FLAG
	    INTEGER*4 TWIDDLE_POINTER
	    INTEGER*4 TWIDDLE_SIZE
	    INTEGER*4 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*4 TWIDDLE_POINTER
	    INTEGER*4 TWIDDLE_SIZE
	    INTEGER*4 TEMP_ARRAY_PTR
	    INTEGER*4 TEMP_ARRAY_SIZE
	    INTEGER*4 NUM_PROCESSORS
	    INTEGER*4 FUTURE_USE(20)
	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*4 ROTATION_VECTOR
	    INTEGER*4 ROTATION_VECTOR_SIZE
	    INTEGER*4 TEMP_AREA
	    INTEGER*4 TEMP_AREA_SIZE
	    INTEGER*4 SET_BLOCK_SIZE
	    INTEGER*4 NUM_NON_SPECIAL_RADIX
	    INTEGER*4 NON_SPECIAL_RADIX(0:16)
	    INTEGER*4 NON_SPEC_RAD_TWIDDLE_SIZE
	    INTEGER*4 NON_SPEC_RAD_TWIDDLE_VEC
	    INTEGER*4 NON_SPECIAL_RADIX_COS(0:16)
	    INTEGER*4 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_FST_STRUCTURE/
	    RECORD /DXML_D_FHT_STRUCTURE/ FHT_STRUCT
	    INTEGER*4 N
	    INTEGER*4 TYPE
	    LOGICAL*4 STRIDE_1_FLAG
	    INTEGER*4 TWIDDLE_POINTER
	    INTEGER*4 TWIDDLE_SIZE
	    INTEGER*4 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*4 TWIDDLE_POINTER
	    INTEGER*4 TWIDDLE_SIZE
	    INTEGER*4 TEMP_ARRAY_PTR
	    INTEGER*4 TEMP_ARRAY_SIZE
	    INTEGER*4 NUM_PROCESSORS
	    INTEGER*4 FUTURE_USE(20)
	END STRUCTURE

	STRUCTURE /DXML_S_CONV_CORR_STRUCTURE/
	    INTEGER*4 N_A,N_B,N_SIG,N_GOOD_VALUE
	    INTEGER*4 A_WORK_PTR
	    INTEGER*4 B_WORK_PTR
	    INTEGER*4 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*4 A_WORK_PTR
	    INTEGER*4 B_WORK_PTR
	    INTEGER*4 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*4 A_WORK_PTR
	    INTEGER*4 B_WORK_PTR
	    INTEGER*4 WORK_PTR
	    INTEGER*4 WORK_SIZE
	    RECORD /DXML_S_FFT_STRUCTURE/ FFT_STRUCT
	END STRUCTURE

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

!
!	Function type definition for the SIGNAL PROCESSING routines
!

!
!	Function type definition for the static signature FFT routines
!
	INTEGER*4 CFFT_INIT
	INTEGER*4 CFFT_EXIT
	INTEGER*4 ZFFT_INIT
	INTEGER*4 ZFFT_EXIT
	INTEGER*4 SFFT
	INTEGER*4 SFFT_INIT
	INTEGER*4 SFFT_APPLY
	INTEGER*4 SFFT_EXIT
	INTEGER*4 DFFT
	INTEGER*4 DFFT_INIT
	INTEGER*4 DFFT_APPLY
	INTEGER*4 DFFT_EXIT
!
!	Function type definition of the FHT routines
!
	INTEGER*4 SFCT
	INTEGER*4 SFCT_INIT
	INTEGER*4 SFCT_APPLY
	INTEGER*4 SFCT_EXIT
	INTEGER*4 DFCT
	INTEGER*4 DFCT_INIT
	INTEGER*4 DFCT_APPLY
	INTEGER*4 DFCT_EXIT
	INTEGER*4 SFST
	INTEGER*4 SFST_INIT
	INTEGER*4 SFST_APPLY
	INTEGER*4 SFST_EXIT
	INTEGER*4 DFST
	INTEGER*4 DFST_INIT
	INTEGER*4 DFST_APPLY
	INTEGER*4 DFST_EXIT
!
!	Function type definition for the static signature GRP FFT routines
!
	INTEGER*4 CFFT_INIT_GRP
	INTEGER*4 CFFT_EXIT_GRP
	INTEGER*4 ZFFT_INIT_GRP
	INTEGER*4 ZFFT_EXIT_GRP
	INTEGER*4 SFFT_GRP
	INTEGER*4 SFFT_INIT_GRP
	INTEGER*4 SFFT_APPLY_GRP
	INTEGER*4 SFFT_EXIT_GRP
	INTEGER*4 DFFT_GRP
	INTEGER*4 DFFT_INIT_GRP
	INTEGER*4 DFFT_APPLY_GRP
	INTEGER*4 DFFT_EXIT_GRP
!
!	Function type definition for the static signature 2D FFT routines
!
	INTEGER*4 CFFT_INIT_2D
	INTEGER*4 CFFT_EXIT_2D
	INTEGER*4 ZFFT_INIT_2D
	INTEGER*4 ZFFT_EXIT_2D
	INTEGER*4 SFFT_2D
	INTEGER*4 SFFT_INIT_2D
	INTEGER*4 SFFT_APPLY_2D
	INTEGER*4 SFFT_EXIT_2D
	INTEGER*4 DFFT_2D
	INTEGER*4 DFFT_INIT_2D
	INTEGER*4 DFFT_APPLY_2D
	INTEGER*4 DFFT_EXIT_2D
!
!	Function type definition for the static signature 3D FFT routines
!
	INTEGER*4 CFFT_INIT_3D
	INTEGER*4 CFFT_EXIT_3D
	INTEGER*4 ZFFT_INIT_3D
	INTEGER*4 ZFFT_EXIT_3D
	INTEGER*4 SFFT_3D
	INTEGER*4 SFFT_INIT_3D
	INTEGER*4 SFFT_APPLY_3D
	INTEGER*4 SFFT_EXIT_3D
	INTEGER*4 DFFT_3D
	INTEGER*4 DFFT_INIT_3D
	INTEGER*4 DFFT_APPLY_3D
	INTEGER*4 DFFT_EXIT_3D
!
!	Function type definition of the CONV/CORR routines
!
	INTEGER*4 CCONV_NONPERIODIC_EXT
	INTEGER*4 CCONV_PERIODIC_EXT
	INTEGER*4 CCORR_NONPERIODIC_EXT
	INTEGER*4 CCORR_PERIODIC_EXT
	INTEGER*4 ZCONV_NONPERIODIC_EXT
	INTEGER*4 ZCONV_PERIODIC_EXT
	INTEGER*4 ZCORR_NONPERIODIC_EXT
	INTEGER*4 ZCORR_PERIODIC_EXT
	INTEGER*4 SCONV_NONPERIODIC_EXT
	INTEGER*4 SCONV_PERIODIC_EXT
	INTEGER*4 SCORR_NONPERIODIC_EXT
	INTEGER*4 SCORR_PERIODIC_EXT
	INTEGER*4 DCONV_NONPERIODIC_EXT
	INTEGER*4 DCONV_PERIODIC_EXT
	INTEGER*4 DCORR_NONPERIODIC_EXT
	INTEGER*4 DCORR_PERIODIC_EXT
!
!	Function type definition of the CONV/CORR SIG routines
!
!
!	Function type definition of the CONV/CORR 2D routines
!
!
!	Function type definition of the SYM_TOEPLITZ routines
!
!
!	Function type definition of the FILTER routines
!
!
!	Function type definition for the varying signature routines 
!
!DEC$ IF DEFINED ( _cfft_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft
      !DEC$ ATTRIBUTES ALIAS:'_CFFT'::cfft
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION cfft
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft
          !DEC$ ATTRIBUTES ALIAS:'_CFFT'::cfft
          END FUNCTION cfft
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _cfft_2d_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft_2d
      !DEC$ ATTRIBUTES ALIAS:'_CFFT_2D'::cfft_2d
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION cfft_2d
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft_2d
          !DEC$ ATTRIBUTES ALIAS:'_CFFT_2D'::cfft_2d
          END FUNCTION cfft_2d
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _cfft_3d_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft_3d
      !DEC$ ATTRIBUTES ALIAS:'_CFFT_3D'::cfft_3d
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION cfft_3d
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft_3d
          !DEC$ ATTRIBUTES ALIAS:'_CFFT_3D'::cfft_3d
          END FUNCTION cfft_3d
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _cgrp_fft_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft_grp
      !DEC$ ATTRIBUTES ALIAS:'_CFFT_GRP'::cfft_grp
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION cfft_grp
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft_grp
          !DEC$ ATTRIBUTES ALIAS:'_CFFT_GRP'::cfft_grp
          END FUNCTION cfft_grp
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _cfft_apply_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft_apply
      !DEC$ ATTRIBUTES ALIAS:'_CFFT_APPLY'::cfft_apply
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION cfft_apply
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft_apply
          !DEC$ ATTRIBUTES ALIAS:'_CFFT_APPLY'::cfft_apply
          END FUNCTION cfft_apply
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _cfft_apply_2d_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft_apply_2d
      !DEC$ ATTRIBUTES ALIAS:'_CFFT_APPLY_2D'::cfft_apply_2d
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION cfft_apply_2d
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft_apply_2d
          !DEC$ ATTRIBUTES ALIAS:'_CFFT_APPLY_2D'::cfft_apply_2d
          END FUNCTION cfft_apply_2d
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _cfft_apply_3d_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft_apply_3d
      !DEC$ ATTRIBUTES ALIAS:'_CFFT_APPLY_3D'::cfft_apply_3d
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION cfft_apply_3d
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft_apply_3d
          !DEC$ ATTRIBUTES ALIAS:'_CFFT_APPLY_3D'::cfft_apply_3d
          END FUNCTION cfft_apply_3d
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _cgrp_fft_apply_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft_apply_grp
      !DEC$ ATTRIBUTES ALIAS:'_CFFT_APPLY_GRP'::cfft_apply_grp
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION cfft_apply_grp
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::cfft_apply_grp
          !DEC$ ATTRIBUTES ALIAS:'_CFFT_APPLY_GRP'::cfft_apply_grp
          END FUNCTION cfft_apply_grp
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _zfft_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft
      !DEC$ ATTRIBUTES ALIAS:'_ZFFT'::zfft
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION zfft
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft
          !DEC$ ATTRIBUTES ALIAS:'_ZFFT'::zfft
          END FUNCTION zfft
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _zfft_2d_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft_2d
      !DEC$ ATTRIBUTES ALIAS:'_ZFFT_2D'::zfft_2d
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION zfft_2d
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft_2d
          !DEC$ ATTRIBUTES ALIAS:'_ZFFT_2D'::zfft_2d
          END FUNCTION zfft_2d
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _zfft_3d_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft_3d
      !DEC$ ATTRIBUTES ALIAS:'_ZFFT_3D'::zfft_3d
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION zfft_3d
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft_3d
          !DEC$ ATTRIBUTES ALIAS:'_ZFFT_3D'::zfft_3d
          END FUNCTION zfft_3d
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _zgrp_fft_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft_grp
      !DEC$ ATTRIBUTES ALIAS:'_ZFFT_GRP'::zfft_grp
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION zfft_grp
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft_grp
          !DEC$ ATTRIBUTES ALIAS:'_ZFFT_GRP'::zfft_grp
          END FUNCTION zfft_grp
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _zfft_apply_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft_apply
      !DEC$ ATTRIBUTES ALIAS:'_ZFFT_APPLY'::zfft_apply
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION zfft_apply
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft_apply
          !DEC$ ATTRIBUTES ALIAS:'_ZFFT_APPLY'::zfft_apply
          END FUNCTION zfft_apply
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _zfft_apply_2d_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft_apply_2d
      !DEC$ ATTRIBUTES ALIAS:'_ZFFT_APPLY_2D'::zfft_apply_2d
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION zfft_apply_2d
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft_apply_2d
          !DEC$ ATTRIBUTES ALIAS:'_ZFFT_APPLY_2D'::zfft_apply_2d
          END FUNCTION zfft_apply_2d
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _zfft_apply_3d_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft_apply_3d
      !DEC$ ATTRIBUTES ALIAS:'_ZFFT_APPLY_3D'::zfft_apply_3d
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION zfft_apply_3d
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft_apply_3d
          !DEC$ ATTRIBUTES ALIAS:'_ZFFT_APPLY_3D'::zfft_apply_3d
          END FUNCTION zfft_apply_3d
      END INTERFACE
!DEC$ ENDIF

!DEC$ IF DEFINED ( _zgrp_fft_apply_ )
      !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft_apply_grp
      !DEC$ ATTRIBUTES ALIAS:'_ZFFT_APPLY_GRP'::zfft_apply_grp
!DEC$ ELSE
      INTERFACE
          INTEGER*4 FUNCTION zfft_apply_grp
          !DEC$ ATTRIBUTES C,REFERENCE,VARYING::zfft_apply_grp
          !DEC$ ATTRIBUTES ALIAS:'_ZFFT_APPLY_GRP'::zfft_apply_grp
          END FUNCTION zfft_apply_grp
      END INTERFACE
!DEC$ ENDIF

