📄 test.c
字号:
/* fft/test.c * * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or (at * your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#include <config.h>#include <string.h>#include <stddef.h>#include <stdlib.h>#include <stdio.h>#include <math.h>#include <float.h>#include <gsl/gsl_complex.h>#include <gsl/gsl_errno.h>#include <gsl/gsl_dft_complex.h>#include <gsl/gsl_fft_complex.h>#include <gsl/gsl_fft_complex_float.h>#include <gsl/gsl_fft_real.h>#include <gsl/gsl_fft_real_float.h>#include <gsl/gsl_fft_halfcomplex.h>#include <gsl/gsl_fft_halfcomplex_float.h>#include <gsl/gsl_ieee_utils.h>#include <gsl/gsl_test.h>void my_error_handler (const char *reason, const char *file, int line, int err);#include "complex_internal.h"/* Usage: test [n] Exercise the fft routines for length n. By default n runs from 1 to 100. The exit status indicates success or failure. */#define BASE_DOUBLE#include "templates_on.h"#include "compare_source.c"#include "bitreverse.c"#include "test_complex_source.c"#include "test_real_source.c"#include "test_trap_source.c"#include "templates_off.h"#undef BASE_DOUBLE#define BASE_FLOAT#include "templates_on.h"#include "compare_source.c"#include "bitreverse.c"#include "test_complex_source.c"#include "test_real_source.c"#include "test_trap_source.c"#include "templates_off.h"#undef BASE_FLOATintmain (int argc, char *argv[]){ size_t i; size_t start = 1, end = 99; size_t stride ; size_t n = 0; gsl_ieee_env_setup (); if (argc == 2) n = strtol (argv[1], NULL, 0); if (n) { start = n ; end = n ; } for (i = 1 ; i <= end ; i *= 2) { if (i >= start) { for (stride = 1 ; stride < 4 ; stride++) { test_complex_bitreverse_order (stride, i) ; test_complex_radix2 (stride, i) ; test_real_bitreverse_order (stride, i) ; test_real_radix2 (stride, i) ; } } } for (i = start ; i <= end ; i++) { for (stride = 1 ; stride < 4 ; stride++) { test_complex_func (stride, i) ; test_complex_float_func (stride, i) ; test_real_func (stride, i) ; test_real_float_func (stride, i) ; } } gsl_set_error_handler (&my_error_handler); test_trap () ; test_float_trap () ; exit (gsl_test_summary ());}voidmy_error_handler (const char *reason, const char *file, int line, int err){ if (0) printf ("(caught [%s:%d: %s (%d)])\n", file, line, reason, err) ;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -