!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_s_include )

   !DEC$ DEFINE __sig_s_include

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

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

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

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

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

   INTERFACE
      FUNCTION sfct_exit(transform_struct)
         !DEC$ ATTRIBUTES DEFAULT :: sfct_exit
         STRUCTURE /dxml_s_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_s_fct_structure/
            RECORD /dxml_s_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_s_fct_structure/ :: transform_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: transform_struct
         INTEGER(KIND=4) :: sfct_exit
      END FUNCTION sfct_exit
   END INTERFACE

   INTERFACE
      FUNCTION sfct_init(n,transform_struct,type,stride_1_flag)
         !DEC$ ATTRIBUTES DEFAULT :: sfct_init
         STRUCTURE /dxml_s_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_s_fct_structure/
            RECORD /dxml_s_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_s_fct_structure/ :: transform_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: transform_struct
         INTEGER(KIND=4) :: type
         LOGICAL(KIND=4) :: stride_1_flag
         INTEGER(KIND=4) :: sfct_init
      END FUNCTION sfct_init
   END INTERFACE

   INTERFACE
      FUNCTION sfft_exit(fft_struct)
         !DEC$ ATTRIBUTES DEFAULT :: sfft_exit
         STRUCTURE /dxml_c_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_s_fft_structure/
            INTEGER(KIND=4) :: n
            LOGICAL(KIND=4) :: stride_1_flag
            RECORD /dxml_c_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_s_fft_structure/ :: fft_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: fft_struct
         INTEGER(KIND=4) :: sfft_exit
      END FUNCTION sfft_exit
   END INTERFACE

   INTERFACE
      FUNCTION sfft_exit_2d(fft_struct)
         !DEC$ ATTRIBUTES DEFAULT :: sfft_exit_2d
         STRUCTURE /dxml_s_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_s_fft_structure_2d/ :: fft_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: fft_struct
         INTEGER(KIND=4) :: sfft_exit_2d
      END FUNCTION sfft_exit_2d
   END INTERFACE

   INTERFACE
      FUNCTION sfft_exit_3d(fft_struct)
         !DEC$ ATTRIBUTES DEFAULT :: sfft_exit_3d
         STRUCTURE /dxml_s_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_s_fft_structure_3d/ :: fft_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: fft_struct
         INTEGER(KIND=4) :: sfft_exit_3d
      END FUNCTION sfft_exit_3d
   END INTERFACE

   INTERFACE
      FUNCTION sfft_exit_grp(fft_struct)
         !DEC$ ATTRIBUTES DEFAULT :: sfft_exit_grp
         STRUCTURE /dxml_c_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_s_grp_fft_structure/
            INTEGER(KIND=4) :: n
            LOGICAL(KIND=4) :: grp_stride_1_flag
            RECORD /dxml_c_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_s_grp_fft_structure/ :: fft_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: fft_struct
         INTEGER(KIND=4) :: sfft_exit_grp
      END FUNCTION sfft_exit_grp
   END INTERFACE

   INTERFACE
      FUNCTION sfft_init(n,fft_struct,stride_1_flag)
         !DEC$ ATTRIBUTES DEFAULT :: sfft_init
         STRUCTURE /dxml_c_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_s_fft_structure/
            INTEGER(KIND=4) :: n
            LOGICAL(KIND=4) :: stride_1_flag
            RECORD /dxml_c_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_s_fft_structure/ :: fft_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: fft_struct
         LOGICAL(KIND=4) :: stride_1_flag
         INTEGER(KIND=4) :: sfft_init
      END FUNCTION sfft_init
   END INTERFACE

   INTERFACE
      FUNCTION sfft_init_2d(nx,ny,fft_struct,stride_x_1_flag)
         !DEC$ ATTRIBUTES DEFAULT :: sfft_init_2d
         STRUCTURE /dxml_s_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_s_fft_structure_2d/ :: fft_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: fft_struct
         LOGICAL(KIND=4) :: stride_x_1_flag
         INTEGER(KIND=4) :: sfft_init_2d
      END FUNCTION sfft_init_2d
   END INTERFACE

   INTERFACE
      FUNCTION sfft_init_3d(nx,ny,nz,fft_struct,stride_x_1_flag)
         !DEC$ ATTRIBUTES DEFAULT :: sfft_init_3d
         STRUCTURE /dxml_s_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_s_fft_structure_3d/ :: fft_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: fft_struct
         LOGICAL(KIND=4) :: stride_x_1_flag
         INTEGER(KIND=4) :: sfft_init_3d
      END FUNCTION sfft_init_3d
   END INTERFACE

   INTERFACE
      SUBROUTINE sfilter_apply_nonrec(in,out,temp_array,status)
         !DEC$ ATTRIBUTES DEFAULT :: sfilter_apply_nonrec
         REAL(KIND=4) :: in(*)
         REAL(KIND=4) :: out(*)
         REAL(KIND=4) :: temp_array(510)
         INTEGER(KIND=4) :: status
      END SUBROUTINE sfilter_apply_nonrec
   END INTERFACE

   INTERFACE
      FUNCTION sfst_exit(transform_struct)
         !DEC$ ATTRIBUTES DEFAULT :: sfst_exit
         STRUCTURE /dxml_s_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_s_fst_structure/
            RECORD /dxml_s_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_s_fst_structure/ :: transform_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: transform_struct
         INTEGER(KIND=4) :: sfst_exit
      END FUNCTION sfst_exit
   END INTERFACE

   INTERFACE
      FUNCTION sfst_init(n,transform_struct,type,stride_1_flag)
         !DEC$ ATTRIBUTES DEFAULT :: sfst_init
         STRUCTURE /dxml_s_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_s_fst_structure/
            RECORD /dxml_s_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_s_fst_structure/ :: transform_struct
         !DEC$ ATTRIBUTES NO_ARG_CHECK :: transform_struct
         INTEGER(KIND=4) :: type
         LOGICAL(KIND=4) :: stride_1_flag
         INTEGER(KIND=4) :: sfst_init
      END FUNCTION sfst_init
   END INTERFACE

!DEC$ ENDIF
