vec_dot_mat Function

private pure function vec_dot_mat(a, b) result(dot)

vec3 . matrix

Type Bound

vector

Arguments

Type IntentOptional Attributes Name
class(vector), intent(in) :: a

Input vec3

real(kind=wp), intent(in) :: b(4,4)

Matrix to dot with

Return Value type(vector)


Source Code

        pure function vec_dot_mat(a, b) result (dot)
            !! vec3 . matrix
            !> Input vec3
            class(vector), intent(IN) :: a
            !> Matrix to dot with
            real(kind=wp), intent(IN) :: b(4, 4)
            type(vector) :: dot

            dot%x = b(1, 1)*a%x + b(2, 1)*a%y + b(3, 1)*a%z + b(4, 1)*1.
            dot%y = b(1, 2)*a%x + b(2, 2)*a%y + b(3, 2)*a%z + b(4, 2)*1.
            dot%z = b(1, 3)*a%x + b(2, 3)*a%y + b(3, 3)*a%z + b(4, 3)*1.

        end function vec_dot_mat