Template Class DualInterpolator

Class Documentation

template<class T, class R>
class brille::DualInterpolator

Public Types

using ind_t = brille::ind_t
template<class Z>
using element_t = std::array<Z, 3>

Public Functions

DualInterpolator()
DualInterpolator(Interpolator<T> &val, Interpolator<R> &vec)
void validate_values()
void validate_vectors()
size_t size() const
const Interpolator<T> &values() const
const Interpolator<R> &vectors() const
ind_t branches() const
void rotateslike(const RotatesLike values, const RotatesLike vectors)
RotatesLike values_rotate_like(const RotatesLike a)
RotatesLike vectors_rotate_like(const RotatesLike a)
template<template<class> class A>
void interpolate_at(const std::vector<std::pair<ind_t, double>> &indices_weights, A<T> &values_out, A<R> &vectors_out, const ind_t to) const
template<typename I, typename = std::enable_if_t<std::is_integral<I>::value>>
std::vector<typename PermutationTable::ind_t> get_permutation(const I, const I) const
template<typename I, typename = std::enable_if_t<std::is_integral<I>::value>>
std::vector<std::vector<typename PermutationTable::ind_t>> get_permutations(const std::vector<I>&) const
template<typename I, typename = std::enable_if_t<std::is_integral<I>::value>>
std::vector<std::vector<typename PermutationTable::ind_t>> get_permutations(const std::vector<std::pair<I, double>>&) const
void replace_data(Interpolator<T> &val, Interpolator<R> &vec)
template<typename ...A>
void replace_value_data(A... args)
template<typename ...A>
void replace_vector_data(A... args)
void initialize_permutation_table(const size_t nverts, const std::set<size_t> &keys)
void update_permutation_table()
void set_value_cost_info(const int csf, const int cvf, const element_t<double> &elcost)
void set_vector_cost_info(const int csf, const int cvf, const element_t<double> &elcost)
std::string to_string() const
template<template<class> class A>
brille::Array<double> debye_waller(const A<double> &Qpts, const std::vector<double> &Masses, const double t_K) const
template<typename I, typename S = typename CostTraits<T>::type, typename = std::enable_if_t<std::is_integral<I>::value>>
std::vector<S> cost_matrix(const I i0, const I i1) const
template<typename I, typename = std::enable_if_t<std::is_integral<I>::value>>
void permute_modes(const I i, const std::vector<ind_t> &p)
template<typename I, typename = std::enable_if_t<std::is_integral<I>::value>>
void inverse_permute_modes(const I i, const std::vector<ind_t> &p)
template<typename I, typename = std::enable_if_t<std::is_integral<I>::value>>
bool is_degenerate(const I idx)
void sort(void)
template<typename I, typename = std::enable_if_t<std::is_integral<I>::value>>
bool determine_permutation_ij(const I i, const I j, std::mutex &map_mutex)
size_t bytes_per_point() const