This file is indexed.

/usr/include/oce/math_BrentMinimum.hxx is in liboce-foundation-dev 0.17.1-1.

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
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _math_BrentMinimum_HeaderFile
#define _math_BrentMinimum_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>

#include <Standard_Boolean.hxx>
#include <Standard_Real.hxx>
#include <Standard_Integer.hxx>
#include <Standard_OStream.hxx>
class StdFail_NotDone;
class math_Function;



//! This class implements the Brent's method to find the minimum of
//! a function of a single variable.
//! No knowledge of the derivative is required.
class math_BrentMinimum 
{
public:

  DEFINE_STANDARD_ALLOC

  

  //! This constructor should be used in a sub-class to initialize
  //! correctly all the fields of this class.
  Standard_EXPORT math_BrentMinimum(const Standard_Real TolX, const Standard_Integer NbIterations = 100, const Standard_Real ZEPS = 1.0e-12);
  

  //! This constructor should be used in a sub-class to initialize
  //! correctly all the fields of this class.
  //! It has to be used if F(Bx) is known.
  Standard_EXPORT math_BrentMinimum(const Standard_Real TolX, const Standard_Real Fbx, const Standard_Integer NbIterations = 100, const Standard_Real ZEPS = 1.0e-12);
  

  //! Given a bracketing triplet of abscissae Ax, Bx, Cx
  //! (such as Bx is between Ax and Cx, F(Bx) is
  //! less than both F(Bx) and F(Cx)) the Brent minimization is done
  //! on the function F.
  //! The tolerance required on F is given by Tolerance.
  //! The solution is found when :
  //! abs(Xi - Xi-1) <= TolX * abs(Xi) + ZEPS;
  //! The maximum number of iterations allowed is given by NbIterations.
  Standard_EXPORT math_BrentMinimum(math_Function& F, const Standard_Real Ax, const Standard_Real Bx, const Standard_Real Cx, const Standard_Real TolX, const Standard_Integer NbIterations = 100, const Standard_Real ZEPS = 1.0e-12);
  

  //! Brent minimization is performed on function F from a given
  //! bracketing triplet of abscissas Ax, Bx, Cx (such that Bx is
  //! between Ax and Cx, F(Bx) is less than both F(Bx) and F(Cx))
  //! Warning
  //! The initialization constructors must have been called
  //! before the call to the Perform method.
  Standard_EXPORT   void Perform (math_Function& F, const Standard_Real Ax, const Standard_Real Bx, const Standard_Real Cx) ;
  

  //! This method is called at the end of each iteration to check if the
  //! solution is found.
  //! It can be redefined in a sub-class to implement a specific test to
  //! stop the iterations.
  Standard_EXPORT virtual   Standard_Boolean IsSolutionReached (math_Function& F) ;
  
  //! Returns true if the computations are successful, otherwise returns false.
      Standard_Boolean IsDone()  const;
  
  //! returns the location value of the minimum.
  //! Exception NotDone is raised if the minimum was not found.
      Standard_Real Location()  const;
  
  //! returns the value of the minimum.
  //! Exception NotDone is raised if the minimum was not found.
      Standard_Real Minimum()  const;
  
  //! returns the number of iterations really done during the
  //! computation of the minimum.
  //! Exception NotDone is raised if the minimum was not found.
      Standard_Integer NbIterations()  const;
  
  //! Prints on the stream o information on the current state
  //! of the object.
  //! Is used to redefine the operator <<.
  Standard_EXPORT   void Dump (Standard_OStream& o)  const;




protected:



  Standard_Real a;
  Standard_Real b;
  Standard_Real x;
  Standard_Real fx;
  Standard_Real fv;
  Standard_Real fw;
  Standard_Real XTol;
  Standard_Real EPSZ;


private:



  Standard_Boolean Done;
  Standard_Integer iter;
  Standard_Integer Itermax;
  Standard_Boolean myF;


};


#include <math_BrentMinimum.lxx>





#endif // _math_BrentMinimum_HeaderFile