#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "ui/gfx/geometry/matrix3_f.h"
#include <string.h>
#include <algorithm>
#include <cmath>
#include <limits>
#include "base/strings/stringprintf.h"
namespace {
enum MatrixCoordinates { … };
template<typename T>
double Determinant3x3(T data[M_END]) { … }
}
namespace gfx {
Matrix3F::Matrix3F() { … }
Matrix3F::~Matrix3F() { … }
Matrix3F Matrix3F::Zeros() { … }
Matrix3F Matrix3F::Ones() { … }
Matrix3F Matrix3F::Identity() { … }
Matrix3F Matrix3F::FromOuterProduct(const Vector3dF& a, const Vector3dF& bt) { … }
bool Matrix3F::IsEqual(const Matrix3F& rhs) const { … }
bool Matrix3F::IsNear(const Matrix3F& rhs, float precision) const { … }
Matrix3F Matrix3F::Add(const Matrix3F& rhs) const { … }
Matrix3F Matrix3F::Subtract(const Matrix3F& rhs) const { … }
Matrix3F Matrix3F::Inverse() const { … }
Matrix3F Matrix3F::Transpose() const { … }
float Matrix3F::Determinant() const { … }
Matrix3F MatrixProduct(const Matrix3F& lhs, const Matrix3F& rhs) { … }
Vector3dF MatrixProduct(const Matrix3F& lhs, const Vector3dF& rhs) { … }
std::string Matrix3F::ToString() const { … }
}