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
In reply to Re^3: Seeing if two numbers have the same sign ($x / abs $x)
by lodin
in thread Seeing if two numbers have the same sign
by grinder
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |