NFFT Logo 3.2.2
kernels.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2002, 2012 Jens Keiner, Stefan Kunis, Daniel Potts
00003  *
00004  * This program is free software; you can redistribute it and/or modify it under
00005  * the terms of the GNU General Public License as published by the Free Software
00006  * Foundation; either version 2 of the License, or (at your option) any later
00007  * version.
00008  *
00009  * This program is distributed in the hope that it will be useful, but WITHOUT
00010  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00011  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
00012  * details.
00013  *
00014  * You should have received a copy of the GNU General Public License along with
00015  * this program; if not, write to the Free Software Foundation, Inc., 51
00016  * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00017  */
00018 
00019 /* $Id: kernels.h 3775 2012-06-02 16:39:48Z keiner $ */
00020 
00024 #ifndef KERNELS_H
00025 #define KERNELS_H
00026 
00027 #include "config.h"
00028 
00029 #ifdef HAVE_COMPLEX_H
00030 #include <complex.h>
00031 #endif
00032 
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif /* __cplusplus */
00037 
00043 double _Complex gaussian(double x, int der, const double *param);              /* K(x)=exp(-x^2/c^2) */
00044 double _Complex multiquadric(double x, int der, const double *param);          /* K(x)=sqrt(x^2+c^2) */
00045 double _Complex inverse_multiquadric(double x, int der, const double *param);  /* K(x)=1/sqrt(x^2+c^2) */
00046 double _Complex logarithm(double x, int der, const double *param);             /* K(x)=log |x| */
00047 double _Complex thinplate_spline(double x, int der, const double *param);      /* K(x) = x^2 log |x| */
00048 double _Complex one_over_square(double x, int der, const double *param);       /* K(x) = 1/x^2 */
00049 double _Complex one_over_modulus(double x, int der, const double *param);      /* K(x) = 1/|x| */
00050 double _Complex one_over_x(double x, int der, const double *param);            /* K(x) = 1/x */
00051 double _Complex inverse_multiquadric3(double x, int der, const double *param); /* K(x) = 1/sqrt(x^2+c^2)^3 */
00052 double _Complex sinc_kernel(double x, int der, const double *param);           /* K(x) = sin(cx)/x */
00053 double _Complex cosc(double x, int der, const double *param);                  /* K(x) = cos(cx)/x */
00054 double _Complex kcot(double x, int der, const double *param);                   /* K(x) = cot(cx) */
00055 double _Complex one_over_cube(double x, int der, const double *param);                /* K(x) = 1/x^3 */
00056 /* \} */
00057 
00058 #ifdef __cplusplus
00059 }  /* extern "C" */
00060 #endif /* __cplusplus */
00061 
00062 #endif
00063 /* kernels.h */

Generated on Fri Oct 12 2012 by Doxygen 1.8.0-20120409