Makes more sense to keep phase in [-pi, pi) rather than [0, 2*pi)