74[[deprecated(
"Use the reference version instead")]]
static inline void multiplyMatrix33(
const Matrix33 *m1,
87[[nodiscard]] Matrix33
multiplyMatrix33(
const Matrix33 &m1,
const Matrix33 &m2);
88[[nodiscard]] [[deprecated(
"Use the reference version instead")]]
static inline Matrix33
multiplyMatrix33(
89 const Matrix33 *m1,
const Matrix33 *m2) {
135[[nodiscard]] [[deprecated(
"Use the reference version instead")]]
static inline FixedPoint<>
matrixVecMul3z(
136 const Matrix33 *m,
const Vec3 *v) {
148[[deprecated(
"Use the reference version instead")]]
static inline void crossProductVec3(
const Vec3 *v1,
const Vec3 *v2,
161[[nodiscard]] [[deprecated(
"Use the reference version instead")]]
static inline Vec3 crossProductVec3(
const Vec3 *v1,
173[[nodiscard]] [[deprecated(
"Use the reference version instead")]]
static inline FixedPoint<>
matrixDeterminant3(
184[[nodiscard]] FixedPoint<>
squareRoot(FixedPoint<> x, FixedPoint<> y);
192[[nodiscard]]
static inline FixedPoint<>
squareRoot(FixedPoint<> x) {
return squareRoot(x, x / 2); }
219[[nodiscard]] [[deprecated(
"Use the reference version instead")]]
static inline FixedPoint<>
normOfVec3(
const Vec3 *v) {
A trigonometry table.
Definition trigonometry.hh:74
uint32_t t
Definition cop0.c:79
uint32_t out
Definition cpu.c:62
void fastNormalizeVec3(Vec3 *v)
Normalizes a 3D vector, using a faster but less accurate algorithm.
Definition soft-math.cpp:341
FixedPoint inverseSquareRoot(FixedPoint<> x, FixedPoint<> y)
Computes the inverse square root of a fixed point number, given an approximative hint.
void generateRotationMatrix33(Matrix33 *m, Angle t, Axis a, const Trig<> &trig)
Generate a rotation matrix for a given angle and axis.
Definition soft-math.cpp:32
void project(const Vec3 *v, FixedPoint<> h, Vec2 *out)
Projects a 3D point onto a 2D plane.
Definition soft-math.cpp:355
void scaleMatrix33(Matrix33 *m, FixedPoint<> s)
Scale a 3x3 matrix by a scalar.
FixedPoint squareRoot(FixedPoint<> x, FixedPoint<> y)
Computes the square root of a fixed point number, given an approximative hint.
FixedPoint matrixVecMul3z(const Matrix33 &m, const Vec3 &v)
Multiply a 3x3 matrix by a 3D vector, returning only the z component.
Definition soft-math.cpp:231
FixedPoint matrixDeterminant3(const Matrix33 &m)
Compute the determinant of a 3x3 matrix.
Definition soft-math.cpp:276
void normalizeVec3(Vec3 *v)
Normalizes a 3D vector.
Definition soft-math.cpp:327
void matrixVecMul3(const Matrix33 &m, const Vec3 &v, Vec3 *out)
Multiply a 3x3 matrix by a 3D vector.
Definition soft-math.cpp:179
void matrixVecMul3xy(const Matrix33 &m, const Vec3 &v, Vec2 *out)
Multiply a 3x3 matrix by a 3D vector, returning only the x and y components.
Definition soft-math.cpp:209
void crossProductVec3(const Vec3 &v1, const Vec3 &v2, Vec3 *out)
Compute the cross product of two 3D vectors.
Definition soft-math.cpp:244
FixedPoint normOfVec3(const Vec3 &v)
Computes the norm of a 3D vector.
Definition soft-math.cpp:319
Axis
Definition soft-math.hh:38
void multiplyMatrix33(const Matrix33 &m1, const Matrix33 &m2, Matrix33 *out)
Multiply two 3x3 matrices.
Definition soft-math.cpp:131
Definition cdrom-loader.hh:39
FixedPoint< 10 > Angle
A fixed point angle.
Definition trigonometry.hh:48
Vector< 3 > Vec3
Definition vector.hh:234
Vector< 2 > Vec2
Definition vector.hh:233
char * s
Definition string.c:48