This file is indexed.

/usr/include/lorene/C++/Include/change_var.h is in liblorene-dev 0.0.0~cvs20161116+dfsg-1ubuntu4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/*
 *  Definition of Lorene class Change_var
 *
 */

/*
 *   Copyright (c) 2003 Philippe Grandclement
 *
 *   This file is part of LORENE.
 *
 *   LORENE is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License version 2
 *   as published by the Free Software Foundation.
 *
 *   LORENE 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 LORENE; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 */

#ifndef __CHANGE_VAR_H_ 
#define __CHANGE_VAR_H_ 

/*
 * $Id: change_var.h,v 1.6 2014/10/13 08:52:32 j_novak Exp $
 * $Log: change_var.h,v $
 * Revision 1.6  2014/10/13 08:52:32  j_novak
 * Lorene classes and functions now belong to the namespace Lorene.
 *
 * Revision 1.5  2004/06/22 08:49:56  p_grandclement
 * Addition of everything needed for using the logarithmic mapping
 *
 * Revision 1.4  2004/05/14 08:51:00  p_grandclement
 * *** empty log message ***
 *
 * Revision 1.3  2004/03/23 14:54:45  j_novak
 * More documentation
 *
 * Revision 1.2  2004/03/05 09:18:48  p_grandclement
 * Addition of operator sec_order_r2
 *
 * Revision 1.1  2003/12/11 14:57:00  p_grandclement
 * I had forgotten the .h (sorry folks...)
 *
 *
 * $Header: /cvsroot/Lorene/C++/Include/change_var.h,v 1.6 2014/10/13 08:52:32 j_novak Exp $
 *
 */

#include "proto.h"

// Defines the various types of variable changes with the associated 
// functions F, G, F' and G'

#define STD 1
double one (double) ;
double zero (double) ;

#define W_BETA 2
double ide (double) ;

#define W_BETA_INF 3
double part_ln (double) ;
double part_ln_der (double) ;

#define H_BETA 4

#define LAMBDA_RN 5
double plus_log(double) ;
double moins_sur(double) ;

#define NU_RN 6
double moins_log(double) ;
double plus_sur(double) ;

namespace Lorene {
/**
 * This class defines a variable change to be used when solving 
 * elliptic equations. In {\em one particular domain}, 
 * the change is defined as 
 * follows : \ingroup (ellip)
 * 
 * \f$W = F\left(r\right) + G \left(r\right) w\f$
 *
 * where \f$W\f$ is the usual variable, i.e. the one that is \f$\mathcal{C}^1\f$ 
 * and \f$w\f$ is the variable used for solving the elliptic equation.
 * The functions \f$F\f$ and \f$G\f$ are arbitrary functions of \f$r\f$.
 * The type of change must be explicitely implemented in the constructor for 
 * {\tt Change_var}.
 * 
 **/

class Change_var {

 protected:
  double (* func_F) (double) ; /// Pointer on the function \f$F\f$.
  double (* der_F) (double) ; /// Pointer on the derivative of \f$F\f$.
  double (* func_G) (double) ; /// Pointer on the function \f$G\f$.
  double (* der_G) (double) ; /// Pointer on the derivative of \f$G\f$.

  double mult_F ; /// Multiplicative factor for F ## PROVISORY
  double add_F ; /// Additive factor for F ## PROVISORY

 public:

  /**
   * Standard constructor. Case with without parameter.
   * {\tt var} defines explicitely the type of variable to be used.
   * Are currently implemented :
   * \begin{itemize}
   * \item {\tt var} \f$= {\rm STD} \Longrightarrow F=0 \, \& \, G=1\f$.
   * \item {\tt var} \f$= {\rm W\_BETA} \Longrightarrow F=1 \, \& \, G = r\f$.
   * \item {\tt var} \f$= {\rm W\_BETA\_INF} \Longrightarrow F = 1+ \frac{1}{3}r^2\ln r \, \& \, G = r\f$.
   * \item {\tt var} \f$= {\rm H\_BETA} \Longrightarrow F=1 \, \&\, G=1\f$.
   * \item {\tt var} \f$= {\rm LAMBDA_RN} \Longrightarrow F=-\ln r \, \& \, G=1\f$.
   * \item {\tt var} \f$= {\rm NU_RN} \Longrightarrow F=\ln r \, \& \, G=1\f$.
   * \end{itemize} 
   **/
  
  Change_var (int var) ;

  /**
   * Standard constructor. Case with one multiplicative parameter for F
   * {\tt var} defines explicitely the type of variable to be used.
   **/

  Change_var (int var, double) ;

  /**
   * Standard constructor. Case with one multiplicative parameter for F and one additive.
   * {\tt var} defines explicitely the type of variable to be used.
   **/

  Change_var (int var, double, double) ;
 

  Change_var (const Change_var& so) ; /// Constructor by copy.
  ~Change_var() ; /// Standard destructor.

 public:
  double val_F (double x) ; /// Returns the value of \f$F\f$ at {\tt x}.
  double val_der_F (double x) ; /// Returns the value of \f$F'\f$ at {\tt x}.
  double val_G (double x) ; /// Returns the value of \f$G\f$ at {\tt x}.
  double val_der_G (double x) ; /// Returns the value of \f$G'\f$ at {\tt x}.
} ;

}
#endif