ixsav Function

private function ixsav(me, ipar, ivalue, iset)

save and recall error message control parameters.

ixsav saves and recalls one of two error message parameters:

  • lunit, the logical unit number to which messages are printed, and
  • mesflg, the message print flag.

this is a modification of the slatec library routine j4save.

on return:

  • ixsav = the (old) value of the parameter.

See also

Author

  • hindmarsh, alan c., (llnl)

Revision history

  • 921118 date written
  • 930329 modified prologue to slatec format. (fnf)
  • 930915 added iumach call to get default output unit. (ach)
  • 930922 minor cosmetic changes. (fnf)
  • 010425 type declaration for iumach added. (ach)

Type Bound

dvode_t

Arguments

Type IntentOptional Attributes Name
class(dvode_t), intent(inout) :: me
integer, intent(in) :: ipar

parameter indicator (1 for lunit, 2 for mesflg).

integer :: ivalue

the value to be set for the parameter, if iset = .true.

logical, intent(in) :: iset

logical flag to indicate whether to read or write. if iset = .true., the parameter will be given the value ivalue. if iset = .false., the parameter will be unchanged, and ivalue is a dummy argument.

Return Value integer


Called by

proc~~ixsav~~CalledByGraph proc~ixsav dvode_module::dvode_t%ixsav proc~xerrwd dvode_module::dvode_t%xerrwd proc~xerrwd->proc~ixsav proc~xsetf dvode_module::dvode_t%xsetf proc~xsetf->proc~ixsav proc~xsetun dvode_module::dvode_t%xsetun proc~xsetun->proc~ixsav proc~dvindy dvode_module::dvode_t%dvindy proc~dvindy->proc~xerrwd proc~dvode dvode_module::dvode_t%dvode proc~dvode->proc~xerrwd proc~dvode->proc~dvindy

Source Code

   integer function ixsav(me,ipar,ivalue,iset)

      class(dvode_t),intent(inout) :: me
      integer,intent(in) :: ipar !! parameter indicator (1 for `lunit`, 2 for `mesflg`).
      integer :: ivalue !! the value to be set for the parameter, if iset = .true.
      logical,intent(in) :: iset !! logical flag to indicate whether to read or write.
                                 !! if `iset = .true.`, the parameter will be given
                                 !! the value `ivalue`.  if `iset = .false.`, the parameter
                                 !! will be unchanged, and `ivalue` is a dummy argument.

      select case (ipar)
      case ( 1 )
         if ( me%lunit==-1 ) me%lunit = iumach
         ixsav = me%lunit
         if ( iset ) me%lunit = ivalue
      case ( 2 )
         ixsav = me%mesflg
         if ( iset ) me%mesflg = ivalue
      end select

   end function ixsav