iterating Derived Type

type, public :: iterating


Contents

Source Code


Components

TypeVisibility AttributesNameInitial
real(kind=psb_dpk_), private :: delta
integer, private :: icurrent
integer, private :: nmax
real(kind=psb_dpk_), private :: tol

Type-Bound Procedures

procedure, public :: create_iterating

  • interface

    private module subroutine create_iterating(iter, input_file, sec, itype)

    Arguments

    Type IntentOptional AttributesName
    class(iterating), intent(out) :: iter
    character(len=*), intent(in) :: input_file
    character(len=*), intent(in) :: sec
    integer, intent(in) :: itype

procedure, public :: current_iteration

  • interface

    private module function current_iteration(iter)

    Arguments

    Type IntentOptional AttributesName
    class(iterating), intent(in) :: iter

    Return Value integer

procedure, public :: delta_

  • interface

    private module function delta_(iter)

    Arguments

    Type IntentOptional AttributesName
    class(iterating), intent(in) :: iter

    Return Value real(kind=psb_dpk_)

generic, public :: increment => increment_iterating

generic, public :: nemo_sizeof => nemo_iterating_sizeof

procedure, public :: next_iteration

  • interface

    private module function next_iteration(iter)

    Arguments

    Type IntentOptional AttributesName
    class(iterating) :: iter

    Return Value integer

procedure, public :: nmax_

  • interface

    private module function nmax_(iter)

    Arguments

    Type IntentOptional AttributesName
    class(iterating), intent(in) :: iter

    Return Value integer

procedure, public :: previous_iteration

  • interface

    private module function previous_iteration(iter)

    Arguments

    Type IntentOptional AttributesName
    class(iterating) :: iter

    Return Value integer

generic, public :: reset => reset_iterating

procedure, public :: stop_iterating

  • interface

    private module function stop_iterating(iter, eps)

    Arguments

    Type IntentOptional AttributesName
    class(iterating), intent(in) :: iter
    real(kind=psb_dpk_), intent(in), optional :: eps

    Return Value logical

procedure, public :: tol_

  • interface

    private module function tol_(iter)

    Arguments

    Type IntentOptional AttributesName
    class(iterating), intent(in) :: iter

    Return Value real(kind=psb_dpk_)

procedure, private :: increment_iterating

  • interface

    private module subroutine increment_iterating(iter)

    Arguments

    Type IntentOptional AttributesName
    class(iterating), intent(inout) :: iter

procedure, private :: nemo_iterating_sizeof

  • interface

    private module function nemo_iterating_sizeof(iter)

    Arguments

    Type IntentOptional AttributesName
    class(iterating), intent(in) :: iter

    Return Value integer(kind=nemo_int_long_)

procedure, private :: reset_iterating

  • interface

    private module subroutine reset_iterating(iter)

    Arguments

    Type IntentOptional AttributesName
    class(iterating), intent(inout) :: iter

Source Code

    TYPE iterating
        PRIVATE
        INTEGER :: nmax
        INTEGER :: icurrent
        REAL(psb_dpk_) :: delta
        REAL(psb_dpk_) :: tol
    CONTAINS
        PROCEDURE :: create_iterating ! Constructor
        PROCEDURE :: nmax_, delta_, tol_
        PROCEDURE :: current_iteration, next_iteration, previous_iteration
        PROCEDURE :: stop_iterating
        PROCEDURE, PRIVATE :: increment_iterating, reset_iterating
        GENERIC, PUBLIC :: increment => increment_iterating
        GENERIC, PUBLIC :: reset => reset_iterating
        PROCEDURE, PRIVATE :: nemo_iterating_sizeof
        GENERIC, PUBLIC :: nemo_sizeof => nemo_iterating_sizeof
    END TYPE iterating