This file is indexed.

/usr/include/openturns/AnalyticalNumericalMathEvaluationImplementation.hxx is in libopenturns-dev 0.15-2.

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
//                                               -*- C++ -*-
/**
 * @file  AnalyticalNumericalMathEvaluationImplementation.hxx
 * @brief The class that implements the composition between numerical
 *        math functions implementations
 *
 * (C) Copyright 2005-2011 EDF-EADS-Phimeca
 *
 * Permission to copy, use, modify, sell and distribute this software
 * is granted provided this copyright notice appears in all copies.
 * This software is provided "as is" without express or implied
 * warranty, and with no claim as to its suitability for any purpose.
 *
 *
 * \author $LastChangedBy: schueller $
 * \date   $LastChangedDate: 2011-06-10 15:15:12 +0200 (Fri, 10 Jun 2011) $
 */

#ifndef OPENTURNS_ANALYTICALNUMERICALMATHEVALUATIONIMPLEMENTATION_HXX
#define OPENTURNS_ANALYTICALNUMERICALMATHEVALUATIONIMPLEMENTATION_HXX

#include "NumericalMathEvaluationImplementation.hxx"
#include "muParser.h"
#include "Pointer.hxx"

namespace OpenTURNS {

  namespace Base {

    namespace Func {


      /**
       * @class AnalyticalNumericalMathEvaluationImplementation
       *
       * The class that implement the composition of two numerical math functions implementations.
       */
      class AnalyticalNumericalMathEvaluationImplementation
        : public NumericalMathEvaluationImplementation
      {
        CLASSNAME;
      public:

        /* Some typedefs for easy reading */
        typedef NumericalMathEvaluationImplementation::NumericalPoint            NumericalPoint;
        typedef NumericalMathEvaluationImplementation::NumericalSample           NumericalSample;
        typedef mu::Parser                                                       Parser;
        typedef Type::Collection<Parser>                                         ParserCollection;
        typedef NumericalMathEvaluationImplementation::InvalidArgumentException  InvalidArgumentException;
        typedef NumericalMathEvaluationImplementation::InternalException         InternalException;
        typedef NumericalMathEvaluationImplementation::StorageManager            StorageManager;
        typedef Type::Collection<NumericalScalar>                                NumericalScalarCollection;

        /** Default constructor */
        AnalyticalNumericalMathEvaluationImplementation();

        /** Default constructor */
        AnalyticalNumericalMathEvaluationImplementation(const Description & inputVariablesNames,
                                                        const Description & outputVariablesNames,
                                                        const Description & formulas)
          /* throw(InvalidArgumentException) */;

        /** Virtual constructor */
        virtual AnalyticalNumericalMathEvaluationImplementation * clone() const;

        /** Comparison operator */
        Bool operator ==(const AnalyticalNumericalMathEvaluationImplementation & other) const;

        /** String converter */
        virtual String __repr__() const;
        virtual String __str__(const String & offset = "") const;

        /** Operator () */
        using NumericalMathEvaluationImplementation::operator();
        NumericalPoint operator() (const NumericalPoint & inP) const
          /* throw(InvalidArgumentException, InternalException) */;

        /** Accessor for input point dimension */
        UnsignedLong getInputDimension() const
          /* throw(InternalException) */;

        /** Accessor for output point dimension */
        UnsignedLong getOutputDimension() const
          /* throw(InternalException) */;

        /** Get the i-th marginal function */
        AnalyticalNumericalMathEvaluationImplementation * getMarginal(const UnsignedLong i) const /* throw(InvalidArgumentException) */;

        /** Get the function corresponding to indices components */
        AnalyticalNumericalMathEvaluationImplementation * getMarginal(const Indices & indices) const /* throw(InvalidArgumentException) */;

        /** Accessor to the input variables names */
        Description getInputVariablesNames() const;

        /** Accessor to the output variables names */
        Description getOutputVariablesNames() const;

        /** Accessor to the formulas */
        Description getFormulas() const;

        /** Method save() stores the object through the StorageManager */
        void save(StorageManager::Advocate & adv) const;

        /** Method load() reloads the object from the StorageManager */
        void load(StorageManager::Advocate & adv);

      protected:

      private:
        friend class AnalyticalNumericalMathGradientImplementation;
        friend class AnalyticalNumericalMathHessianImplementation;
        /* Must initialize the parser at the first call to operator() as the
           reference associated with the variables may have change after the construction */
        void initialize() const;

        mutable Bool isInitialized_;
        mutable NumericalScalarCollection inputVariables_;
        Description inputVariablesNames_;
        Description outputVariablesNames_;
        Description formulas_;

        /** A mathematical expression parser from the muParser library */
        mutable ParserCollection parsers_;

      }; /* class AnalyticalNumericalMathEvaluationImplementation */


    } /* namespace Func */
  } /* namespace Base */
} /* namespace OpenTURNS */

#endif /* OPENTURNS_ANALYTICALNUMERICALMATHEVALUATIONIMPLEMENTATION_HXX */