!DEC$ FREEFORM

!
!  Copyright 2001 Compaq Computer Corporation
!  
!  Compaq and the Compaq logo Registered in U.S. Patent and Trademark
!  Office.
!  
!  Confidential computer software.  Valid license from Compaq required for
!  possession, use or copying.  Consistent with FAR 12.211 and 12.212,
!  Commerical Computer Software, Computer Software Documentation, and
!  Technical Data for Commmerical Items are licensed to the U.S. Government
!  under vendor's standard commerical license.
!

!DEC$ IF .NOT. DEFINED( __sig_d_include )

   !DEC$ DEFINE __sig_d_include

   !DEC$ IF DEFINED( _DLL )
      !DEC$ OBJCOMMENT LIB: "cxmldll.lib" 
   !DEC$ ELSE
      !DEC$ OBJCOMMENT LIB: "cxml.lib" 
   !DEC$ ENDIF

   INTERFACE
      SUBROUTINE dconv_nonperiodic(a,b,c,n_a,n_b,status)
         !DEC$ ATTRIBUTES DEFAULT :: dconv_nonperiodic
         REAL(KIND=8) :: a(0:*)
         REAL(KIND=8) :: b(0:*)
         REAL(KIND=8) :: c(0:*)
         INTEGER(KIND=4) :: n_a
         INTEGER(KIND=4) :: n_b
         INTEGER(KIND=4) :: status
      END SUBROUTINE dconv_nonperiodic
   END INTERFACE

   INTERFACE
      SUBROUTINE dconv_periodic(a,b,c,n,status)
         !DEC$ ATTRIBUTES DEFAULT :: dconv_periodic
         REAL(KIND=8) :: a(0:*)
         REAL(KIND=8) :: b(0:*)
         REAL(KIND=8) :: c(0:*)
         INTEGER(KIND=4) :: n
         INTEGER(KIND=4) :: status
      END SUBROUTINE dconv_periodic
   END INTERFACE

   INTERFACE
      SUBROUTINE dcorr_nonperiodic(a,b,c,n_a,n_b,status)
         !DEC$ ATTRIBUTES DEFAULT :: dcorr_nonperiodic
         REAL(KIND=8) :: a(0:*)
         REAL(KIND=8) :: b(0:*)
         REAL(KIND=8) :: c(0:*)
         INTEGER(KIND=4) :: n_a
         INTEGER(KIND=4) :: n_b
         INTEGER(KIND=4) :: status
      END SUBROUTINE dcorr_nonperiodic
   END INTERFACE

   INTERFACE
      SUBROUTINE dcorr_periodic(a,b,c,n,status)
         !DEC$ ATTRIBUTES DEFAULT :: dcorr_periodic
         REAL(KIND=8) :: a(0:*)
         REAL(KIND=8) :: b(0:*)
         REAL(KIND=8) :: c(0:*)
         INTEGER(KIND=4) :: n
         INTEGER(KIND=4) :: status
      END SUBROUTINE dcorr_periodic
   END INTERFACE

   INTERFACE
      FUNCTION dfct_exit(transform_struct)
         !DEC$ ATTRIBUTES DEFAULT :: dfct_exit
         STRUCTURE /dxml_d_fht_structure/
	    INTEGER(KIND=4) :: n
	    LOGICAL(KIND=4) :: stride_1_flag
	    INTEGER(KIND=4) :: n_ti(0:16)
	    INTEGER(KIND=4) :: n_k(0:16)
	    INTEGER(KIND=4) :: n_t(0:16)
	    INTEGER(KIND=4) :: type(0:16)
	    INTEGER(KIND=4) :: num_stages
	    INTEGER(KIND=4) :: rotation_vector
	    INTEGER(KIND=4) :: rotation_vector_size
	    INTEGER(KIND=4) :: temp_area
	    INTEGER(KIND=4) :: temp_area_size
	    INTEGER(KIND=4) :: set_block_size
	    INTEGER(KIND=4) :: num_non_special_radix
	    INTEGER(KIND=4) :: non_special_radix(0:16)
	    INTEGER(KIND=4) :: non_spec_rad_twiddle_size
	    INTEGER(KIND=4) :: non_spec_rad_twiddle_vec
	    INTEGER(KIND=4) :: non_special_radix_cos(0:16)
	    INTEGER(KIND=4) :: non_special_radix_sin(0:16)
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
	    INTEGER(KIND=4) :: gk(0:11)
         END STRUCTURE
         STRUCTURE /dxml_d_fct_structure/
	    RECORD /dxml_d_fht_structure/ :: fht_struct
	    INTEGER(KIND=4) :: n
	    INTEGER(KIND=4) :: type
	    LOGICAL(KIND=4) :: stride_1_flag
	    INTEGER(KIND=4) :: twiddle_pointer
	    INTEGER(KIND=4) :: twiddle_size
	    INTEGER(KIND=4) :: temp_array_ptr
	    INTEGER(KIND=4) :: temp_array_size
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
         END STRUCTURE
         RECORD /dxml_d_fct_structure/ :: transform_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: transform_struct
         INTEGER(KIND=4) :: dfct_exit
      END FUNCTION dfct_exit
   END INTERFACE

   INTERFACE
      FUNCTION dfct_init(n,transform_struct,type,stride_1_flag)
         !DEC$ ATTRIBUTES DEFAULT :: dfct_init
         STRUCTURE /dxml_d_fht_structure/
	    INTEGER(KIND=4) :: n
	    LOGICAL(KIND=4) :: stride_1_flag
	    INTEGER(KIND=4) :: n_ti(0:16)
	    INTEGER(KIND=4) :: n_k(0:16)
	    INTEGER(KIND=4) :: n_t(0:16)
	    INTEGER(KIND=4) :: type(0:16)
	    INTEGER(KIND=4) :: num_stages
	    INTEGER(KIND=4) :: rotation_vector
	    INTEGER(KIND=4) :: rotation_vector_size
	    INTEGER(KIND=4) :: temp_area
	    INTEGER(KIND=4) :: temp_area_size
	    INTEGER(KIND=4) :: set_block_size
	    INTEGER(KIND=4) :: num_non_special_radix
	    INTEGER(KIND=4) :: non_special_radix(0:16)
	    INTEGER(KIND=4) :: non_spec_rad_twiddle_size
	    INTEGER(KIND=4) :: non_spec_rad_twiddle_vec
	    INTEGER(KIND=4) :: non_special_radix_cos(0:16)
	    INTEGER(KIND=4) :: non_special_radix_sin(0:16)
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
	    INTEGER(KIND=4) :: gk(0:11)
         END STRUCTURE
         STRUCTURE /dxml_d_fct_structure/
	    RECORD /dxml_d_fht_structure/ :: fht_struct
	    INTEGER(KIND=4) :: n
	    INTEGER(KIND=4) :: type
	    LOGICAL(KIND=4) :: stride_1_flag
	    INTEGER(KIND=4) :: twiddle_pointer
	    INTEGER(KIND=4) :: twiddle_size
	    INTEGER(KIND=4) :: temp_array_ptr
	    INTEGER(KIND=4) :: temp_array_size
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
         END STRUCTURE
         INTEGER(KIND=4) :: n
         RECORD /dxml_d_fct_structure/ :: transform_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: transform_struct
         INTEGER(KIND=4) :: type
         LOGICAL(KIND=4) :: stride_1_flag
         INTEGER(KIND=4) :: dfct_init
      END FUNCTION dfct_init
   END INTERFACE

   INTERFACE
      FUNCTION dfft_exit(fft_struct)
         !DEC$ ATTRIBUTES DEFAULT :: dfft_exit
         STRUCTURE /dxml_z_fft_structure/
	    INTEGER(KIND=4) :: n
	    LOGICAL(KIND=4) :: stride_1_flag
	    INTEGER(KIND=4) :: n_ti(0:16)
	    INTEGER(KIND=4) :: n_k(0:16)
	    INTEGER(KIND=4) :: n_t(0:16)
	    INTEGER(KIND=4) :: type(0:16)
	    INTEGER(KIND=4) :: num_stages
	    INTEGER(KIND=4) :: rotation_vector
	    INTEGER(KIND=4) :: rotation_vector_size
	    INTEGER(KIND=4) :: temp_area
	    INTEGER(KIND=4) :: temp_area_size
	    INTEGER(KIND=4) :: set_block_size
	    INTEGER(KIND=4) :: num_non_special_radix
	    INTEGER(KIND=4) :: non_special_radix(0:16)
	    INTEGER(KIND=4) :: non_spec_rad_twiddle_size
	    INTEGER(KIND=4) :: non_spec_rad_twiddle_vec
	    INTEGER(KIND=4) :: non_special_radix_cos(0:16)
	    INTEGER(KIND=4) :: non_special_radix_sin(0:16)
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
	    INTEGER(KIND=4) :: gk(0:11)
         END STRUCTURE
         STRUCTURE /dxml_d_fft_structure/
	    INTEGER(KIND=4) :: n
	    LOGICAL(KIND=4) :: stride_1_flag
	    RECORD /dxml_z_fft_structure/ :: cv_struct
	    INTEGER(KIND=4) :: cos_recomb
	    INTEGER(KIND=4) :: sin_recomb
	    INTEGER(KIND=4) :: twiddle_recomb_pointer
	    INTEGER(KIND=4) :: twiddle_recomb_size
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
         END STRUCTURE
         RECORD /dxml_d_fft_structure/ :: fft_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: fft_struct
         INTEGER(KIND=4) :: dfft_exit
      END FUNCTION dfft_exit
   END INTERFACE

   INTERFACE
      FUNCTION dfft_exit_2d(fft_struct)
         !DEC$ ATTRIBUTES DEFAULT :: dfft_exit_2d
         STRUCTURE /dxml_d_fft_structure_2d/
	    INTEGER(KIND=4) :: x_structure_ptr
	    INTEGER(KIND=4) :: y_structure_ptr
	    INTEGER(KIND=4) :: nx
	    INTEGER(KIND=4) :: ny
	    CHARACTER(LEN=16) :: x_type
	    INTEGER(KIND=4) :: y_grp_block_size
	    INTEGER(KIND=4) :: x_grp_block_size
	    INTEGER(KIND=4) :: x_size
	    INTEGER(KIND=4) :: y_size
	    LOGICAL(KIND=4) :: stride_x_1_flag
	    INTEGER(KIND=4) :: cos_recomb
	    INTEGER(KIND=4) :: sin_recomb
	    INTEGER(KIND=4) :: twiddle_recomb_pointer
	    INTEGER(KIND=4) :: twiddle_recomb_size
	    INTEGER(KIND=4) :: temp_area
	    INTEGER(KIND=4) :: temp_area_size
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
	    INTEGER(KIND=4) :: gk(0:11)
         END STRUCTURE
         RECORD /dxml_d_fft_structure_2d/ :: fft_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: fft_struct
         INTEGER(KIND=4) :: dfft_exit_2d
      END FUNCTION dfft_exit_2d
   END INTERFACE

   INTERFACE
      FUNCTION dfft_exit_3d(fft_struct)
         !DEC$ ATTRIBUTES DEFAULT :: dfft_exit_3d
         STRUCTURE /dxml_d_fft_structure_3d/
	    INTEGER(KIND=4) :: x_structure_ptr
	    INTEGER(KIND=4) :: y_structure_ptr
	    INTEGER(KIND=4) :: z_structure_ptr
	    INTEGER(KIND=4) :: nx
	    INTEGER(KIND=4) :: ny
	    INTEGER(KIND=4) :: nz
	    CHARACTER(LEN=16) :: x_type
	    INTEGER(KIND=4) :: z_grp_block_size
	    INTEGER(KIND=4) :: y_grp_block_size
	    INTEGER(KIND=4) :: x_grp_block_size
	    INTEGER(KIND=4) :: x_size
	    INTEGER(KIND=4) :: y_size
	    INTEGER(KIND=4) :: z_size
	    LOGICAL(KIND=4) :: stride_x_1_flag
	    INTEGER(KIND=4) :: cos_recomb
	    INTEGER(KIND=4) :: sin_recomb
	    INTEGER(KIND=4) :: twiddle_recomb_pointer
	    INTEGER(KIND=4) :: twiddle_recomb_size
	    INTEGER(KIND=4) :: temp_area
	    INTEGER(KIND=4) :: temp_area_size
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
	    INTEGER(KIND=4) :: gk(0:11)
         END STRUCTURE
         RECORD /dxml_d_fft_structure_3d/ :: fft_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: fft_struct
         INTEGER(KIND=4) :: dfft_exit_3d
      END FUNCTION dfft_exit_3d
   END INTERFACE

   INTERFACE
      FUNCTION dfft_exit_grp(fft_struct)
         !DEC$ ATTRIBUTES DEFAULT :: dfft_exit_grp
         STRUCTURE /dxml_z_grp_fft_structure/
	    INTEGER(KIND=4) :: n
	    LOGICAL(KIND=4) :: grp_stride_1_flag
	    INTEGER(KIND=4) :: grp_block_size
	    INTEGER(KIND=4) :: n_ti(0:16)
	    INTEGER(KIND=4) :: n_k(0:16)
	    INTEGER(KIND=4) :: n_t(0:16)
	    INTEGER(KIND=4) :: type(0:16)
	    INTEGER(KIND=4) :: num_stages
	    INTEGER(KIND=4) :: rotation_vector
	    INTEGER(KIND=4) :: rotation_vector_size
	    INTEGER(KIND=4) :: temp_area
	    INTEGER(KIND=4) :: temp_area_size
	    INTEGER(KIND=4) :: num_non_special_radix
	    INTEGER(KIND=4) :: non_special_radix(0:16)
	    INTEGER(KIND=4) :: non_spec_rad_twiddle_size
	    INTEGER(KIND=4) :: non_spec_rad_twiddle_vec
	    INTEGER(KIND=4) :: non_special_radix_cos(0:16)
	    INTEGER(KIND=4) :: non_special_radix_sin(0:16)
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
	    INTEGER(KIND=4) :: gk(0:11)
         END STRUCTURE
         STRUCTURE /dxml_d_grp_fft_structure/
	    INTEGER(KIND=4) :: n
	    LOGICAL(KIND=4) :: grp_stride_1_flag
	    RECORD /dxml_z_grp_fft_structure/ :: cv_struct
	    INTEGER(KIND=4) :: cos_recomb
	    INTEGER(KIND=4) :: sin_recomb
	    INTEGER(KIND=4) :: twiddle_recomb_pointer
	    INTEGER(KIND=4) :: twiddle_recomb_size
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
         END STRUCTURE
         RECORD /dxml_d_grp_fft_structure/ :: fft_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: fft_struct
         INTEGER(KIND=4) :: dfft_exit_grp
      END FUNCTION dfft_exit_grp
   END INTERFACE

   INTERFACE
      FUNCTION dfft_init(n,fft_struct,stride_1_flag)
         !DEC$ ATTRIBUTES DEFAULT :: dfft_init
         STRUCTURE /dxml_z_fft_structure/
	    INTEGER(KIND=4) :: n
	    LOGICAL(KIND=4) :: stride_1_flag
	    INTEGER(KIND=4) :: n_ti(0:16)
	    INTEGER(KIND=4) :: n_k(0:16)
	    INTEGER(KIND=4) :: n_t(0:16)
	    INTEGER(KIND=4) :: type(0:16)
	    INTEGER(KIND=4) :: num_stages
	    INTEGER(KIND=4) :: rotation_vector
	    INTEGER(KIND=4) :: rotation_vector_size
	    INTEGER(KIND=4) :: temp_area
	    INTEGER(KIND=4) :: temp_area_size
	    INTEGER(KIND=4) :: set_block_size
	    INTEGER(KIND=4) :: num_non_special_radix
	    INTEGER(KIND=4) :: non_special_radix(0:16)
	    INTEGER(KIND=4) :: non_spec_rad_twiddle_size
	    INTEGER(KIND=4) :: non_spec_rad_twiddle_vec
	    INTEGER(KIND=4) :: non_special_radix_cos(0:16)
	    INTEGER(KIND=4) :: non_special_radix_sin(0:16)
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
	    INTEGER(KIND=4) :: gk(0:11)
         END STRUCTURE
         STRUCTURE /dxml_d_fft_structure/
	    INTEGER(KIND=4) :: n
	    LOGICAL(KIND=4) :: stride_1_flag
	    RECORD /dxml_z_fft_structure/ :: cv_struct
	    INTEGER(KIND=4) :: cos_recomb
	    INTEGER(KIND=4) :: sin_recomb
	    INTEGER(KIND=4) :: twiddle_recomb_pointer
	    INTEGER(KIND=4) :: twiddle_recomb_size
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
         END STRUCTURE
         INTEGER(KIND=4) :: n
         RECORD /dxml_d_fft_structure/ :: fft_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: fft_struct
         LOGICAL(KIND=4) :: stride_1_flag
         INTEGER(KIND=4) :: dfft_init
      END FUNCTION dfft_init
   END INTERFACE

   INTERFACE
      FUNCTION dfft_init_2d(nx,ny,fft_struct,stride_x_1_flag)
         !DEC$ ATTRIBUTES DEFAULT :: dfft_init_2d
         STRUCTURE /dxml_d_fft_structure_2d/
	    INTEGER(KIND=4) :: x_structure_ptr
	    INTEGER(KIND=4) :: y_structure_ptr
	    INTEGER(KIND=4) :: nx
	    INTEGER(KIND=4) :: ny
	    CHARACTER(LEN=16) :: x_type
	    INTEGER(KIND=4) :: y_grp_block_size
	    INTEGER(KIND=4) :: x_grp_block_size
	    INTEGER(KIND=4) :: x_size
	    INTEGER(KIND=4) :: y_size
	    LOGICAL(KIND=4) :: stride_x_1_flag
	    INTEGER(KIND=4) :: cos_recomb
	    INTEGER(KIND=4) :: sin_recomb
	    INTEGER(KIND=4) :: twiddle_recomb_pointer
	    INTEGER(KIND=4) :: twiddle_recomb_size
	    INTEGER(KIND=4) :: temp_area
	    INTEGER(KIND=4) :: temp_area_size
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
	    INTEGER(KIND=4) :: gk(0:11)
         END STRUCTURE
         INTEGER(KIND=4) :: nx
         INTEGER(KIND=4) :: ny
         RECORD /dxml_d_fft_structure_2d/ :: fft_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: fft_struct
         LOGICAL(KIND=4) :: stride_x_1_flag
         INTEGER(KIND=4) :: dfft_init_2d
      END FUNCTION dfft_init_2d
   END INTERFACE

   INTERFACE
      FUNCTION dfft_init_3d(nx,ny,nz,fft_struct,stride_x_1_flag)
         !DEC$ ATTRIBUTES DEFAULT :: dfft_init_3d
         STRUCTURE /dxml_d_fft_structure_3d/
	    INTEGER(KIND=4) :: x_structure_ptr
	    INTEGER(KIND=4) :: y_structure_ptr
	    INTEGER(KIND=4) :: z_structure_ptr
	    INTEGER(KIND=4) :: nx
	    INTEGER(KIND=4) :: ny
	    INTEGER(KIND=4) :: nz
	    CHARACTER(LEN=16) :: x_type
	    INTEGER(KIND=4) :: z_grp_block_size
	    INTEGER(KIND=4) :: y_grp_block_size
	    INTEGER(KIND=4) :: x_grp_block_size
	    INTEGER(KIND=4) :: x_size
	    INTEGER(KIND=4) :: y_size
	    INTEGER(KIND=4) :: z_size
	    LOGICAL(KIND=4) :: stride_x_1_flag
	    INTEGER(KIND=4) :: cos_recomb
	    INTEGER(KIND=4) :: sin_recomb
	    INTEGER(KIND=4) :: twiddle_recomb_pointer
	    INTEGER(KIND=4) :: twiddle_recomb_size
	    INTEGER(KIND=4) :: temp_area
	    INTEGER(KIND=4) :: temp_area_size
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
	    INTEGER(KIND=4) :: gk(0:11)
         END STRUCTURE
         INTEGER(KIND=4) :: nx
         INTEGER(KIND=4) :: ny
         INTEGER(KIND=4) :: nz
         RECORD /dxml_d_fft_structure_3d/ :: fft_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: fft_struct
         LOGICAL(KIND=4) :: stride_x_1_flag
         INTEGER(KIND=4) :: dfft_init_3d
      END FUNCTION dfft_init_3d
   END INTERFACE

   INTERFACE
      FUNCTION dfst_exit(transform_struct)
         !DEC$ ATTRIBUTES DEFAULT :: dfst_exit
         STRUCTURE /dxml_d_fht_structure/
	    INTEGER(KIND=4) :: n
	    LOGICAL(KIND=4) :: stride_1_flag
	    INTEGER(KIND=4) :: n_ti(0:16)
	    INTEGER(KIND=4) :: n_k(0:16)
	    INTEGER(KIND=4) :: n_t(0:16)
	    INTEGER(KIND=4) :: type(0:16)
	    INTEGER(KIND=4) :: num_stages
	    INTEGER(KIND=4) :: rotation_vector
	    INTEGER(KIND=4) :: rotation_vector_size
	    INTEGER(KIND=4) :: temp_area
	    INTEGER(KIND=4) :: temp_area_size
	    INTEGER(KIND=4) :: set_block_size
	    INTEGER(KIND=4) :: num_non_special_radix
	    INTEGER(KIND=4) :: non_special_radix(0:16)
	    INTEGER(KIND=4) :: non_spec_rad_twiddle_size
	    INTEGER(KIND=4) :: non_spec_rad_twiddle_vec
	    INTEGER(KIND=4) :: non_special_radix_cos(0:16)
	    INTEGER(KIND=4) :: non_special_radix_sin(0:16)
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
	    INTEGER(KIND=4) :: gk(0:11)
         END STRUCTURE
         STRUCTURE /dxml_d_fst_structure/
	    RECORD /dxml_d_fht_structure/ :: fht_struct
	    INTEGER(KIND=4) :: n
	    INTEGER(KIND=4) :: type
	    LOGICAL(KIND=4) :: stride_1_flag
	    INTEGER(KIND=4) :: twiddle_pointer
	    INTEGER(KIND=4) :: twiddle_size
	    INTEGER(KIND=4) :: temp_array_ptr
	    INTEGER(KIND=4) :: temp_array_size
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
         END STRUCTURE
         RECORD /dxml_d_fst_structure/ :: transform_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: transform_struct
         INTEGER(KIND=4) :: dfst_exit
      END FUNCTION dfst_exit
   END INTERFACE

   INTERFACE
      FUNCTION dfst_init(n,transform_struct,type,stride_1_flag)
         !DEC$ ATTRIBUTES DEFAULT :: dfst_init
         STRUCTURE /dxml_d_fht_structure/
	    INTEGER(KIND=4) :: n
	    LOGICAL(KIND=4) :: stride_1_flag
	    INTEGER(KIND=4) :: n_ti(0:16)
	    INTEGER(KIND=4) :: n_k(0:16)
	    INTEGER(KIND=4) :: n_t(0:16)
	    INTEGER(KIND=4) :: type(0:16)
	    INTEGER(KIND=4) :: num_stages
	    INTEGER(KIND=4) :: rotation_vector
	    INTEGER(KIND=4) :: rotation_vector_size
	    INTEGER(KIND=4) :: temp_area
	    INTEGER(KIND=4) :: temp_area_size
	    INTEGER(KIND=4) :: set_block_size
	    INTEGER(KIND=4) :: num_non_special_radix
	    INTEGER(KIND=4) :: non_special_radix(0:16)
	    INTEGER(KIND=4) :: non_spec_rad_twiddle_size
	    INTEGER(KIND=4) :: non_spec_rad_twiddle_vec
	    INTEGER(KIND=4) :: non_special_radix_cos(0:16)
	    INTEGER(KIND=4) :: non_special_radix_sin(0:16)
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
	    INTEGER(KIND=4) :: gk(0:11)
         END STRUCTURE
         STRUCTURE /dxml_d_fst_structure/
	    RECORD /dxml_d_fht_structure/ :: fht_struct
	    INTEGER(KIND=4) :: n
	    INTEGER(KIND=4) :: type
	    LOGICAL(KIND=4) :: stride_1_flag
	    INTEGER(KIND=4) :: twiddle_pointer
	    INTEGER(KIND=4) :: twiddle_size
	    INTEGER(KIND=4) :: temp_array_ptr
	    INTEGER(KIND=4) :: temp_array_size
	    INTEGER(KIND=4) :: num_processors
	    INTEGER(KIND=4) :: future_use(20)
         END STRUCTURE
         INTEGER(KIND=4) :: n
         RECORD /dxml_d_fst_structure/ :: transform_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: transform_struct
         INTEGER(KIND=4) :: type
         LOGICAL(KIND=4) :: stride_1_flag
         INTEGER(KIND=4) :: dfst_init
      END FUNCTION dfst_init
   END INTERFACE

!DEC$ ENDIF
