Alexandria
2.19
Please provide a description of the project.
MathUtils
MathUtils
function
Differentiable.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2012-2021 Euclid Science Ground Segment
3
*
4
* This library is free software; you can redistribute it and/or modify it under
5
* the terms of the GNU Lesser General Public License as published by the Free
6
* Software Foundation; either version 3.0 of the License, or (at your option)
7
* any later version.
8
*
9
* This library is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12
* details.
13
*
14
* You should have received a copy of the GNU Lesser General Public License
15
* along with this library; if not, write to the Free Software Foundation, Inc.,
16
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
25
#ifndef MATHUTILS_DIFFERENTIABLE_H
26
#define MATHUTILS_DIFFERENTIABLE_H
27
28
#include <memory>
29
30
#include "
ElementsKernel/Export.h
"
31
32
#include "
MathUtils/function/Integrable.h
"
33
34
namespace
Euclid
{
35
namespace
MathUtils {
36
49
class
ELEMENTS_API
Differentiable
:
public
Integrable
{
50
public
:
52
virtual
~Differentiable
() {}
53
55
virtual
std::shared_ptr<Function>
derivative
()
const
= 0;
56
58
virtual
std::shared_ptr<Function>
indefiniteIntegral
()
const
= 0;
59
67
double
integrate
(
const
double
x1,
const
double
x2)
const
final
;
68
};
69
70
}
// namespace MathUtils
71
}
// end of namespace Euclid
72
73
#endif
/* MATHUTILS_DIFFERENTIABLE_H */
std::shared_ptr
STL class.
Export.h
Euclid::MathUtils::Differentiable
Interface representing a differentiable function.
Definition:
Differentiable.h:49
Euclid::MathUtils::integrate
ELEMENTS_API double integrate(const Function &function, const double min, const double max, std::unique_ptr< NumericalIntegrationScheme > numericalIntegrationScheme=nullptr)
Definition:
function_tools.cpp:33
ELEMENTS_API
#define ELEMENTS_API
Euclid::MathUtils::Integrable
Interface representing an integrable function.
Definition:
Integrable.h:44
Euclid::MathUtils::Differentiable::~Differentiable
virtual ~Differentiable()
Default destructor.
Definition:
Differentiable.h:52
Euclid::MathUtils::Differentiable::derivative
virtual std::shared_ptr< Function > derivative() const =0
Returns a Function representing the derivative.
Integrable.h
Euclid
Definition:
InstOrRefHolder.h:29
Euclid::MathUtils::Differentiable::indefiniteIntegral
virtual std::shared_ptr< Function > indefiniteIntegral() const =0
Returns a Function representing the indefiniteIntegral.
Generated by
1.8.20