anchor.diff:          if (i == max_unit+1) call stop_all('get_free_unit','Cannot find a free unit below max_unit.')
   
       end function get_free_unit
  -
  -    elemental function int_fmt(i, padding) result(fmt1)
  -
  -        ! In:
  -        !    i: an integer
  -        !    padding (optional): amount of padding to add to format statement.
  -        !        The default amount is 2.  The padding is used to include the
  -        !        sign if i is negative.
  -        ! Returns:
  -        !    fmt1: a format statement for an integer field which will hold
  -        !        i perfectly plus an amount of padding.
  -
  -        ! This does take i/o formatting to a slightly OCD level addmittedly...
  -
  -        character(4) :: fmt1
  -        integer, intent(in) :: i
  -        integer, intent(in), optional :: padding
  -        integer :: p
  -        real :: r
  -
  -        if (present(padding)) then
  -            p = padding
  -        else
  -            p  = 2
  -        end if
  -
  -        if (i == 0 .or. i==1) then
  -            r = 1.0
  -        else
  -            r = log10(real(abs(i)+1))
  -        end if
  -        p = ceiling(r+p)
  -        if (i<0) p = p + 1
  -
  -        if (p < 10) then
  -            write (fmt1,'("i",i1)') p
  -        else if (p < 100) then
  -            write (fmt1,'("i",i2)') p
  -        else
  -            ! By this point we'll have hit integer overflow anyway...
  -            write (fmt1,'("i",i3)') p
  -        end if
  -
  -    end function int_fmt
   
       elemental subroutine append_ext(stem, n, s)
   
  
positive.code: 
      end subroutine next_comb
  
  ! --- File names and file handling ---
  
      function get_free_unit() result(free_unit)
  
negative.code: ! Various utilities and tools...
  
  implicit none
  
  interface int_fmt
      module procedure int_fmt_int
      module procedure int_fmt_lint
  end interface int_fmt
  
  contains
  
  