LORENE
int1d_cheb.C
1/*
2 * Copyright (c) 1999-2001 Eric Gourgoulhon
3 *
4 * This file is part of LORENE.
5 *
6 * LORENE is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * LORENE is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with LORENE; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 *
20 */
21
22
23char int1d_cheb_C[] = "$Header: /cvsroot/Lorene/C++/Source/Non_class_members/Operators/int1d_cheb.C,v 1.2 2014/10/13 08:53:23 j_novak Exp $" ;
24
25/*
26 * Calcul de l'integrale
27 *
28 * int_-1^1 f(x) dx (1)
29 *
30 * pour une fonction f(x) donnee par ses coefficients de Tchebyshev
31 *
32 * f(x) = som_{i=0}^{nr-1} c_i T_{i}(x) (2)
33 *
34 * Entree:
35 * ------
36 * int nr : Nombre de coefficients de Tchebyshev dans le
37 * developpement (2)
38 * const double* cf : Tableau des nr coefficients c_i de la fonction
39 * definis par (2). Le stokage doit etre le suivant
40 * cf[i] = c_i 0 <= i <= nr - 1
41 * L'espace memoire correspondant au pointeur cf doit
42 * etre de taille au moins nr et doit avoir ete
43 * alloue avant l'appel a la routine
44 *
45 * Sortie (valeur de retour) :
46 * ------
47 * double int1d_cheb : Valeur de l'integrale (1)
48 *
49 */
50
51/*
52 * $Id: int1d_cheb.C,v 1.2 2014/10/13 08:53:23 j_novak Exp $
53 * $Log: int1d_cheb.C,v $
54 * Revision 1.2 2014/10/13 08:53:23 j_novak
55 * Lorene classes and functions now belong to the namespace Lorene.
56 *
57 * Revision 1.1 2005/02/16 15:27:55 m_forot
58 * *** empty log message ***
59 *
60 *
61 * $Header: /cvsroot/Lorene/C++/Source/Non_class_members/Operators/int1d_cheb.C,v 1.2 2014/10/13 08:53:23 j_novak Exp $
62 *
63 */
64
65namespace Lorene {
66
67//*****************************************************************************
68
69double int1d_cheb(int nr, const double* cf){
70
71 double som = - cf[0] ;
72 const double* cc = cf + 2 ;
73
74 for (int i=2; i<nr ; i=i+2) {
75 som += *cc / (i*i - 1) ;
76 cc = cc + 2 ;
77 }
78
79 return -2*som ;
80
81}
82}
Lorene prototypes.
Definition app_hor.h:64