anchor.diff:         dset % translations     = translations
          dset % wyckoffs         = wyckoffs
          dset % equivalent_atoms = equivalent_atoms
  +       dset % crystallographic_orbits = crystallographic_orbits
          dset % std_types        = std_types
          dset % std_positions    = std_positions
   
  
positive.code:     integer :: i
      integer(kind(SPGLIB_SUCCESS)) :: SpglibErrcode
      real(c_double), pointer :: translations(:,:)
      integer(c_int), pointer :: rotations(:,:,:), wyckoffs(:), equivalent_atoms(:), std_types(:), std_positions(:,:)
  
      dataset_ptr_c = spg_get_dataset_c(lattice, position, types, num_atom, symprec)
  
  
negative.code:        call c_f_pointer (dset_c % translations    , translations    , shape = [3,    n_operations])
         call c_f_pointer (dset_c % wyckoffs        , wyckoffs        , shape = [n_atoms])
         call c_f_pointer (dset_c % equivalent_atoms, equivalent_atoms, shape = [n_atoms])
         call c_f_pointer (dset_c % crystallographic_orbits, crystallographic_orbits, shape = [n_atoms])
         call c_f_pointer (dset_c % std_types       , std_types       , shape = [n_std_atoms])
         call c_f_pointer (dset_c % std_positions   , std_positions   , shape = [3, n_std_atoms])
  
  