vecfor_R16P Module

VecFor, Vector algebra class for Fortran poor people, R16P kind.


Uses

  • module~~vecfor_r16p~~UsesGraph module~vecfor_r16p vecfor_R16P iso_fortran_env iso_fortran_env module~vecfor_r16p->iso_fortran_env module~penf penf module~vecfor_r16p->module~penf module~penf_stringify penf_stringify module~penf->module~penf_stringify module~penf_global_parameters_variables penf_global_parameters_variables module~penf->module~penf_global_parameters_variables module~penf_b_size penf_b_size module~penf->module~penf_b_size module~penf_stringify->iso_fortran_env module~penf_stringify->module~penf_global_parameters_variables module~penf_stringify->module~penf_b_size module~penf_b_size->module~penf_global_parameters_variables

Used by

  • module~~vecfor_r16p~~UsedByGraph module~vecfor_r16p vecfor_R16P program~volatile_doctest~599 volatile_doctest program~volatile_doctest~599->module~vecfor_r16p program~volatile_doctest~651 volatile_doctest program~volatile_doctest~651->module~vecfor_r16p program~volatile_doctest~683 volatile_doctest program~volatile_doctest~683->module~vecfor_r16p program~volatile_doctest~735 volatile_doctest program~volatile_doctest~735->module~vecfor_r16p program~volatile_doctest~578 volatile_doctest program~volatile_doctest~578->module~vecfor_r16p program~volatile_doctest~610 volatile_doctest program~volatile_doctest~610->module~vecfor_r16p program~volatile_doctest~662 volatile_doctest program~volatile_doctest~662->module~vecfor_r16p program~volatile_doctest~694 volatile_doctest program~volatile_doctest~694->module~vecfor_r16p program~volatile_doctest~746 volatile_doctest program~volatile_doctest~746->module~vecfor_r16p program~volatile_doctest~589 volatile_doctest program~volatile_doctest~589->module~vecfor_r16p program~volatile_doctest~621 volatile_doctest program~volatile_doctest~621->module~vecfor_r16p program~volatile_doctest~641 volatile_doctest program~volatile_doctest~641->module~vecfor_r16p program~volatile_doctest~673 volatile_doctest program~volatile_doctest~673->module~vecfor_r16p program~volatile_doctest~705 volatile_doctest program~volatile_doctest~705->module~vecfor_r16p program~volatile_doctest~725 volatile_doctest program~volatile_doctest~725->module~vecfor_r16p program~volatile_doctest~568 volatile_doctest program~volatile_doctest~568->module~vecfor_r16p program~volatile_doctest~600 volatile_doctest program~volatile_doctest~600->module~vecfor_r16p program~volatile_doctest~652 volatile_doctest program~volatile_doctest~652->module~vecfor_r16p program~volatile_doctest~684 volatile_doctest program~volatile_doctest~684->module~vecfor_r16p program~volatile_doctest~736 volatile_doctest program~volatile_doctest~736->module~vecfor_r16p program~volatile_doctest~579 volatile_doctest program~volatile_doctest~579->module~vecfor_r16p program~volatile_doctest~611 volatile_doctest program~volatile_doctest~611->module~vecfor_r16p program~volatile_doctest~631 volatile_doctest program~volatile_doctest~631->module~vecfor_r16p program~volatile_doctest~663 volatile_doctest program~volatile_doctest~663->module~vecfor_r16p program~volatile_doctest~695 volatile_doctest program~volatile_doctest~695->module~vecfor_r16p program~volatile_doctest~715 volatile_doctest program~volatile_doctest~715->module~vecfor_r16p program~volatile_doctest~747 volatile_doctest program~volatile_doctest~747->module~vecfor_r16p program~volatile_doctest~590 volatile_doctest program~volatile_doctest~590->module~vecfor_r16p program~volatile_doctest~622 volatile_doctest program~volatile_doctest~622->module~vecfor_r16p program~volatile_doctest~642 volatile_doctest program~volatile_doctest~642->module~vecfor_r16p program~volatile_doctest~674 volatile_doctest program~volatile_doctest~674->module~vecfor_r16p program~volatile_doctest~706 volatile_doctest program~volatile_doctest~706->module~vecfor_r16p program~volatile_doctest~726 volatile_doctest program~volatile_doctest~726->module~vecfor_r16p program~volatile_doctest~569 volatile_doctest program~volatile_doctest~569->module~vecfor_r16p program~volatile_doctest~601 volatile_doctest program~volatile_doctest~601->module~vecfor_r16p program~volatile_doctest~653 volatile_doctest program~volatile_doctest~653->module~vecfor_r16p program~volatile_doctest~685 volatile_doctest program~volatile_doctest~685->module~vecfor_r16p program~volatile_doctest~737 volatile_doctest program~volatile_doctest~737->module~vecfor_r16p program~volatile_doctest~580 volatile_doctest program~volatile_doctest~580->module~vecfor_r16p program~volatile_doctest~612 volatile_doctest program~volatile_doctest~612->module~vecfor_r16p program~volatile_doctest~632 volatile_doctest program~volatile_doctest~632->module~vecfor_r16p program~volatile_doctest~664 volatile_doctest program~volatile_doctest~664->module~vecfor_r16p program~volatile_doctest~696 volatile_doctest program~volatile_doctest~696->module~vecfor_r16p program~volatile_doctest~716 volatile_doctest program~volatile_doctest~716->module~vecfor_r16p program~volatile_doctest~748 volatile_doctest program~volatile_doctest~748->module~vecfor_r16p program~volatile_doctest~591 volatile_doctest program~volatile_doctest~591->module~vecfor_r16p program~volatile_doctest~623 volatile_doctest program~volatile_doctest~623->module~vecfor_r16p program~volatile_doctest~643 volatile_doctest program~volatile_doctest~643->module~vecfor_r16p program~volatile_doctest~675 volatile_doctest program~volatile_doctest~675->module~vecfor_r16p program~volatile_doctest~707 volatile_doctest program~volatile_doctest~707->module~vecfor_r16p program~volatile_doctest~727 volatile_doctest program~volatile_doctest~727->module~vecfor_r16p program~volatile_doctest~570 volatile_doctest program~volatile_doctest~570->module~vecfor_r16p program~volatile_doctest~602 volatile_doctest program~volatile_doctest~602->module~vecfor_r16p program~volatile_doctest~654 volatile_doctest program~volatile_doctest~654->module~vecfor_r16p program~volatile_doctest~686 volatile_doctest program~volatile_doctest~686->module~vecfor_r16p program~volatile_doctest~738 volatile_doctest program~volatile_doctest~738->module~vecfor_r16p program~volatile_doctest~697 volatile_doctest program~volatile_doctest~697->module~vecfor_r16p program~volatile_doctest~581 volatile_doctest program~volatile_doctest~581->module~vecfor_r16p program~volatile_doctest~613 volatile_doctest program~volatile_doctest~613->module~vecfor_r16p program~volatile_doctest~633 volatile_doctest program~volatile_doctest~633->module~vecfor_r16p program~volatile_doctest~665 volatile_doctest program~volatile_doctest~665->module~vecfor_r16p program~volatile_doctest~717 volatile_doctest program~volatile_doctest~717->module~vecfor_r16p program~volatile_doctest~749 volatile_doctest program~volatile_doctest~749->module~vecfor_r16p program~volatile_doctest~728 volatile_doctest program~volatile_doctest~728->module~vecfor_r16p program~volatile_doctest~592 volatile_doctest program~volatile_doctest~592->module~vecfor_r16p program~volatile_doctest~624 volatile_doctest program~volatile_doctest~624->module~vecfor_r16p program~volatile_doctest~644 volatile_doctest program~volatile_doctest~644->module~vecfor_r16p program~volatile_doctest~676 volatile_doctest program~volatile_doctest~676->module~vecfor_r16p program~volatile_doctest~708 volatile_doctest program~volatile_doctest~708->module~vecfor_r16p program~volatile_doctest~687 volatile_doctest program~volatile_doctest~687->module~vecfor_r16p program~volatile_doctest~571 volatile_doctest program~volatile_doctest~571->module~vecfor_r16p program~volatile_doctest~603 volatile_doctest program~volatile_doctest~603->module~vecfor_r16p program~volatile_doctest~655 volatile_doctest program~volatile_doctest~655->module~vecfor_r16p program~volatile_doctest~739 volatile_doctest program~volatile_doctest~739->module~vecfor_r16p program~volatile_doctest~582 volatile_doctest program~volatile_doctest~582->module~vecfor_r16p program~volatile_doctest~614 volatile_doctest program~volatile_doctest~614->module~vecfor_r16p program~volatile_doctest~634 volatile_doctest program~volatile_doctest~634->module~vecfor_r16p program~volatile_doctest~666 volatile_doctest program~volatile_doctest~666->module~vecfor_r16p program~volatile_doctest~698 volatile_doctest program~volatile_doctest~698->module~vecfor_r16p program~volatile_doctest~718 volatile_doctest program~volatile_doctest~718->module~vecfor_r16p program~volatile_doctest~750 volatile_doctest program~volatile_doctest~750->module~vecfor_r16p program~volatile_doctest~593 volatile_doctest program~volatile_doctest~593->module~vecfor_r16p program~volatile_doctest~625 volatile_doctest program~volatile_doctest~625->module~vecfor_r16p program~volatile_doctest~645 volatile_doctest program~volatile_doctest~645->module~vecfor_r16p program~volatile_doctest~677 volatile_doctest program~volatile_doctest~677->module~vecfor_r16p program~volatile_doctest~709 volatile_doctest program~volatile_doctest~709->module~vecfor_r16p program~volatile_doctest~729 volatile_doctest program~volatile_doctest~729->module~vecfor_r16p program~volatile_doctest~572 volatile_doctest program~volatile_doctest~572->module~vecfor_r16p program~volatile_doctest~604 volatile_doctest program~volatile_doctest~604->module~vecfor_r16p program~volatile_doctest~656 volatile_doctest program~volatile_doctest~656->module~vecfor_r16p program~volatile_doctest~688 volatile_doctest program~volatile_doctest~688->module~vecfor_r16p program~volatile_doctest~740 volatile_doctest program~volatile_doctest~740->module~vecfor_r16p program~volatile_doctest~583 volatile_doctest program~volatile_doctest~583->module~vecfor_r16p program~volatile_doctest~615 volatile_doctest program~volatile_doctest~615->module~vecfor_r16p program~volatile_doctest~635 volatile_doctest program~volatile_doctest~635->module~vecfor_r16p program~volatile_doctest~667 volatile_doctest program~volatile_doctest~667->module~vecfor_r16p program~volatile_doctest~699 volatile_doctest program~volatile_doctest~699->module~vecfor_r16p program~volatile_doctest~719 volatile_doctest program~volatile_doctest~719->module~vecfor_r16p program~volatile_doctest~751 volatile_doctest program~volatile_doctest~751->module~vecfor_r16p program~volatile_doctest~594 volatile_doctest program~volatile_doctest~594->module~vecfor_r16p program~volatile_doctest~626 volatile_doctest program~volatile_doctest~626->module~vecfor_r16p program~volatile_doctest~646 volatile_doctest program~volatile_doctest~646->module~vecfor_r16p program~volatile_doctest~678 volatile_doctest program~volatile_doctest~678->module~vecfor_r16p program~volatile_doctest~710 volatile_doctest program~volatile_doctest~710->module~vecfor_r16p program~volatile_doctest~730 volatile_doctest program~volatile_doctest~730->module~vecfor_r16p program~volatile_doctest~573 volatile_doctest program~volatile_doctest~573->module~vecfor_r16p program~volatile_doctest~605 volatile_doctest program~volatile_doctest~605->module~vecfor_r16p program~volatile_doctest~657 volatile_doctest program~volatile_doctest~657->module~vecfor_r16p program~volatile_doctest~689 volatile_doctest program~volatile_doctest~689->module~vecfor_r16p program~volatile_doctest~741 volatile_doctest program~volatile_doctest~741->module~vecfor_r16p module~vecfor vecfor module~vecfor->module~vecfor_r16p program~volatile_doctest~584 volatile_doctest program~volatile_doctest~584->module~vecfor_r16p program~volatile_doctest~616 volatile_doctest program~volatile_doctest~616->module~vecfor_r16p program~volatile_doctest~636 volatile_doctest program~volatile_doctest~636->module~vecfor_r16p program~volatile_doctest~668 volatile_doctest program~volatile_doctest~668->module~vecfor_r16p program~volatile_doctest~700 volatile_doctest program~volatile_doctest~700->module~vecfor_r16p program~volatile_doctest~720 volatile_doctest program~volatile_doctest~720->module~vecfor_r16p program~volatile_doctest~752 volatile_doctest program~volatile_doctest~752->module~vecfor_r16p program~volatile_doctest~595 volatile_doctest program~volatile_doctest~595->module~vecfor_r16p program~volatile_doctest~627 volatile_doctest program~volatile_doctest~627->module~vecfor_r16p program~volatile_doctest~647 volatile_doctest program~volatile_doctest~647->module~vecfor_r16p program~volatile_doctest~679 volatile_doctest program~volatile_doctest~679->module~vecfor_r16p program~volatile_doctest~711 volatile_doctest program~volatile_doctest~711->module~vecfor_r16p program~volatile_doctest~731 volatile_doctest program~volatile_doctest~731->module~vecfor_r16p program~volatile_doctest~574 volatile_doctest program~volatile_doctest~574->module~vecfor_r16p program~volatile_doctest~606 volatile_doctest program~volatile_doctest~606->module~vecfor_r16p program~volatile_doctest~658 volatile_doctest program~volatile_doctest~658->module~vecfor_r16p program~volatile_doctest~690 volatile_doctest program~volatile_doctest~690->module~vecfor_r16p program~volatile_doctest~742 volatile_doctest program~volatile_doctest~742->module~vecfor_r16p program~volatile_doctest~585 volatile_doctest program~volatile_doctest~585->module~vecfor_r16p program~volatile_doctest~617 volatile_doctest program~volatile_doctest~617->module~vecfor_r16p program~volatile_doctest~637 volatile_doctest program~volatile_doctest~637->module~vecfor_r16p program~volatile_doctest~669 volatile_doctest program~volatile_doctest~669->module~vecfor_r16p program~volatile_doctest~701 volatile_doctest program~volatile_doctest~701->module~vecfor_r16p program~volatile_doctest~721 volatile_doctest program~volatile_doctest~721->module~vecfor_r16p program~volatile_doctest~753 volatile_doctest program~volatile_doctest~753->module~vecfor_r16p program~volatile_doctest~596 volatile_doctest program~volatile_doctest~596->module~vecfor_r16p program~volatile_doctest~628 volatile_doctest program~volatile_doctest~628->module~vecfor_r16p program~volatile_doctest~648 volatile_doctest program~volatile_doctest~648->module~vecfor_r16p program~volatile_doctest~680 volatile_doctest program~volatile_doctest~680->module~vecfor_r16p program~volatile_doctest~712 volatile_doctest program~volatile_doctest~712->module~vecfor_r16p program~volatile_doctest~732 volatile_doctest program~volatile_doctest~732->module~vecfor_r16p program~volatile_doctest~575 volatile_doctest program~volatile_doctest~575->module~vecfor_r16p program~volatile_doctest~607 volatile_doctest program~volatile_doctest~607->module~vecfor_r16p program~volatile_doctest~659 volatile_doctest program~volatile_doctest~659->module~vecfor_r16p program~volatile_doctest~691 volatile_doctest program~volatile_doctest~691->module~vecfor_r16p program~volatile_doctest~743 volatile_doctest program~volatile_doctest~743->module~vecfor_r16p program~volatile_doctest~586 volatile_doctest program~volatile_doctest~586->module~vecfor_r16p program~volatile_doctest~618 volatile_doctest program~volatile_doctest~618->module~vecfor_r16p program~volatile_doctest~638 volatile_doctest program~volatile_doctest~638->module~vecfor_r16p program~volatile_doctest~670 volatile_doctest program~volatile_doctest~670->module~vecfor_r16p program~volatile_doctest~702 volatile_doctest program~volatile_doctest~702->module~vecfor_r16p program~volatile_doctest~722 volatile_doctest program~volatile_doctest~722->module~vecfor_r16p program~volatile_doctest~754 volatile_doctest program~volatile_doctest~754->module~vecfor_r16p program~volatile_doctest~597 volatile_doctest program~volatile_doctest~597->module~vecfor_r16p program~volatile_doctest~629 volatile_doctest program~volatile_doctest~629->module~vecfor_r16p program~volatile_doctest~649 volatile_doctest program~volatile_doctest~649->module~vecfor_r16p program~volatile_doctest~681 volatile_doctest program~volatile_doctest~681->module~vecfor_r16p program~volatile_doctest~713 volatile_doctest program~volatile_doctest~713->module~vecfor_r16p program~volatile_doctest~733 volatile_doctest program~volatile_doctest~733->module~vecfor_r16p program~volatile_doctest~576 volatile_doctest program~volatile_doctest~576->module~vecfor_r16p program~volatile_doctest~608 volatile_doctest program~volatile_doctest~608->module~vecfor_r16p program~volatile_doctest~660 volatile_doctest program~volatile_doctest~660->module~vecfor_r16p program~volatile_doctest~692 volatile_doctest program~volatile_doctest~692->module~vecfor_r16p program~volatile_doctest~744 volatile_doctest program~volatile_doctest~744->module~vecfor_r16p program~volatile_doctest~587 volatile_doctest program~volatile_doctest~587->module~vecfor_r16p program~volatile_doctest~619 volatile_doctest program~volatile_doctest~619->module~vecfor_r16p program~volatile_doctest~639 volatile_doctest program~volatile_doctest~639->module~vecfor_r16p program~volatile_doctest~671 volatile_doctest program~volatile_doctest~671->module~vecfor_r16p program~volatile_doctest~703 volatile_doctest program~volatile_doctest~703->module~vecfor_r16p program~volatile_doctest~723 volatile_doctest program~volatile_doctest~723->module~vecfor_r16p program~volatile_doctest~755 volatile_doctest program~volatile_doctest~755->module~vecfor_r16p program~volatile_doctest~598 volatile_doctest program~volatile_doctest~598->module~vecfor_r16p program~volatile_doctest~630 volatile_doctest program~volatile_doctest~630->module~vecfor_r16p program~volatile_doctest~650 volatile_doctest program~volatile_doctest~650->module~vecfor_r16p program~volatile_doctest~682 volatile_doctest program~volatile_doctest~682->module~vecfor_r16p program~volatile_doctest~714 volatile_doctest program~volatile_doctest~714->module~vecfor_r16p program~volatile_doctest~734 volatile_doctest program~volatile_doctest~734->module~vecfor_r16p program~volatile_doctest~577 volatile_doctest program~volatile_doctest~577->module~vecfor_r16p program~volatile_doctest~609 volatile_doctest program~volatile_doctest~609->module~vecfor_r16p program~volatile_doctest~661 volatile_doctest program~volatile_doctest~661->module~vecfor_r16p program~volatile_doctest~693 volatile_doctest program~volatile_doctest~693->module~vecfor_r16p program~volatile_doctest~745 volatile_doctest program~volatile_doctest~745->module~vecfor_r16p program~volatile_doctest~588 volatile_doctest program~volatile_doctest~588->module~vecfor_r16p program~volatile_doctest~620 volatile_doctest program~volatile_doctest~620->module~vecfor_r16p program~volatile_doctest~640 volatile_doctest program~volatile_doctest~640->module~vecfor_r16p program~volatile_doctest~672 volatile_doctest program~volatile_doctest~672->module~vecfor_r16p program~volatile_doctest~704 volatile_doctest program~volatile_doctest~704->module~vecfor_r16p program~volatile_doctest~724 volatile_doctest program~volatile_doctest~724->module~vecfor_r16p program~volatile_doctest~756 volatile_doctest program~volatile_doctest~756->module~vecfor_r16p program~vecfor_test_front_module vecfor_test_front_module program~vecfor_test_front_module->module~vecfor

Contents

I1P_eq_vector I1P_great_eq_vector I1P_great_vector I1P_low_eq_vector I1P_low_vector I1P_mul_vector I1P_not_eq_vector I1P_sub_vector I1P_sum_vector I2P_eq_vector I2P_great_eq_vector I2P_great_vector I2P_low_eq_vector I2P_low_vector I2P_mul_vector I2P_not_eq_vector I2P_sub_vector I2P_sum_vector I4P_eq_vector I4P_great_eq_vector I4P_great_vector I4P_low_eq_vector I4P_low_vector I4P_mul_vector I4P_not_eq_vector I4P_sub_vector I4P_sum_vector I8P_eq_vector I8P_great_eq_vector I8P_great_vector I8P_low_eq_vector I8P_low_vector I8P_mul_vector I8P_not_eq_vector I8P_sub_vector I8P_sum_vector R16P_eq_vector R16P_great_eq_vector R16P_great_vector R16P_low_eq_vector R16P_low_vector R16P_mul_vector R16P_not_eq_vector R16P_sub_vector R16P_sum_vector R4P_eq_vector R4P_great_eq_vector R4P_great_vector R4P_low_eq_vector R4P_low_vector R4P_mul_vector R4P_not_eq_vector R4P_sub_vector R4P_sum_vector R8P_eq_vector R8P_great_eq_vector R8P_great_vector R8P_low_eq_vector R8P_low_vector R8P_mul_vector R8P_not_eq_vector R8P_sub_vector R8P_sum_vector angle_R16P crossproduct distance_to_line_R16P distance_to_plane_R16P distance_vectorial_to_plane_R16P dotproduct face_normal3_R16P face_normal4_R16P iolen_R16P is_collinear_R16P is_concyclic_R16P matrixproduct mirror_matrix_R16P negative normL2_R16P normalized_R16P orthogonal parallel positive projection_onto_plane_R16P rotation_matrix_R16P sq_norm_R16P vector_div_I1P vector_div_I2P vector_div_I4P vector_div_I8P vector_div_R16P vector_div_R4P vector_div_R8P vector_div_vector vector_eq_I1P vector_eq_I2P vector_eq_I4P vector_eq_I8P vector_eq_R16P vector_eq_R4P vector_eq_R8P vector_eq_vector vector_great_I1P vector_great_I2P vector_great_I4P vector_great_I8P vector_great_R16P vector_great_R4P vector_great_R8P vector_great_eq_I1P vector_great_eq_I2P vector_great_eq_I4P vector_great_eq_I8P vector_great_eq_R16P vector_great_eq_R4P vector_great_eq_R8P vector_great_eq_vector vector_great_vector vector_low_I1P vector_low_I2P vector_low_I4P vector_low_I8P vector_low_R16P vector_low_R4P vector_low_R8P vector_low_eq_I1P vector_low_eq_I2P vector_low_eq_I4P vector_low_eq_I8P vector_low_eq_R16P vector_low_eq_R4P vector_low_eq_R8P vector_low_eq_vector vector_low_vector vector_mul_I1P vector_mul_I2P vector_mul_I4P vector_mul_I8P vector_mul_R16P vector_mul_R4P vector_mul_R8P vector_mul_vector vector_not_eq_I1P vector_not_eq_I2P vector_not_eq_I4P vector_not_eq_I8P vector_not_eq_R16P vector_not_eq_R4P vector_not_eq_R8P vector_not_eq_vector vector_sub_I1P vector_sub_I2P vector_sub_I4P vector_sub_I8P vector_sub_R16P vector_sub_R4P vector_sub_R8P vector_sub_vector vector_sum_I1P vector_sum_I2P vector_sum_I4P vector_sum_I8P vector_sum_R16P vector_sum_R4P vector_sum_R8P vector_sum_vector

Variables

TypeVisibilityAttributesNameInitial
type(vector_R16P), public, parameter:: ex_R16P =vector_R16P(1._RPP, 0._RPP, 0._RPP)

X direction versor.

type(vector_R16P), public, parameter:: ey_R16P =vector_R16P(0._RPP, 1._RPP, 0._RPP)

Y direction versor.

type(vector_R16P), public, parameter:: ez_R16P =vector_R16P(0._RPP, 0._RPP, 1._RPP)

Z direction versor.


Derived Types

type, public :: vector_R16P

Vector class.

Components

TypeVisibilityAttributesNameInitial
real(kind=R16P), private :: x =0._RPP

Cartesian component in x direction.

real(kind=R16P), private :: y =0._RPP

Cartesian component in y direction.

real(kind=R16P), private :: z =0._RPP

Cartesian component in z direction.

Type-Bound Procedures

procedure, private, pass(rhs) :: I1P_eq_vector

Operator integer(I1P) ==.

procedure, private, pass(rhs) :: I1P_great_eq_vector

Operator integer(I1P) >=.

procedure, private, pass(rhs) :: I1P_great_vector

Operator integer(I1P) >.

procedure, private, pass(rhs) :: I1P_low_eq_vector

Operator integer(I1P) <=.

procedure, private, pass(rhs) :: I1P_low_vector

Operator integer(I1P) <.

procedure, private, pass(rhs) :: I1P_mul_vector

Operator integer(I1P) *.

procedure, private, pass(rhs) :: I1P_not_eq_vector

Operator integer(I1P) /=.

procedure, private, pass(rhs) :: I1P_sub_vector

Operator integer(I1P) -.

procedure, private, pass(rhs) :: I1P_sum_vector

Operator integer(I1P) +.

procedure, private, pass(rhs) :: I2P_eq_vector

Operator integer(I2P) ==.

procedure, private, pass(rhs) :: I2P_great_eq_vector

Operator integer(I2P) >=.

procedure, private, pass(rhs) :: I2P_great_vector

Operator integer(I2P) >.

procedure, private, pass(rhs) :: I2P_low_eq_vector

Operator integer(I2P) <=.

procedure, private, pass(rhs) :: I2P_low_vector

Operator integer(I2P) <.

procedure, private, pass(rhs) :: I2P_mul_vector

Operator integer(I2P) *.

procedure, private, pass(rhs) :: I2P_not_eq_vector

Operator integer(I2P) /=.

procedure, private, pass(rhs) :: I2P_sub_vector

Operator integer(I2P) -.

procedure, private, pass(rhs) :: I2P_sum_vector

Operator integer(I2P) +.

procedure, private, pass(rhs) :: I4P_eq_vector

Operator integer(I4P) ==.

procedure, private, pass(rhs) :: I4P_great_eq_vector

Operator integer(I4P) >=.

procedure, private, pass(rhs) :: I4P_great_vector

Operator integer(I4P) >.

procedure, private, pass(rhs) :: I4P_low_eq_vector

Operator integer(I4P) <=.

procedure, private, pass(rhs) :: I4P_low_vector

Operator integer(I4P) <.

procedure, private, pass(rhs) :: I4P_mul_vector

Operator integer(I4P) *.

procedure, private, pass(rhs) :: I4P_not_eq_vector

Operator integer(I4P) /=.

procedure, private, pass(rhs) :: I4P_sub_vector

Operator integer(I4P) -.

procedure, private, pass(rhs) :: I4P_sum_vector

Operator integer(I4P) +.

procedure, private, pass(rhs) :: I8P_eq_vector

Operator integer(I8P) ==.

procedure, private, pass(rhs) :: I8P_great_eq_vector

Operator integer(I8P) >=.

procedure, private, pass(rhs) :: I8P_great_vector

Operator integer(I8P) >.

procedure, private, pass(rhs) :: I8P_low_eq_vector

Operator integer(I8P) <=.

procedure, private, pass(rhs) :: I8P_low_vector

Operator integer(I8P) <.

procedure, private, pass(rhs) :: I8P_mul_vector

Operator integer(I8P) *.

procedure, private, pass(rhs) :: I8P_not_eq_vector

Operator integer(I8P) /=.

procedure, private, pass(rhs) :: I8P_sub_vector

Operator integer(I8P) -.

procedure, private, pass(rhs) :: I8P_sum_vector

Operator integer(I8P) +.

procedure, private, pass(rhs) :: R16P_eq_vector

Operator real(R16P) ==.

procedure, private, pass(rhs) :: R16P_great_eq_vector

Operator real(R16P) >=.

procedure, private, pass(rhs) :: R16P_great_vector

Operator real(R16P) >.

procedure, private, pass(rhs) :: R16P_low_eq_vector

Operator real(R16P) <=.

procedure, private, pass(rhs) :: R16P_low_vector

Operator real(R16P) <.

procedure, private, pass(rhs) :: R16P_mul_vector

Operator real(R16P) *.

procedure, private, pass(rhs) :: R16P_not_eq_vector

Operator real(R16P) /=.

procedure, private, pass(rhs) :: R16P_sub_vector

Operator real(R16P) -.

procedure, private, pass(rhs) :: R16P_sum_vector

Operator real(R16P) +.

procedure, private, pass(rhs) :: R4P_eq_vector

Operator real(R4P) ==.

procedure, private, pass(rhs) :: R4P_great_eq_vector

Operator real(R4P) >=.

procedure, private, pass(rhs) :: R4P_great_vector

Operator real(R4P) >.

procedure, private, pass(rhs) :: R4P_low_eq_vector

Operator real(R4P) <=.

procedure, private, pass(rhs) :: R4P_low_vector

Operator real(R4P) <.

procedure, private, pass(rhs) :: R4P_mul_vector

Operator real(R4P) *.

procedure, private, pass(rhs) :: R4P_not_eq_vector

Operator real(R4P) /=.

procedure, private, pass(rhs) :: R4P_sub_vector

Operator real(R4P) -.

procedure, private, pass(rhs) :: R4P_sum_vector

Operator real(R4P) +.

procedure, private, pass(rhs) :: R8P_eq_vector

Operator real(R8P) ==.

procedure, private, pass(rhs) :: R8P_great_eq_vector

Operator real(R8P) >=.

procedure, private, pass(rhs) :: R8P_great_vector

Operator real(R8P) >.

procedure, private, pass(rhs) :: R8P_low_eq_vector

Operator real(R8P) <=.

procedure, private, pass(rhs) :: R8P_low_vector

Operator real(R8P) <.

procedure, private, pass(rhs) :: R8P_mul_vector

Operator real(R8P) *.

procedure, private, pass(rhs) :: R8P_not_eq_vector

Operator real(R8P) /=.

procedure, private, pass(rhs) :: R8P_sub_vector

Operator real(R8P) -.

procedure, private, pass(rhs) :: R8P_sum_vector

Operator real(R8P) +.

procedure, public, pass(self) :: angle => angle_R16P

Return the angle (rad) between two vectors.

procedure, private, pass(lhs) :: assign_I1P

Operator = integer(I1P).

procedure, private, pass(lhs) :: assign_I2P

Operator = integer(I2P).

procedure, private, pass(lhs) :: assign_I4P

Operator = integer(I4P).

procedure, private, pass(lhs) :: assign_I8P

Operator = integer(I8P).

procedure, private, pass(lhs) :: assign_R16P

Operator = real(R16P).

procedure, private, pass(lhs) :: assign_R4P

Operator = real(R4P).

procedure, private, pass(lhs) :: assign_R8P

Operator = real(R8P).

procedure, private, pass(lhs) :: assign_vector

Operator =.

generic, public :: assignment(=) => assign_vector, assign_R8P, assign_R4P, assign_I8P, assign_I4P, assign_I2P, assign_I1P

Overloading =.

procedure, public, pass(lhs) :: crossproduct

Compute the cross product.

procedure, public, pass(self) :: distance_to_line => distance_to_line_R16P

Return the distance (scalar) to line.

procedure, public, pass(self) :: distance_to_plane => distance_to_plane_R16P

Return the distance (signed, scalar) to plane.

procedure, public, pass(self) :: distance_vectorial_to_plane => distance_vectorial_to_plane_R16P

Return the distance (vectorial) to plane.

procedure, public, pass(lhs) :: dotproduct

Compute the scalar (dot) product.

procedure, public, nopass :: face_normal3 => face_normal3_R16P

Return the normal of the face.

procedure, public, nopass :: face_normal4 => face_normal4_R16P

Return the normal of the face.

procedure, public, pass(self) :: iolen => iolen_R16P

Compute IO length.

procedure, public, pass(self) :: is_collinear => is_collinear_R16P

Return true if the point is col- linear with other two given points.

procedure, public, pass(self) :: is_concyclic => is_concyclic_R16P

Return true if the point is concy- clic with other three given pts.

procedure, public, pass(self) :: load_from_file

Load vector from file.

procedure, public, pass(rhs) :: matrixproduct

Compute the matrix product.

generic, public :: mirror => mirror_by_normal, mirror_by_matrix

Mirror vector.

procedure, private, pass(self) :: mirror_by_matrix

Mirror vector given matrix.

procedure, private, pass(self) :: mirror_by_normal

Mirror vector given normal of mirroring plane.

procedure, private, pass(rhs) :: negative

Operator -, unary.

procedure, public, pass(self) :: normL2 => normL2_R16P

Return the norm L2 of vector.

procedure, public, pass(self) :: normalize

Normalize a vector.

procedure, public, pass(self) :: normalized => normalized_R16P

Return a normalized copy of vector.

generic, public :: operator(*) => vector_mul_vector, R8P_mul_vector, vector_mul_R8P, R4P_mul_vector, vector_mul_R4P, I8P_mul_vector, vector_mul_I8P, I4P_mul_vector, vector_mul_I4P, I2P_mul_vector, vector_mul_I2P, I1P_mul_vector, vector_mul_I1P

Overloading *.

generic, public :: operator(+) => positive, vector_sum_vector, R8P_sum_vector, vector_sum_R8P, R4P_sum_vector, vector_sum_R4P, I8P_sum_vector, vector_sum_I8P, I4P_sum_vector, vector_sum_I4P, I2P_sum_vector, vector_sum_I2P, I1P_sum_vector, vector_sum_I1P

Overloading +.

generic, public :: operator(-) => negative, vector_sub_vector, R8P_sub_vector, vector_sub_R8P, R4P_sub_vector, vector_sub_R4P, I8P_sub_vector, vector_sub_I8P, I4P_sub_vector, vector_sub_I4P, I2P_sub_vector, vector_sub_I2P, I1P_sub_vector, vector_sub_I1P

Overloading -.

generic, public :: operator(.cross.) => crossproduct

Cross product operator.

generic, public :: operator(.dot.) => dotproduct

Scalar (dot) product operator.

generic, public :: operator(.matrix.) => matrixproduct

Matrix product operator.

generic, public :: operator(.ortho.) => orthogonal

Component of lhs orthogonal to rhs operator.

generic, public :: operator(.paral.) => parallel

Component of lhs parallel to rhs operator.

generic, public :: operator(/) => vector_div_vector, vector_div_R8P, vector_div_R4P, vector_div_I8P, vector_div_I4P, vector_div_I2P, vector_div_I1P

Overloading /.

generic, public :: operator(/=) => vector_not_eq_vector, R8P_not_eq_vector, vector_not_eq_R8P, R4P_not_eq_vector, vector_not_eq_R4P, I8P_not_eq_vector, vector_not_eq_I8P, I4P_not_eq_vector, vector_not_eq_I4P, I2P_not_eq_vector, vector_not_eq_I2P, I1P_not_eq_vector, vector_not_eq_I1P

Overloading /=.

generic, public :: operator(<) => vector_low_vector, R8P_low_vector, vector_low_R8P, R4P_low_vector, vector_low_R4P, I8P_low_vector, vector_low_I8P, I4P_low_vector, vector_low_I4P, I2P_low_vector, vector_low_I2P, I1P_low_vector, vector_low_I1P

Overloading <.

generic, public :: operator(<=) => vector_low_eq_vector, R8P_low_eq_vector, vector_low_eq_R8P, R4P_low_eq_vector, vector_low_eq_R4P, I8P_low_eq_vector, vector_low_eq_I8P, I4P_low_eq_vector, vector_low_eq_I4P, I2P_low_eq_vector, vector_low_eq_I2P, I1P_low_eq_vector, vector_low_eq_I1P

Overloading <=.

generic, public :: operator(==) => vector_eq_vector, R8P_eq_vector, vector_eq_R8P, R4P_eq_vector, vector_eq_R4P, I8P_eq_vector, vector_eq_I8P, I4P_eq_vector, vector_eq_I4P, I2P_eq_vector, vector_eq_I2P, I1P_eq_vector, vector_eq_I1P

Overloading ==.

generic, public :: operator(>) => vector_great_vector, R8P_great_vector, vector_great_R8P, R4P_great_vector, vector_great_R4P, I8P_great_vector, vector_great_I8P, I4P_great_vector, vector_great_I4P, I2P_great_vector, vector_great_I2P, I1P_great_vector, vector_great_I1P

Overloading >.

generic, public :: operator(>=) => vector_great_eq_vector, R8P_great_eq_vector, vector_great_eq_R8P, R4P_great_eq_vector, vector_great_eq_R4P, I8P_great_eq_vector, vector_great_eq_I8P, I4P_great_eq_vector, vector_great_eq_I4P, I2P_great_eq_vector, vector_great_eq_I2P, I1P_great_eq_vector, vector_great_eq_I1P

Overloading >=.

procedure, public, pass(lhs) :: orthogonal

Compute the component of lhs orthogonal to rhs.

procedure, public, pass(lhs) :: parallel

Compute the component of lhs parallel to rhs.

procedure, private, pass(rhs) :: positive

Operator +, unary.

procedure, public, pass(self) :: printf

Print vector components with a “pretty” format.

procedure, public, pass(self) :: projection_onto_plane => projection_onto_plane_R16P

Calculate the projection of point onto plane defined by 3 points.

generic, public :: rotate => rotate_by_axis_angle, rotate_by_matrix

Rotate vector.

procedure, private, pass(self) :: rotate_by_axis_angle

Rotate vector given axis and angle.

procedure, private, pass(self) :: rotate_by_matrix

Rotate vector given matrix.

procedure, public, pass(self) :: save_into_file

Save vector into file.

procedure, public, pass(self) :: sq_norm => sq_norm_R16P

Return the square of the norm.

procedure, private, pass(lhs) :: vector_div_I1P

Operator / integer(I1P).

procedure, private, pass(lhs) :: vector_div_I2P

Operator / integer(I2P).

procedure, private, pass(lhs) :: vector_div_I4P

Operator / integer(I4P).

procedure, private, pass(lhs) :: vector_div_I8P

Operator / integer(I8P).

procedure, private, pass(lhs) :: vector_div_R16P

Operator / real(R16P).

procedure, private, pass(lhs) :: vector_div_R4P

Operator / real(R4P).

procedure, private, pass(lhs) :: vector_div_R8P

Operator / real(R8P).

procedure, private, pass(lhs) :: vector_div_vector

Operator /.

procedure, private, pass(lhs) :: vector_eq_I1P

Operator == integer(I1P).

procedure, private, pass(lhs) :: vector_eq_I2P

Operator == integer(I2P).

procedure, private, pass(lhs) :: vector_eq_I4P

Operator == integer(I4P).

procedure, private, pass(lhs) :: vector_eq_I8P

Operator == integer(I8P).

procedure, private, pass(lhs) :: vector_eq_R16P

Operator == real(R16P).

procedure, private, pass(lhs) :: vector_eq_R4P

Operator == real(R4P).

procedure, private, pass(lhs) :: vector_eq_R8P

Operator == real(R8P).

procedure, private, pass(lhs) :: vector_eq_vector

Operator ==.

procedure, private, pass(lhs) :: vector_great_I1P

Operator > integer(I1P).

procedure, private, pass(lhs) :: vector_great_I2P

Operator > integer(I2P).

procedure, private, pass(lhs) :: vector_great_I4P

Operator > integer(I4P).

procedure, private, pass(lhs) :: vector_great_I8P

Operator > integer(I8P).

procedure, private, pass(lhs) :: vector_great_R16P

Operator > real(R16P).

procedure, private, pass(lhs) :: vector_great_R4P

Operator > real(R4P).

procedure, private, pass(lhs) :: vector_great_R8P

Operator > real(R8P).

procedure, private, pass(lhs) :: vector_great_eq_I1P

Operator >= integer(I1P).

procedure, private, pass(lhs) :: vector_great_eq_I2P

Operator >= integer(I2P).

procedure, private, pass(lhs) :: vector_great_eq_I4P

Operator >= integer(I4P).

procedure, private, pass(lhs) :: vector_great_eq_I8P

Operator >= integer(I8P).

procedure, private, pass(lhs) :: vector_great_eq_R16P

Operator >= real(R16P).

procedure, private, pass(lhs) :: vector_great_eq_R4P

Operator >= real(R4P).

procedure, private, pass(lhs) :: vector_great_eq_R8P

Operator >= real(R8P).

procedure, private, pass(lhs) :: vector_great_eq_vector

Operator >=.

procedure, private, pass(lhs) :: vector_great_vector

Operator >.

procedure, private, pass(lhs) :: vector_low_I1P

Operator < integer(I1P).

procedure, private, pass(lhs) :: vector_low_I2P

Operator < integer(I2P).

procedure, private, pass(lhs) :: vector_low_I4P

Operator < integer(I4P).

procedure, private, pass(lhs) :: vector_low_I8P

Operator < integer(I8P).

procedure, private, pass(lhs) :: vector_low_R16P

Operator < real(R16P).

procedure, private, pass(lhs) :: vector_low_R4P

Operator < real(R4P).

procedure, private, pass(lhs) :: vector_low_R8P

Operator < real(R8P).

procedure, private, pass(lhs) :: vector_low_eq_I1P

Operator <= integer(I1P).

procedure, private, pass(lhs) :: vector_low_eq_I2P

Operator <= integer(I2P).

procedure, private, pass(lhs) :: vector_low_eq_I4P

Operator <= integer(I4P).

procedure, private, pass(lhs) :: vector_low_eq_I8P

Operator <= integer(I8P).

procedure, private, pass(lhs) :: vector_low_eq_R16P

Operator <= real(R16P).

procedure, private, pass(lhs) :: vector_low_eq_R4P

Operator <= real(R4P).

procedure, private, pass(lhs) :: vector_low_eq_R8P

Operator <= real(R8P).

procedure, private, pass(lhs) :: vector_low_eq_vector

Operator <=.

procedure, private, pass(lhs) :: vector_low_vector

Operator <.

procedure, private, pass(lhs) :: vector_mul_I1P

Operator * integer(I1P).

procedure, private, pass(lhs) :: vector_mul_I2P

Operator * integer(I2P).

procedure, private, pass(lhs) :: vector_mul_I4P

Operator * integer(I4P).

procedure, private, pass(lhs) :: vector_mul_I8P

Operator * integer(I8P).

procedure, private, pass(lhs) :: vector_mul_R16P

Operator * real(R16P).

procedure, private, pass(lhs) :: vector_mul_R4P

Operator * real(R4P).

procedure, private, pass(lhs) :: vector_mul_R8P

Operator * real(R8P).

procedure, private, pass(lhs) :: vector_mul_vector

Operator *.

procedure, private, pass(lhs) :: vector_not_eq_I1P

Operator /= integer(I1P).

procedure, private, pass(lhs) :: vector_not_eq_I2P

Operator /= integer(I2P).

procedure, private, pass(lhs) :: vector_not_eq_I4P

Operator /= integer(I4P).

procedure, private, pass(lhs) :: vector_not_eq_I8P

Operator /= integer(I8P).

procedure, private, pass(lhs) :: vector_not_eq_R16P

Operator /= real(R16P).

procedure, private, pass(lhs) :: vector_not_eq_R4P

Operator /= real(R4P).

procedure, private, pass(lhs) :: vector_not_eq_R8P

Operator /= real(R8P).

procedure, private, pass(lhs) :: vector_not_eq_vector

Operator /=.

procedure, private, pass(lhs) :: vector_sub_I1P

Operator - integer(I1P).

procedure, private, pass(lhs) :: vector_sub_I2P

Operator - integer(I2P).

procedure, private, pass(lhs) :: vector_sub_I4P

Operator - integer(I4P).

procedure, private, pass(lhs) :: vector_sub_I8P

Operator - integer(I8P).

procedure, private, pass(lhs) :: vector_sub_R16P

Operator - real(R16P).

procedure, private, pass(lhs) :: vector_sub_R4P

Operator - real(R4P).

procedure, private, pass(lhs) :: vector_sub_R8P

Operator - real(R8P).

procedure, private, pass(lhs) :: vector_sub_vector

Operator -.

procedure, private, pass(lhs) :: vector_sum_I1P

Operator + integer(I1P).

procedure, private, pass(lhs) :: vector_sum_I2P

Operator + integer(I2P).

procedure, private, pass(lhs) :: vector_sum_I4P

Operator + integer(I4P).

procedure, private, pass(lhs) :: vector_sum_I8P

Operator + integer(I8P).

procedure, private, pass(lhs) :: vector_sum_R16P

Operator + real(R16P).

procedure, private, pass(lhs) :: vector_sum_R4P

Operator + real(R4P).

procedure, private, pass(lhs) :: vector_sum_R8P

Operator + real(R8P).

procedure, private, pass(lhs) :: vector_sum_vector

Operator +.


Functions

private elemental function I1P_eq_vector(lhs, rhs) result(opr)

Operator integer(I1P) ==.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I1P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I1P_great_eq_vector(lhs, rhs) result(opr)

Operator integer(I1P) >=.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I1P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I1P_great_vector(lhs, rhs) result(opr)

Operator integer(I1P) >.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I1P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I1P_low_eq_vector(lhs, rhs) result(opr)

Operator integer(I1P) <=.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I1P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I1P_low_vector(lhs, rhs) result(opr)

Operator integer(I1P) <.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I1P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I1P_mul_vector(lhs, rhs) result(opr)

Operator integer(I1P) *.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I1P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function I1P_not_eq_vector(lhs, rhs) result(opr)

Operator integer(I1P) /=.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I1P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I1P_sub_vector(lhs, rhs) result(opr)

Operator integer(I1P) -.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I1P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function I1P_sum_vector(lhs, rhs) result(opr)

Operator integer(I1P) +.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I1P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function I2P_eq_vector(lhs, rhs) result(opr)

Operator integer(I2P) ==.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I2P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I2P_great_eq_vector(lhs, rhs) result(opr)

Operator integer(I2P) >=.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I2P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I2P_great_vector(lhs, rhs) result(opr)

Operator integer(I2P) >.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I2P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I2P_low_eq_vector(lhs, rhs) result(opr)

Operator integer(I2P) <=.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I2P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I2P_low_vector(lhs, rhs) result(opr)

Operator integer(I2P) <.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I2P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I2P_mul_vector(lhs, rhs) result(opr)

Operator integer(I2P) *.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I2P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function I2P_not_eq_vector(lhs, rhs) result(opr)

Operator integer(I2P) /=.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I2P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I2P_sub_vector(lhs, rhs) result(opr)

Operator integer(I2P) -.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I2P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function I2P_sum_vector(lhs, rhs) result(opr)

Operator integer(I2P) +.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I2P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function I4P_eq_vector(lhs, rhs) result(opr)

Operator integer(I4P) ==.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I4P_great_eq_vector(lhs, rhs) result(opr)

Operator integer(I4P) >=.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I4P_great_vector(lhs, rhs) result(opr)

Operator integer(I4P) >.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I4P_low_eq_vector(lhs, rhs) result(opr)

Operator integer(I4P) <=.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I4P_low_vector(lhs, rhs) result(opr)

Operator integer(I4P) <.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I4P_mul_vector(lhs, rhs) result(opr)

Operator integer(I4P) *.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function I4P_not_eq_vector(lhs, rhs) result(opr)

Operator integer(I4P) /=.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I4P_sub_vector(lhs, rhs) result(opr)

Operator integer(I4P) -.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function I4P_sum_vector(lhs, rhs) result(opr)

Operator integer(I4P) +.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function I8P_eq_vector(lhs, rhs) result(opr)

Operator integer(I8P) ==.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I8P_great_eq_vector(lhs, rhs) result(opr)

Operator integer(I8P) >=.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I8P_great_vector(lhs, rhs) result(opr)

Operator integer(I8P) >.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I8P_low_eq_vector(lhs, rhs) result(opr)

Operator integer(I8P) <=.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I8P_low_vector(lhs, rhs) result(opr)

Operator integer(I8P) <.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I8P_mul_vector(lhs, rhs) result(opr)

Operator integer(I8P) *.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function I8P_not_eq_vector(lhs, rhs) result(opr)

Operator integer(I8P) /=.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function I8P_sub_vector(lhs, rhs) result(opr)

Operator integer(I8P) -.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function I8P_sum_vector(lhs, rhs) result(opr)

Operator integer(I8P) +.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer(kind=I8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function R16P_eq_vector(lhs, rhs) result(opr)

Operator real(R16P) ==.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R16P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R16P_great_eq_vector(lhs, rhs) result(opr)

Operator real(R16P) >=.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R16P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R16P_great_vector(lhs, rhs) result(opr)

Operator real(R16P) >.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R16P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R16P_low_eq_vector(lhs, rhs) result(opr)

Operator real(R16P) <=.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R16P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R16P_low_vector(lhs, rhs) result(opr)

Operator real(R16P) <.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R16P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R16P_mul_vector(lhs, rhs) result(opr)

Operator real(R16P) *.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R16P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function R16P_not_eq_vector(lhs, rhs) result(opr)

Operator real(R16P) /=.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R16P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R16P_sub_vector(lhs, rhs) result(opr)

Operator real(R16P) -.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R16P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function R16P_sum_vector(lhs, rhs) result(opr)

Operator real(R16P) +.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R16P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function R4P_eq_vector(lhs, rhs) result(opr)

Operator real(R4P) ==.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R4P_great_eq_vector(lhs, rhs) result(opr)

Operator real(R4P) >=.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R4P_great_vector(lhs, rhs) result(opr)

Operator real(R4P) >.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R4P_low_eq_vector(lhs, rhs) result(opr)

Operator real(R4P) <=.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R4P_low_vector(lhs, rhs) result(opr)

Operator real(R4P) <.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R4P_mul_vector(lhs, rhs) result(opr)

Operator real(R4P) *.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function R4P_not_eq_vector(lhs, rhs) result(opr)

Operator real(R4P) /=.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R4P_sub_vector(lhs, rhs) result(opr)

Operator real(R4P) -.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function R4P_sum_vector(lhs, rhs) result(opr)

Operator real(R4P) +.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R4P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function R8P_eq_vector(lhs, rhs) result(opr)

Operator real(R8P) ==.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R8P_great_eq_vector(lhs, rhs) result(opr)

Operator real(R8P) >=.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R8P_great_vector(lhs, rhs) result(opr)

Operator real(R8P) >.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R8P_low_eq_vector(lhs, rhs) result(opr)

Operator real(R8P) <=.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R8P_low_vector(lhs, rhs) result(opr)

Operator real(R8P) <.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R8P_mul_vector(lhs, rhs) result(opr)

Operator real(R8P) *.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function R8P_not_eq_vector(lhs, rhs) result(opr)

Operator real(R8P) /=.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function R8P_sub_vector(lhs, rhs) result(opr)

Operator real(R8P) -.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function R8P_sum_vector(lhs, rhs) result(opr)

Operator real(R8P) +.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R8P), intent(in) :: lhs

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

public elemental function angle_R16P(self, other) result(angle_)

Calculate the angle (rad) between two vectors.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: self

The first vector.

type(vector_R16P), intent(in) :: other

Other vector.

Return Value real(kind=R16P)

Angle between vectors, in radians.

private elemental function crossproduct(lhs, rhs) result(cross)

Compute the cross product.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Cross product vector.

public elemental function distance_to_line_R16P(self, pt1, pt2) result(distance)

Calculate the distance (scalar) to line defined by the 2 points.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: self

The point from which computing the distance.

type(vector_R16P), intent(in) :: pt1

First line point.

type(vector_R16P), intent(in) :: pt2

Second line point.

Return Value real(kind=R16P)

Face normal.

public elemental function distance_to_plane_R16P(self, pt1, pt2, pt3) result(distance)

Calculate the distance (signed, scalar) to plane defined by the 3 points.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: self

The point from which computing the distance.

type(vector_R16P), intent(in) :: pt1

First plane point.

type(vector_R16P), intent(in) :: pt2

Second plane point.

type(vector_R16P), intent(in) :: pt3

Third plane point.

Return Value real(kind=R16P)

Face normal.

public elemental function distance_vectorial_to_plane_R16P(self, pt1, pt2, pt3) result(distance)

Calculate the distance (vectorial) to plane defined by the 3 points.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: self

The point from which computing the distance.

type(vector_R16P), intent(in) :: pt1

First plane point.

type(vector_R16P), intent(in) :: pt2

Second plane point.

type(vector_R16P), intent(in) :: pt3

Third plane point.

Return Value type(vector_R16P)

Face normal.

private elemental function dotproduct(lhs, rhs) result(dot)

Compute the scalar (dot) product.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value real(kind=R16P)

Dot product.

public elemental function face_normal3_R16P(pt1, pt2, pt3, norm) result(normal)

Calculate the normal of the face defined by the 3 points.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(vector_R16P), intent(in) :: pt1

First face point.

type(vector_R16P), intent(in) :: pt2

Second face point.

type(vector_R16P), intent(in) :: pt3

Third face point.

character(len=1), intent(in), optional :: norm

If ‘norm’ is passed as argument the normal is normalized.

Return Value type(vector_R16P)

Face normal.

public elemental function face_normal4_R16P(pt1, pt2, pt3, pt4, norm) result(normal)

Calculate the normal of the face defined by 4 points.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(vector_R16P), intent(in) :: pt1

First face point.

type(vector_R16P), intent(in) :: pt2

Second face point.

type(vector_R16P), intent(in) :: pt3

Third face point.

type(vector_R16P), intent(in) :: pt4

Fourth face point.

character(len=1), intent(in), optional :: norm

If ‘norm’ is passed as argument the normal is normalized.

Return Value type(vector_R16P)

Face normal.

public function iolen_R16P(self) result(iolen_)

Compute IO length.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: self

Vector.

Return Value integer(kind=I4P)

IO length.

public elemental function is_collinear_R16P(self, pt1, pt2, tolerance) result(is_collinear_)

Return true if the point is collinear with other two given points.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: self

Vector.

type(vector_R16P), intent(in) :: pt1

First line point.

type(vector_R16P), intent(in) :: pt2

Second line point.

real(kind=R16P), intent(in), optional :: tolerance

Tolerance for collinearity check.

Return Value logical

Inquire result.

public elemental function is_concyclic_R16P(self, pt1, pt2, pt3, tolerance) result(is_concyclic_)

Return true if the point is concyclic with other three given points.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: self

Vector.

type(vector_R16P), intent(in) :: pt1

First arc point.

type(vector_R16P), intent(in) :: pt2

Second arc point.

type(vector_R16P), intent(in) :: pt3

Third arc point.

real(kind=R16P), intent(in), optional :: tolerance

Tolerance for concyclicity check.

Return Value logical

Inquire result.

private pure function matrixproduct(lhs, rhs) result(opr)

Compute the matrix product.

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=R16P), intent(in) :: lhs(3,3)

Left hand side.

class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

public pure function mirror_matrix_R16P(normal) result(matrix)

Return the mirror matrix (Householder’s matrix) given normal of the mirroring plane.

Arguments

TypeIntentOptionalAttributesName
type(vector_R16P), intent(in) :: normal

Normal of mirroring plane.

Return Value real(kind=R16P)(3,3)

Rotation matrix.

private elemental function negative(rhs) result(opr)

Operator - unary.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

public elemental function normL2_R16P(self) result(norm)

Return the norm L2 of vector.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: self

Vector.

Return Value real(kind=R16P)

Norm L2.

public elemental function normalized_R16P(self) result(norm)

Return a normalized copy of vector.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: self

Vector.

Return Value type(vector_R16P)

Normalized copy.

private elemental function orthogonal(lhs, rhs) result(ortho)

Compute the component of lhs orthogonal to rhs.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Component of of lhs orthogonal to rhs.

private elemental function parallel(lhs, rhs) result(paral)

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Compute the component of lhs parallel to rhs.

 type(vector_R16P) :: pt(0:2)
 pt(1) = 2 * ex_R16P + 3 * ey_R16P
 pt(2) = ex_R16P
 pt(0) = pt(1).paral.pt(2)
 print "(3(F3.1,1X))", abs(pt(0)%x), abs(pt(0)%y), abs(pt(0)%z)

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Component of of lhs parallel to rhs.

private elemental function positive(rhs) result(opr)

Operator + unary.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

public elemental function projection_onto_plane_R16P(self, pt1, pt2, pt3) result(projection)

Calculate the projection of point onto plane defined by 3 points.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: self

The point from which computing the distance.

type(vector_R16P), intent(in) :: pt1

First plane point.

type(vector_R16P), intent(in) :: pt2

Second plane point.

type(vector_R16P), intent(in) :: pt3

Third plane point.

Return Value type(vector_R16P)

Point projection.

public pure function rotation_matrix_R16P(axis, angle) result(matrix)

Return the rotation matrix given axis and angle of ratation.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(vector_R16P), intent(in) :: axis

Axis of ratation.

real(kind=R16P), intent(in) :: angle

Angle of ratation.

Return Value real(kind=R16P)(3,3)

Rotation matrix.

public elemental function sq_norm_R16P(self) result(sq)

Return the square of the norm of vector.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: self

Vector.

Return Value real(kind=R16P)

Square of the Norm.

private elemental function vector_div_I1P(lhs, rhs) result(opr)

Operator / integer(I1P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I1P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_div_I2P(lhs, rhs) result(opr)

Operator / integer(I2P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I2P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_div_I4P(lhs, rhs) result(opr)

Operator / integer(I4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I4P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_div_I8P(lhs, rhs) result(opr)

Operator / integer(I8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I8P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_div_R16P(lhs, rhs) result(opr)

Operator / real(R16P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_div_R4P(lhs, rhs) result(opr)

Operator / real(R4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R4P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_div_R8P(lhs, rhs) result(opr)

Operator / real(R8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R8P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_div_vector(lhs, rhs) result(opr)

Operator /.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_eq_I1P(lhs, rhs) result(opr)

Operator == integer(I1P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I1P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_eq_I2P(lhs, rhs) result(opr)

Operator == integer(I2P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I2P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_eq_I4P(lhs, rhs) result(opr)

Operator == integer(I4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I4P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_eq_I8P(lhs, rhs) result(opr)

Operator == integer(I8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I8P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_eq_R16P(lhs, rhs) result(opr)

Operator == real(R16P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_eq_R4P(lhs, rhs) result(opr)

Operator == real(R4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R4P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_eq_R8P(lhs, rhs) result(opr)

Operator == real(R8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R8P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_eq_vector(lhs, rhs) result(opr)

Operator ==.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

The result of the comparison.

private elemental function vector_great_I1P(lhs, rhs) result(opr)

Operator > integer(I1P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I1P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_great_I2P(lhs, rhs) result(opr)

Operator > integer(I2P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I2P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_great_I4P(lhs, rhs) result(opr)

Operator > integer(I4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I4P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_great_I8P(lhs, rhs) result(opr)

Operator > integer(I8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I8P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_great_R16P(lhs, rhs) result(opr)

Operator > real(R16P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_great_R4P(lhs, rhs) result(opr)

Operator > real(R4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R4P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_great_R8P(lhs, rhs) result(opr)

Operator > real(R8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R8P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_great_eq_I1P(lhs, rhs) result(opr)

Operator >= integer(I1P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I1P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_great_eq_I2P(lhs, rhs) result(opr)

Operator >= integer(I2P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I2P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_great_eq_I4P(lhs, rhs) result(opr)

Operator >= integer(I4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I4P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_great_eq_I8P(lhs, rhs) result(opr)

Operator >= integer(I8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I8P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_great_eq_R16P(lhs, rhs) result(opr)

Operator >= real(R16P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_great_eq_R4P(lhs, rhs) result(opr)

Operator >= real(R4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R4P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_great_eq_R8P(lhs, rhs) result(opr)

Operator >= real(R8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R8P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_great_eq_vector(lhs, rhs) result(opr)

Operator >=.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

The result of the comparison.

private elemental function vector_great_vector(lhs, rhs) result(opr)

Operator >.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

The result of the comparison.

private elemental function vector_low_I1P(lhs, rhs) result(opr)

Operator < integer(I1P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I1P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_low_I2P(lhs, rhs) result(opr)

Operator < integer(I2P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I2P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_low_I4P(lhs, rhs) result(opr)

Operator < integer(I4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I4P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_low_I8P(lhs, rhs) result(opr)

Operator < integer(I8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I8P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_low_R16P(lhs, rhs) result(opr)

Operator < real(R16P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_low_R4P(lhs, rhs) result(opr)

Operator < real(R4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R4P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_low_R8P(lhs, rhs) result(opr)

Operator < real(R8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R8P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_low_eq_I1P(lhs, rhs) result(opr)

Operator <= integer(I1P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I1P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_low_eq_I2P(lhs, rhs) result(opr)

Operator <= integer(I2P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I2P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_low_eq_I4P(lhs, rhs) result(opr)

Operator <= integer(I4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I4P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_low_eq_I8P(lhs, rhs) result(opr)

Operator <= integer(I8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I8P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_low_eq_R16P(lhs, rhs) result(opr)

Operator <= real(R16P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_low_eq_R4P(lhs, rhs) result(opr)

Operator <= real(R4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R4P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_low_eq_R8P(lhs, rhs) result(opr)

Operator <= real(R8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R8P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_low_eq_vector(lhs, rhs) result(opr)

Operator <=.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

The result of the comparison.

private elemental function vector_low_vector(lhs, rhs) result(opr)

Operator <.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

The result of the comparison.

private elemental function vector_mul_I1P(lhs, rhs) result(opr)

Operator * integer(I1P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I1P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_mul_I2P(lhs, rhs) result(opr)

Operator * integer(I2P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I2P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_mul_I4P(lhs, rhs) result(opr)

Operator * integer(I4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I4P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_mul_I8P(lhs, rhs) result(opr)

Operator * integer(I8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I8P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_mul_R16P(lhs, rhs) result(opr)

Operator * real(R16P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_mul_R4P(lhs, rhs) result(opr)

Operator * real(R4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R4P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_mul_R8P(lhs, rhs) result(opr)

Operator * real(R8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R8P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_mul_vector(lhs, rhs) result(opr)

Operator *.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_not_eq_I1P(lhs, rhs) result(opr)

Operator /= integer(I1P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I1P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_not_eq_I2P(lhs, rhs) result(opr)

Operator /= integer(I2P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I2P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_not_eq_I4P(lhs, rhs) result(opr)

Operator /= integer(I4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I4P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_not_eq_I8P(lhs, rhs) result(opr)

Operator /= integer(I8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I8P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_not_eq_R16P(lhs, rhs) result(opr)

Operator /= real(R16P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R16P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_not_eq_R4P(lhs, rhs) result(opr)

Operator /= real(R4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R4P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_not_eq_R8P(lhs, rhs) result(opr)

Operator /= real(R8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R8P), intent(in) :: rhs

Right hand side.

Return Value logical

Operator result.

private elemental function vector_not_eq_vector(lhs, rhs) result(opr)

Operator /=.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value logical

The result of the comparison.

private elemental function vector_sub_I1P(lhs, rhs) result(opr)

Operator - integer(I1P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I1P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sub_I2P(lhs, rhs) result(opr)

Operator - integer(I2P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I2P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sub_I4P(lhs, rhs) result(opr)

Operator - integer(I4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I4P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sub_I8P(lhs, rhs) result(opr)

Operator - integer(I8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I8P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sub_R16P(lhs, rhs) result(opr)

Operator - real(R16P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sub_R4P(lhs, rhs) result(opr)

Operator - real(R4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R4P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sub_R8P(lhs, rhs) result(opr)

Operator - real(R8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R8P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sub_vector(lhs, rhs) result(opr)

Operator -.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sum_I1P(lhs, rhs) result(opr)

Operator + integer(I1P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I1P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sum_I2P(lhs, rhs) result(opr)

Operator + integer(I2P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I2P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sum_I4P(lhs, rhs) result(opr)

Operator + integer(I4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I4P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sum_I8P(lhs, rhs) result(opr)

Operator + integer(I8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

integer(kind=I8P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sum_R16P(lhs, rhs) result(opr)

Operator + real(R16P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sum_R4P(lhs, rhs) result(opr)

Operator + real(R4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R4P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sum_R8P(lhs, rhs) result(opr)

Operator + real(R8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

real(kind=R8P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.

private elemental function vector_sum_vector(lhs, rhs) result(opr)

Operator +.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: lhs

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R16P)

Operator result.


Subroutines

private elemental subroutine assign_I1P(lhs, rhs)

Operator = integer(I4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(inout) :: lhs

Left hand side.

integer(kind=I1P), intent(in) :: rhs

Right hand side.

private elemental subroutine assign_I2P(lhs, rhs)

Operator = integer(I4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(inout) :: lhs

Left hand side.

integer(kind=I2P), intent(in) :: rhs

Right hand side.

private elemental subroutine assign_I4P(lhs, rhs)

Operator = integer(I4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(inout) :: lhs

Left hand side.

integer(kind=I4P), intent(in) :: rhs

Right hand side.

private elemental subroutine assign_I8P(lhs, rhs)

Operator = integer(I8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(inout) :: lhs

Left hand side.

integer(kind=I8P), intent(in) :: rhs

Right hand side.

private elemental subroutine assign_R16P(lhs, rhs)

Operator = real(R16P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(inout) :: lhs

Left hand side.

real(kind=R16P), intent(in) :: rhs

Right hand side.

private elemental subroutine assign_R4P(lhs, rhs)

Operator = real(R4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(inout) :: lhs

Left hand side.

real(kind=R4P), intent(in) :: rhs

Right hand side.

private elemental subroutine assign_R8P(lhs, rhs)

Operator = real(R8P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(inout) :: lhs

Left hand side.

real(kind=R8P), intent(in) :: rhs

Right hand side.

private pure subroutine assign_vector(lhs, rhs)

Operator =

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(inout) :: lhs

Left hand side.

type(vector_R16P), intent(in) :: rhs

Right hand side.

private subroutine load_from_file(self, unit, fmt, pos, iostat, iomsg)

Load vector from file.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(inout) :: self

Vector.

integer(kind=I4P), intent(in) :: unit

Logic unit.

character, intent(in), optional :: fmt

IO format.

integer(kind=I8P), intent(in), optional :: pos

Position specifier.

integer(kind=I4P), intent(out), optional :: iostat

IO error.

character, intent(out), optional :: iomsg

IO error message.

private pure subroutine mirror_by_matrix(self, matrix)

Mirror vector given matrix (of mirroring).

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(inout) :: self

Vector.

real(kind=R16P), intent(in) :: matrix(3,3)

Mirroring matrix.

private pure subroutine mirror_by_normal(self, normal)

Mirror vector given normal of mirroring plane.

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(inout) :: self

Vector.

type(vector_R16P), intent(in) :: normal

Normal of mirroring plane.

private elemental subroutine normalize(self)

Normalize vector.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(inout) :: self

Vector.

private subroutine printf(self, unit, prefix, sep, suffix, iostat, iomsg)

Print in a pretty ascii format the components of type Vector.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: self

Vector.

integer(kind=I4P), intent(in), optional :: unit

Logic unit.

character, intent(in), optional :: prefix

Prefix string.

character, intent(in), optional :: sep

Components separator.

character, intent(in), optional :: suffix

Suffix string.

integer(kind=I4P), intent(out), optional :: iostat

IO error.

character, intent(out), optional :: iomsg

IO error message.

private pure subroutine rotate_by_axis_angle(self, axis, angle)

Rotate vector given axis and angle.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(inout) :: self

Vector.

type(vector_R16P), intent(in) :: axis

Axis of rotation.

real(kind=R16P), intent(in) :: angle

Angle of rotation.

private pure subroutine rotate_by_matrix(self, matrix)

Rotate vector given matrix (of ratation).

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(inout) :: self

Vector.

real(kind=R16P), intent(in) :: matrix(3,3)

Rotation matrix.

private subroutine save_into_file(self, unit, fmt, pos, iostat, iomsg)

Save vector into file.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector_R16P), intent(in) :: self

Vector data.

integer(kind=I4P), intent(in) :: unit

Logic unit.

character, intent(in), optional :: fmt

IO format.

integer(kind=I8P), intent(in), optional :: pos

Position specifier.

integer(kind=I4P), intent(out), optional :: iostat

IO error.

character, intent(out), optional :: iomsg

IO error message.