vecfor_RPP Module

VecFor, Vector algebra class for Fortran poor people, default kind. If not defined otherwise, the default kind is R8P.


Uses

  • module~~vecfor_rpp~~UsesGraph module~vecfor_rpp vecfor_RPP iso_fortran_env iso_fortran_env module~vecfor_rpp->iso_fortran_env module~penf penf module~vecfor_rpp->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_rpp~~UsedByGraph module~vecfor_rpp vecfor_RPP program~volatile_doctest~11 volatile_doctest program~volatile_doctest~11->module~vecfor_rpp program~volatile_doctest~63 volatile_doctest program~volatile_doctest~63->module~vecfor_rpp program~volatile_doctest~95 volatile_doctest program~volatile_doctest~95->module~vecfor_rpp program~volatile_doctest~179 volatile_doctest program~volatile_doctest~179->module~vecfor_rpp program~volatile_doctest~147 volatile_doctest program~volatile_doctest~147->module~vecfor_rpp program~volatile_doctest~22 volatile_doctest program~volatile_doctest~22->module~vecfor_rpp program~volatile_doctest~74 volatile_doctest program~volatile_doctest~74->module~vecfor_rpp program~volatile_doctest~106 volatile_doctest program~volatile_doctest~106->module~vecfor_rpp program~volatile_doctest~158 volatile_doctest program~volatile_doctest~158->module~vecfor_rpp program~volatile_doctest volatile_doctest program~volatile_doctest->module~vecfor_rpp program~volatile_doctest~33 volatile_doctest program~volatile_doctest~33->module~vecfor_rpp program~volatile_doctest~53 volatile_doctest program~volatile_doctest~53->module~vecfor_rpp program~volatile_doctest~85 volatile_doctest program~volatile_doctest~85->module~vecfor_rpp program~volatile_doctest~117 volatile_doctest program~volatile_doctest~117->module~vecfor_rpp program~volatile_doctest~169 volatile_doctest program~volatile_doctest~169->module~vecfor_rpp program~volatile_doctest~137 volatile_doctest program~volatile_doctest~137->module~vecfor_rpp program~volatile_doctest~12 volatile_doctest program~volatile_doctest~12->module~vecfor_rpp program~volatile_doctest~64 volatile_doctest program~volatile_doctest~64->module~vecfor_rpp program~volatile_doctest~96 volatile_doctest program~volatile_doctest~96->module~vecfor_rpp program~volatile_doctest~148 volatile_doctest program~volatile_doctest~148->module~vecfor_rpp program~volatile_doctest~180 volatile_doctest program~volatile_doctest~180->module~vecfor_rpp program~volatile_doctest~23 volatile_doctest program~volatile_doctest~23->module~vecfor_rpp program~volatile_doctest~43 volatile_doctest program~volatile_doctest~43->module~vecfor_rpp program~volatile_doctest~75 volatile_doctest program~volatile_doctest~75->module~vecfor_rpp program~volatile_doctest~107 volatile_doctest program~volatile_doctest~107->module~vecfor_rpp program~volatile_doctest~127 volatile_doctest program~volatile_doctest~127->module~vecfor_rpp program~volatile_doctest~159 volatile_doctest program~volatile_doctest~159->module~vecfor_rpp program~volatile_doctest~2 volatile_doctest program~volatile_doctest~2->module~vecfor_rpp program~volatile_doctest~34 volatile_doctest program~volatile_doctest~34->module~vecfor_rpp program~volatile_doctest~54 volatile_doctest program~volatile_doctest~54->module~vecfor_rpp program~volatile_doctest~86 volatile_doctest program~volatile_doctest~86->module~vecfor_rpp program~volatile_doctest~118 volatile_doctest program~volatile_doctest~118->module~vecfor_rpp program~volatile_doctest~138 volatile_doctest program~volatile_doctest~138->module~vecfor_rpp program~volatile_doctest~170 volatile_doctest program~volatile_doctest~170->module~vecfor_rpp program~volatile_doctest~13 volatile_doctest program~volatile_doctest~13->module~vecfor_rpp program~volatile_doctest~65 volatile_doctest program~volatile_doctest~65->module~vecfor_rpp program~volatile_doctest~97 volatile_doctest program~volatile_doctest~97->module~vecfor_rpp program~volatile_doctest~149 volatile_doctest program~volatile_doctest~149->module~vecfor_rpp program~volatile_doctest~181 volatile_doctest program~volatile_doctest~181->module~vecfor_rpp program~volatile_doctest~24 volatile_doctest program~volatile_doctest~24->module~vecfor_rpp program~volatile_doctest~44 volatile_doctest program~volatile_doctest~44->module~vecfor_rpp program~volatile_doctest~76 volatile_doctest program~volatile_doctest~76->module~vecfor_rpp program~volatile_doctest~108 volatile_doctest program~volatile_doctest~108->module~vecfor_rpp program~volatile_doctest~128 volatile_doctest program~volatile_doctest~128->module~vecfor_rpp program~volatile_doctest~160 volatile_doctest program~volatile_doctest~160->module~vecfor_rpp program~volatile_doctest~3 volatile_doctest program~volatile_doctest~3->module~vecfor_rpp program~volatile_doctest~35 volatile_doctest program~volatile_doctest~35->module~vecfor_rpp program~volatile_doctest~55 volatile_doctest program~volatile_doctest~55->module~vecfor_rpp program~volatile_doctest~87 volatile_doctest program~volatile_doctest~87->module~vecfor_rpp program~volatile_doctest~119 volatile_doctest program~volatile_doctest~119->module~vecfor_rpp program~volatile_doctest~139 volatile_doctest program~volatile_doctest~139->module~vecfor_rpp program~volatile_doctest~171 volatile_doctest program~volatile_doctest~171->module~vecfor_rpp program~volatile_doctest~14 volatile_doctest program~volatile_doctest~14->module~vecfor_rpp program~volatile_doctest~66 volatile_doctest program~volatile_doctest~66->module~vecfor_rpp program~volatile_doctest~98 volatile_doctest program~volatile_doctest~98->module~vecfor_rpp program~volatile_doctest~150 volatile_doctest program~volatile_doctest~150->module~vecfor_rpp program~volatile_doctest~182 volatile_doctest program~volatile_doctest~182->module~vecfor_rpp program~volatile_doctest~109 volatile_doctest program~volatile_doctest~109->module~vecfor_rpp program~volatile_doctest~25 volatile_doctest program~volatile_doctest~25->module~vecfor_rpp program~volatile_doctest~45 volatile_doctest program~volatile_doctest~45->module~vecfor_rpp program~volatile_doctest~77 volatile_doctest program~volatile_doctest~77->module~vecfor_rpp program~volatile_doctest~129 volatile_doctest program~volatile_doctest~129->module~vecfor_rpp program~volatile_doctest~161 volatile_doctest program~volatile_doctest~161->module~vecfor_rpp program~volatile_doctest~140 volatile_doctest program~volatile_doctest~140->module~vecfor_rpp program~volatile_doctest~4 volatile_doctest program~volatile_doctest~4->module~vecfor_rpp program~volatile_doctest~36 volatile_doctest program~volatile_doctest~36->module~vecfor_rpp program~volatile_doctest~56 volatile_doctest program~volatile_doctest~56->module~vecfor_rpp program~volatile_doctest~88 volatile_doctest program~volatile_doctest~88->module~vecfor_rpp program~volatile_doctest~120 volatile_doctest program~volatile_doctest~120->module~vecfor_rpp program~volatile_doctest~172 volatile_doctest program~volatile_doctest~172->module~vecfor_rpp program~volatile_doctest~183 volatile_doctest program~volatile_doctest~183->module~vecfor_rpp program~volatile_doctest~15 volatile_doctest program~volatile_doctest~15->module~vecfor_rpp program~volatile_doctest~67 volatile_doctest program~volatile_doctest~67->module~vecfor_rpp program~volatile_doctest~99 volatile_doctest program~volatile_doctest~99->module~vecfor_rpp program~volatile_doctest~151 volatile_doctest program~volatile_doctest~151->module~vecfor_rpp program~volatile_doctest~26 volatile_doctest program~volatile_doctest~26->module~vecfor_rpp program~volatile_doctest~46 volatile_doctest program~volatile_doctest~46->module~vecfor_rpp program~volatile_doctest~78 volatile_doctest program~volatile_doctest~78->module~vecfor_rpp program~volatile_doctest~110 volatile_doctest program~volatile_doctest~110->module~vecfor_rpp program~volatile_doctest~130 volatile_doctest program~volatile_doctest~130->module~vecfor_rpp program~volatile_doctest~162 volatile_doctest program~volatile_doctest~162->module~vecfor_rpp program~volatile_doctest~5 volatile_doctest program~volatile_doctest~5->module~vecfor_rpp program~volatile_doctest~37 volatile_doctest program~volatile_doctest~37->module~vecfor_rpp program~volatile_doctest~57 volatile_doctest program~volatile_doctest~57->module~vecfor_rpp program~volatile_doctest~89 volatile_doctest program~volatile_doctest~89->module~vecfor_rpp program~volatile_doctest~121 volatile_doctest program~volatile_doctest~121->module~vecfor_rpp program~volatile_doctest~141 volatile_doctest program~volatile_doctest~141->module~vecfor_rpp program~volatile_doctest~173 volatile_doctest program~volatile_doctest~173->module~vecfor_rpp program~volatile_doctest~16 volatile_doctest program~volatile_doctest~16->module~vecfor_rpp program~volatile_doctest~68 volatile_doctest program~volatile_doctest~68->module~vecfor_rpp program~volatile_doctest~100 volatile_doctest program~volatile_doctest~100->module~vecfor_rpp program~volatile_doctest~152 volatile_doctest program~volatile_doctest~152->module~vecfor_rpp program~volatile_doctest~184 volatile_doctest program~volatile_doctest~184->module~vecfor_rpp program~volatile_doctest~27 volatile_doctest program~volatile_doctest~27->module~vecfor_rpp program~volatile_doctest~47 volatile_doctest program~volatile_doctest~47->module~vecfor_rpp program~volatile_doctest~79 volatile_doctest program~volatile_doctest~79->module~vecfor_rpp program~volatile_doctest~111 volatile_doctest program~volatile_doctest~111->module~vecfor_rpp program~volatile_doctest~131 volatile_doctest program~volatile_doctest~131->module~vecfor_rpp program~volatile_doctest~163 volatile_doctest program~volatile_doctest~163->module~vecfor_rpp program~volatile_doctest~6 volatile_doctest program~volatile_doctest~6->module~vecfor_rpp program~volatile_doctest~38 volatile_doctest program~volatile_doctest~38->module~vecfor_rpp program~volatile_doctest~58 volatile_doctest program~volatile_doctest~58->module~vecfor_rpp program~volatile_doctest~90 volatile_doctest program~volatile_doctest~90->module~vecfor_rpp program~volatile_doctest~122 volatile_doctest program~volatile_doctest~122->module~vecfor_rpp program~volatile_doctest~142 volatile_doctest program~volatile_doctest~142->module~vecfor_rpp program~volatile_doctest~174 volatile_doctest program~volatile_doctest~174->module~vecfor_rpp program~volatile_doctest~17 volatile_doctest program~volatile_doctest~17->module~vecfor_rpp program~volatile_doctest~69 volatile_doctest program~volatile_doctest~69->module~vecfor_rpp program~volatile_doctest~101 volatile_doctest program~volatile_doctest~101->module~vecfor_rpp program~volatile_doctest~153 volatile_doctest program~volatile_doctest~153->module~vecfor_rpp program~volatile_doctest~185 volatile_doctest program~volatile_doctest~185->module~vecfor_rpp module~vecfor vecfor module~vecfor->module~vecfor_rpp program~volatile_doctest~28 volatile_doctest program~volatile_doctest~28->module~vecfor_rpp program~volatile_doctest~48 volatile_doctest program~volatile_doctest~48->module~vecfor_rpp program~volatile_doctest~80 volatile_doctest program~volatile_doctest~80->module~vecfor_rpp program~volatile_doctest~112 volatile_doctest program~volatile_doctest~112->module~vecfor_rpp program~volatile_doctest~132 volatile_doctest program~volatile_doctest~132->module~vecfor_rpp program~volatile_doctest~164 volatile_doctest program~volatile_doctest~164->module~vecfor_rpp program~volatile_doctest~7 volatile_doctest program~volatile_doctest~7->module~vecfor_rpp program~volatile_doctest~39 volatile_doctest program~volatile_doctest~39->module~vecfor_rpp program~volatile_doctest~59 volatile_doctest program~volatile_doctest~59->module~vecfor_rpp program~volatile_doctest~91 volatile_doctest program~volatile_doctest~91->module~vecfor_rpp program~volatile_doctest~123 volatile_doctest program~volatile_doctest~123->module~vecfor_rpp program~volatile_doctest~143 volatile_doctest program~volatile_doctest~143->module~vecfor_rpp program~volatile_doctest~175 volatile_doctest program~volatile_doctest~175->module~vecfor_rpp program~volatile_doctest~18 volatile_doctest program~volatile_doctest~18->module~vecfor_rpp program~volatile_doctest~70 volatile_doctest program~volatile_doctest~70->module~vecfor_rpp program~volatile_doctest~102 volatile_doctest program~volatile_doctest~102->module~vecfor_rpp program~volatile_doctest~154 volatile_doctest program~volatile_doctest~154->module~vecfor_rpp program~volatile_doctest~186 volatile_doctest program~volatile_doctest~186->module~vecfor_rpp program~volatile_doctest~29 volatile_doctest program~volatile_doctest~29->module~vecfor_rpp program~volatile_doctest~49 volatile_doctest program~volatile_doctest~49->module~vecfor_rpp program~volatile_doctest~81 volatile_doctest program~volatile_doctest~81->module~vecfor_rpp program~volatile_doctest~113 volatile_doctest program~volatile_doctest~113->module~vecfor_rpp program~volatile_doctest~133 volatile_doctest program~volatile_doctest~133->module~vecfor_rpp program~volatile_doctest~165 volatile_doctest program~volatile_doctest~165->module~vecfor_rpp program~volatile_doctest~8 volatile_doctest program~volatile_doctest~8->module~vecfor_rpp program~volatile_doctest~40 volatile_doctest program~volatile_doctest~40->module~vecfor_rpp program~volatile_doctest~60 volatile_doctest program~volatile_doctest~60->module~vecfor_rpp program~volatile_doctest~92 volatile_doctest program~volatile_doctest~92->module~vecfor_rpp program~volatile_doctest~124 volatile_doctest program~volatile_doctest~124->module~vecfor_rpp program~volatile_doctest~144 volatile_doctest program~volatile_doctest~144->module~vecfor_rpp program~volatile_doctest~176 volatile_doctest program~volatile_doctest~176->module~vecfor_rpp program~volatile_doctest~19 volatile_doctest program~volatile_doctest~19->module~vecfor_rpp program~volatile_doctest~71 volatile_doctest program~volatile_doctest~71->module~vecfor_rpp program~volatile_doctest~103 volatile_doctest program~volatile_doctest~103->module~vecfor_rpp program~volatile_doctest~155 volatile_doctest program~volatile_doctest~155->module~vecfor_rpp program~volatile_doctest~187 volatile_doctest program~volatile_doctest~187->module~vecfor_rpp program~volatile_doctest~30 volatile_doctest program~volatile_doctest~30->module~vecfor_rpp program~volatile_doctest~50 volatile_doctest program~volatile_doctest~50->module~vecfor_rpp program~volatile_doctest~82 volatile_doctest program~volatile_doctest~82->module~vecfor_rpp program~volatile_doctest~114 volatile_doctest program~volatile_doctest~114->module~vecfor_rpp program~volatile_doctest~134 volatile_doctest program~volatile_doctest~134->module~vecfor_rpp program~volatile_doctest~166 volatile_doctest program~volatile_doctest~166->module~vecfor_rpp program~volatile_doctest~9 volatile_doctest program~volatile_doctest~9->module~vecfor_rpp program~volatile_doctest~41 volatile_doctest program~volatile_doctest~41->module~vecfor_rpp program~volatile_doctest~61 volatile_doctest program~volatile_doctest~61->module~vecfor_rpp program~volatile_doctest~93 volatile_doctest program~volatile_doctest~93->module~vecfor_rpp program~volatile_doctest~125 volatile_doctest program~volatile_doctest~125->module~vecfor_rpp program~volatile_doctest~145 volatile_doctest program~volatile_doctest~145->module~vecfor_rpp program~volatile_doctest~177 volatile_doctest program~volatile_doctest~177->module~vecfor_rpp program~volatile_doctest~20 volatile_doctest program~volatile_doctest~20->module~vecfor_rpp program~volatile_doctest~72 volatile_doctest program~volatile_doctest~72->module~vecfor_rpp program~volatile_doctest~104 volatile_doctest program~volatile_doctest~104->module~vecfor_rpp program~volatile_doctest~156 volatile_doctest program~volatile_doctest~156->module~vecfor_rpp program~volatile_doctest~188 volatile_doctest program~volatile_doctest~188->module~vecfor_rpp program~volatile_doctest~31 volatile_doctest program~volatile_doctest~31->module~vecfor_rpp program~volatile_doctest~51 volatile_doctest program~volatile_doctest~51->module~vecfor_rpp program~volatile_doctest~83 volatile_doctest program~volatile_doctest~83->module~vecfor_rpp program~volatile_doctest~115 volatile_doctest program~volatile_doctest~115->module~vecfor_rpp program~volatile_doctest~135 volatile_doctest program~volatile_doctest~135->module~vecfor_rpp program~volatile_doctest~167 volatile_doctest program~volatile_doctest~167->module~vecfor_rpp program~volatile_doctest~10 volatile_doctest program~volatile_doctest~10->module~vecfor_rpp program~volatile_doctest~42 volatile_doctest program~volatile_doctest~42->module~vecfor_rpp program~volatile_doctest~62 volatile_doctest program~volatile_doctest~62->module~vecfor_rpp program~volatile_doctest~94 volatile_doctest program~volatile_doctest~94->module~vecfor_rpp program~volatile_doctest~126 volatile_doctest program~volatile_doctest~126->module~vecfor_rpp program~volatile_doctest~146 volatile_doctest program~volatile_doctest~146->module~vecfor_rpp program~volatile_doctest~178 volatile_doctest program~volatile_doctest~178->module~vecfor_rpp program~volatile_doctest~21 volatile_doctest program~volatile_doctest~21->module~vecfor_rpp program~volatile_doctest~73 volatile_doctest program~volatile_doctest~73->module~vecfor_rpp program~volatile_doctest~105 volatile_doctest program~volatile_doctest~105->module~vecfor_rpp program~volatile_doctest~157 volatile_doctest program~volatile_doctest~157->module~vecfor_rpp program~volatile_doctest~189 volatile_doctest program~volatile_doctest~189->module~vecfor_rpp program~volatile_doctest~32 volatile_doctest program~volatile_doctest~32->module~vecfor_rpp program~volatile_doctest~52 volatile_doctest program~volatile_doctest~52->module~vecfor_rpp program~volatile_doctest~84 volatile_doctest program~volatile_doctest~84->module~vecfor_rpp program~volatile_doctest~116 volatile_doctest program~volatile_doctest~116->module~vecfor_rpp program~volatile_doctest~136 volatile_doctest program~volatile_doctest~136->module~vecfor_rpp program~volatile_doctest~168 volatile_doctest program~volatile_doctest~168->module~vecfor_rpp 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 crossproduct distance_to_line distance_to_plane distance_vectorial_to_plane dotproduct face_normal3 face_normal4 iolen is_collinear is_concyclic matrixproduct mirror_matrix negative normL2 normalized orthogonal parallel positive projection_onto_plane rotation_matrix sq_norm 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), public, parameter:: ex =vector(1._RPP, 0._RPP, 0._RPP)

X direction versor.

type(vector), public, parameter:: ey =vector(0._RPP, 1._RPP, 0._RPP)

Y direction versor.

type(vector), public, parameter:: ez =vector(0._RPP, 0._RPP, 1._RPP)

Z direction versor.


Derived Types

type, public :: vector

Vector class.

Components

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

Cartesian component in x direction.

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

Cartesian component in y direction.

real(kind=R8P), 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

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

Return the distance (scalar) to line.

procedure, public, pass(self) :: distance_to_plane

Return the distance (signed, scalar) to plane.

procedure, public, pass(self) :: distance_vectorial_to_plane

Return the distance (vectorial) to plane.

procedure, public, pass(lhs) :: dotproduct

Compute the scalar (dot) product.

procedure, public, nopass :: face_normal3

Return the normal of the face.

procedure, public, nopass :: face_normal4

Return the normal of the face.

procedure, public, pass(self) :: iolen

Compute IO length.

procedure, public, pass(self) :: is_collinear

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

procedure, public, pass(self) :: is_concyclic

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

Return the norm L2 of vector.

procedure, public, pass(self) :: normalize

Normalize a vector.

procedure, public, pass(self) :: normalized

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

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

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), 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), 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), 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), 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), 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), 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), 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), 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), 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), 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), 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), 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), 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), 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), 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), 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), 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), 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), 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), 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), 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), 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), 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), 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), 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), 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), 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), 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), 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), 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), 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), 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), 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), 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), 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

Operator result.

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

Calculate the angle (rad) between two vectors.

Read more…

Arguments

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

The first vector.

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

Other vector.

Return Value real(kind=R8P)

Angle between vectors, in radians.

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

Compute the cross product.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Cross product vector.

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

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

Read more…

Arguments

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

The point from which computing the distance.

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

First line point.

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

Second line point.

Return Value real(kind=R8P)

Face normal.

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

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

Read more…

Arguments

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

The point from which computing the distance.

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

First plane point.

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

Second plane point.

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

Third plane point.

Return Value real(kind=R8P)

Face normal.

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

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

Read more…

Arguments

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

The point from which computing the distance.

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

First plane point.

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

Second plane point.

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

Third plane point.

Return Value type(vector)

Face normal.

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

Compute the scalar (dot) product.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value real(kind=R8P)

Dot product.

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

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

Read more…

Arguments

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

First face point.

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

Second face point.

type(vector), 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)

Face normal.

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

Calculate the normal of the face defined by 4 points.

Read more…

Arguments

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

First face point.

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

Second face point.

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

Third face point.

type(vector), 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)

Face normal.

public function iolen(self) result(iolen_)

Compute IO length.

Read more…

Arguments

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

Vector.

Return Value integer(kind=I4P)

IO length.

public elemental function is_collinear(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), intent(in) :: self

Vector.

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

First line point.

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

Second line point.

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

Tolerance for collinearity check.

Return Value logical

Inquire result.

public elemental function is_concyclic(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), intent(in) :: self

Vector.

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

First arc point.

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

Second arc point.

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

Third arc point.

real(kind=R8P), 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=R8P), intent(in) :: lhs(3,3)

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

public pure function mirror_matrix(normal) result(matrix)

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

Arguments

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

Normal of mirroring plane.

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

Rotation matrix.

private elemental function negative(rhs) result(opr)

Operator - unary.

Read more…

Arguments

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

Right hand side.

Return Value type(vector)

Operator result.

public elemental function normL2(self) result(norm)

Return the norm L2 of vector.

Read more…

Arguments

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

Vector.

Return Value real(kind=R8P)

Norm L2.

public elemental function normalized(self) result(norm)

Return a normalized copy of vector.

Read more…

Arguments

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

Vector.

Return Value type(vector)

Normalized copy.

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

Compute the component of lhs orthogonal to rhs.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Component of of lhs orthogonal to rhs.

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

Arguments

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

Compute the component of lhs parallel to rhs.

 type(vector) :: pt(0:2)
 pt(1) = 2 * ex + 3 * ey
 pt(2) = ex
 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), intent(in) :: rhs

Right hand side.

Return Value type(vector)

Component of of lhs parallel to rhs.

private elemental function positive(rhs) result(opr)

Operator + unary.

Read more…

Arguments

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

Right hand side.

Return Value type(vector)

Operator result.

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

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

Read more…

Arguments

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

The point from which computing the distance.

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

First plane point.

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

Second plane point.

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

Third plane point.

Return Value type(vector)

Point projection.

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

Return the rotation matrix given axis and angle of ratation.

Read more…

Arguments

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

Axis of ratation.

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

Angle of ratation.

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

Rotation matrix.

public elemental function sq_norm(self) result(sq)

Return the square of the norm of vector.

Read more…

Arguments

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

Vector.

Return Value real(kind=R8P)

Square of the Norm.

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

Operator / integer(I1P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator / integer(I2P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator / integer(I4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator / integer(I8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator / real(R16P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator / real(R4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator / real(R8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator /.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator == integer(I1P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector), 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), 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), 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), 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), 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), 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), 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), intent(in) :: lhs

Left hand side.

type(vector), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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), intent(in) :: lhs

Left hand side.

type(vector), 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), intent(in) :: lhs

Left hand side.

type(vector), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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), intent(in) :: lhs

Left hand side.

type(vector), 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), intent(in) :: lhs

Left hand side.

type(vector), 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), intent(in) :: lhs

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator * integer(I2P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator * integer(I4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator * integer(I8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator * real(R16P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator * real(R4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator * real(R8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator *.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator /= integer(I1P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector), 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), 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), 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), 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), 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), 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), 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), intent(in) :: lhs

Left hand side.

type(vector), 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), intent(in) :: lhs

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator - integer(I2P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator - integer(I4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator - integer(I8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator - real(R16P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator - real(R4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator - real(R8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator -.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator + integer(I1P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator + integer(I2P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator + integer(I4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator + integer(I8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator + real(R16P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator + real(R4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator + real(R8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.

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

Operator +.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector)

Operator result.


Subroutines

private elemental subroutine assign_I1P(lhs, rhs)

Operator = integer(I4P).

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector), 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), 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), 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), 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), 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), 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), 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), intent(inout) :: lhs

Left hand side.

type(vector), 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), 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), intent(inout) :: self

Vector.

real(kind=R8P), 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), intent(inout) :: self

Vector.

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

Normal of mirroring plane.

private elemental subroutine normalize(self)

Normalize vector.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(vector), 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), 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), intent(inout) :: self

Vector.

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

Axis of rotation.

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

Angle of rotation.

private pure subroutine rotate_by_matrix(self, matrix)

Rotate vector given matrix (of ratation).

Arguments

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

Vector.

real(kind=R8P), 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), 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.