signum determines a numerical value that indicates whether
number is negative, zero, or positive.

For a rational,
signum returns one of -1, 0, or 1
according to whether number is negative, zero, or positive.
For a float,
the result is a float of the same format
whose value is minus one, zero, or one.
For a complex number z,
(signum z) is a complex number of the same phase but with unit magnitude,
unless z is a complex zero, in which case the result is z.