diff options
author | Robert David <lrdx@google.com> | 2020-06-20 00:33:05 +0300 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2020-06-20 00:33:30 +0300 |
commit | 19b09a49ce87f59831c08ab30c7d6ec70900c32d (patch) | |
tree | 072833348377558be6794779e1de37ad411a96be /ruy/matrix.h | |
parent | c9f5f9cecde3d6314df6e7d91517356bf07135eb (diff) |
Make FixedKernelLayout internal
PiperOrigin-RevId: 317381358
Diffstat (limited to 'ruy/matrix.h')
-rw-r--r-- | ruy/matrix.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/ruy/matrix.h b/ruy/matrix.h index cb2e4d6..65ba1b4 100644 --- a/ruy/matrix.h +++ b/ruy/matrix.h @@ -184,6 +184,19 @@ StreamType& operator<<(StreamType& stream, const Matrix<Scalar>& mat) { return stream; } +// Compile-time version of KernelLayout, used to declare kernel layouts in a +// way that can be consumed by compile-time logic. +// See how partial specializations of Kernel use it to declare their layouts. +// The only reason why this is currently part of the public API is to +// allow testing various layouts for the Path::kStandardCpp kernel, as a +// testing-only feature. See MulParamsType::StandardCppKernelLhsLayout. +template <Order tOrder, int tRows, int tCols> +struct FixedKernelLayout { + static constexpr Order kOrder = tOrder; + static constexpr int kRows = tRows; + static constexpr int kCols = tCols; +}; + #if (__cplusplus < 201703L) // A static constexpr data member is automatically inline and should not require // redeclaration without an initializer. This is actually deprecated from C++17 |