autoppl
v0.8
A C++ template library for probabilistic programming
|
Go to the documentation of this file.
3 #include <fastad_bits/util/shape_traits.hpp>
4 #if __cplusplus <= 201703L
25 #if __cplusplus <= 201703L
28 inline constexpr
bool is_scl_v = ad::util::is_scl_v<T>;
31 inline constexpr
bool is_vec_v = ad::util::is_vec_v<T>;
34 inline constexpr
bool is_mat_v = ad::util::is_mat_v<T>;
47 requires(
const T cx) {
49 { cx.size() } -> std::same_as<size_t>;
51 std::same_as<typename T::shape_t, ppl::scl>
56 requires(
const T cx) {
58 { cx.size() } -> std::same_as<size_t>;
60 std::same_as<typename T::shape_t, ppl::vec>
65 requires(
const T cx) {
67 { cx.size() } -> std::same_as<size_t>;
69 std::same_as<typename T::shape_t, ppl::mat>
102 std::is_same_v<T, ppl::scl> ||
103 std::is_same_v<T, ppl::vec> ||
104 std::is_same_v<T, ppl::mat>
112 template <
class V,
class T>
121 using type = Eigen::Map<Eigen::Matrix<V, Eigen::Dynamic, 1>>;
127 using type = Eigen::Map<Eigen::Matrix<V, Eigen::Dynamic, Eigen::Dynamic>>;
131 template <
class V,
class T>
Eigen::Map< Eigen::Matrix< V, Eigen::Dynamic, Eigen::Dynamic > > type
Definition: shape_traits.hpp:127
ad::vec vec
Definition: shape_traits.hpp:17
constexpr bool is_vec_v
Definition: shape_traits.hpp:31
V type
Definition: shape_traits.hpp:116
ad::scl scl
Definition: shape_traits.hpp:16
constexpr bool is_scl_v
Definition: shape_traits.hpp:28
typename details::var< V, T >::type var_t
Definition: shape_traits.hpp:132
constexpr bool is_mat_v
Definition: shape_traits.hpp:34
constexpr bool is_shape_tag_v
Definition: shape_traits.hpp:101
ad::util::shape_traits< T > shape_traits
Definition: shape_traits.hpp:23
constexpr bool is_shape_v
Definition: shape_traits.hpp:37
Definition: shape_traits.hpp:113
Definition: bounded.hpp:11
ad::mat mat
Definition: shape_traits.hpp:18
Eigen::Map< Eigen::Matrix< V, Eigen::Dynamic, 1 > > type
Definition: shape_traits.hpp:121