Tatooine
|
Go to the source code of this file.
Classes | |
struct | tatooine::diag_static_tensor< Tensor, M, N > |
struct | tatooine::diag_dynamic_tensor< Tensor > |
Namespaces | |
namespace | tatooine |
Functions | |
template<static_vec Tensor> | |
tatooine::diag_static_tensor (Tensor const &t) -> diag_static_tensor< Tensor const &, Tensor::dimension(0), Tensor::dimension(0)> | |
template<static_vec Tensor> | |
tatooine::diag_static_tensor (Tensor &t) -> diag_static_tensor< Tensor &, Tensor::dimension(0), Tensor::dimension(0)> | |
template<static_vec Tensor> | |
tatooine::diag_static_tensor (Tensor &&t) -> diag_static_tensor< std::decay_t< Tensor >, Tensor::dimension(0), Tensor::dimension(0)> | |
constexpr auto | tatooine::diag (static_vec auto &&t) |
template<std::size_t M, std::size_t N> | |
constexpr auto | tatooine::diag_rect (static_vec auto &&t) |
template<typename Tensor , std::size_t N> | |
constexpr auto | tatooine::inv (diag_static_tensor< Tensor, N, N > const &A) -> std::optional< diag_static_tensor< vec< tatooine::value_type< Tensor >, N >, N, N > > |
template<typename TensorA , static_vec TensorB, std::size_t N> requires (tensor_dimensions<TensorB>[0] == N) | |
constexpr auto | tatooine::solve (diag_static_tensor< TensorA, N, N > const &A, TensorB &&b) -> std::optional< vec< common_type< tatooine::value_type< TensorA >, tatooine::value_type< TensorB > >, N > > |
template<typename TensorA , static_vec TensorB, std::size_t N> requires (tensor_dimensions<TensorB>[0] == N) | |
constexpr auto | tatooine::solve (diag_static_tensor< TensorA, N, N > &&A, TensorB &&b) -> std::optional< vec< common_type< tatooine::value_type< TensorA >, tatooine::value_type< TensorB > >, N > > |
template<typename TensorA , std::size_t M, std::size_t N> | |
constexpr auto | tatooine::operator* (diag_static_tensor< TensorA, M, N > const &A, static_vec auto const &b) -> vec< common_type< tatooine::value_type< TensorA >, tatooine::value_type< decltype(b)> >, M > requires(N==decltype(b)::dimension(0)) |
template<typename TensorA , std::size_t M, std::size_t N> requires (N == std::decay_t<decltype(B)>::dimension( 0)) | |
constexpr auto | tatooine::operator* (diag_static_tensor< TensorA, M, N > const &A, static_mat auto const &B) |
template<typename TensorA , std::size_t M, std::size_t N> requires (std::decay_t<decltype(B)>::dimension(1) == M) | |
constexpr auto | tatooine::operator* (static_tensor auto const &B, diag_static_tensor< TensorA, M, N > const &A) |
template<dynamic_tensor Tensor> | |
tatooine::diag_dynamic_tensor (Tensor const &t) -> diag_dynamic_tensor< Tensor const & > | |
template<dynamic_tensor Tensor> | |
tatooine::diag_dynamic_tensor (Tensor &t) -> diag_dynamic_tensor< Tensor & > | |
template<dynamic_tensor Tensor> | |
tatooine::diag_dynamic_tensor (Tensor &&t) -> diag_dynamic_tensor< std::decay_t< Tensor > > | |
auto | tatooine::diag (dynamic_tensor auto &&A) |
template<dynamic_tensor Lhs, dynamic_tensor Rhs> requires diag_tensor<Lhs> | |
auto | tatooine::operator* (Lhs const &lhs, Rhs const &rhs) -> tensor< common_type< tatooine::value_type< Lhs >, tatooine::value_type< Rhs > > > |