|
| template<int I> |
| constexpr with_shift_A_t< I > | batmat::linalg::with_shift_A |
| template<int I> |
| constexpr with_shift_B_t< I > | batmat::linalg::with_shift_B |
| template<int I> |
| constexpr with_rotate_C_t< I > | batmat::linalg::with_rotate_C |
| template<int I> |
| constexpr with_rotate_D_t< I > | batmat::linalg::with_rotate_D |
| template<int I> |
| constexpr with_mask_D_t< I > | batmat::linalg::with_mask_D |
| template<class...> |
| constexpr std::optional< int > | batmat::linalg::shift_A = std::nullopt |
| template<class T, class... Ts> |
| constexpr std::optional< int > | batmat::linalg::shift_A< T, Ts... > = shift_A<Ts...> |
| template<int I, class... Ts> |
| constexpr std::optional< int > | batmat::linalg::shift_A< with_shift_A_t< I >, Ts... > = I |
| template<class...> |
| constexpr std::optional< int > | batmat::linalg::shift_B = std::nullopt |
| template<class T, class... Ts> |
| constexpr std::optional< int > | batmat::linalg::shift_B< T, Ts... > = shift_B<Ts...> |
| template<int I, class... Ts> |
| constexpr std::optional< int > | batmat::linalg::shift_B< with_shift_B_t< I >, Ts... > = I |
| template<class...> |
| constexpr std::optional< int > | batmat::linalg::rotate_C = std::nullopt |
| template<class T, class... Ts> |
| constexpr std::optional< int > | batmat::linalg::rotate_C< T, Ts... > = rotate_C<Ts...> |
| template<int I, class... Ts> |
| constexpr std::optional< int > | batmat::linalg::rotate_C< with_rotate_C_t< I >, Ts... > = I |
| template<class...> |
| constexpr std::optional< int > | batmat::linalg::rotate_D = std::nullopt |
| template<class T, class... Ts> |
| constexpr std::optional< int > | batmat::linalg::rotate_D< T, Ts... > = rotate_D<Ts...> |
| template<int I, class... Ts> |
| constexpr std::optional< int > | batmat::linalg::rotate_D< with_rotate_D_t< I >, Ts... > = I |
| template<class...> |
| constexpr std::optional< int > | batmat::linalg::mask_D = std::nullopt |
| template<class T, class... Ts> |
| constexpr std::optional< int > | batmat::linalg::mask_D< T, Ts... > = mask_D<Ts...> |
| template<int I, class... Ts> |
| constexpr std::optional< int > | batmat::linalg::mask_D< with_mask_D_t< I >, Ts... > = I |
| template<class> |
| constexpr bool | batmat::linalg::is_shift_opt = false |
| template<int I> |
| constexpr bool | batmat::linalg::is_shift_opt< with_shift_A_t< I > > = true |
| template<int I> |
| constexpr bool | batmat::linalg::is_shift_opt< with_shift_B_t< I > > = true |
| template<int I> |
| constexpr bool | batmat::linalg::is_shift_opt< with_rotate_C_t< I > > = true |
| template<int I> |
| constexpr bool | batmat::linalg::is_shift_opt< with_rotate_D_t< I > > = true |
| template<int I> |
| constexpr bool | batmat::linalg::is_shift_opt< with_mask_D_t< I > > = true |
| template<int I> |
| constexpr with_rotate_t< I > | batmat::linalg::with_rotate |
| template<int I> |
| constexpr with_mask_t< I > | batmat::linalg::with_mask |
| template<class...> |
| constexpr std::optional< int > | batmat::linalg::get_rotate = std::nullopt |
| template<class T, class... Ts> |
| constexpr std::optional< int > | batmat::linalg::get_rotate< T, Ts... > = get_rotate<Ts...> |
| template<int I, class... Ts> |
| constexpr std::optional< int > | batmat::linalg::get_rotate< with_rotate_t< I >, Ts... > = I |
| template<class...> |
| constexpr std::optional< int > | batmat::linalg::get_mask = std::nullopt |
| template<class T, class... Ts> |
| constexpr std::optional< int > | batmat::linalg::get_mask< T, Ts... > = get_mask<Ts...> |
| template<int I, class... Ts> |
| constexpr std::optional< int > | batmat::linalg::get_mask< with_mask_t< I >, Ts... > = I |
| template<class> |
| constexpr bool | batmat::linalg::is_rotate_opt = false |
| template<int I> |
| constexpr bool | batmat::linalg::is_rotate_opt< with_rotate_t< I > > = true |
| template<int I> |
| constexpr bool | batmat::linalg::is_rotate_opt< with_mask_t< I > > = true |