anchor.diff:    !!<summary>Lists the HNFs for the given symmetry group.</summary>
     !!<parameter name="A" regular="true">The parent lattice for the
     !!system.</parameter>
  -  !!<parameter name="basis" regular="true">The atomic basis.</parameter>
     !!<parameter name="n_" regular="true">The determinant of the desired
     !!HNF.</parameter>
     !!<parameter name="eps_" regular="true">The floating point
  
positive.code:   !!HNFs.</parameter>
    !!<parameter name="r_mins" regular="true">The r_min values for the
    !!HNFs.</parameter>
    subroutine get_HNFs(A,basis,hnfs,r_mins,n_,eps_)
      real(dp), intent(in) :: A(3,3), basis(:,:)
      integer, intent(out) :: hnfs(3,3,100)
      real(dp), intent(out) :: r_mins(100)
      integer, intent(in), optional :: n_
  
negative.code:     integer, pointer :: all_hnfs(:,:,:), unq_hnfs(:,:,:), degeneracy_list(:)
      type(opList), pointer :: fixop(:)
      real(dp), pointer :: latts(:,:,:), d(:,:)
      real(dp) :: reduced_latt(3,3), norms(3), inv_lat(3,3)
      integer :: temp_hnfs(3,3,100)
  
      LatDim = 3
      n_min = 2
      if (.not. present(n_)) then
         n_max = 100
      else
         n_max = n_
      end if
  
      if (.not. present(eps_)) then
  