// // Copyright 2015 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // Matrix: // Utility class implementing various matrix operations. // Supports matrices with minimum 2 and maximum 4 number of rows/columns. // // TODO: Check if we can merge Matrix.h in sample_util with this and replace it with this // implementation. // TODO: Rename this file to Matrix.h once we remove Matrix.h in sample_util. #ifndef COMMON_MATRIX_UTILS_H_ #define COMMON_MATRIX_UTILS_H_ #include <array> #include <vector> #include "common/debug.h" #include "common/mathutil.h" #include "common/vector_utils.h" namespace { template <typename T4x4> void CofactorTransposed(const T4x4 &mat, T4x4 &coft) { … } } // namespace namespace angle { template <typename T> class Matrix { … }; // Not derived from Matrix<float>: fixed-size std::array instead, to avoid malloc class Mat4 { … }; } // namespace angle #endif // COMMON_MATRIX_UTILS_H_