00001
00002
00003 #include <string.h>
00004
00005 #include "spl.h"
00006 #include "uti.h"
00007 #include "str2win.h"
00008 #include "xfft.h"
00009
00010
00011
00012 DOUBLE *str2win( const CHAR *strwin, DOUBLE *win, INT len )
00013 {
00014 if (!strwin) win_rect(win,len);
00015 else if (!strcmp(strwin,"Hamm")) win_hamm(win,len);
00016 else if (!strcmp(strwin,"Hann")) win_hann(win,len);
00017 else if (!strcmp(strwin,"Bart")) win_bart(win,len);
00018 else if (!strcmp(strwin,"Black")) win_black(win,len);
00019 else if (!strcmp(strwin,"Rect")) win_rect(win,len);
00020 else if (!strcmp(strwin,"None")) win_rect(win,len);
00021 else die_beep("Invalid window (%s)",strwin);
00022
00023 return win;
00024 }
00025
00026
00027
00028 INT str2xfftwin( const CHAR *strwin )
00029 {
00030 if (!strwin) return XFFT_WIN_RECT;
00031 else if (!strcmp(strwin,"Hamm")) return XFFT_WIN_HAMM;
00032 else if (!strcmp(strwin,"Hann")) return XFFT_WIN_HANN;
00033 else if (!strcmp(strwin,"Bart")) return XFFT_WIN_BART;
00034 else if (!strcmp(strwin,"Black")) return XFFT_WIN_BLACK;
00035 else if (!strcmp(strwin,"Rect")) return XFFT_WIN_RECT;
00036 else if (!strcmp(strwin,"None")) return XFFT_WIN_RECT;
00037 else die_beep("Invalid window (%s)",strwin);
00038
00039 return XFFT_WIN_RECT;
00040 }
00041
00042
00043
00044 DOUBLE *xfftwin2win( INT xfftwin, DOUBLE *win, INT len )
00045 {
00046 switch (xfftwin) {
00047 case XFFT_WIN_HAMM:win_hamm(win,len);
00048 case XFFT_WIN_HANN:win_hann(win,len);
00049 case XFFT_WIN_BART:win_bart(win,len);
00050 case XFFT_WIN_BLACK:win_black(win,len);
00051 default: win_rect(win,len);break;
00052 }
00053
00054 return win;
00055 }
00056
00057