vecfor_R8P Module

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


Uses

  • module~~vecfor_r8p~~UsesGraph module~vecfor_r8p vecfor_R8P iso_fortran_env iso_fortran_env module~vecfor_r8p->iso_fortran_env module~penf penf module~vecfor_r8p->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_r8p~~UsedByGraph module~vecfor_r8p vecfor_R8P program~volatile_doctest~231 volatile_doctest program~volatile_doctest~231->module~vecfor_r8p program~volatile_doctest~263 volatile_doctest program~volatile_doctest~263->module~vecfor_r8p program~volatile_doctest~347 volatile_doctest program~volatile_doctest~347->module~vecfor_r8p program~volatile_doctest~315 volatile_doctest program~volatile_doctest~315->module~vecfor_r8p program~volatile_doctest~190 volatile_doctest program~volatile_doctest~190->module~vecfor_r8p program~volatile_doctest~242 volatile_doctest program~volatile_doctest~242->module~vecfor_r8p program~volatile_doctest~274 volatile_doctest program~volatile_doctest~274->module~vecfor_r8p program~volatile_doctest~326 volatile_doctest program~volatile_doctest~326->module~vecfor_r8p program~volatile_doctest~358 volatile_doctest program~volatile_doctest~358->module~vecfor_r8p program~volatile_doctest~201 volatile_doctest program~volatile_doctest~201->module~vecfor_r8p program~volatile_doctest~221 volatile_doctest program~volatile_doctest~221->module~vecfor_r8p program~volatile_doctest~253 volatile_doctest program~volatile_doctest~253->module~vecfor_r8p program~volatile_doctest~285 volatile_doctest program~volatile_doctest~285->module~vecfor_r8p program~volatile_doctest~305 volatile_doctest program~volatile_doctest~305->module~vecfor_r8p program~volatile_doctest~337 volatile_doctest program~volatile_doctest~337->module~vecfor_r8p program~volatile_doctest~369 volatile_doctest program~volatile_doctest~369->module~vecfor_r8p program~volatile_doctest~232 volatile_doctest program~volatile_doctest~232->module~vecfor_r8p program~volatile_doctest~264 volatile_doctest program~volatile_doctest~264->module~vecfor_r8p program~volatile_doctest~316 volatile_doctest program~volatile_doctest~316->module~vecfor_r8p program~volatile_doctest~348 volatile_doctest program~volatile_doctest~348->module~vecfor_r8p program~volatile_doctest~191 volatile_doctest program~volatile_doctest~191->module~vecfor_r8p program~volatile_doctest~211 volatile_doctest program~volatile_doctest~211->module~vecfor_r8p program~volatile_doctest~243 volatile_doctest program~volatile_doctest~243->module~vecfor_r8p program~volatile_doctest~275 volatile_doctest program~volatile_doctest~275->module~vecfor_r8p program~volatile_doctest~295 volatile_doctest program~volatile_doctest~295->module~vecfor_r8p program~volatile_doctest~327 volatile_doctest program~volatile_doctest~327->module~vecfor_r8p program~volatile_doctest~359 volatile_doctest program~volatile_doctest~359->module~vecfor_r8p program~volatile_doctest~202 volatile_doctest program~volatile_doctest~202->module~vecfor_r8p program~volatile_doctest~222 volatile_doctest program~volatile_doctest~222->module~vecfor_r8p program~volatile_doctest~254 volatile_doctest program~volatile_doctest~254->module~vecfor_r8p program~volatile_doctest~286 volatile_doctest program~volatile_doctest~286->module~vecfor_r8p program~volatile_doctest~306 volatile_doctest program~volatile_doctest~306->module~vecfor_r8p program~volatile_doctest~338 volatile_doctest program~volatile_doctest~338->module~vecfor_r8p program~volatile_doctest~370 volatile_doctest program~volatile_doctest~370->module~vecfor_r8p program~volatile_doctest~233 volatile_doctest program~volatile_doctest~233->module~vecfor_r8p program~volatile_doctest~265 volatile_doctest program~volatile_doctest~265->module~vecfor_r8p program~volatile_doctest~317 volatile_doctest program~volatile_doctest~317->module~vecfor_r8p program~volatile_doctest~349 volatile_doctest program~volatile_doctest~349->module~vecfor_r8p program~volatile_doctest~192 volatile_doctest program~volatile_doctest~192->module~vecfor_r8p program~volatile_doctest~212 volatile_doctest program~volatile_doctest~212->module~vecfor_r8p program~volatile_doctest~244 volatile_doctest program~volatile_doctest~244->module~vecfor_r8p program~volatile_doctest~276 volatile_doctest program~volatile_doctest~276->module~vecfor_r8p program~volatile_doctest~296 volatile_doctest program~volatile_doctest~296->module~vecfor_r8p program~volatile_doctest~328 volatile_doctest program~volatile_doctest~328->module~vecfor_r8p program~volatile_doctest~360 volatile_doctest program~volatile_doctest~360->module~vecfor_r8p program~volatile_doctest~203 volatile_doctest program~volatile_doctest~203->module~vecfor_r8p program~volatile_doctest~223 volatile_doctest program~volatile_doctest~223->module~vecfor_r8p program~volatile_doctest~255 volatile_doctest program~volatile_doctest~255->module~vecfor_r8p program~volatile_doctest~287 volatile_doctest program~volatile_doctest~287->module~vecfor_r8p program~volatile_doctest~307 volatile_doctest program~volatile_doctest~307->module~vecfor_r8p program~volatile_doctest~339 volatile_doctest program~volatile_doctest~339->module~vecfor_r8p program~volatile_doctest~371 volatile_doctest program~volatile_doctest~371->module~vecfor_r8p program~volatile_doctest~234 volatile_doctest program~volatile_doctest~234->module~vecfor_r8p program~volatile_doctest~266 volatile_doctest program~volatile_doctest~266->module~vecfor_r8p program~volatile_doctest~318 volatile_doctest program~volatile_doctest~318->module~vecfor_r8p program~volatile_doctest~350 volatile_doctest program~volatile_doctest~350->module~vecfor_r8p program~volatile_doctest~277 volatile_doctest program~volatile_doctest~277->module~vecfor_r8p program~volatile_doctest~361 volatile_doctest program~volatile_doctest~361->module~vecfor_r8p program~volatile_doctest~193 volatile_doctest program~volatile_doctest~193->module~vecfor_r8p program~volatile_doctest~213 volatile_doctest program~volatile_doctest~213->module~vecfor_r8p program~volatile_doctest~245 volatile_doctest program~volatile_doctest~245->module~vecfor_r8p program~volatile_doctest~297 volatile_doctest program~volatile_doctest~297->module~vecfor_r8p program~volatile_doctest~329 volatile_doctest program~volatile_doctest~329->module~vecfor_r8p program~volatile_doctest~204 volatile_doctest program~volatile_doctest~204->module~vecfor_r8p program~volatile_doctest~224 volatile_doctest program~volatile_doctest~224->module~vecfor_r8p program~volatile_doctest~256 volatile_doctest program~volatile_doctest~256->module~vecfor_r8p program~volatile_doctest~288 volatile_doctest program~volatile_doctest~288->module~vecfor_r8p program~volatile_doctest~308 volatile_doctest program~volatile_doctest~308->module~vecfor_r8p program~volatile_doctest~340 volatile_doctest program~volatile_doctest~340->module~vecfor_r8p program~volatile_doctest~372 volatile_doctest program~volatile_doctest~372->module~vecfor_r8p program~volatile_doctest~351 volatile_doctest program~volatile_doctest~351->module~vecfor_r8p program~volatile_doctest~235 volatile_doctest program~volatile_doctest~235->module~vecfor_r8p program~volatile_doctest~267 volatile_doctest program~volatile_doctest~267->module~vecfor_r8p program~volatile_doctest~319 volatile_doctest program~volatile_doctest~319->module~vecfor_r8p program~volatile_doctest~246 volatile_doctest program~volatile_doctest~246->module~vecfor_r8p program~volatile_doctest~194 volatile_doctest program~volatile_doctest~194->module~vecfor_r8p program~volatile_doctest~214 volatile_doctest program~volatile_doctest~214->module~vecfor_r8p program~volatile_doctest~278 volatile_doctest program~volatile_doctest~278->module~vecfor_r8p program~volatile_doctest~298 volatile_doctest program~volatile_doctest~298->module~vecfor_r8p program~volatile_doctest~330 volatile_doctest program~volatile_doctest~330->module~vecfor_r8p program~volatile_doctest~362 volatile_doctest program~volatile_doctest~362->module~vecfor_r8p program~volatile_doctest~205 volatile_doctest program~volatile_doctest~205->module~vecfor_r8p program~volatile_doctest~225 volatile_doctest program~volatile_doctest~225->module~vecfor_r8p program~volatile_doctest~257 volatile_doctest program~volatile_doctest~257->module~vecfor_r8p program~volatile_doctest~289 volatile_doctest program~volatile_doctest~289->module~vecfor_r8p program~volatile_doctest~309 volatile_doctest program~volatile_doctest~309->module~vecfor_r8p program~volatile_doctest~341 volatile_doctest program~volatile_doctest~341->module~vecfor_r8p program~volatile_doctest~373 volatile_doctest program~volatile_doctest~373->module~vecfor_r8p program~volatile_doctest~236 volatile_doctest program~volatile_doctest~236->module~vecfor_r8p program~volatile_doctest~268 volatile_doctest program~volatile_doctest~268->module~vecfor_r8p program~volatile_doctest~320 volatile_doctest program~volatile_doctest~320->module~vecfor_r8p program~volatile_doctest~352 volatile_doctest program~volatile_doctest~352->module~vecfor_r8p program~volatile_doctest~195 volatile_doctest program~volatile_doctest~195->module~vecfor_r8p program~volatile_doctest~215 volatile_doctest program~volatile_doctest~215->module~vecfor_r8p program~volatile_doctest~247 volatile_doctest program~volatile_doctest~247->module~vecfor_r8p program~volatile_doctest~279 volatile_doctest program~volatile_doctest~279->module~vecfor_r8p program~volatile_doctest~299 volatile_doctest program~volatile_doctest~299->module~vecfor_r8p program~volatile_doctest~331 volatile_doctest program~volatile_doctest~331->module~vecfor_r8p program~volatile_doctest~363 volatile_doctest program~volatile_doctest~363->module~vecfor_r8p program~volatile_doctest~206 volatile_doctest program~volatile_doctest~206->module~vecfor_r8p program~volatile_doctest~226 volatile_doctest program~volatile_doctest~226->module~vecfor_r8p program~volatile_doctest~258 volatile_doctest program~volatile_doctest~258->module~vecfor_r8p program~volatile_doctest~290 volatile_doctest program~volatile_doctest~290->module~vecfor_r8p program~volatile_doctest~310 volatile_doctest program~volatile_doctest~310->module~vecfor_r8p program~volatile_doctest~342 volatile_doctest program~volatile_doctest~342->module~vecfor_r8p program~volatile_doctest~374 volatile_doctest program~volatile_doctest~374->module~vecfor_r8p program~volatile_doctest~237 volatile_doctest program~volatile_doctest~237->module~vecfor_r8p program~volatile_doctest~269 volatile_doctest program~volatile_doctest~269->module~vecfor_r8p program~volatile_doctest~321 volatile_doctest program~volatile_doctest~321->module~vecfor_r8p program~volatile_doctest~353 volatile_doctest program~volatile_doctest~353->module~vecfor_r8p module~vecfor vecfor module~vecfor->module~vecfor_r8p program~volatile_doctest~196 volatile_doctest program~volatile_doctest~196->module~vecfor_r8p program~volatile_doctest~216 volatile_doctest program~volatile_doctest~216->module~vecfor_r8p program~volatile_doctest~248 volatile_doctest program~volatile_doctest~248->module~vecfor_r8p program~volatile_doctest~280 volatile_doctest program~volatile_doctest~280->module~vecfor_r8p program~volatile_doctest~300 volatile_doctest program~volatile_doctest~300->module~vecfor_r8p program~volatile_doctest~332 volatile_doctest program~volatile_doctest~332->module~vecfor_r8p program~volatile_doctest~364 volatile_doctest program~volatile_doctest~364->module~vecfor_r8p program~volatile_doctest~207 volatile_doctest program~volatile_doctest~207->module~vecfor_r8p program~volatile_doctest~227 volatile_doctest program~volatile_doctest~227->module~vecfor_r8p program~volatile_doctest~259 volatile_doctest program~volatile_doctest~259->module~vecfor_r8p program~volatile_doctest~291 volatile_doctest program~volatile_doctest~291->module~vecfor_r8p program~volatile_doctest~311 volatile_doctest program~volatile_doctest~311->module~vecfor_r8p program~volatile_doctest~343 volatile_doctest program~volatile_doctest~343->module~vecfor_r8p program~volatile_doctest~375 volatile_doctest program~volatile_doctest~375->module~vecfor_r8p program~volatile_doctest~238 volatile_doctest program~volatile_doctest~238->module~vecfor_r8p program~volatile_doctest~270 volatile_doctest program~volatile_doctest~270->module~vecfor_r8p program~volatile_doctest~322 volatile_doctest program~volatile_doctest~322->module~vecfor_r8p program~volatile_doctest~354 volatile_doctest program~volatile_doctest~354->module~vecfor_r8p program~volatile_doctest~197 volatile_doctest program~volatile_doctest~197->module~vecfor_r8p program~volatile_doctest~217 volatile_doctest program~volatile_doctest~217->module~vecfor_r8p program~volatile_doctest~249 volatile_doctest program~volatile_doctest~249->module~vecfor_r8p program~volatile_doctest~281 volatile_doctest program~volatile_doctest~281->module~vecfor_r8p program~volatile_doctest~301 volatile_doctest program~volatile_doctest~301->module~vecfor_r8p program~volatile_doctest~333 volatile_doctest program~volatile_doctest~333->module~vecfor_r8p program~volatile_doctest~365 volatile_doctest program~volatile_doctest~365->module~vecfor_r8p program~volatile_doctest~208 volatile_doctest program~volatile_doctest~208->module~vecfor_r8p program~volatile_doctest~228 volatile_doctest program~volatile_doctest~228->module~vecfor_r8p program~volatile_doctest~260 volatile_doctest program~volatile_doctest~260->module~vecfor_r8p program~volatile_doctest~292 volatile_doctest program~volatile_doctest~292->module~vecfor_r8p program~volatile_doctest~312 volatile_doctest program~volatile_doctest~312->module~vecfor_r8p program~volatile_doctest~344 volatile_doctest program~volatile_doctest~344->module~vecfor_r8p program~volatile_doctest~376 volatile_doctest program~volatile_doctest~376->module~vecfor_r8p program~volatile_doctest~239 volatile_doctest program~volatile_doctest~239->module~vecfor_r8p program~volatile_doctest~271 volatile_doctest program~volatile_doctest~271->module~vecfor_r8p program~volatile_doctest~323 volatile_doctest program~volatile_doctest~323->module~vecfor_r8p program~volatile_doctest~355 volatile_doctest program~volatile_doctest~355->module~vecfor_r8p program~volatile_doctest~198 volatile_doctest program~volatile_doctest~198->module~vecfor_r8p program~volatile_doctest~218 volatile_doctest program~volatile_doctest~218->module~vecfor_r8p program~volatile_doctest~250 volatile_doctest program~volatile_doctest~250->module~vecfor_r8p program~volatile_doctest~282 volatile_doctest program~volatile_doctest~282->module~vecfor_r8p program~volatile_doctest~302 volatile_doctest program~volatile_doctest~302->module~vecfor_r8p program~volatile_doctest~334 volatile_doctest program~volatile_doctest~334->module~vecfor_r8p program~volatile_doctest~366 volatile_doctest program~volatile_doctest~366->module~vecfor_r8p program~volatile_doctest~209 volatile_doctest program~volatile_doctest~209->module~vecfor_r8p program~volatile_doctest~229 volatile_doctest program~volatile_doctest~229->module~vecfor_r8p program~volatile_doctest~261 volatile_doctest program~volatile_doctest~261->module~vecfor_r8p program~volatile_doctest~293 volatile_doctest program~volatile_doctest~293->module~vecfor_r8p program~volatile_doctest~313 volatile_doctest program~volatile_doctest~313->module~vecfor_r8p program~volatile_doctest~345 volatile_doctest program~volatile_doctest~345->module~vecfor_r8p program~volatile_doctest~377 volatile_doctest program~volatile_doctest~377->module~vecfor_r8p program~volatile_doctest~240 volatile_doctest program~volatile_doctest~240->module~vecfor_r8p program~volatile_doctest~272 volatile_doctest program~volatile_doctest~272->module~vecfor_r8p program~volatile_doctest~324 volatile_doctest program~volatile_doctest~324->module~vecfor_r8p program~volatile_doctest~356 volatile_doctest program~volatile_doctest~356->module~vecfor_r8p program~volatile_doctest~199 volatile_doctest program~volatile_doctest~199->module~vecfor_r8p program~volatile_doctest~219 volatile_doctest program~volatile_doctest~219->module~vecfor_r8p program~volatile_doctest~251 volatile_doctest program~volatile_doctest~251->module~vecfor_r8p program~volatile_doctest~283 volatile_doctest program~volatile_doctest~283->module~vecfor_r8p program~volatile_doctest~303 volatile_doctest program~volatile_doctest~303->module~vecfor_r8p program~volatile_doctest~335 volatile_doctest program~volatile_doctest~335->module~vecfor_r8p program~volatile_doctest~367 volatile_doctest program~volatile_doctest~367->module~vecfor_r8p program~volatile_doctest~210 volatile_doctest program~volatile_doctest~210->module~vecfor_r8p program~volatile_doctest~230 volatile_doctest program~volatile_doctest~230->module~vecfor_r8p program~volatile_doctest~262 volatile_doctest program~volatile_doctest~262->module~vecfor_r8p program~volatile_doctest~294 volatile_doctest program~volatile_doctest~294->module~vecfor_r8p program~volatile_doctest~314 volatile_doctest program~volatile_doctest~314->module~vecfor_r8p program~volatile_doctest~346 volatile_doctest program~volatile_doctest~346->module~vecfor_r8p program~volatile_doctest~378 volatile_doctest program~volatile_doctest~378->module~vecfor_r8p program~volatile_doctest~241 volatile_doctest program~volatile_doctest~241->module~vecfor_r8p program~volatile_doctest~273 volatile_doctest program~volatile_doctest~273->module~vecfor_r8p program~volatile_doctest~325 volatile_doctest program~volatile_doctest~325->module~vecfor_r8p program~volatile_doctest~357 volatile_doctest program~volatile_doctest~357->module~vecfor_r8p program~volatile_doctest~200 volatile_doctest program~volatile_doctest~200->module~vecfor_r8p program~volatile_doctest~220 volatile_doctest program~volatile_doctest~220->module~vecfor_r8p program~volatile_doctest~252 volatile_doctest program~volatile_doctest~252->module~vecfor_r8p program~volatile_doctest~284 volatile_doctest program~volatile_doctest~284->module~vecfor_r8p program~volatile_doctest~304 volatile_doctest program~volatile_doctest~304->module~vecfor_r8p program~volatile_doctest~336 volatile_doctest program~volatile_doctest~336->module~vecfor_r8p program~volatile_doctest~368 volatile_doctest program~volatile_doctest~368->module~vecfor_r8p 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_R8P crossproduct distance_to_line_R8P distance_to_plane_R8P distance_vectorial_to_plane_R8P dotproduct face_normal3_R8P face_normal4_R8P iolen_R8P is_collinear_R8P is_concyclic_R8P matrixproduct mirror_matrix_R8P negative normL2_R8P normalized_R8P orthogonal parallel positive projection_onto_plane_R8P rotation_matrix_R8P sq_norm_R8P 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_R8P), public, parameter:: ex_R8P =vector_R8P(1._RPP, 0._RPP, 0._RPP)

X direction versor.

type(vector_R8P), public, parameter:: ey_R8P =vector_R8P(0._RPP, 1._RPP, 0._RPP)

Y direction versor.

type(vector_R8P), public, parameter:: ez_R8P =vector_R8P(0._RPP, 0._RPP, 1._RPP)

Z direction versor.


Derived Types

type, public :: vector_R8P

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 => angle_R8P

Return the angle (rad) between two vectors.

procedure, private, pass(lhs) :: assign_I1P

Operator = integer(I1P).

procedure, private, pass(lhs) :: assign_I2P

Operator = integer(I2P).

procedure, private, pass(lhs) :: assign_I4P

Operator = integer(I4P).

procedure, private, pass(lhs) :: assign_I8P

Operator = integer(I8P).

procedure, private, pass(lhs) :: assign_R16P

Operator = real(R16P).

procedure, private, pass(lhs) :: assign_R4P

Operator = real(R4P).

procedure, private, pass(lhs) :: assign_R8P

Operator = real(R8P).

procedure, private, pass(lhs) :: assign_vector

Operator =.

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

Overloading =.

procedure, public, pass(lhs) :: crossproduct

Compute the cross product.

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

Return the distance (scalar) to line.

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

Return the distance (signed, scalar) to plane.

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

Return the distance (vectorial) to plane.

procedure, public, pass(lhs) :: dotproduct

Compute the scalar (dot) product.

procedure, public, nopass :: face_normal3 => face_normal3_R8P

Return the normal of the face.

procedure, public, nopass :: face_normal4 => face_normal4_R8P

Return the normal of the face.

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

Compute IO length.

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

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

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

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

procedure, public, pass(self) :: load_from_file

Load vector from file.

procedure, public, pass(rhs) :: matrixproduct

Compute the matrix product.

generic, public :: mirror => mirror_by_normal, mirror_by_matrix

Mirror vector.

procedure, private, pass(self) :: mirror_by_matrix

Mirror vector given matrix.

procedure, private, pass(self) :: mirror_by_normal

Mirror vector given normal of mirroring plane.

procedure, private, pass(rhs) :: negative

Operator -, unary.

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

Return the norm L2 of vector.

procedure, public, pass(self) :: normalize

Normalize a vector.

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

Return a normalized copy of vector.

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

Overloading *.

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

Overloading +.

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

Overloading -.

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

Cross product operator.

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

Scalar (dot) product operator.

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

Matrix product operator.

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

Component of lhs orthogonal to rhs operator.

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

Component of lhs parallel to rhs operator.

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

Overloading /.

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

Overloading /=.

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

Overloading <.

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

Overloading <=.

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

Overloading ==.

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

Overloading >.

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

Overloading >=.

procedure, public, pass(lhs) :: orthogonal

Compute the component of lhs orthogonal to rhs.

procedure, public, pass(lhs) :: parallel

Compute the component of lhs parallel to rhs.

procedure, private, pass(rhs) :: positive

Operator +, unary.

procedure, public, pass(self) :: printf

Print vector components with a “pretty” format.

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

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

generic, public :: rotate => rotate_by_axis_angle, rotate_by_matrix

Rotate vector.

procedure, private, pass(self) :: rotate_by_axis_angle

Rotate vector given axis and angle.

procedure, private, pass(self) :: rotate_by_matrix

Rotate vector given matrix.

procedure, public, pass(self) :: save_into_file

Save vector into file.

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

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Calculate the angle (rad) between two vectors.

Read more…

Arguments

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

The first vector.

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Cross product vector.

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

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

Read more…

Arguments

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

The point from which computing the distance.

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

First line point.

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

Second line point.

Return Value real(kind=R8P)

Face normal.

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

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

Read more…

Arguments

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

The point from which computing the distance.

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

First plane point.

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

Second plane point.

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

Third plane point.

Return Value real(kind=R8P)

Face normal.

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

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

Read more…

Arguments

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

The point from which computing the distance.

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

First plane point.

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

Second plane point.

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

Third plane point.

Return Value type(vector_R8P)

Face normal.

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

Compute the scalar (dot) product.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value real(kind=R8P)

Dot product.

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

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

Read more…

Arguments

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

First face point.

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

Second face point.

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

Face normal.

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

Calculate the normal of the face defined by 4 points.

Read more…

Arguments

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

First face point.

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

Second face point.

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

Third face point.

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

Face normal.

public function iolen_R8P(self) result(iolen_)

Compute IO length.

Read more…

Arguments

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

Vector.

Return Value integer(kind=I4P)

IO length.

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

Vector.

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

First line point.

type(vector_R8P), 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_R8P(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_R8P), intent(in) :: self

Vector.

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

First arc point.

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

Second arc point.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

public pure function mirror_matrix_R8P(normal) result(matrix)

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

Arguments

TypeIntentOptionalAttributesName
type(vector_R8P), 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_R8P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R8P)

Operator result.

public elemental function normL2_R8P(self) result(norm)

Return the norm L2 of vector.

Read more…

Arguments

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

Vector.

Return Value real(kind=R8P)

Norm L2.

public elemental function normalized_R8P(self) result(norm)

Return a normalized copy of vector.

Read more…

Arguments

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

Vector.

Return Value type(vector_R8P)

Normalized copy.

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

Compute the component of lhs orthogonal to rhs.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Component of of lhs orthogonal to rhs.

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

Arguments

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

Compute the component of lhs parallel to rhs.

 type(vector_R8P) :: pt(0:2)
 pt(1) = 2 * ex_R8P + 3 * ey_R8P
 pt(2) = ex_R8P
 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_R8P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R8P)

Component of of lhs parallel to rhs.

private elemental function positive(rhs) result(opr)

Operator + unary.

Read more…

Arguments

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

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

Read more…

Arguments

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

The point from which computing the distance.

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

First plane point.

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

Second plane point.

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

Third plane point.

Return Value type(vector_R8P)

Point projection.

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

Return the rotation matrix given axis and angle of ratation.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(vector_R8P), 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_R8P(self) result(sq)

Return the square of the norm of vector.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator / integer(I2P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator / integer(I4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator / integer(I8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator / real(R16P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator / real(R4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator / real(R8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator /.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator == integer(I1P).

Read more…

Arguments

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

Left hand side.

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

Left hand side.

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

Left hand side.

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

Left hand side.

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

Left hand side.

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator * integer(I2P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator * integer(I4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator * integer(I8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator * real(R16P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator * real(R4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator * real(R8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator *.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator /= integer(I1P).

Read more…

Arguments

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

Left hand side.

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator - integer(I2P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator - integer(I4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator - integer(I8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator - real(R16P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator - real(R4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator - real(R8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator -.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator + integer(I1P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator + integer(I2P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator + integer(I4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator + integer(I8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator + real(R16P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator + real(R4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator + real(R8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.

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

Operator +.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R8P)

Operator result.


Subroutines

private elemental subroutine assign_I1P(lhs, rhs)

Operator = integer(I4P).

Read more…

Arguments

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

Left hand side.

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

Vector.

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

Normal of mirroring plane.

private elemental subroutine normalize(self)

Normalize vector.

Read more…

Arguments

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

Vector.

type(vector_R8P), 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_R8P), 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_R8P), 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.