20 using type = __VA_ARGS__; \
23#define REDUCE_PATTERN(...) struct reduce_impl<__VA_ARGS__>
40 template<
typename N,
typename D>
44 template<
typename N,
typename D1,
typename D2>
48 template<
typename N,
typename D>
51 template<typename N, typename
D>
55 template<typename N, typename D1, typename D2>
59 template<typename N1, typename N2, typename D1, typename D2>
60 requires (!std::is_same_v<N1, D1> || !std::is_same_v<N2, D2>)
64 template <typename N, typename ...Ds>
65 requires (packtl::Contains<N, Ds...>)
72 template <typename
D, typename ...Ns>
73 requires (packtl::Contains<
D, Ns...>)
80 template <typename M1, typename
M2>
84 template <typename M1, typename
M2>
95 template <typename ...Ps>
99 template <typename ...Ps>
103 template <typename ...Ps>
104 requires packtl::Contains<
no_unit, Ps...>
Core components of the Quantify library.
REDUCE_PATTERN(frac< N, N >) TO(no_unit)
typename reduce_impl< Expr >::type reduce
#define REDUCE_PATTERN(...)