vecfor.F90 Source File

VecFor, Vector algebra class for Fortran poor people.


This file depends on

sourcefile~~vecfor.f90~~EfferentGraph sourcefile~vecfor.f90 vecfor.F90 sourcefile~vecfor_rpp.f90 vecfor_RPP.F90 sourcefile~vecfor.f90->sourcefile~vecfor_rpp.f90 sourcefile~vecfor_r8p.f90 vecfor_R8P.F90 sourcefile~vecfor.f90->sourcefile~vecfor_r8p.f90 sourcefile~vecfor_r4p.f90 vecfor_R4P.F90 sourcefile~vecfor.f90->sourcefile~vecfor_r4p.f90 sourcefile~vecfor_r16p.f90 vecfor_R16P.F90 sourcefile~vecfor.f90->sourcefile~vecfor_r16p.f90 sourcefile~penf.f90 penf.F90 sourcefile~vecfor_rpp.f90->sourcefile~penf.f90 sourcefile~vecfor_r8p.f90->sourcefile~penf.f90 sourcefile~vecfor_r4p.f90->sourcefile~penf.f90 sourcefile~vecfor_r16p.f90->sourcefile~penf.f90 sourcefile~penf_global_parameters_variables.f90 penf_global_parameters_variables.F90 sourcefile~penf.f90->sourcefile~penf_global_parameters_variables.f90 sourcefile~penf_b_size.f90 penf_b_size.F90 sourcefile~penf.f90->sourcefile~penf_b_size.f90 sourcefile~penf_stringify.f90 penf_stringify.F90 sourcefile~penf.f90->sourcefile~penf_stringify.f90 sourcefile~penf_b_size.f90->sourcefile~penf_global_parameters_variables.f90 sourcefile~penf_stringify.f90->sourcefile~penf_global_parameters_variables.f90 sourcefile~penf_stringify.f90->sourcefile~penf_b_size.f90

Files dependent on this one

sourcefile~~vecfor.f90~~AfferentGraph sourcefile~vecfor.f90 vecfor.F90 sourcefile~vecfor_test_front_module.f90 vecfor_test_front_module.f90 sourcefile~vecfor_test_front_module.f90->sourcefile~vecfor.f90

Contents

Source Code


Source Code

!< VecFor, Vector algebra class for Fortran poor people.

module vecfor
!< VecFor, Vector algebra class for Fortran poor people.
!<
!< This derived type is useful for manipulating vectors in 3D space. The components of the vectors are reals with
!< parametrized kind as defined by the library module. The components are defined in a three-dimensional cartesian frame of
!< reference.
!< All the vectorial math procedures (cross, dot products, parallel...) assume a three-dimensional cartesian frame of reference.
!< The operators of assignment (`=`), multiplication (`*`), division (`/`), sum (`+`) and subtraction (`-`) have been overloaded.
!< Furthermore the *dot* and *cross* products have been defined.
!< Therefore this module provides a far-complete algebra based on Vector derived type.

use vecfor_RPP, only : angle,                       &
                       distance_to_line,            &
                       distance_to_plane,           &
                       distance_vectorial_to_plane, &
                       ex,                          &
                       ey,                          &
                       ez,                          &
                       face_normal3,                &
                       face_normal4,                &
                       iolen,                       &
                       is_collinear,                &
                       is_concyclic,                &
                       mirror_matrix,               &
                       normalized,                  &
                       normL2,                      &
                       projection_onto_plane,       &
                       rotation_matrix,             &
                       sq_norm,                     &
                       vector

use vecfor_R4P, only : angle_R4P,                       &
                       distance_to_line_R4P,            &
                       distance_to_plane_R4P,           &
                       distance_vectorial_to_plane_R4P, &
                       ex_R4P,                          &
                       ey_R4P,                          &
                       ez_R4P,                          &
                       face_normal3_R4P,                &
                       face_normal4_R4P,                &
                       iolen_R4P,                       &
                       is_collinear_R4P,                &
                       is_concyclic_R4P,                &
                       mirror_matrix_R4P,               &
                       normalized_R4P,                  &
                       normL2_R4P,                      &
                       projection_onto_plane_R4P,       &
                       rotation_matrix_R4P,             &
                       sq_norm_R4P,                     &
                       vector_R4P

use vecfor_R8P, only : angle_R8P,                       &
                       distance_to_line_R8P,            &
                       distance_to_plane_R8P,           &
                       distance_vectorial_to_plane_R8P, &
                       ex_R8P,                          &
                       ey_R8P,                          &
                       ez_R8P,                          &
                       face_normal3_R8P,                &
                       face_normal4_R8P,                &
                       iolen_R8P,                       &
                       is_collinear_R8P,                &
                       is_concyclic_R8P,                &
                       mirror_matrix_R8P,               &
                       normalized_R8P,                  &
                       normL2_R8P,                      &
                       projection_onto_plane_R8P,       &
                       rotation_matrix_R8P,             &
                       sq_norm_R8P,                     &
                       vector_R8P

use vecfor_R16P, only : angle_R16P,                       &
                        distance_to_line_R16P,            &
                        distance_to_plane_R16P,           &
                        distance_vectorial_to_plane_R16P, &
                        ex_R16P,                          &
                        ey_R16P,                          &
                        ez_R16P,                          &
                        face_normal3_R16P,                &
                        face_normal4_R16P,                &
                        iolen_R16P,                       &
                        is_collinear_R16P,                &
                        is_concyclic_R16P,                &
                        mirror_matrix_R16P,               &
                        normalized_R16P,                  &
                        normL2_R16P,                      &
                        projection_onto_plane_R16P,       &
                        rotation_matrix_R16P,             &
                        sq_norm_R16P,                     &
                        vector_R16P

public :: angle
public :: distance_to_line
public :: distance_to_plane
public :: distance_vectorial_to_plane
public :: face_normal3
public :: face_normal4
public :: iolen
public :: is_collinear
public :: is_concyclic
public :: mirror_matrix
public :: normalized
public :: normL2
public :: projection_onto_plane
public :: rotation_matrix
public :: sq_norm
public :: ex, ey, ez, vector

public :: angle_R4P
public :: distance_to_line_R4P
public :: distance_to_plane_R4P
public :: distance_vectorial_to_plane_R4P
public :: face_normal3_R4P
public :: face_normal4_R4P
public :: iolen_R4P
public :: is_collinear_R4P
public :: is_concyclic_R4P
public :: mirror_matrix_R4P
public :: normalized_R4P
public :: normL2_R4P
public :: projection_onto_plane_R4P
public :: rotation_matrix_R4P
public :: sq_norm_R4P
public :: ex_R4P, ey_R4P, ez_R4P, vector_R4P

public :: angle_R8P
public :: distance_to_line_R8P
public :: distance_to_plane_R8P
public :: distance_vectorial_to_plane_R8P
public :: face_normal3_R8P
public :: face_normal4_R8P
public :: iolen_R8P
public :: is_collinear_R8P
public :: is_concyclic_R8P
public :: mirror_matrix_R8P
public :: normalized_R8P
public :: normL2_R8P
public :: projection_onto_plane_R8P
public :: rotation_matrix_R8P
public :: sq_norm_R8P
public :: ex_R8P, ey_R8P, ez_R8P, vector_R8P

public :: angle_R16P
public :: distance_to_line_R16P
public :: distance_to_plane_R16P
public :: distance_vectorial_to_plane_R16P
public :: face_normal3_R16P
public :: face_normal4_R16P
public :: iolen_R16P
public :: is_collinear_R16P
public :: is_concyclic_R16P
public :: mirror_matrix_R16P
public :: normalized_R16P
public :: normL2_R16P
public :: projection_onto_plane_R16P
public :: rotation_matrix_R16P
public :: sq_norm_R16P
public :: ex_R16P, ey_R16P, ez_R16P, vector_R16P

endmodule vecfor