26#ifndef __TRIVMATH_VFPU_H__
27#define __TRIVMATH_VFPU_H__
56triFloat triVec2Sum(
const triVec2f* a );
57triFloat triVec2Avg(
const triVec2f* a );
60triFloat triVec2Length(
const triVec2f* a );
61triFloat triVec2SquareLength(
const triVec2f* a );
77triVec3f* triVec3Set(
triVec3f* a,
const triFloat x,
const triFloat y,
const triFloat z );
95triFloat triVec3Sum(
const triVec3f* a );
96triFloat triVec3Avg(
const triVec3f* a );
99triFloat triVec3Length(
const triVec3f* a );
100triFloat triVec3SquareLength(
const triVec3f* a );
119triVec4f* triVec4Set(
triVec4f* a,
const triFloat x,
const triFloat y,
const triFloat z,
const triFloat w );
120triVec4f* triVec4Set3(
triVec4f* a,
const triFloat x,
const triFloat y,
const triFloat z );
726triColor4f* triColor4Set(
triColor4f* c,
const triFloat r,
const triFloat g,
const triFloat b,
const triFloat a );
727triColor4f* triColor4Set3(
triColor4f* c,
const triFloat r,
const triFloat g,
const triFloat b );
triMat4f * triMat4Zero(triMat4f *a)
Make a matrix zero.
triMat4f * triMat4Inv(triMat4f *a, const triMat4f *b)
Invert a matrix.
triVec4f * triMat4Apply(triVec4f *a, const triMat4f *b, const triVec4f *c)
4x4 Matrix-Vector multiply (a = b*c).
triMat4f * triMat4Mul(triMat4f *a, const triMat4f *b, const triMat4f *c)
Matrix multiply (a = b*c).
triFloat triMat4Trace(const triMat4f *a)
Calculate matrix trace.
triVec4f * triMat4Apply3(triVec4f *a, const triMat4f *b, const triVec4f *c)
3x3 Matrix-Vector multiply (a = b*c).
triMat4f * triMat4Trans(triMat4f *a, const triMat4f *b)
Transpose a matrix.
triFloat triMat4Det(const triMat4f *a)
Calculate matrix determinant.
triMat4f * triMat4Copy(triMat4f *a, const triMat4f *b)
Copy a matrix.
triMat4f * triMat4Identity(triMat4f *a)
Make a matrix identity.
triQuat * triQuatSLerp(triQuat *a, const triQuat *b, const triQuat *c, triFloat t)
Spherical interpolation of quaternions.
triVec4f * triQuatApply(triVec4f *a, const triQuat *b, const triVec4f *c)
Apply quaternion to vector.
triQuat * triQuatMul(triQuat *a, const triQuat *b, const triQuat *c)
Multiply quaternions.
triQuat * triQuatSquad(triQuat *a, const triQuat *b, const triQuat *c, const triQuat *d, const triQuat *e, triFloat t)
Cubical interpolation of quaternions.
triQuat * triQuatAdd(triQuat *a, const triQuat *b, const triQuat *c)
Add quaternions.
triMat4f * triQuatToMatrix(triMat4f *a, const triQuat *b)
Convert quaternion to matrix.
triQuat * triQuatFromRotate(triQuat *a, triFloat angle, const triVec4f *b)
Make quaternion from axis rotation.
triFloat triQuatInnerProduct(const triQuat *a, const triQuat *b)
Quaternion innerproduct (dotproduct).
triQuat * triQuatNormalize(triQuat *a, const triQuat *b)
Normalize quaternion.
triQuat * triQuatSub(triQuat *a, const triQuat *b, const triQuat *c)
Subtract quaternions.
triQuat * triQuatNLerp(triQuat *a, const triQuat *b, const triQuat *c, triFloat t)
Normal (linear) interpolation of quaternions.
triQuat * triQuatCopy(triQuat *a, const triQuat *b)
Copy quaternion.
triQuat * triQuatInverse(triQuat *a, const triQuat *b)
Inverse quaternion (normalize(-x,-y,-z,w)).
triQuat * triQuatConj(triQuat *a, const triQuat *b)
Conjugate quaternion (-x,-y,-z,-w).
triQuat * triQuatUnit(triQuat *a)
Make unit quaternion (0,0,0,1).
triFloat triVec4Avg(const triVec4f *a)
Average of components.
triVec4f * triVec4Reflect(triVec4f *a, const triVec4f *b, const triVec4f *c)
Reflect Vector.
triFloat triVec4SquareLength3(const triVec4f *a)
Square length of Vector.
triVec4f * triVec4Neg(triVec4f *a, const triVec4f *b)
Negate Vector.
triVec4f * triVec4Max(triVec4f *a, const triVec4f *b, const triVec4f *c)
Maximum of Vectors.
triFloat triVec4Length(const triVec4f *a)
Length of Vector.
triVec4f * triVec4Mul(triVec4f *a, const triVec4f *b, const triVec4f *c)
Multiply Vectors.
triVec4f * triVec4Sgn(triVec4f *a, const triVec4f *b)
Vector sign.
triFloat triVec4Dot3(const triVec4f *a, const triVec4f *b)
Calculate Vector dotproduct.
triVec4f * triVec4Add3(triVec4f *a, const triVec4f *b, const triVec4f *c)
Add Vectors.
triFloat triVec4Sum3(const triVec4f *a)
Sum of components.
triVec4f * triVec4Add(triVec4f *a, const triVec4f *b, const triVec4f *c)
Add Vectors.
triFloat triVec4Dist(const triVec4f *a, const triVec4f *b)
Distance between Vectors.
triVec4f * triVec4Normalize(triVec4f *a, const triVec4f *b)
Normalize Vector.
triFloat triVec4SquareLength(const triVec4f *a)
Square length of Vector.
triVec4f * triVec4Rndn(triVec4f *a)
Random normal vector.
triVec4f * triVec4Abs(triVec4f *a, const triVec4f *b)
Absolute of Vector.
triVec4f * triVec4Div3(triVec4f *a, const triVec4f *b, const triVec4f *c)
Divide Vectors.
triVec4f * triVec4Neg3(triVec4f *a, const triVec4f *b)
Negate Vector.
triVec4f * triVec4Sub(triVec4f *a, const triVec4f *b, const triVec4f *c)
Subtract Vectors.
triVec4f * triVec4Rnd(triVec4f *a)
Random vector.
triVec4f * triVec4Div(triVec4f *a, const triVec4f *b, const triVec4f *c)
Divide Vectors.
triFloat triVec4SquareDist3(const triVec4f *a, const triVec4f *b)
Square distance between Vectors.
triFloat triVec4Dot(const triVec4f *a, const triVec4f *b)
Calculate Vector dotproduct.
triVec4f * triVec4Refract(triVec4f *a, const triVec4f *b, const triVec4f *c, const triFloat eta)
Refract Vector.
triVec4f * triVec4Sub3(triVec4f *a, const triVec4f *b, const triVec4f *c)
Subtract Vectors.
triFloat triVec4Length3(const triVec4f *a)
Length of Vector.
triVec4f * triVec4Mul3(triVec4f *a, const triVec4f *b, const triVec4f *c)
Multiply Vectors.
triVec4f * triVec4Rnd2(triVec4f *a)
Random vector.
triVec4f * triVec4Lerp(triVec4f *a, const triVec4f *b, const triVec4f *c, triFloat t)
Linear interpolate between Vectors.
triVec4f * triVec4Clamp(triVec4f *a, const triVec4f *b, triFloat min, triFloat max)
Clamp Vector.
triVec4f * triVec4Clamp3(triVec4f *a, const triVec4f *b, triFloat min, triFloat max)
Clamp Vector.
triFloat triVec4Sum(const triVec4f *a)
Sum of components.
triVec4f * triVec4Scale3(triVec4f *a, const triVec4f *b, triFloat t)
Scale Vector.
triVec4f * triVec4Normalize3(triVec4f *a, const triVec4f *b)
Normalize Vector.
triVec4f * triVec4Cross(triVec4f *a, const triVec4f *b, const triVec4f *c)
Calculate Vector crossproduct.
triFloat triVec4Dist3(const triVec4f *a, const triVec4f *b)
Distance between Vectors.
triFloat triVec4SquareDist(const triVec4f *a, const triVec4f *b)
Square distance between Vectors.
triVec4f * triVec4Min(triVec4f *a, const triVec4f *b, const triVec4f *c)
Minimum of Vectors.
triVec4f * triVec4Lerp3(triVec4f *a, const triVec4f *b, const triVec4f *c, triFloat t)
Linear interpolate between Vectors.
triFloat triVec4Avg3(const triVec4f *a)
Average of components.
triVec4f * triVec4Rndn3(triVec4f *a)
Random normal vector.
triVec4f * triVec4Scale(triVec4f *a, const triVec4f *b, triFloat t)
Scale Vector.
RGBA float color (128bit)
Definition: triTypes.h:319
RGBA int color (128bit)
Definition: triTypes.h:328
2D signed int Vector
Definition: triTypes.h:94
2D float Vector
Definition: triTypes.h:85
3D signed int Vector
Definition: triTypes.h:165
3D float Vector
Definition: triTypes.h:156
4D signed int Vector (quaternion)
Definition: triTypes.h:237
4D float Vector (quaternion)
Definition: triTypes.h:228
RGBA8888 color (32bit)
Definition: triTypes.h:348
4D (4x4) Matrix
Definition: triTypes.h:426