Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=wp), | public | :: | vals(4,4) |
Matrix values |
Matrix + Scalar = Matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mat), | intent(in) | :: | a |
Input Matrix |
||
real(kind=wp), | intent(in) | :: | b |
Scalar to add |
Matrix / scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mat), | intent(in) | :: | a |
Input Matrix |
||
real(kind=wp), | intent(in) | :: | b |
Scalar to divide by |
Matrix - Scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mat), | intent(in) | :: | a |
Input Matrix |
||
real(kind=wp), | intent(in) | :: | b |
Scalar to subtract |
Matrix * vec4
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mat), | intent(in) | :: | a |
Input Matrix |
||
type(vec4), | intent(in) | :: | b |
Vec4 to multiply by |
Matrix * Scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mat), | intent(in) | :: | a |
Input Matrix |
||
real(kind=wp), | intent(in) | :: | b |
Scalar to multiply by |
Overload for Multiplication operator
Matrix * Scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mat), | intent(in) | :: | a |
Input Matrix |
||
real(kind=wp), | intent(in) | :: | b |
Scalar to multiply by |
Matrix * Scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | a |
Scalar to multiply by |
||
class(mat), | intent(in) | :: | b |
Input Matrix |
Matrix * vec4
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mat), | intent(in) | :: | a |
Input Matrix |
||
type(vec4), | intent(in) | :: | b |
Vec4 to multiply by |
Overload for Addition operator
Matrix + Scalar = Matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mat), | intent(in) | :: | a |
Input Matrix |
||
real(kind=wp), | intent(in) | :: | b |
Scalar to add |
Scaler + Matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | a |
Scalat to add |
||
class(mat), | intent(in) | :: | b |
Input Matrix |
Overload for Subtraction operator
Matrix - Scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mat), | intent(in) | :: | a |
Input Matrix |
||
real(kind=wp), | intent(in) | :: | b |
Scalar to subtract |
Overload for Division operator
Matrix / scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mat), | intent(in) | :: | a |
Input Matrix |
||
real(kind=wp), | intent(in) | :: | b |
Scalar to divide by |
Scaler + Matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | a |
Scalat to add |
||
class(mat), | intent(in) | :: | b |
Input Matrix |
Matrix * Scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | a |
Scalar to multiply by |
||
class(mat), | intent(in) | :: | b |
Input Matrix |
type :: mat !> Matrix values real(kind=wp) :: vals(4, 4) contains !> Overload for Division operator generic :: operator(/) => mat_div_scal !> Overload for Multiplication operator generic :: operator(*) => mat_mult_scal, scal_mult_mat, mat_mult_mat !> Overload for Addition operator generic :: operator(+) => mat_add_scal, scal_add_mat !> Overload for Subtraction operator generic :: operator(-) => mat_minus_scal procedure, pass(a), private :: mat_div_scal procedure, pass(a), private :: mat_mult_mat procedure, pass(a), private :: mat_mult_scal procedure, pass(b), private :: scal_mult_mat procedure, pass(a), private :: mat_add_scal procedure, pass(b), private :: scal_add_mat procedure, pass(a), private :: mat_minus_scal end type mat