| /* | |
| * Copyright 2021 Google LLC | |
| * | |
| * Use of this source code is governed by a BSD-style license that can be | |
| * found in the LICENSE file. | |
| */ | |
| #ifndef SkMatrixInvert_DEFINED | |
| #define SkMatrixInvert_DEFINED | |
| #include "include/core/SkScalar.h" | |
| /** | |
| * Computes the inverse of `inMatrix`, passed in column-major order. | |
| * `inMatrix` and `outMatrix` are allowed to point to the same array of scalars in memory. | |
| * `outMatrix` is allowed to be null. | |
| * The return value is the determinant of the input matrix. If zero is returned, the matrix was | |
| * non-invertible, and `outMatrix` has been left in an indeterminate state. | |
| */ | |
| SkScalar SkInvert2x2Matrix(const SkScalar inMatrix[4], SkScalar outMatrix[4]); | |
| SkScalar SkInvert3x3Matrix(const SkScalar inMatrix[9], SkScalar outMatrix[9]); | |
| SkScalar SkInvert4x4Matrix(const SkScalar inMatrix[16], SkScalar outMatrix[16]); | |
| #endif |