Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/google/ruy.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert David <lrdx@google.com>2020-06-20 00:33:05 +0300
committerCopybara-Service <copybara-worker@google.com>2020-06-20 00:33:30 +0300
commit19b09a49ce87f59831c08ab30c7d6ec70900c32d (patch)
tree072833348377558be6794779e1de37ad411a96be /ruy/matrix.h
parentc9f5f9cecde3d6314df6e7d91517356bf07135eb (diff)
Make FixedKernelLayout internal
PiperOrigin-RevId: 317381358
Diffstat (limited to 'ruy/matrix.h')
-rw-r--r--ruy/matrix.h13
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