Cadabra
Computer algebra system for field theory problems
Toggle main menu visibility
Loading...
Searching...
No Matches
core
NInterpolatingFunction.hh
Go to the documentation of this file.
1
#pragma once
2
3
#include "
NTensor.hh
"
4
#include "
Storage.hh
"
5
#include "
Compare.hh
"
6
#include <vector>
7
8
namespace
cadabra
{
9
13
14
class
NInterpolatingFunction
{
15
public
:
16
NInterpolatingFunction
();
17
18
// FIXME: use NTensor as argument?
19
std::complex<double>
evaluate
(
double
)
const
;
20
21
Ex
var
;
22
NTensor
var_values
;
23
NTensor
fun_values
;
24
25
// Return the range over which the function is
26
// defined/computable without extrapolation.
27
std::pair<double, double>
range
()
const
;
28
29
private
:
30
mutable
NTensor
slope_values
;
31
mutable
size_t
last_index
;
32
mutable
bool
precomputed
;
33
34
size_t
find_interval
(
double
)
const
;
35
void
compute_slopes
()
const
;
36
};
37
40
typedef
std::map<Ex, std::pair<double, double>,
tree_exact_less_no_wildcards_obj
>
variable_ranges_t
;
41
43
variable_ranges_t
function_domain
(
const
Ex
&);
44
45
};
Compare.hh
NTensor.hh
Storage.hh
cadabra::Ex
Definition
Storage.hh:170
cadabra::NInterpolatingFunction::compute_slopes
void compute_slopes() const
Definition
NInterpolatingFunction.cc:42
cadabra::NInterpolatingFunction::NInterpolatingFunction
NInterpolatingFunction()
Definition
NInterpolatingFunction.cc:18
cadabra::NInterpolatingFunction::var_values
NTensor var_values
Definition
NInterpolatingFunction.hh:22
cadabra::NInterpolatingFunction::fun_values
NTensor fun_values
Definition
NInterpolatingFunction.hh:23
cadabra::NInterpolatingFunction::last_index
size_t last_index
Definition
NInterpolatingFunction.hh:31
cadabra::NInterpolatingFunction::slope_values
NTensor slope_values
Definition
NInterpolatingFunction.hh:30
cadabra::NInterpolatingFunction::var
Ex var
Definition
NInterpolatingFunction.hh:21
cadabra::NInterpolatingFunction::evaluate
std::complex< double > evaluate(double) const
Definition
NInterpolatingFunction.cc:66
cadabra::NInterpolatingFunction::find_interval
size_t find_interval(double) const
Definition
NInterpolatingFunction.cc:23
cadabra::NInterpolatingFunction::precomputed
bool precomputed
Definition
NInterpolatingFunction.hh:32
cadabra::NInterpolatingFunction::range
std::pair< double, double > range() const
Definition
NInterpolatingFunction.cc:60
cadabra::NTensor
Definition
NTensor.hh:15
cadabra::tree_exact_less_no_wildcards_obj
Compare two trees exactly, treat wildcard names as ordinary names.
Definition
Compare.hh:172
cadabra
Functions to handle the exchange properties of two or more symbols in a product.
Definition
Adjform.cc:83
cadabra::function_domain
variable_ranges_t function_domain(const Ex &)
Return the range of definition of a given expression.
Definition
NInterpolatingFunction.cc:88
cadabra::variable_ranges_t
std::map< Ex, std::pair< double, double >, tree_exact_less_no_wildcards_obj > variable_ranges_t
Data structure which, for a set of variables/expressions, holds a real range.
Definition
NInterpolatingFunction.hh:40
Generated by
1.17.0