vecfor_R4P Module

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


Uses

  • module~~vecfor_r4p~~UsesGraph module~vecfor_r4p vecfor_R4P iso_fortran_env iso_fortran_env module~vecfor_r4p->iso_fortran_env module~penf penf module~vecfor_r4p->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_r4p~~UsedByGraph module~vecfor_r4p vecfor_R4P program~volatile_doctest~399 volatile_doctest program~volatile_doctest~399->module~vecfor_r4p program~volatile_doctest~431 volatile_doctest program~volatile_doctest~431->module~vecfor_r4p program~volatile_doctest~483 volatile_doctest program~volatile_doctest~483->module~vecfor_r4p program~volatile_doctest~515 volatile_doctest program~volatile_doctest~515->module~vecfor_r4p program~volatile_doctest~567 volatile_doctest program~volatile_doctest~567->module~vecfor_r4p program~volatile_doctest~410 volatile_doctest program~volatile_doctest~410->module~vecfor_r4p program~volatile_doctest~442 volatile_doctest program~volatile_doctest~442->module~vecfor_r4p program~volatile_doctest~494 volatile_doctest program~volatile_doctest~494->module~vecfor_r4p program~volatile_doctest~526 volatile_doctest program~volatile_doctest~526->module~vecfor_r4p program~volatile_doctest~389 volatile_doctest program~volatile_doctest~389->module~vecfor_r4p program~volatile_doctest~421 volatile_doctest program~volatile_doctest~421->module~vecfor_r4p program~volatile_doctest~453 volatile_doctest program~volatile_doctest~453->module~vecfor_r4p program~volatile_doctest~473 volatile_doctest program~volatile_doctest~473->module~vecfor_r4p program~volatile_doctest~505 volatile_doctest program~volatile_doctest~505->module~vecfor_r4p program~volatile_doctest~537 volatile_doctest program~volatile_doctest~537->module~vecfor_r4p program~volatile_doctest~557 volatile_doctest program~volatile_doctest~557->module~vecfor_r4p program~volatile_doctest~400 volatile_doctest program~volatile_doctest~400->module~vecfor_r4p program~volatile_doctest~432 volatile_doctest program~volatile_doctest~432->module~vecfor_r4p program~volatile_doctest~484 volatile_doctest program~volatile_doctest~484->module~vecfor_r4p program~volatile_doctest~516 volatile_doctest program~volatile_doctest~516->module~vecfor_r4p program~volatile_doctest~379 volatile_doctest program~volatile_doctest~379->module~vecfor_r4p program~volatile_doctest~411 volatile_doctest program~volatile_doctest~411->module~vecfor_r4p program~volatile_doctest~443 volatile_doctest program~volatile_doctest~443->module~vecfor_r4p program~volatile_doctest~463 volatile_doctest program~volatile_doctest~463->module~vecfor_r4p program~volatile_doctest~495 volatile_doctest program~volatile_doctest~495->module~vecfor_r4p program~volatile_doctest~527 volatile_doctest program~volatile_doctest~527->module~vecfor_r4p program~volatile_doctest~547 volatile_doctest program~volatile_doctest~547->module~vecfor_r4p program~volatile_doctest~390 volatile_doctest program~volatile_doctest~390->module~vecfor_r4p program~volatile_doctest~422 volatile_doctest program~volatile_doctest~422->module~vecfor_r4p program~volatile_doctest~454 volatile_doctest program~volatile_doctest~454->module~vecfor_r4p program~volatile_doctest~474 volatile_doctest program~volatile_doctest~474->module~vecfor_r4p program~volatile_doctest~506 volatile_doctest program~volatile_doctest~506->module~vecfor_r4p program~volatile_doctest~538 volatile_doctest program~volatile_doctest~538->module~vecfor_r4p program~volatile_doctest~558 volatile_doctest program~volatile_doctest~558->module~vecfor_r4p program~volatile_doctest~401 volatile_doctest program~volatile_doctest~401->module~vecfor_r4p program~volatile_doctest~433 volatile_doctest program~volatile_doctest~433->module~vecfor_r4p program~volatile_doctest~485 volatile_doctest program~volatile_doctest~485->module~vecfor_r4p program~volatile_doctest~517 volatile_doctest program~volatile_doctest~517->module~vecfor_r4p program~volatile_doctest~380 volatile_doctest program~volatile_doctest~380->module~vecfor_r4p program~volatile_doctest~412 volatile_doctest program~volatile_doctest~412->module~vecfor_r4p program~volatile_doctest~444 volatile_doctest program~volatile_doctest~444->module~vecfor_r4p program~volatile_doctest~464 volatile_doctest program~volatile_doctest~464->module~vecfor_r4p program~volatile_doctest~496 volatile_doctest program~volatile_doctest~496->module~vecfor_r4p program~volatile_doctest~528 volatile_doctest program~volatile_doctest~528->module~vecfor_r4p program~volatile_doctest~548 volatile_doctest program~volatile_doctest~548->module~vecfor_r4p program~volatile_doctest~391 volatile_doctest program~volatile_doctest~391->module~vecfor_r4p program~volatile_doctest~423 volatile_doctest program~volatile_doctest~423->module~vecfor_r4p program~volatile_doctest~455 volatile_doctest program~volatile_doctest~455->module~vecfor_r4p program~volatile_doctest~475 volatile_doctest program~volatile_doctest~475->module~vecfor_r4p program~volatile_doctest~507 volatile_doctest program~volatile_doctest~507->module~vecfor_r4p program~volatile_doctest~559 volatile_doctest program~volatile_doctest~559->module~vecfor_r4p program~volatile_doctest~539 volatile_doctest program~volatile_doctest~539->module~vecfor_r4p program~volatile_doctest~402 volatile_doctest program~volatile_doctest~402->module~vecfor_r4p program~volatile_doctest~434 volatile_doctest program~volatile_doctest~434->module~vecfor_r4p program~volatile_doctest~486 volatile_doctest program~volatile_doctest~486->module~vecfor_r4p program~volatile_doctest~518 volatile_doctest program~volatile_doctest~518->module~vecfor_r4p program~volatile_doctest~529 volatile_doctest program~volatile_doctest~529->module~vecfor_r4p program~volatile_doctest~381 volatile_doctest program~volatile_doctest~381->module~vecfor_r4p program~volatile_doctest~413 volatile_doctest program~volatile_doctest~413->module~vecfor_r4p program~volatile_doctest~445 volatile_doctest program~volatile_doctest~445->module~vecfor_r4p program~volatile_doctest~465 volatile_doctest program~volatile_doctest~465->module~vecfor_r4p program~volatile_doctest~549 volatile_doctest program~volatile_doctest~549->module~vecfor_r4p program~volatile_doctest~497 volatile_doctest program~volatile_doctest~497->module~vecfor_r4p program~volatile_doctest~560 volatile_doctest program~volatile_doctest~560->module~vecfor_r4p program~volatile_doctest~392 volatile_doctest program~volatile_doctest~392->module~vecfor_r4p program~volatile_doctest~424 volatile_doctest program~volatile_doctest~424->module~vecfor_r4p program~volatile_doctest~456 volatile_doctest program~volatile_doctest~456->module~vecfor_r4p program~volatile_doctest~476 volatile_doctest program~volatile_doctest~476->module~vecfor_r4p program~volatile_doctest~508 volatile_doctest program~volatile_doctest~508->module~vecfor_r4p program~volatile_doctest~540 volatile_doctest program~volatile_doctest~540->module~vecfor_r4p program~volatile_doctest~519 volatile_doctest program~volatile_doctest~519->module~vecfor_r4p program~volatile_doctest~403 volatile_doctest program~volatile_doctest~403->module~vecfor_r4p program~volatile_doctest~435 volatile_doctest program~volatile_doctest~435->module~vecfor_r4p program~volatile_doctest~487 volatile_doctest program~volatile_doctest~487->module~vecfor_r4p program~volatile_doctest~446 volatile_doctest program~volatile_doctest~446->module~vecfor_r4p program~volatile_doctest~382 volatile_doctest program~volatile_doctest~382->module~vecfor_r4p program~volatile_doctest~414 volatile_doctest program~volatile_doctest~414->module~vecfor_r4p program~volatile_doctest~466 volatile_doctest program~volatile_doctest~466->module~vecfor_r4p program~volatile_doctest~498 volatile_doctest program~volatile_doctest~498->module~vecfor_r4p program~volatile_doctest~530 volatile_doctest program~volatile_doctest~530->module~vecfor_r4p program~volatile_doctest~550 volatile_doctest program~volatile_doctest~550->module~vecfor_r4p program~volatile_doctest~393 volatile_doctest program~volatile_doctest~393->module~vecfor_r4p program~volatile_doctest~425 volatile_doctest program~volatile_doctest~425->module~vecfor_r4p program~volatile_doctest~457 volatile_doctest program~volatile_doctest~457->module~vecfor_r4p program~volatile_doctest~477 volatile_doctest program~volatile_doctest~477->module~vecfor_r4p program~volatile_doctest~509 volatile_doctest program~volatile_doctest~509->module~vecfor_r4p program~volatile_doctest~541 volatile_doctest program~volatile_doctest~541->module~vecfor_r4p program~volatile_doctest~561 volatile_doctest program~volatile_doctest~561->module~vecfor_r4p program~volatile_doctest~404 volatile_doctest program~volatile_doctest~404->module~vecfor_r4p program~volatile_doctest~436 volatile_doctest program~volatile_doctest~436->module~vecfor_r4p program~volatile_doctest~488 volatile_doctest program~volatile_doctest~488->module~vecfor_r4p program~volatile_doctest~520 volatile_doctest program~volatile_doctest~520->module~vecfor_r4p program~volatile_doctest~383 volatile_doctest program~volatile_doctest~383->module~vecfor_r4p program~volatile_doctest~415 volatile_doctest program~volatile_doctest~415->module~vecfor_r4p program~volatile_doctest~447 volatile_doctest program~volatile_doctest~447->module~vecfor_r4p program~volatile_doctest~467 volatile_doctest program~volatile_doctest~467->module~vecfor_r4p program~volatile_doctest~499 volatile_doctest program~volatile_doctest~499->module~vecfor_r4p program~volatile_doctest~531 volatile_doctest program~volatile_doctest~531->module~vecfor_r4p program~volatile_doctest~551 volatile_doctest program~volatile_doctest~551->module~vecfor_r4p program~volatile_doctest~394 volatile_doctest program~volatile_doctest~394->module~vecfor_r4p program~volatile_doctest~426 volatile_doctest program~volatile_doctest~426->module~vecfor_r4p program~volatile_doctest~458 volatile_doctest program~volatile_doctest~458->module~vecfor_r4p program~volatile_doctest~478 volatile_doctest program~volatile_doctest~478->module~vecfor_r4p program~volatile_doctest~510 volatile_doctest program~volatile_doctest~510->module~vecfor_r4p program~volatile_doctest~542 volatile_doctest program~volatile_doctest~542->module~vecfor_r4p program~volatile_doctest~562 volatile_doctest program~volatile_doctest~562->module~vecfor_r4p program~volatile_doctest~405 volatile_doctest program~volatile_doctest~405->module~vecfor_r4p program~volatile_doctest~437 volatile_doctest program~volatile_doctest~437->module~vecfor_r4p program~volatile_doctest~489 volatile_doctest program~volatile_doctest~489->module~vecfor_r4p program~volatile_doctest~521 volatile_doctest program~volatile_doctest~521->module~vecfor_r4p module~vecfor vecfor module~vecfor->module~vecfor_r4p program~volatile_doctest~384 volatile_doctest program~volatile_doctest~384->module~vecfor_r4p program~volatile_doctest~416 volatile_doctest program~volatile_doctest~416->module~vecfor_r4p program~volatile_doctest~448 volatile_doctest program~volatile_doctest~448->module~vecfor_r4p program~volatile_doctest~468 volatile_doctest program~volatile_doctest~468->module~vecfor_r4p program~volatile_doctest~500 volatile_doctest program~volatile_doctest~500->module~vecfor_r4p program~volatile_doctest~532 volatile_doctest program~volatile_doctest~532->module~vecfor_r4p program~volatile_doctest~552 volatile_doctest program~volatile_doctest~552->module~vecfor_r4p program~volatile_doctest~395 volatile_doctest program~volatile_doctest~395->module~vecfor_r4p program~volatile_doctest~427 volatile_doctest program~volatile_doctest~427->module~vecfor_r4p program~volatile_doctest~459 volatile_doctest program~volatile_doctest~459->module~vecfor_r4p program~volatile_doctest~479 volatile_doctest program~volatile_doctest~479->module~vecfor_r4p program~volatile_doctest~511 volatile_doctest program~volatile_doctest~511->module~vecfor_r4p program~volatile_doctest~543 volatile_doctest program~volatile_doctest~543->module~vecfor_r4p program~volatile_doctest~563 volatile_doctest program~volatile_doctest~563->module~vecfor_r4p program~volatile_doctest~406 volatile_doctest program~volatile_doctest~406->module~vecfor_r4p program~volatile_doctest~438 volatile_doctest program~volatile_doctest~438->module~vecfor_r4p program~volatile_doctest~490 volatile_doctest program~volatile_doctest~490->module~vecfor_r4p program~volatile_doctest~522 volatile_doctest program~volatile_doctest~522->module~vecfor_r4p program~volatile_doctest~385 volatile_doctest program~volatile_doctest~385->module~vecfor_r4p program~volatile_doctest~417 volatile_doctest program~volatile_doctest~417->module~vecfor_r4p program~volatile_doctest~449 volatile_doctest program~volatile_doctest~449->module~vecfor_r4p program~volatile_doctest~469 volatile_doctest program~volatile_doctest~469->module~vecfor_r4p program~volatile_doctest~501 volatile_doctest program~volatile_doctest~501->module~vecfor_r4p program~volatile_doctest~533 volatile_doctest program~volatile_doctest~533->module~vecfor_r4p program~volatile_doctest~553 volatile_doctest program~volatile_doctest~553->module~vecfor_r4p program~volatile_doctest~396 volatile_doctest program~volatile_doctest~396->module~vecfor_r4p program~volatile_doctest~428 volatile_doctest program~volatile_doctest~428->module~vecfor_r4p program~volatile_doctest~460 volatile_doctest program~volatile_doctest~460->module~vecfor_r4p program~volatile_doctest~480 volatile_doctest program~volatile_doctest~480->module~vecfor_r4p program~volatile_doctest~512 volatile_doctest program~volatile_doctest~512->module~vecfor_r4p program~volatile_doctest~544 volatile_doctest program~volatile_doctest~544->module~vecfor_r4p program~volatile_doctest~564 volatile_doctest program~volatile_doctest~564->module~vecfor_r4p program~volatile_doctest~407 volatile_doctest program~volatile_doctest~407->module~vecfor_r4p program~volatile_doctest~439 volatile_doctest program~volatile_doctest~439->module~vecfor_r4p program~volatile_doctest~491 volatile_doctest program~volatile_doctest~491->module~vecfor_r4p program~volatile_doctest~523 volatile_doctest program~volatile_doctest~523->module~vecfor_r4p program~volatile_doctest~386 volatile_doctest program~volatile_doctest~386->module~vecfor_r4p program~volatile_doctest~418 volatile_doctest program~volatile_doctest~418->module~vecfor_r4p program~volatile_doctest~450 volatile_doctest program~volatile_doctest~450->module~vecfor_r4p program~volatile_doctest~470 volatile_doctest program~volatile_doctest~470->module~vecfor_r4p program~volatile_doctest~502 volatile_doctest program~volatile_doctest~502->module~vecfor_r4p program~volatile_doctest~534 volatile_doctest program~volatile_doctest~534->module~vecfor_r4p program~volatile_doctest~554 volatile_doctest program~volatile_doctest~554->module~vecfor_r4p program~volatile_doctest~397 volatile_doctest program~volatile_doctest~397->module~vecfor_r4p program~volatile_doctest~429 volatile_doctest program~volatile_doctest~429->module~vecfor_r4p program~volatile_doctest~461 volatile_doctest program~volatile_doctest~461->module~vecfor_r4p program~volatile_doctest~481 volatile_doctest program~volatile_doctest~481->module~vecfor_r4p program~volatile_doctest~513 volatile_doctest program~volatile_doctest~513->module~vecfor_r4p program~volatile_doctest~545 volatile_doctest program~volatile_doctest~545->module~vecfor_r4p program~volatile_doctest~565 volatile_doctest program~volatile_doctest~565->module~vecfor_r4p program~volatile_doctest~408 volatile_doctest program~volatile_doctest~408->module~vecfor_r4p program~volatile_doctest~440 volatile_doctest program~volatile_doctest~440->module~vecfor_r4p program~volatile_doctest~492 volatile_doctest program~volatile_doctest~492->module~vecfor_r4p program~volatile_doctest~524 volatile_doctest program~volatile_doctest~524->module~vecfor_r4p program~volatile_doctest~387 volatile_doctest program~volatile_doctest~387->module~vecfor_r4p program~volatile_doctest~419 volatile_doctest program~volatile_doctest~419->module~vecfor_r4p program~volatile_doctest~451 volatile_doctest program~volatile_doctest~451->module~vecfor_r4p program~volatile_doctest~471 volatile_doctest program~volatile_doctest~471->module~vecfor_r4p program~volatile_doctest~503 volatile_doctest program~volatile_doctest~503->module~vecfor_r4p program~volatile_doctest~535 volatile_doctest program~volatile_doctest~535->module~vecfor_r4p program~volatile_doctest~555 volatile_doctest program~volatile_doctest~555->module~vecfor_r4p program~volatile_doctest~398 volatile_doctest program~volatile_doctest~398->module~vecfor_r4p program~volatile_doctest~430 volatile_doctest program~volatile_doctest~430->module~vecfor_r4p program~volatile_doctest~462 volatile_doctest program~volatile_doctest~462->module~vecfor_r4p program~volatile_doctest~482 volatile_doctest program~volatile_doctest~482->module~vecfor_r4p program~volatile_doctest~514 volatile_doctest program~volatile_doctest~514->module~vecfor_r4p program~volatile_doctest~546 volatile_doctest program~volatile_doctest~546->module~vecfor_r4p program~volatile_doctest~566 volatile_doctest program~volatile_doctest~566->module~vecfor_r4p program~volatile_doctest~409 volatile_doctest program~volatile_doctest~409->module~vecfor_r4p program~volatile_doctest~441 volatile_doctest program~volatile_doctest~441->module~vecfor_r4p program~volatile_doctest~493 volatile_doctest program~volatile_doctest~493->module~vecfor_r4p program~volatile_doctest~525 volatile_doctest program~volatile_doctest~525->module~vecfor_r4p program~volatile_doctest~388 volatile_doctest program~volatile_doctest~388->module~vecfor_r4p program~volatile_doctest~420 volatile_doctest program~volatile_doctest~420->module~vecfor_r4p program~volatile_doctest~452 volatile_doctest program~volatile_doctest~452->module~vecfor_r4p program~volatile_doctest~472 volatile_doctest program~volatile_doctest~472->module~vecfor_r4p program~volatile_doctest~504 volatile_doctest program~volatile_doctest~504->module~vecfor_r4p program~volatile_doctest~536 volatile_doctest program~volatile_doctest~536->module~vecfor_r4p program~volatile_doctest~556 volatile_doctest program~volatile_doctest~556->module~vecfor_r4p 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_R4P crossproduct distance_to_line_R4P distance_to_plane_R4P distance_vectorial_to_plane_R4P dotproduct face_normal3_R4P face_normal4_R4P iolen_R4P is_collinear_R4P is_concyclic_R4P matrixproduct mirror_matrix_R4P negative normL2_R4P normalized_R4P orthogonal parallel positive projection_onto_plane_R4P rotation_matrix_R4P sq_norm_R4P 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_R4P), public, parameter:: ex_R4P =vector_R4P(1._RPP, 0._RPP, 0._RPP)

X direction versor.

type(vector_R4P), public, parameter:: ey_R4P =vector_R4P(0._RPP, 1._RPP, 0._RPP)

Y direction versor.

type(vector_R4P), public, parameter:: ez_R4P =vector_R4P(0._RPP, 0._RPP, 1._RPP)

Z direction versor.


Derived Types

type, public :: vector_R4P

Vector class.

Components

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

Cartesian component in x direction.

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

Cartesian component in y direction.

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

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_R4P

Return the distance (scalar) to line.

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

Return the distance (signed, scalar) to plane.

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

Return the distance (vectorial) to plane.

procedure, public, pass(lhs) :: dotproduct

Compute the scalar (dot) product.

procedure, public, nopass :: face_normal3 => face_normal3_R4P

Return the normal of the face.

procedure, public, nopass :: face_normal4 => face_normal4_R4P

Return the normal of the face.

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

Compute IO length.

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

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

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

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_R4P

Return the norm L2 of vector.

procedure, public, pass(self) :: normalize

Normalize a vector.

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

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_R4P

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_R4P

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Calculate the angle (rad) between two vectors.

Read more…

Arguments

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

The first vector.

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

Other vector.

Return Value real(kind=R4P)

Angle between vectors, in radians.

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

Compute the cross product.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Cross product vector.

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

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

Read more…

Arguments

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

The point from which computing the distance.

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

First line point.

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

Second line point.

Return Value real(kind=R4P)

Face normal.

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

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

Read more…

Arguments

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

The point from which computing the distance.

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

First plane point.

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

Second plane point.

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

Third plane point.

Return Value real(kind=R4P)

Face normal.

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

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

Read more…

Arguments

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

The point from which computing the distance.

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

First plane point.

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

Second plane point.

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

Third plane point.

Return Value type(vector_R4P)

Face normal.

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

Compute the scalar (dot) product.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value real(kind=R4P)

Dot product.

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

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

Read more…

Arguments

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

First face point.

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

Second face point.

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

Face normal.

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

Calculate the normal of the face defined by 4 points.

Read more…

Arguments

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

First face point.

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

Second face point.

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

Third face point.

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

Face normal.

public function iolen_R4P(self) result(iolen_)

Compute IO length.

Read more…

Arguments

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

Vector.

Return Value integer(kind=I4P)

IO length.

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

Vector.

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

First line point.

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

Second line point.

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

Tolerance for collinearity check.

Return Value logical

Inquire result.

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

Vector.

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

First arc point.

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

Second arc point.

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

Third arc point.

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

public pure function mirror_matrix_R4P(normal) result(matrix)

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

Arguments

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

Normal of mirroring plane.

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

Rotation matrix.

private elemental function negative(rhs) result(opr)

Operator - unary.

Read more…

Arguments

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

public elemental function normL2_R4P(self) result(norm)

Return the norm L2 of vector.

Read more…

Arguments

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

Vector.

Return Value real(kind=R4P)

Norm L2.

public elemental function normalized_R4P(self) result(norm)

Return a normalized copy of vector.

Read more…

Arguments

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

Vector.

Return Value type(vector_R4P)

Normalized copy.

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

Compute the component of lhs orthogonal to rhs.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Component of of lhs orthogonal to rhs.

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

Arguments

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

Compute the component of lhs parallel to rhs.

 type(vector_R4P) :: pt(0:2)
 pt(1) = 2 * ex_R4P + 3 * ey_R4P
 pt(2) = ex_R4P
 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_R4P), intent(in) :: rhs

Right hand side.

Return Value type(vector_R4P)

Component of of lhs parallel to rhs.

private elemental function positive(rhs) result(opr)

Operator + unary.

Read more…

Arguments

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

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

Read more…

Arguments

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

The point from which computing the distance.

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

First plane point.

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

Second plane point.

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

Third plane point.

Return Value type(vector_R4P)

Point projection.

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

Return the rotation matrix given axis and angle of ratation.

Read more…

Arguments

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

Axis of ratation.

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

Angle of ratation.

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

Rotation matrix.

public elemental function sq_norm_R4P(self) result(sq)

Return the square of the norm of vector.

Read more…

Arguments

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

Vector.

Return Value real(kind=R4P)

Square of the Norm.

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

Operator / integer(I1P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator / integer(I2P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator / integer(I4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator / integer(I8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator / real(R16P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator / real(R4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator / real(R8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator /.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator == integer(I1P).

Read more…

Arguments

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

Left hand side.

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

Left hand side.

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

Left hand side.

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

Left hand side.

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

Left hand side.

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator * integer(I2P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator * integer(I4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator * integer(I8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator * real(R16P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator * real(R4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator * real(R8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator *.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator /= integer(I1P).

Read more…

Arguments

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

Left hand side.

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator - integer(I2P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator - integer(I4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator - integer(I8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator - real(R16P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator - real(R4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator - real(R8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator -.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator + integer(I1P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator + integer(I2P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator + integer(I4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator + integer(I8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator + real(R16P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator + real(R4P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator + real(R8P).

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.

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

Operator +.

Read more…

Arguments

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

Left hand side.

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

Right hand side.

Return Value type(vector_R4P)

Operator result.


Subroutines

private elemental subroutine assign_I1P(lhs, rhs)

Operator = integer(I4P).

Read more…

Arguments

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

Left hand side.

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

Vector.

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

Vector.

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

Normal of mirroring plane.

private elemental subroutine normalize(self)

Normalize vector.

Read more…

Arguments

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

Vector.

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

Axis of rotation.

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

Angle of rotation.

private pure subroutine rotate_by_matrix(self, matrix)

Rotate vector given matrix (of ratation).

Arguments

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

Vector.

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