fix bug in DoUnarySign