Alexandria
2.14.1
Please provide a description of the project.
MathUtils
MathUtils
interpolation
interpolation.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2012-2020 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 INTERPOLATION_H
26
#define INTERPOLATION_H
27
28
#include <memory>
29
#include <vector>
30
31
#include "
ElementsKernel/Export.h
"
32
#include "
ElementsKernel/Exception.h
"
33
34
#include "
XYDataset/XYDataset.h
"
35
#include "
MathUtils/function/Function.h
"
36
37
namespace
Euclid
{
38
namespace
MathUtils {
39
41
enum class
InterpolationType
{
42
LINEAR
,
CUBIC_SPLINE
43
};
44
45
struct
InterpolationException
:
public
Elements::Exception
{
46
using
Elements::Exception::Exception
;
47
};
48
63
ELEMENTS_API
std::unique_ptr<Function>
interpolate
(
const
std::vector<double>
& x,
const
std::vector<double>
& y,
InterpolationType
type);
64
76
ELEMENTS_API
std::unique_ptr<Function>
interpolate
(
const
Euclid::XYDataset::XYDataset
& dataset,
InterpolationType
type);
77
78
}
// End of MathUtils
79
}
// end of namespace Euclid
80
81
#endif
/* INTERPOLATION_H */
Euclid
Definition:
InstOrRefHolder.h:29
Export.h
Euclid::MathUtils::InterpolationException
Definition:
interpolation.h:45
Euclid::MathUtils::InterpolationType::LINEAR
ELEMENTS_API
#define ELEMENTS_API
Elements::Exception::Exception
Exception(ExitCode e=ExitCode::NOT_OK)
Euclid::MathUtils::interpolate
ELEMENTS_API std::unique_ptr< Function > interpolate(const std::vector< double > &x, const std::vector< double > &y, InterpolationType type)
Definition:
interpolation.cpp:38
XYDataset.h
std::vector< double >
std::unique_ptr
STL class.
Elements::Exception
Function.h
Euclid::XYDataset::XYDataset
This module provides an interface for accessing two dimensional datasets (pairs of (X,...
Definition:
XYDataset.h:59
Euclid::MathUtils::InterpolationType
InterpolationType
Enumeration of the different supported interpolation types.
Definition:
interpolation.h:41
Euclid::MathUtils::InterpolationType::CUBIC_SPLINE
Exception.h
Generated by
1.8.15