parser_obj_AssignDefault0D Subroutine

private impure subroutine parser_obj_AssignDefault0D(value, default)

Sets 0D (scalar) value equal to 0D (scalar) default.

Type Bound

parser_obj

Arguments

Type IntentOptional Attributes Name
class(*), intent(out) :: value

Value to return

class(*), intent(in) :: default

Default value to return in case label is not found


Called by

proc~~parser_obj_assigndefault0d~~CalledByGraph proc~parser_obj_assigndefault0d parser_obj%parser_obj_AssignDefault0D none~assigndefault parser_obj%AssignDefault none~assigndefault->proc~parser_obj_assigndefault0d proc~parser_obj_read0d parser_obj%parser_obj_read0D proc~parser_obj_read0d->none~assigndefault proc~parser_obj_read1d parser_obj%parser_obj_read1D proc~parser_obj_read1d->none~assigndefault none~get~4 parser_obj%Get none~get~4->proc~parser_obj_read0d none~get~4->proc~parser_obj_read1d proc~cdifs_obj_preparesolver cdifs_obj_PrepareSolver proc~cdifs_obj_preparesolver->none~get~4 proc~cdifs_obj_preparesolverbcs cdifs_obj_PrepareSolverBCS proc~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolverbcs proc~cdifs_obj_preparesolverblock cdifs_obj_PrepareSolverBlock proc~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolverblock proc~cdifs_obj_preparesolverbodyforce cdifs_obj_PrepareSolverBodyforce proc~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolverbodyforce proc~cdifs_obj_preparesolverfields cdifs_obj_PrepareSolverFields proc~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolverfields proc~cdifs_obj_preparesolveroperators cdifs_obj_PrepareSolverOperators proc~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolveroperators proc~cdifs_obj_preparesolveroutput cdifs_obj_PrepareSolverOutput proc~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolveroutput proc~respart_set_prepare ResPart_set%ResPart_set_Prepare proc~cdifs_obj_preparesolver->proc~respart_set_prepare proc~cdifs_obj_preparesolverbcs->none~get~4 proc~cdifs_obj_preparesolverblock->none~get~4 proc~cdifs_obj_preparesolverbodyforce->none~get~4 proc~cdifs_obj_preparesolverfields->none~get~4 proc~cdifs_obj_preparesolveroperators->none~get~4 proc~cdifs_obj_preparesolveroutput->none~get~4 proc~collision_obj_prepare collision_obj%collision_obj_Prepare proc~collision_obj_prepare->none~get~4 proc~grans_obj_preparesolver grans_obj_PrepareSolver proc~grans_obj_preparesolver->none~get~4 proc~grans_obj_preparesolverbcs grans_obj_PrepareSolverBCS proc~grans_obj_preparesolver->proc~grans_obj_preparesolverbcs proc~grans_obj_preparesolverblock grans_obj_PrepareSolverBlock proc~grans_obj_preparesolver->proc~grans_obj_preparesolverblock proc~grans_obj_preparesolvercollision grans_obj_PrepareSolverCollision proc~grans_obj_preparesolver->proc~grans_obj_preparesolvercollision proc~grans_obj_preparesolverfields grans_obj_PrepareSolverFields proc~grans_obj_preparesolver->proc~grans_obj_preparesolverfields proc~grans_obj_preparesolveroperators grans_obj_PrepareSolverOperators proc~grans_obj_preparesolver->proc~grans_obj_preparesolveroperators proc~grans_obj_preparesolveroutput grans_obj_PrepareSolverOutput proc~grans_obj_preparesolver->proc~grans_obj_preparesolveroutput proc~marker_set_prepare marker_set%marker_set_Prepare proc~grans_obj_preparesolver->proc~marker_set_prepare proc~grans_obj_preparesolverbcs->none~get~4 proc~grans_obj_preparesolverblock->none~get~4 proc~grans_obj_preparesolvercollision->none~get~4 proc~grans_obj_preparesolvercollision->proc~collision_obj_prepare proc~grans_obj_preparesolverfields->none~get~4 proc~grans_obj_preparesolveroperators->none~get~4 proc~grans_obj_preparesolveroutput->none~get~4 proc~marker_set_prepare->none~get~4 proc~particle_set_prepare particle_set%particle_set_Prepare proc~particle_set_prepare->none~get~4 proc~respart_set_prepare->none~get~4 proc~timer_obj_init timer_obj%timer_obj_Init proc~timer_obj_init->none~get~4 program~main main program~main->none~get~4 interface~cdifs_obj_preparesolver cdifs_obj%cdifs_obj_PrepareSolver interface~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolver interface~grans_obj_preparesolver grans_obj%grans_obj_PrepareSolver interface~grans_obj_preparesolver->proc~grans_obj_preparesolver

Source Code

  impure subroutine parser_obj_AssignDefault0D(value,default)
    !> Sets 0D (scalar) value equal to 0D (scalar) default.
    implicit none
    class(*), intent(out) :: value                                             !! Value to return
    class(*), intent(in)  :: default                                           !! Default value to return in case label is not found
    ! Work variables
    logical :: ok

    ok=.true.
    select type(default)
    type is (logical)
      select type(value)
      type is (logical)
        value=default
      class default
        ok=.false.
      end select

    type is (real(leapDP))
      select type(value)
      type is (real(leapDP))
        value=default
      class default
        ok=.false.
      end select

    type is (real(leapSP))
      select type(value)
      type is (real(leapSP))
        value=default
      class default
        ok=.false.
      end select

    type is (integer(leapI4))
      select type(value)
      type is (integer(leapI4))
        value=default
      class default
        ok=.false.
      end select

    type is (integer(leapI8))
      select type(value)
      type is (integer(leapI8))
        value=default
      class default
        ok=.false.
      end select

    type is (character(len=*))
      select type(value)
      type is (character(len=*))
        value=default
      class default
        ok=.false.
      end select

    class default
        stop "Error in Parser: unknown default variable type"
    end select
    if (.not.ok) then
      stop "Error in Parser: default and value must be of the same type"
    end if

    return
  end subroutine parser_obj_AssignDefault0D