Vector4 class module. Defines a vector4 type (x, y, z, p) and associated operations on vectors and other types.
Vec4 overload of the sin intrinsic
Initalise a vec4 from a vec3 and a scalar
Initalise vec4 from a vec3 and Scalar e.g vec4 = [vec3%x, vec3%y, vec3%z, scalar]
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(vector), | intent(in) | :: | vec |
Input vec3 |
||
real(kind=wp), | intent(in) | :: | val |
Input Scalar |
not fully implmented vec4 class
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=wp), | public | :: | p |
vec4 components |
|||
real(kind=wp), | public | :: | x |
vec4 components |
|||
real(kind=wp), | public | :: | y |
vec4 components |
|||
real(kind=wp), | public | :: | z |
vec4 components |
Initalise a vec4 from a vec3 and a scalar
private function init_vec4_vector_real (vec, val) | Initalise vec4 from a vec3 and Scalar e.g vec4 = [vec3%x, vec3%y, vec3%z, scalar] |
procedure, public :: length | |
procedure, public :: magnitude => magnitude_fn | |
generic, public :: operator(*) => vec_mult_vec, vec_mult_scal, scal_mult_vec | ../../ Overloaded Mulitiplication operator |
generic, public :: operator(+) => vec_add_vec, vec_add_scal, scal_add_vec | ../../ Overloaded Addition operator |
generic, public :: operator(-) => vec_minus_vec, vec_minus_scal, scal_minus_vec | ../../ Overloaded Subtraction operator |
generic, public :: operator(.dot.) => vec_dot_vec | ../../ .dot. operator |
generic, public :: operator(/) => vec_div_scal_r4, vec_div_scal_r8, vec_div_scal_int | ../../ Overloaded Division operator |
procedure, private, pass(b) :: scal_add_vec | |
procedure, private, pass(b) :: scal_minus_vec | |
procedure, private, pass(b) :: scal_mult_vec | |
procedure, private, pass(a) :: vec_add_scal | |
procedure, private, pass(a) :: vec_add_vec | |
procedure, private, pass(a) :: vec_div_scal_int | |
procedure, private, pass(a) :: vec_div_scal_r4 | |
procedure, private, pass(a) :: vec_div_scal_r8 | |
procedure, private, pass(a) :: vec_dot_vec | |
procedure, private, pass(a) :: vec_minus_scal | |
procedure, private, pass(a) :: vec_minus_vec | |
procedure, private, pass(a) :: vec_mult_scal | |
procedure, private, pass(a) :: vec_mult_vec |
Returns the length of a vec4
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(vec4), | intent(in) | :: | this |