in reply to Re^2: Seeing if two numbers have the same sign ($x / abs $x)
in thread Seeing if two numbers have the same sign

lodin is computing the cosine directly (note cos 0 = 1 -> "same sign" while cos 180 degrees = -1 -> "opposite sign").

Maybe this is what you mean, but I don't actually calculate the angle (or cosine) between $_[0] and $_[1]. I calculate the respective angles of $_[0] and $_[1] against the positive axis, and compare them.

Equivalently, you could also view it as I'm taking the norm of the two 1D vectors $_[0] and $_[1], which gives me two unit vectors pointing in the direction of $_[0] and $_[1], which I then test for equality. If they're equal, they point in the same direction, and in 1D that means they have the same sign.

lodin

Replies are listed 'Best First'.
Re^4: Seeing if two numbers have the same sign ($x / abs $x)
by WoodyWeaver (Monk) on Jan 12, 2008 at 13:24 UTC
    arg, eyes are getting old. You are absolutely right. I was thinking of the "trick" people had described about taking the product and checking if positive; you are indeed normalizing the vectors and checking for equality.