File indexing completed on 2024-05-12 03:47:53
0001 /* 0002 File : nsl_sf_window.h 0003 Project : LabPlot 0004 Description : NSL special window functions 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2016 Stefan Gerlach <stefan.gerlach@uni.kn> 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef NSL_SF_WINDOW_H 0011 #define NSL_SF_WINDOW_H 0012 0013 #include <stdlib.h> 0014 0015 #define NSL_SF_WINDOW_TYPE_COUNT 15 0016 typedef enum { 0017 nsl_sf_window_uniform, 0018 nsl_sf_window_triangle, 0019 nsl_sf_window_triangleII, 0020 nsl_sf_window_triangleIII, 0021 nsl_sf_window_welch, 0022 nsl_sf_window_hann, 0023 nsl_sf_window_hamming, 0024 nsl_sf_window_blackman, 0025 nsl_sf_window_nuttall, 0026 nsl_sf_window_blackman_nuttall, 0027 nsl_sf_window_blackman_harris, 0028 nsl_sf_window_flat_top, 0029 nsl_sf_window_cosine, 0030 nsl_sf_window_bartlett_hann, 0031 nsl_sf_window_lanczos 0032 } nsl_sf_window_type; 0033 extern const char* nsl_sf_window_type_name[]; 0034 0035 /* u range: [0:1] or [0:N-1] ? */ 0036 0037 /* uniform */ 0038 int nsl_sf_apply_window(double data[], size_t N, nsl_sf_window_type type); 0039 0040 #endif /* NSL_SF_WINDOW_H */