diff --git a/src/tools/swap_mos.irp.f b/src/tools/swap_mos.irp.f index bba9cb34..44b9cc50 100644 --- a/src/tools/swap_mos.irp.f +++ b/src/tools/swap_mos.irp.f @@ -7,11 +7,20 @@ program swap_mos double precision :: x print *, 'MOs to swap?' read(*,*) i1, i2 - do i=1,ao_num - x = mo_coef(i,i1) - mo_coef(i,i1) = mo_coef(i,i2) - mo_coef(i,i2) = x - enddo + if (is_complex) then + complex*16 :: xc + do i=1,ao_num + xc = mo_coef_complex(i,i1) + mo_coef_complex(i,i1) = mo_coef_complex(i,i2) + mo_coef_complex(i,i2) = xc + enddo + else + do i=1,ao_num + x = mo_coef(i,i1) + mo_coef(i,i1) = mo_coef(i,i2) + mo_coef(i,i2) = x + enddo + endif call save_mos end