Tatooine
Namespaces | Functions
field_operations.h File Reference

Go to the source code of this file.

Namespaces

namespace  tatooine
 

Functions

template<typename V0 , typename V1 , typename Real0 , typename Real1 , std::size_t NumDimensions>
requires ( V0::num_tensor_components() == V1::num_tensor_components())
constexpr auto tatooine::dot (vectorfield< V0, Real0, NumDimensions > const &lhs, vectorfield< V1, Real1, NumDimensions > const &rhs)
 
template<typename V0 , typename Real0 , typename V1 , typename Real1 , std::size_t N, typename Tensor >
constexpr auto tatooine::operator+ (const field< V0, Real0, N, Tensor > &lhs, const field< V1, Real1, N, Tensor > &rhs)
 
template<typename Real0 , typename Real1 , std::size_t N, std::size_t TM, std::size_t TN>
constexpr auto tatooine::operator* (polymorphic::matrixfield< Real0, N, TM, TN > const &lhs, polymorphic::vectorfield< Real1, N, TN > const &rhs)
 
template<typename V0 , typename Real0 , typename V1 , typename Real1 , std::size_t N, std::size_t TM, std::size_t TN>
constexpr auto tatooine::operator* (const matrixfield< V0, Real0, N, TM, TN > &lhs, const vectorfield< V1, Real1, N, TN > &rhs)
 
template<typename V0 , typename Real0 , typename V1 , typename Real1 , std::size_t N, typename Tensor >
constexpr auto tatooine::operator* (const field< V0, Real0, N, Tensor > &lhs, const field< V1, Real1, N, Tensor > &rhs)
 
template<typename V , typename VReal , std::size_t N, typename Tensor >
constexpr auto tatooine::operator* (field< V, VReal, N, Tensor > const &f, arithmetic auto const scalar)
 
template<typename V , arithmetic VReal, std::size_t N, typename Tensor >
constexpr auto tatooine::operator* (arithmetic auto const scalar, field< V, VReal, N, Tensor > const &f)
 
template<typename V , typename VReal , std::size_t N, arithmetic_or_complex ScalarReal, typename Tensor >
constexpr auto tatooine::operator/ (field< V, VReal, N, Tensor > const &f, ScalarReal const scalar)
 
template<typename V , typename VReal , std::size_t N, arithmetic_or_complex ScalarReal, typename Tensor >
constexpr auto tatooine::operator/ (ScalarReal const scalar, field< V, VReal, N, Tensor > const &f)
 
template<typename V , typename VReal , std::size_t N>
constexpr auto tatooine::squared_euclidean_length (vectorfield< V, VReal, N > const &v)
 
template<typename V , typename VReal , std::size_t N>
constexpr auto tatooine::squared_euclidean_length (vectorfield< V, VReal, N > &&v)
 
template<typename V , typename VReal , std::size_t N>
constexpr auto tatooine::euclidean_length (vectorfield< V, VReal, N > const &v)
 
template<typename V , typename VReal , std::size_t N>
constexpr auto tatooine::euclidean_length (vectorfield< V, VReal, N > &&v)