home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 2 / goldfish_vol2_cd1.bin / files / misc / sci / gfft / source / gproto.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-06  |  8.1 KB  |  214 lines

  1. /***************************************************************************
  2.  *          Copyright (C) 1994  Charles P. Peterson                  *
  3.  *         4007 Enchanted Sun, San Antonio, Texas 78244-1254             *
  4.  *              Email: Charles_P_Peterson@fcircus.sat.tx.us                *
  5.  *                                                                         *
  6.  *          This is free software with NO WARRANTY.                  *
  7.  *          See gfft.c, or run program itself, for details.              *
  8.  *              Support is available for a fee.                      *
  9.  ***************************************************************************
  10.  *
  11.  * Program:     gfft--General FFT analysis
  12.  * File:        gproto.h
  13.  * Purpose:     define prototypes for GFFT
  14.  * Author:      Charles Peterson (CPP)
  15.  * History:     29-May-1993 CPP; Created.
  16.  * Comment:     This allows a little cheating with smakefile.
  17.  *                Change one prototype, and you don't have to recompile
  18.  *                everything, just the (presumably) modified code that
  19.  *                defines something, and the (hopefully) modified code
  20.  *                that uses it.  Forget to modify one call and you're
  21.  *                dead!  If in doubt, touch gfft.h.
  22.  */
  23.  
  24. #ifndef GPROTO_H
  25. #define GPROTO_H
  26.  
  27. #include <stdio.h>   /* needed for FILE */
  28.  
  29. /*
  30.  * First, the command functions (take arguments, return remaining arguments)
  31.  */
  32. char *about_message (char *arguments);
  33. char *banner_message (char *arguments);
  34. char *help_message (char *arguments);
  35. char *no_warranty_message (char *arguments);
  36. char *copying_message (char *arguments);
  37. char *ok (char *arguments);
  38. char *set_terminal (char *arguments);
  39. char *set_rate (char *arguments);
  40. char *set_read (char *arguments);
  41. char *set_quantization (char *arguments);
  42. char *set_no_quantization (char *arguments);
  43. char *read_message (char *filename);
  44. char *set (char *arguments);
  45. char *set_write (char *arguments);
  46. char *set_append (char *arguments);
  47. char *set_bits (char *arguments);
  48. char *set_bins (char *arguments);
  49. char *set_interleave (char *arguments);
  50. char *set_no_interleave (char *arguments);
  51. char *set_power (char *arguments);
  52. char *set_amplitude (char *arguments);
  53. char *set_mean (char *arguments);
  54. char *set_sum (char *arguments);
  55. char *set_hann (char *arguments);
  56. char *set_hamming (char *arguments);
  57. char *set_blackman_harris_74db (char *arguments);
  58. char *set_blackman_harris_92db (char *arguments);
  59. char *set_triangle (char *arguments);
  60. char *set_rectangle (char *arguments);
  61. char *set_parzen (char *arguments);
  62. char *set_welch (char *arguments);
  63. char *set_fft (char *arguments);
  64. char *set_output (char *arguments);
  65. char *set_numerical (char *arguments);
  66. char *set_no_numerical (char *arguments);
  67. char *set_pad (char *arguments);
  68. char *set_no_pad (char *arguments);
  69. char *settings_message (char *arguments);
  70. char *set_start_byte (char *arguments);
  71. char *stopbyte (char *arguments);
  72. char *set_overlap (char *arguments);
  73. char *set_no_overlap (char *arguments);
  74. char *set_high_y (char *arguments);
  75. char *set_low_y (char *arguments);
  76. char *set_high_frequency (char *arguments);
  77. char *set_low_frequency (char *arguments);
  78. char *set_pink (char *arguments);
  79. char *set_no_pink (char *arguments);
  80. char *set_parseval (char *arguments);
  81. char *set_no_parseval (char *arguments);
  82. char *set_channel (char *arguments);
  83. char *set_frames (char *arguments);
  84. char *include_zero (char *arguments);
  85. char *no_include_zero (char *arguments);
  86. char *set_ignore_format (char *arguments);
  87. char *set_no_ignore_format (char *arguments);
  88. char *set_start_frame (char *arguments);
  89. char *set_multiply (char *arguments);
  90. char *set_no_one_shot_only (char *arguments);
  91. char *set_no_repeat_only (char *arguments);
  92. char *set_octave (char *arguments);
  93. char *set_one_shot_only (char *arguments);
  94. char *set_repeat_only (char *arguments);
  95. char *re_plot (char *arguments);
  96. char *set_rotation_x (char *arguments);
  97. char *set_rotation_z (char *arguments);
  98. char *re_output (char *arguments);
  99. char *set_calibration (char *arguments);
  100. char *set_no_calibrations (char *arguments);
  101. char *set_db_calibration (char *arguments);
  102. char *question_message (char *arguments);
  103. char *set_db (char *arguments);
  104. char *set_no_db (char *arguments);
  105. char *set_plot (char *arguments);
  106. char *set_plot_output (char *arguments);
  107. char *set_no_plot (char *arguments);
  108. char *set_logx (char *arguments);
  109. char *set_logy (char *arguments);
  110. char *set_no_logx (char *arguments);
  111. char *set_no_logy (char *arguments);
  112. char *default_command (char *arguments);
  113. char *default_argument (char *arguments);
  114. char *quit (char *arguments);  /* Actually, this never returns */
  115. char *set_psdensity (char *arguments);
  116. char *set_no_psdensity (char *arguments);
  117. char *set_save_memory (char *arguments);
  118. char *set_no_save_memory (char *arguments);
  119. char *set_smoothing_segments (char *arguments);
  120. char *set_squared_smoothing (char *arguments);
  121. char *set_no_squared_smoothing (char *arguments);
  122. char *set_combine_plots (char *arguments);
  123. char *cut_combined_plot (char *arguments);
  124. char *set_no_combine_plots (char *arguments);
  125. char *set_no_time_3d (char *arguments);
  126. char *set_time_3d (char *arguments);
  127. char *set_time_offset (char *arguments);
  128. char *set_time_overlap (char *arguments);
  129. char *set_time_segments (char *arguments);
  130. char *set_time_seg_size (char *arguments);
  131. char *set_signed (char *arguments);
  132. char *set_unsigned (char *arguments);
  133. char *set_hidden_3d (char *arguments);
  134. char *set_no_hidden_3d (char *arguments);
  135.  
  136. /*
  137.  * Now, other functions
  138.  */
  139. Name_Info_St *invoke_method (char *command, Name_Info_St *command_name_list);
  140.  
  141. Name_Info_St *identify_name (char *command, 
  142.                 Name_Info_St *command_name_list, 
  143.                 BOOLEAN report_error);
  144.  
  145. void cli_interactive_loop (BOOLEAN started_from_cli);
  146. void startup_cli_file (void);
  147.  
  148. void batch_command (int argc, char *argv[]);
  149. void error_message (int messagenumber);
  150. void command_error_message (int messagenumber, char *bad_charp);
  151. void prompt_command (void);
  152. int do_command (char *command);
  153. char *read_file (char *filename);
  154. void *gmalloc (unsigned long bytes, int jmp_value);
  155. void *gcalloc (unsigned long n_ele, unsigned long ele_size, int jmp_value);
  156. void gfree (void *block);
  157. unsigned long get_pos_power_2 (unsigned long testvalue);
  158. unsigned long ok_read (float *indata, unsigned long NumberBins);
  159. ULONG ok_spectrum (BOOLEAN do_it_for_real);
  160. void ok_write (BIN_TYPE *bins, long number_bins, long number_segments);
  161. void ok_sigma (float *indata, BIN_TYPE *bins, unsigned long number_bins);
  162. void ok_rfft (float *indata, unsigned long number_bins);
  163. ULONG ok_fft (BOOLEAN do_it_for_real);
  164. void ok_writec (float *data, unsigned long data_count);
  165. void ok_rewind (void);
  166. void *grealloc (void *memblock, unsigned long nbytes, int jmp_value);
  167. void bins_d_message (unsigned long total_actually_read, 
  168.              unsigned long number_bins);
  169. void bins_s_message (void);
  170. void *gopen (char **path_list, char *filename, char *mode);
  171. void reset_format (void);
  172. void read_format (void);
  173. void ok_plot (void);
  174. void ok_window (float *indata, unsigned long data_count);
  175. int ok_octave_offset (BOOLEAN report_error);
  176. void loop_time_message (double seconds);
  177. void loop_time_message_done (double seconds);
  178. void gabort (int status);
  179. BOOLEAN is_temp_file (char *filename);
  180. double *ok_mesh (double nyquist_frequency, double delta_frequency);
  181. double ok_window__gain2 (void);
  182. ULONG ok_time3d_spectrum (BOOLEAN do_it_for_real);
  183. ULONG do_ok (BOOLEAN do_it_for_real);
  184. void do_re_output (void);
  185. void do_re_plot (void);
  186. void calibration_list__add (struct cal_st **clistp,
  187.                 char *cname, 
  188.                 FILE *cfile,
  189.                 BOOLEAN db_scale);
  190. int calibration_list__count (struct cal_st **clistp);
  191. void calibration_list__cancel (struct cal_st **clistp);
  192. void calibration_list__reset (struct cal_st **clistp);
  193. float calibration_list__apply (struct cal_st **clistp, 
  194.                    float value, double freq);
  195.  
  196. #ifdef AMIGA
  197. void workbench_main (void);
  198. char *workbench_command (char *arguments);
  199. int workbench_dialog (void);
  200. void message_requester (struct Window *windowp, char *message_text);
  201. void close_amiga_stuff (void);
  202. #endif
  203.  
  204. #ifdef NUMERICAL_RECIPES_AVAILABLE
  205. void realft (float data[], int n, int isign);
  206. void four1 (float data[], int n, int isign);
  207. #endif
  208.  
  209. /*
  210.  * (Note: the protos for complex numbers are defined in complex.h)
  211.  */
  212.  
  213. #endif /* ifndef GPROTO_H */
  214.