!-------------------------------------------------------------------------- !-------------------------------------------------------------------------- !-------------------------------------------------------------------------- !+ ! Function vec_to_spinor (vec, phase) result (spinor) ! ! Converts a spin cartesian vector to a spinor. ! ! Input: ! vec(3) -- real(rp): Spin vector in cartesian coordinates ! phase -- real(rp)(Optional): Phase of the spinor, if not given then ! set to zero ! ! Output: ! spinor(2)-- complex(rp): Spinor. !- function vec_to_spinor (vec, phase) result (spinor) use equal_mod, dummy_except => vec_to_spinor implicit none type (spin_polar_struct) :: polar complex(rp) :: spinor(2) real(rp) vec(3) real(rp), optional :: phase ! polar = vec_to_polar(vec, phase) spinor = polar_to_spinor(polar) end function vec_to_spinor