add a sign(x) macro