matrix unit
Two, three, four dimensional matrix unit.
The unit matrix is a unit that provides objects for the common
two, three and four dimensional vectors matrices. These vectors and matrices
are very common in computer graphics and are often implemented from scratch
by programmers while every implementation provides exactly the same
functionality.
It makes therefore sense to provide this functionality in the runtime library. This eliminates the need for programmers to reinvent the wheel and also allows libraries that use matrix operations to become more compatible.
The matrix unit does not provide n-dimensional matrices. The functionality needs of a general matrix unit varies from application to application; one can think of reduced memory usage tricks for matrices that only have data around the diagonal etc., desire for parallelization etc. etc. It is believed that programmers that do use n-dimensional matrices would not necessarily benefit from such a unit in the runtime library.
Design goals:
- Provide common dimensions, two three and four.
- Provide multiple floating point precisions, single, double, extended.
- Simple trivial binary representation; it is possible to typecast vectors into other implementations that use the same trivial representation.
- No dynamic memory management in the background. It must be possible to write expressions like matrix A * B * C without worrying about memory management.
Design decisions:
- Class object model is ruled out. The objects object model, without virtual methods, is suitable.
- Operator overloading is a good way to allow programmers to write matrix expressions.
- 3 dimensions * 3 precision means 9 vector and 9 matrix objects. Macro's have been used in the source to take care of this.
Classes and records
Tmatrix2_double | object | Double precision matrix of two scalars. |
Tmatrix2_extended | object | Extended precision matrix of two scalars. |
Tmatrix2_single | object | Single precision matrix of two scalars. |
Tmatrix3_double | object | Double precision matrix of three scalars. |
Tmatrix3_extended | object | Extended precision matrix of three scalars. |
Tmatrix3_single | object | Single precision matrix of three scalars. |
Tmatrix4_double | object | Double precision matrix of four scalars. |
Tmatrix4_extended | object | Extended precision matrix of extended scalars. |
Tmatrix4_single | object | Single precision matrix of four scalars. |
Tvector2_double | object | Double precision vector of two scalars. |
Tvector2_extended | object | Extended precision vector of two scalars. |
Tvector2_single | object | Single precision vector of two scalars. |
Tvector3_double | object | Double precision vector of three scalars. |
Tvector3_extended | object | Extended precision vector of three scalars. |
Tvector3_single | object | Single precision vector of three scalars. |
Tvector4_double | object | Double precision vector of four scalars. |
Tvector4_extended | object | Extended precision vector of extended scalars. |
Tvector4_single | object | Single precision vector of four scalars. |
Procedures and functions
add(Tmatrix2_double,Double):Tmatrix2_double | operator | Add scalar to two-dimensional double precision matrix. |
add(Tmatrix2_double,Tmatrix2_double):Tmatrix2_double | operator | Add two two-dimensional double precision matrices together. |
add(Tmatrix2_extended,extended):Tmatrix2_extended | operator | Add scalar to two-dimensional extended precision matrix. |
add(Tmatrix2_extended,Tmatrix2_extended):Tmatrix2_extended | operator | Add two two-dimensional extended precision matrices together. |
add(Tmatrix2_single,single):Tmatrix2_single | operator | Add scalar to two-dimensional single precision matrix. |
add(Tmatrix2_single,Tmatrix2_single):Tmatrix2_single | operator | Add two two-dimensional single precision matrices together. |
add(Tmatrix3_double,Double):Tmatrix3_double | operator | Add scalar to three-dimensional double precision matrix. |
add(Tmatrix3_double,Tmatrix3_double):Tmatrix3_double | operator | Add two three-dimensional double precision matrices together. |
add(Tmatrix3_extended,extended):Tmatrix3_extended | operator | Add scalar to three-dimensional extended precision matrix. |
add(Tmatrix3_extended,Tmatrix3_extended):Tmatrix3_extended | operator | Add two three-dimensional extended precision matrices together. |
add(Tmatrix3_single,single):Tmatrix3_single | operator | Add scalar to three-dimensional single precision matrix. |
add(Tmatrix3_single,Tmatrix3_single):Tmatrix3_single | operator | Add two three-dimensional single precision matrices together. |
add(Tmatrix4_double,Double):Tmatrix4_double | operator | Add scalar to four-dimensional double precision matrix. |
add(Tmatrix4_double,Tmatrix4_double):Tmatrix4_double | operator | Add two four-dimensional double precision matrices together. |
add(Tmatrix4_extended,extended):Tmatrix4_extended | operator | Add scalar to four-dimensional extended precision matrix. |
add(Tmatrix4_extended,Tmatrix4_extended):Tmatrix4_extended | operator | Add two four-dimensional extended precision matrices together. |
add(Tmatrix4_single,single):Tmatrix4_single | operator | Add scalar to four-dimensional single precision matrix. |
add(Tmatrix4_single,Tmatrix4_single):Tmatrix4_single | operator | Add two four-dimensional single precision matrices together. |
add(Tvector2_double,Double):Tvector2_double | operator | Add scalar to two-dimensional double precision vector. |
add(Tvector2_double,Tvector2_double):Tvector2_double | operator | Add two-dimensional double precision vectors together. |
add(Tvector2_extended,extended):Tvector2_extended | operator | Add scalar to two-dimensional extended precision vector. |
add(Tvector2_extended,Tvector2_extended):Tvector2_extended | operator | Add two-dimensional extended precision vectors together. |
add(Tvector2_single,single):Tvector2_single | operator | Add scalar to two-dimensional single precision vector. |
add(Tvector2_single,Tvector2_single):Tvector2_single | operator | Add two-dimensional single precision vectors together. |
add(Tvector3_double,Double):Tvector3_double | operator | Add scalar to three-dimensional double precision vector. |
add(Tvector3_double,Tvector3_double):Tvector3_double | operator | Add three-dimensional double precision vectors together. |
add(Tvector3_extended,extended):Tvector3_extended | operator | Add scalar to three-dimensional extended precision vector. |
add(Tvector3_extended,Tvector3_extended):Tvector3_extended | operator | Add three-dimensional extended precision vectors together. |
add(Tvector3_single,single):Tvector3_single | operator | Add scalar to three-dimensional single precision vector. |
add(Tvector3_single,Tvector3_single):Tvector3_single | operator | Add three-dimensional extended precision vectors together. |
add(Tvector4_double,Double):Tvector4_double | operator | Add scalar to four-dimensional double precision vector. |
add(Tvector4_double,Tvector4_double):Tvector4_double | operator | Add four-dimensional double precision vectors together. |
add(Tvector4_extended,extended):Tvector4_extended | operator | Add scalar to four-dimensional extended precision vector. |
add(Tvector4_extended,Tvector4_extended):Tvector4_extended | operator | Add four-dimensional extended precision vectors together. |
add(Tvector4_single,single):Tvector4_single | operator | Add scalar to four-dimensional single precision vector. |
add(Tvector4_single,Tvector4_single):Tvector4_single | operator | Add four-dimensional single precision vectors together. |
assign(Tmatrix2_double):Tmatrix2_extended | operator | Allow assignment of two-dimensional double precision matrix to two-dimensional extended precision matrix. |
assign(Tmatrix2_double):Tmatrix2_single | operator | Allow assignment of two-dimensional double precision matrix to two-dimensional single precision matrix. |
assign(Tmatrix2_double):Tmatrix3_double | operator | Allow assignment of two-dimensional double precision matrix to three-dimensional double precision matrix. |
assign(Tmatrix2_double):Tmatrix3_extended | operator | Allow assignment of two-dimensional double precision matrix to three-dimensional extended precision matrix. |
assign(Tmatrix2_double):Tmatrix3_single | operator | Allow assignment of two-dimensional single precision matrix to three-dimensional single precision matrix. |
assign(Tmatrix2_double):Tmatrix4_double | operator | Allow assignment of two-dimensional double precision matrix to four-dimensional double precision matrix. |
assign(Tmatrix2_double):Tmatrix4_extended | operator | Allow assignment of two-dimensional double precision matrix to four-dimensional extended precision matrix. |
assign(Tmatrix2_double):Tmatrix4_single | operator | Allow assignment of two-dimensional double precision matrix to four-dimensional single precision matrix. |
assign(Tmatrix2_extended):Tmatrix2_double | operator | Allow assignment of two-dimensional extended precision matrix to two-dimensional double precision matrix. |
assign(Tmatrix2_extended):Tmatrix2_single | operator | Allow assignment of two-dimensional extended precision matrix to two-dimensional single precision matrix. |
assign(Tmatrix2_extended):Tmatrix3_double | operator | Allow assignment of two-dimensional extended precision matrix to three-dimensional double precision matrix. |
assign(Tmatrix2_extended):Tmatrix3_extended | operator | Allow assignment of two-dimensional extended precision matrix to three-dimensional extended precision matrix. |
assign(Tmatrix2_extended):Tmatrix3_single | operator | Allow assignment of two-dimensional extended precision matrix to three-dimensional single precision matrix. |
assign(Tmatrix2_extended):Tmatrix4_double | operator | Allow assignment of two-dimensional extended precision matrix to four-dimensional double precision matrix. |
assign(Tmatrix2_extended):Tmatrix4_extended | operator | Allow assignment of two-dimensional extended precision matrix to four-dimensional extended precision matrix. |
assign(Tmatrix2_extended):Tmatrix4_single | operator | Allow assignment of two-dimensional extended precision matrix to four-dimensional single precision matrix. |
assign(Tmatrix2_single):Tmatrix2_double | operator | Allow assignment of two-dimensional single precision matrix to two-dimensional double precision matrix. |
assign(Tmatrix2_single):Tmatrix2_extended | operator | Allow assignment of two-dimensional single precision matrix to two-dimensional extended precision matrix. |
assign(Tmatrix2_single):Tmatrix3_double | operator | Allow assignment of two-dimensional single precision matrix to three-dimensional double precision matrix. |
assign(Tmatrix2_single):Tmatrix3_extended | operator | Allow assignment of two-dimensional single precision matrix to three-dimensional extended precision matrix. |
assign(Tmatrix2_single):Tmatrix3_single | operator | Allow assignment of two-dimensional single precision matrix to three-dimensional single precision matrix. |
assign(Tmatrix2_single):Tmatrix4_double | operator | Allow assignment of two-dimensional single precision matrix to four-dimensional double precision matrix. |
assign(Tmatrix2_single):Tmatrix4_extended | operator | Allow assignment of two-dimensional single precision matrix to four-dimensional extended precision matrix. |
assign(Tmatrix2_single):Tmatrix4_single | operator | Allow assignment of two-dimensional single precision matrix to four-dimensional single precision matrix. |
assign(Tmatrix3_double):Tmatrix2_double | operator | Allow assignment of three-dimensional double precision matrix to two-dimensional double precision matrix. |
assign(Tmatrix3_double):Tmatrix2_extended | operator | Allow assignment of three-dimensional double precision matrix to two-dimensional extended precision matrix. |
assign(Tmatrix3_double):Tmatrix2_single | operator | Allow assignment of three-dimensional double precision matrix to two-dimensional single precision matrix. |
assign(Tmatrix3_double):Tmatrix3_extended | operator | Allow assignment of three-dimensional double precision matrix to three-dimensional extended precision matrix. |
assign(Tmatrix3_double):Tmatrix3_single | operator | Allow assignment of three-dimensional double precision matrix to three-dimensional single precision matrix. |
assign(Tmatrix3_double):Tmatrix4_double | operator | Allow assignment of three-dimensional double precision matrix to four-dimensional double precision matrix. |
assign(Tmatrix3_double):Tmatrix4_extended | operator | Allow assignment of three-dimensional double precision matrix to four-dimensional extended precision matrix. |
assign(Tmatrix3_double):Tmatrix4_single | operator | Allow assignment of three-dimensional double precision matrix to four-dimensional single precision matrix. |
assign(Tmatrix3_extended):Tmatrix2_double | operator | Allow assignment of three-dimensional extended precision matrix to two-dimensional double precision matrix. |
assign(Tmatrix3_extended):Tmatrix2_extended | operator | Allow assignment of three-dimensional extended precision matrix to two-dimensional extended precision matrix. |
assign(Tmatrix3_extended):Tmatrix2_single | operator | Allow assignment of three-dimensional extended precision matrix to two-dimensional single precision matrix. |
assign(Tmatrix3_extended):Tmatrix3_double | operator | Allow assignment of three-dimensional extended precision matrix to three-dimensional double precision matrix. |
assign(Tmatrix3_extended):Tmatrix3_single | operator | Allow assignment of three-dimensional extended precision matrix to three-dimensional single precision matrix. |
assign(Tmatrix3_extended):Tmatrix4_double | operator | Allow assignment of three-dimensional extended precision matrix to four-dimensional double precision matrix. |
assign(Tmatrix3_extended):Tmatrix4_extended | operator | Allow assignment of three-dimensional extended precision matrix to four-dimensional extended precision matrix. |
assign(Tmatrix3_extended):Tmatrix4_single | operator | Allow assignment of three-dimensional extended precision matrix to four-dimensional single precision matrix. |
assign(Tmatrix3_single):Tmatrix2_double | operator | Allow assignment of three-dimensional single precision matrix to two-dimensional double precision matrix. |
assign(Tmatrix3_single):Tmatrix2_extended | operator | Allow assignment of three-dimensional single precision matrix to two-dimensional extended precision matrix. |
assign(Tmatrix3_single):Tmatrix2_single | operator | Allow assignment of three-dimensional single precision matrix to two-dimensional single precision matrix. |
assign(Tmatrix3_single):Tmatrix3_double | operator | Allow assignment of three-dimensional single precision matrix to three-dimensional double precision matrix. |
assign(Tmatrix3_single):Tmatrix3_extended | operator | Allow assignment of three-dimensional single precision matrix to three-dimensional extended precision matrix. |
assign(Tmatrix3_single):Tmatrix4_double | operator | Allow assignment of three-dimensional single precision matrix to four-dimensional double precision matrix. |
assign(Tmatrix3_single):Tmatrix4_extended | operator | Allow assignment of three-dimensional single precision matrix to four-dimensional extended precision matrix. |
assign(Tmatrix3_single):Tmatrix4_single | operator | Allow assignment of three-dimensional single precision matrix to four-dimensional single precision matrix. |
assign(Tmatrix4_double):Tmatrix2_double | operator | Allow assignment of four-dimensional double precision matrix to two-dimensional double precision matrix. |
assign(Tmatrix4_double):Tmatrix2_extended | operator | Allow assignment of four-dimensional double precision matrix to two-dimensional extended precision matrix. |
assign(Tmatrix4_double):Tmatrix2_single | operator | Allow assignment of four-dimensional double precision matrix to two-dimensional single precision matrix. |
assign(Tmatrix4_double):Tmatrix3_double | operator | Allow assignment of four-dimensional double precision matrix to three-dimensional double precision matrix. |
assign(Tmatrix4_double):Tmatrix3_extended | operator | Allow assignment of four-dimensional double precision matrix to three-dimensional extended precision matrix. |
assign(Tmatrix4_double):Tmatrix3_single | operator | Allow assignment of four-dimensional double precision matrix to three-dimensional single precision matrix. |
assign(Tmatrix4_double):Tmatrix4_extended | operator | Allow assignment of four-dimensional double precision matrix to four-dimensional extended precision matrix. |
assign(Tmatrix4_double):Tmatrix4_single | operator | Allow assignment of four-dimensional single precision matrix to four-dimensional single precision matrix. |
assign(Tmatrix4_extended):Tmatrix2_double | operator | Allow assignment of four-dimensional extended precision matrix to two-dimensional double precision matrix. |
assign(Tmatrix4_extended):Tmatrix2_extended | operator | Allow assignment of four-dimensional extended precision matrix to two-dimensional extended precision matrix. |
assign(Tmatrix4_extended):Tmatrix2_single | operator | Allow assignment of four-dimensional extended precision matrix to two-dimensional single precision matrix. |
assign(Tmatrix4_extended):Tmatrix3_double | operator | Allow assignment of four-dimensional extended precision matrix to three-dimensional double precision matrix. |
assign(Tmatrix4_extended):Tmatrix3_extended | operator | Allow assignment of four-dimensional extended precision matrix to three-dimensional extended precision matrix. |
assign(Tmatrix4_extended):Tmatrix3_single | operator | Allow assignment of four-dimensional extended precision matrix to three-dimensional single precision matrix. |
assign(Tmatrix4_extended):Tmatrix4_double | operator | Allow assignment of four-dimensional extended precision matrix to four-dimensional double precision matrix. |
assign(Tmatrix4_extended):Tmatrix4_single | operator | Allow assignment of four-dimensional extended precision matrix to four-dimensional single precision matrix. |
assign(Tmatrix4_single):Tmatrix2_double | operator | Allow assignment of four-dimensional single precision matrix to two-dimensional double precision matrix. |
assign(Tmatrix4_single):Tmatrix2_extended | operator | Allow assignment of four-dimensional single precision matrix to two-dimensional extended precision matrix. |
assign(Tmatrix4_single):Tmatrix2_single | operator | Allow assignment of four-dimensional single precision matrix to two-dimensional single precision matrix. |
assign(Tmatrix4_single):Tmatrix3_double | operator | Allow assignment of four-dimensional single precision matrix to three-dimensional double precision matrix. |
assign(Tmatrix4_single):Tmatrix3_extended | operator | Allow assignment of four-dimensional single precision matrix to three-dimensional extended precision matrix. |
assign(Tmatrix4_single):Tmatrix3_single | operator | Allow assignment of four-dimensional single precision matrix to three-dimensional single precision matrix. |
assign(Tmatrix4_single):Tmatrix4_double | operator | Allow assignment of four-dimensional single precision matrix to four-dimensional double precision matrix. |
assign(Tmatrix4_single):Tmatrix4_extended | operator | Allow assignment of four-dimensional single precision matrix to four-dimensional extended precision matrix. |
assign(Tvector2_double):Tvector2_extended | operator | Allow assignment of double precision vector to extended precision vector. |
assign(Tvector2_double):Tvector2_single | operator | Allow assignment of double precision vector to single precision vector. |
assign(Tvector2_double):Tvector3_double | operator | Allow assignment of two-dimensional double precision vector to three-dimensional double precision vector. |
assign(Tvector2_double):Tvector3_extended | operator | Allow assignment of two-dimensional double precision vector to three-dimensional extended precision vector. |
assign(Tvector2_double):Tvector3_single | operator | Allow assignment of two-dimensional double precision vector to three-dimensional single precision vector. |
assign(Tvector2_double):Tvector4_double | operator | Allow assignment of two-dimensional double precision vector to four-dimensional double precision vector. |
assign(Tvector2_double):Tvector4_extended | operator | Allow assignment of two-dimensional double precision vector to four-dimensional extended precision vector. |
assign(Tvector2_double):Tvector4_single | operator | Allow assignment of two-dimensional double precision vector to four-dimensional single precision vector. |
assign(Tvector2_extended):Tvector2_double | operator | Allow assignment of extended precision vector to double precision vector. |
assign(Tvector2_extended):Tvector2_single | operator | Allow assignment of extended precision vector to single precision vector. |
assign(Tvector2_extended):Tvector3_double | operator | Allow assignment of two-dimensional extended precision vector to three-dimensional double precision vector. |
assign(Tvector2_extended):Tvector3_extended | operator | Allow assignment of two-dimensional extended precision vector to three-dimensional extended precision vector. |
assign(Tvector2_extended):Tvector3_single | operator | Allow assignment of two-dimensional extended precision vector to three-dimensional single precision vector. |
assign(Tvector2_extended):Tvector4_double | operator | Allow assignment of two-dimensional extended precision vector to four-dimensional double precision vector. |
assign(Tvector2_extended):Tvector4_extended | operator | Allow assignment of two-dimensional extended precision vector to four-dimensional extended precision vector. |
assign(Tvector2_extended):Tvector4_single | operator | Allow assignment of two-dimensional extended precision vector to four-dimensional single precision vector. |
assign(Tvector2_single):Tvector2_double | operator | Allow assignment of single precision vector to double precision vector. |
assign(Tvector2_single):Tvector2_extended | operator | Allow assignment of single precision vector to extended precision vector. |
assign(Tvector2_single):Tvector3_double | operator | Allow assignment of two-dimensional single precision vector to three-dimensional double precision vector. |
assign(Tvector2_single):Tvector3_extended | operator | Allow assignment of two-dimensional single precision vector to three-dimensional extended precision vector. |
assign(Tvector2_single):Tvector3_single | operator | Allow assignment of two-dimensional single precision vector to three-dimensional single precision vector. |
assign(Tvector2_single):Tvector4_double | operator | Allow assignment of two-dimensional single precision vector to four-dimensional double precision vector. |
assign(Tvector2_single):Tvector4_extended | operator | Allow assignment of two-dimensional single precision vector to four-dimensional extended precision vector. |
assign(Tvector2_single):Tvector4_single | operator | Allow assignment of two-dimensional single precision vector to four-dimensional single precision vector. |
assign(Tvector3_double):Tvector2_double | operator | Allow assignment of three-dimensional double precision vector to two-dimensional double precision vector. |
assign(Tvector3_double):Tvector2_extended | operator | Allow assignment of three-dimensional double precision vector to two-dimensional extended precision vector. |
assign(Tvector3_double):Tvector2_single | operator | Allow assignment of three-dimensional double precision vector to two-dimensional single precision vector. |
assign(Tvector3_double):Tvector3_extended | operator | Allow assignment of three-dimensional double precision vector to three-dimensional extended precision vector. |
assign(Tvector3_double):Tvector3_single | operator | Allow assignment of three-dimensional double precision vector to three-dimensional single precision vector. |
assign(Tvector3_double):Tvector4_double | operator | Allow assignment of three-dimensional double precision vector to four-dimensional double precision vector. |
assign(Tvector3_double):Tvector4_extended | operator | Allow assignment of three-dimensional double precision vector to four-dimensional extended precision vector. |
assign(Tvector3_double):Tvector4_single | operator | Allow assignment of three-dimensional double precision vector to four-dimensional single precision vector. |
assign(Tvector3_extended):Tvector2_double | operator | Allow assignment of three-dimensional extended precision vector to two-dimensional double precision vector. |
assign(Tvector3_extended):Tvector2_extended | operator | Allow assignment of three-dimensional extended precision vector to two-dimensional extended precision vector. |
assign(Tvector3_extended):Tvector2_single | operator | Allow assignment of three-dimensional extended precision vector to two-dimensional single precision vector. |
assign(Tvector3_extended):Tvector3_double | operator | Allow assignment of three-dimensional extended precision vector to three-dimensional double precision vector. |
assign(Tvector3_extended):Tvector3_single | operator | Allow assignment of three-dimensional single precision vector to three-dimensional double precision vector. |
assign(Tvector3_extended):Tvector4_double | operator | Allow assignment of three-dimensional extended precision vector to four-dimensional double precision vector. |
assign(Tvector3_extended):Tvector4_extended | operator | Allow assignment of three-dimensional extended precision vector to four-dimensional extended precision vector. |
assign(Tvector3_extended):Tvector4_single | operator | Allow assignment of three-dimensional extended precision vector to four-dimensional single precision vector. |
assign(Tvector3_single):Tvector2_double | operator | Allow assignment of three-dimensional single precision vector to two-dimensional double precision vector. |
assign(Tvector3_single):Tvector2_extended | operator | Allow assignment of three-dimensional single precision vector to two-dimensional extended precision vector. |
assign(Tvector3_single):Tvector2_single | operator | Allow assignment of three-dimensional single precision vector to two-dimensional single precision vector. |
assign(Tvector3_single):Tvector3_double | operator | Allow assignment of three-dimensional single precision vector to three-dimensional double precision vector. |
assign(Tvector3_single):Tvector3_extended | operator | Allow assignment of three-dimensional single precision vector to three-dimensional extended precision vector. |
assign(Tvector3_single):Tvector4_double | operator | Allow assignment of three-dimensional single precision vector to four-dimensional double precision vector. |
assign(Tvector3_single):Tvector4_extended | operator | Allow assignment of three-dimensional single precision vector to four-dimensional extended precision vector. |
assign(Tvector3_single):Tvector4_single | operator | Allow assignment of three-dimensional single precision vector to four-dimensional single precision vector. |
assign(Tvector4_double):Tvector2_double | operator | Allow assignment of four-dimensional double precision vector to two-dimensional double precision vector. |
assign(Tvector4_double):Tvector2_extended | operator | Allow assignment of four-dimensional double precision vector to two-dimensional extended precision vector. |
assign(Tvector4_double):Tvector2_single | operator | Allow assignment of four-dimensional double precision vector to two-dimensional single precision vector. |
assign(Tvector4_double):Tvector3_double | operator | Allow assignment of four-dimensional double precision vector to three-dimensional double precision vector. |
assign(Tvector4_double):Tvector3_extended | operator | Allow assignment of four-dimensional double precision vector to three-dimensional extended precision vector. |
assign(Tvector4_double):Tvector3_single | operator | Allow assignment of four-dimensional double precision vector to three-dimensional single precision vector. |
assign(Tvector4_double):Tvector4_extended | operator | Allow assignment of four-dimensional single precision vector to four-dimensional extended precision vector. |
assign(Tvector4_double):Tvector4_single | operator | Allow assignment of four-dimensional double precision vector to four-dimensional single precision vector. |
assign(Tvector4_extended):Tvector2_double | operator | Allow assignment of four-dimensional extended precision vector to two-dimensional double precision vector. |
assign(Tvector4_extended):Tvector2_extended | operator | Allow assignment of four-dimensional extended precision vector to two-dimensional extended precision vector. |
assign(Tvector4_extended):Tvector2_single | operator | Allow assignment of four-dimensional extended precision vector to two-dimensional single precision vector. |
assign(Tvector4_extended):Tvector3_double | operator | Allow assignment of four-dimensional extended precision vector to three-dimensional double precision vector. |
assign(Tvector4_extended):Tvector3_extended | operator | Allow assignment of four-dimensional extended precision vector to three-dimensional extended precision vector. |
assign(Tvector4_extended):Tvector3_single | operator | Allow assignment of four-dimensional extended precision vector to three-dimensional single precision vector. |
assign(Tvector4_extended):Tvector4_double | operator | Allow assignment of four-dimensional single precision vector to four-dimensional double precision vector. |
assign(Tvector4_extended):Tvector4_single | operator | Allow assignment of four-dimensional extended precision vector to four-dimensional single precision vector. |
assign(Tvector4_single):Tvector2_double | operator | Allow assignment of four-dimensional single precision vector to two-dimensional double precision vector. |
assign(Tvector4_single):Tvector2_extended | operator | Allow assignment of four-dimensional single precision vector to two-dimensional extended precision vector. |
assign(Tvector4_single):Tvector2_single | operator | Allow assignment of four-dimensional single precision vector to two-dimensional single precision vector. |
assign(Tvector4_single):Tvector3_double | operator | Allow assignment of four-dimensional single precision vector to three-dimensional double precision vector. |
assign(Tvector4_single):Tvector3_extended | operator | Allow assignment of four-dimensional single precision vector to three-dimensional extended precision vector. |
assign(Tvector4_single):Tvector3_single | operator | Allow assignment of four-dimensional single precision vector to three-dimensional single precision vector. |
assign(Tvector4_single):Tvector4_double | operator | Allow assignment of four-dimensional single precision vector to four-dimensional double precision vector. |
assign(Tvector4_single):Tvector4_extended | operator | Allow assignment of four-dimensional single precision vector to four-dimensional extended precision vector. |
divide(Tmatrix2_double,Double):Tmatrix2_double | operator | Divide a two-dimensional single precision matrix by a scalar. |
divide(Tmatrix2_extended,extended):Tmatrix2_extended | operator | Divide a two-dimensional single precision matrix by a scalar. |
divide(Tmatrix2_single,single):Tmatrix2_single | operator | Divide a two-dimensional single precision matrix by a scalar. |
divide(Tmatrix3_double,Double):Tmatrix3_double | operator | Divide a two-dimensional single precision matrix by a scalar. |
divide(Tmatrix3_extended,extended):Tmatrix3_extended | operator | Divide a two-dimensional single precision matrix by a scalar. |
divide(Tmatrix3_single,single):Tmatrix3_single | operator | Divide a two-dimensional single precision matrix by a scalar. |
divide(Tmatrix4_double,Double):Tmatrix4_double | operator | Divide a two-dimensional single precision matrix by a scalar. |
divide(Tmatrix4_extended,extended):Tmatrix4_extended | operator | Divide a two-dimensional single precision matrix by a scalar. |
divide(Tmatrix4_single,single):Tmatrix4_single | operator | Divide a two-dimensional single precision matrix by a scalar. |
divide(Tvector2_double,Double):Tvector2_double | operator | Divide a two-dimensional double precision vector by a scalar. |
divide(Tvector2_extended,extended):Tvector2_extended | operator | Divide a two-dimensional extended precision vector by a scalar. |
divide(Tvector2_single,single):Tvector2_single | operator | Divide a two-dimensional single precision vector by a scalar. |
divide(Tvector3_double,Double):Tvector3_double | operator | Divide a three-dimensional double precision vector by a scalar. |
divide(Tvector3_extended,extended):Tvector3_extended | operator | Divide a three-dimensional extended precision vector by a scalar. |
divide(Tvector3_single,single):Tvector3_single | operator | Divide a three-dimensional single precision vector by a scalar. |
divide(Tvector4_double,Double):Tvector4_double | operator | Divide a four-dimensional double precision vector by a scalar. |
divide(Tvector4_extended,extended):Tvector4_extended | operator | Divide a four-dimensional extended precision vector by a scalar. |
divide(Tvector4_single,single):Tvector4_single | operator | Divide a four-dimensional single precision vector by a scalar. |
multiply(Tmatrix2_double,Double):Tmatrix2_double | operator | Multiply a two-dimensional double precision matrix by a scalar. |
multiply(Tmatrix2_double,Tmatrix2_double):Tmatrix2_double | operator | Give product of two two-dimensional double precision matrices. |
multiply(Tmatrix2_double,Tvector2_double):Tvector2_double | operator | Give product of a two-dimensional double precision matrix and vector. |
multiply(Tmatrix2_extended,extended):Tmatrix2_extended | operator | Multiply a two-dimensional extended precision matrix by a scalar. |
multiply(Tmatrix2_extended,Tmatrix2_extended):Tmatrix2_extended | operator | Give product of two two-dimensional extended precision matrices. |
multiply(Tmatrix2_extended,Tvector2_extended):Tvector2_extended | operator | Give product of a two-dimensional extended precision matrix and vector. |
multiply(Tmatrix2_single,single):Tmatrix2_single | operator | Multiply a two-dimensional single precision matrix by a scalar. |
multiply(Tmatrix2_single,Tmatrix2_single):Tmatrix2_single | operator | Give product of two two-dimensional single precision matrices. |
multiply(Tmatrix2_single,Tvector2_single):Tvector2_single | operator | Give product of a two-dimensional single precision matrix and vector. |
multiply(Tmatrix3_double,Double):Tmatrix3_double | operator | Multiply a three-dimensional double precision matrix by a scalar. |
multiply(Tmatrix3_double,Tmatrix3_double):Tmatrix3_double | operator | Give product of two three-dimensional double precision matrices. |
multiply(Tmatrix3_double,Tvector3_double):Tvector3_double | operator | Give product of a three-dimensional double precision matrix and vector. |
multiply(Tmatrix3_extended,extended):Tmatrix3_extended | operator | Multiply a three-dimensional extended precision matrix by a scalar. |
multiply(Tmatrix3_extended,Tmatrix3_extended):Tmatrix3_extended | operator | Give product of two three-dimensional extended precision matrices. |
multiply(Tmatrix3_extended,Tvector3_extended):Tvector3_extended | operator | Give product of a three-dimensional extended precision matrix and vector. |
multiply(Tmatrix3_single,single):Tmatrix3_single | operator | Multiply a three-dimensional single precision matrix by a scalar. |
multiply(Tmatrix3_single,Tmatrix3_single):Tmatrix3_single | operator | Give product of two three-dimensional single precision matrices. |
multiply(Tmatrix3_single,Tvector3_single):Tvector3_single | operator | Give product of a three-dimensional single precision matrix and vector. |
multiply(Tmatrix4_double,Double):Tmatrix4_double | operator | Multiply a four-dimensional double precision matrix by a scalar. |
multiply(Tmatrix4_double,Tmatrix4_double):Tmatrix4_double | operator | Give product of two four-dimensional double precision matrices. |
multiply(Tmatrix4_double,Tvector4_double):Tvector4_double | operator | Give product of a four-dimensional double precision matrix and vector. |
multiply(Tmatrix4_extended,extended):Tmatrix4_extended | operator | Multiply a four-dimensional extended precision matrix by a scalar. |
multiply(Tmatrix4_extended,Tmatrix4_extended):Tmatrix4_extended | operator | Give product of two four-dimensional extended precision matrices. |
multiply(Tmatrix4_extended,Tvector4_extended):Tvector4_extended | operator | Give product of a four-dimensional extended precision matrix and vector. |
multiply(Tmatrix4_single,single):Tmatrix4_single | operator | Multiply a four-dimensional single precision matrix by a scalar. |
multiply(Tmatrix4_single,Tmatrix4_single):Tmatrix4_single | operator | Give product of two four-dimensional single precision matrices. |
multiply(Tmatrix4_single,Tvector4_single):Tvector4_single | operator | Give product of a four-dimensional single precision matrix and vector. |
multiply(Tvector2_double,Double):Tvector2_double | operator | Multiply a two-dimensional double precision vector by a scalar. |
multiply(Tvector2_double,Tvector2_double):Tvector2_double | operator | Multiply two vectors element wise. |
multiply(Tvector2_extended,extended):Tvector2_extended | operator | Multiply a two-dimensional extended precision vector by a scalar. |
multiply(Tvector2_extended,Tvector2_extended):Tvector2_extended | operator | Multiply two vectors element wise. |
multiply(Tvector2_single,single):Tvector2_single | operator | Multiply a two-dimensional single precision vector by a scalar. |
multiply(Tvector2_single,Tvector2_single):Tvector2_single | operator | Multiply two vectors element wise. |
multiply(Tvector3_double,Double):Tvector3_double | operator | Multiply a three-dimensional double precision vector by a scalar. |
multiply(Tvector3_double,Tvector3_double):Tvector3_double | operator | Multiply two vectors element wise. |
multiply(Tvector3_extended,extended):Tvector3_extended | operator | Multiply a three-dimensional extended precision vector by a scalar. |
multiply(Tvector3_extended,Tvector3_extended):Tvector3_extended | operator | Multiply two vectors element wise. |
multiply(Tvector3_single,single):Tvector3_single | operator | Multiply a three-dimensional single precision vector by a scalar. |
multiply(Tvector3_single,Tvector3_single):Tvector3_single | operator | Multiply two vectors element wise. |
multiply(Tvector4_double,Double):Tvector4_double | operator | Multiply a four-dimensional double precision vector by a scalar. |
multiply(Tvector4_double,Tvector4_double):Tvector4_double | operator | Multiply two vectors element wise. |
multiply(Tvector4_extended,extended):Tvector4_extended | operator | Multiply a four-dimensional extended precision vector by a scalar. |
multiply(Tvector4_extended,Tvector4_extended):Tvector4_extended | operator | Multiply two vectors element wise. |
multiply(Tvector4_single,single):Tvector4_single | operator | Multiply a four-dimensional single precision vector by a scalar. |
multiply(Tvector4_single,Tvector4_single):Tvector4_single | operator | Multiply two vectors element wise. |
negative(Tmatrix2_double):Tmatrix2_double | operator | Negate two-dimensional double precision matrix. |
negative(Tmatrix2_extended):Tmatrix2_extended | operator | Negate two-dimensional extended precision matrix. |
negative(Tmatrix2_single):Tmatrix2_single | operator | Negate two-dimensional single precision matrix. |
negative(Tmatrix3_double):Tmatrix3_double | operator | Negate three-dimensional double precision matrix. |
negative(Tmatrix3_extended):Tmatrix3_extended | operator | Negate three-dimensional extended precision matrix. |
negative(Tmatrix3_single):Tmatrix3_single | operator | Negate three-dimensional single precision matrix. |
negative(Tmatrix4_double):Tmatrix4_double | operator | Negate four-dimensional double precision matrix. |
negative(Tmatrix4_extended):Tmatrix4_extended | operator | Negate four-dimensional extended precision matrix. |
negative(Tmatrix4_single):Tmatrix4_single | operator | Negate four-dimensional single precision matrix. |
negative(Tvector2_double):Tvector2_double | operator | Negate two-dimensional vector. |
negative(Tvector2_extended):Tvector2_extended | operator | Negate two-dimensional vector. |
negative(Tvector2_single):Tvector2_single | operator | Negate two-dimensional vector. |
negative(Tvector3_double):Tvector3_double | operator | Negate three-dimensional vector. |
negative(Tvector3_extended):Tvector3_extended | operator | Negate three-dimensional vector. |
negative(Tvector3_single):Tvector3_single | operator | Negate three-dimensional vector. |
negative(Tvector4_double):Tvector4_double | operator | Negate four-dimensional vector. |
negative(Tvector4_extended):Tvector4_extended | operator | Negate four-dimensional vector. |
negative(Tvector4_single):Tvector4_single | operator | Negate four-dimensional vector. |
power(Tvector2_double,Tvector2_double):Double | operator | Calculate the internal product of two vectors. |
power(Tvector2_extended,Tvector2_extended):extended | operator | Calculate the internal product of two vectors. |
power(Tvector2_single,Tvector2_single):single | operator | Calculate the internal product of two vectors. |
power(Tvector3_double,Tvector3_double):Double | operator | Calculate the internal product of two vectors. |
power(Tvector3_extended,Tvector3_extended):extended | operator | Calculate the internal product of two vectors. |
power(Tvector3_single,Tvector3_single):single | operator | Calculate the internal product of two vectors. |
power(Tvector4_double,Tvector4_double):Double | operator | Calculate the internal product of two vectors. |
power(Tvector4_extended,Tvector4_extended):extended | operator | Calculate the internal product of two vectors. |
power(Tvector4_single,Tvector4_single):single | operator | Calculate the internal product of two vectors. |
subtract(Tmatrix2_double,Double):Tmatrix2_double | operator | Subtract scalar to two-dimensional double precision matrix. |
subtract(Tmatrix2_double,Tmatrix2_double):Tmatrix2_double | operator | Subtract a two-dimensional double precision matrix from another. |
subtract(Tmatrix2_extended,extended):Tmatrix2_extended | operator | Add scalar to two-dimensional extended precision matrix. |
subtract(Tmatrix2_extended,Tmatrix2_extended):Tmatrix2_extended | operator | Subtract a two-dimensional extended precision matrix from another. |
subtract(Tmatrix2_single,single):Tmatrix2_single | operator | Subtract scalar to two-dimensional single precision matrix. |
subtract(Tmatrix2_single,Tmatrix2_single):Tmatrix2_single | operator | Subtract a two-dimensional single precision matrix from another. |
subtract(Tmatrix3_double,Double):Tmatrix3_double | operator | Add scalar to three-dimensional double precision matrix. |
subtract(Tmatrix3_double,Tmatrix3_double):Tmatrix3_double | operator | Subtract a three-dimensional double precision matrix from another. |
subtract(Tmatrix3_extended,extended):Tmatrix3_extended | operator | Add scalar to three-dimensional extended precision matrix. |
subtract(Tmatrix3_extended,Tmatrix3_extended):Tmatrix3_extended | operator | Subtract a three-dimensional extended precision matrix from another. |
subtract(Tmatrix3_single,single):Tmatrix3_single | operator | Add scalar to three-dimensional single precision matrix. |
subtract(Tmatrix3_single,Tmatrix3_single):Tmatrix3_single | operator | Subtract a three-dimensional single precision matrix from another. |
subtract(Tmatrix4_double,Double):Tmatrix4_double | operator | Add scalar to four-dimensional double precision matrix. |
subtract(Tmatrix4_double,Tmatrix4_double):Tmatrix4_double | operator | Subtract a four-dimensional double precision matrix from another. |
subtract(Tmatrix4_extended,extended):Tmatrix4_extended | operator | Add scalar to four-dimensional extended precision matrix. |
subtract(Tmatrix4_extended,Tmatrix4_extended):Tmatrix4_extended | operator | Subtract a four-dimensional extended precision matrix from another. |
subtract(Tmatrix4_single,single):Tmatrix4_single | operator | Add scalar to four-dimensional single precision matrix. |
subtract(Tmatrix4_single,Tmatrix4_single):Tmatrix4_single | operator | Subtract a four-dimensional single precision matrix from another. |
subtract(Tvector2_double,Double):Tvector2_double | operator | Subtract scalar from two-dimensional double precision vector. |
subtract(Tvector2_double,Tvector2_double):Tvector2_double | operator | Subtract two-dimensional double precision vectors from each other. |
subtract(Tvector2_extended,extended):Tvector2_extended | operator | Subtract scalar from two-dimensional extended precision vector. |
subtract(Tvector2_extended,Tvector2_extended):Tvector2_extended | operator | Subtract two-dimensional extended precision vectors from each other. |
subtract(Tvector2_single,single):Tvector2_single | operator | Subtract scalar from two-dimensional single precision vector. |
subtract(Tvector2_single,Tvector2_single):Tvector2_single | operator | Subtract two-dimensional single precision vectors from each other. |
subtract(Tvector3_double,Double):Tvector3_double | operator | Subtract scalar from three-dimensional double precision vector. |
subtract(Tvector3_double,Tvector3_double):Tvector3_double | operator | Subtract three-dimensional double precision vectors from each other. |
subtract(Tvector3_extended,extended):Tvector3_extended | operator | Subtract scalar from three-dimensional extended precision vector. |
subtract(Tvector3_extended,Tvector3_extended):Tvector3_extended | operator | Subtract three-dimensional extended precision vectors from each other. |
subtract(Tvector3_single,single):Tvector3_single | operator | Subtract scalar from three-dimensional single precision vector. |
subtract(Tvector3_single,Tvector3_single):Tvector3_single | operator | Subtract three-dimensional single precision vectors from each other. |
subtract(Tvector4_double,Double):Tvector4_double | operator | Subtract scalar from four-dimensional double precision vector. |
subtract(Tvector4_double,Tvector4_double):Tvector4_double | operator | Subtract four-dimensional double precision vectors from each other. |
subtract(Tvector4_extended,extended):Tvector4_extended | operator | Subtract scalar from four-dimensional extended precision vector. |
subtract(Tvector4_extended,Tvector4_extended):Tvector4_extended | operator | Subtract four-dimensional extended precision vectors from each other. |
subtract(Tvector4_single,single):Tvector4_single | operator | Subtract scalar from four-dimensional single precision vector. |
subtract(Tvector4_single,Tvector4_single):Tvector4_single | operator | Subtract four-dimensional single precision vectors from each other. |
symmetricaldifference(Tvector3_double,Tvector3_double):Tvector3_double | operator | Calculate the external product of two three-dimensional vectors. |
symmetricaldifference(Tvector3_extended,Tvector3_extended):Tvector3_extended | operator | Calculate the external product of two three-dimensional vectors. |
symmetricaldifference(Tvector3_single,Tvector3_single):Tvector3_single | operator | Calculate the external product of two three-dimensional vectors. |
Types
Tmatrix2_double_data | type | Internal data of Tmatrix2_double. |
Tmatrix2_extended_data | type | Internal data of Tmatrix2_extended. |
Tmatrix2_single_data | type | Internal data of Tmatrix2_single. |
Tmatrix3_double_data | type | Internal data of Tmatrix3_double. |
Tmatrix3_extended_data | type | Internal data of Tmatrix3_extended. |
Tmatrix3_single_data | type | Internal data of Tmatrix3_single. |
Tmatrix4_double_data | type | Internal data of Tmatrix4_double. |
Tmatrix4_extended_data | type | Internal data of Tmatrix4_extended. |
Tmatrix4_single_data | type | Internal data of Tmatrix4_single. |
Tvector2_double_data | type | Internal data of Tvector2_double. |
Tvector2_extended_data | type | Internal data of Tvector2_extended. |
Tvector2_single_data | type | Internal data of Tvector2_single. |
Tvector3_double_data | type | Internal data of Tvector3_double. |
Tvector3_extended_data | type | Internal data of Tvector3_extended. |
Tvector3_single_data | type | Internal data of Tvector3_single. |
Tvector4_double_data | type | Internal data of Tvector4_double. |
Tvector4_extended_data | type | Internal data of Tvector4_extended. |
Tvector4_single_data | type | Internal data of Tvector4_single. |
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
