s_spline_matrix_banded__write Subroutine

private subroutine s_spline_matrix_banded__write(self, unit, fmt)

Type Bound

sll_t_spline_matrix_banded

Arguments

Type IntentOptional Attributes Name
class(sll_t_spline_matrix_banded), intent(in) :: self
integer, intent(in), optional :: unit
character(len=*), intent(in), optional :: fmt

Source Code

  subroutine s_spline_matrix_banded__write( self, unit, fmt )
    class(sll_t_spline_matrix_banded), intent(in) :: self
    integer         , optional       , intent(in) :: unit
    character(len=*), optional       , intent(in) :: fmt

    integer :: i, j
    integer :: unit_loc
    character(len=32) :: fmt_loc

    if ( present( unit ) ) then
      unit_loc = unit
    else
      unit_loc = output_unit
    end if

    if ( present( fmt  ) ) then
      fmt_loc = fmt
    else
      fmt_loc = 'es10.2'
    end if

    write(unit_loc,'(a6,a6,1X,A2,1X,a6,2X,a)') &
          "i","jmin","..","jmax","values..."
    write(fmt_loc,'(a)') "(" // trim(fmt_loc) // ")"

    write(unit_loc,*) 'factorized?=',self%factorized
    do i = 1, self%n
      write(unit_loc,'(i6,i6,1X,A2,1X,i6,2X)',advance='no') &
           i,max( 1, i-self%ku ),'..',min( self%n, i+self%kl )
      do j = max( 1, i-self%ku ), min( self%n, i+self%kl )
        write(unit_loc,fmt_loc,advance='no') self%q(self%kl+self%ku+1+i-j,j)
      end do
      write(unit_loc,*)
    end do

  end subroutine s_spline_matrix_banded__write