atom_sets_equal Function

private pure function atom_sets_equal(set1, set2, n_atoms) result(equal)

Check if two atom sets are equal (assuming sorted)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: set1(:)
integer, intent(in) :: set2(:)
integer, intent(in) :: n_atoms

Return Value logical


Called by

proc~~atom_sets_equal~~CalledByGraph proc~atom_sets_equal atom_sets_equal proc~dfs_pie_accumulate dfs_pie_accumulate proc~dfs_pie_accumulate->proc~atom_sets_equal proc~dfs_pie_accumulate->proc~dfs_pie_accumulate proc~gmbe_enumerate_pie_terms gmbe_enumerate_pie_terms proc~gmbe_enumerate_pie_terms->proc~dfs_pie_accumulate proc~run_fragmented_calculation run_fragmented_calculation proc~run_fragmented_calculation->proc~gmbe_enumerate_pie_terms proc~run_calculation run_calculation proc~run_calculation->proc~run_fragmented_calculation proc~compute_energy_and_forces compute_energy_and_forces proc~compute_energy_and_forces->proc~run_calculation proc~run_multi_molecule_calculations run_multi_molecule_calculations proc~run_multi_molecule_calculations->proc~run_calculation program~main main program~main->proc~run_calculation

Variables

Type Visibility Attributes Name Initial
integer, private :: i

Source Code

   pure function atom_sets_equal(set1, set2, n_atoms) result(equal)
      !! Check if two atom sets are equal (assuming sorted)
      integer, intent(in) :: set1(:), set2(:)
      integer, intent(in) :: n_atoms
      logical :: equal
      integer :: i

      equal = .true.
      do i = 1, n_atoms
         if (set1(i) /= set2(i)) then
            equal = .false.
            return
         end if
      end do
   end function atom_sets_equal