Skip to content

Instantly share code, notes, and snippets.

@westc
Last active September 3, 2018 01:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save westc/f3813f782ca82c36ee6883fe87f6fbc0 to your computer and use it in GitHub Desktop.
Save westc/f3813f782ca82c36ee6883fe87f6fbc0 to your computer and use it in GitHub Desktop.
YourJS candidate function: sameSign()
function sameSign() {
for (
var args = arguments, b = args[0], mustBeNeg = b === b ? (b < 0 || 1 / b < 0) : NaN, i = args.length;
b = args[--i], i && mustBeNeg === (b === b ? (b < 0 || 1 / b < 0) : NaN);
);
return !i;
}
//\\
sameSign(4, 0); // -> true
//\\
sameSign(0, 3); // -> true
//\\
sameSign(-0, 3); // -> false
//\\
sameSign(4, -0); // -> false
//\\
sameSign(-0, -3); // -> true
//\\
sameSign(-4, -0); // -> true
//\\
sameSign(-4, -3, -0); // -> true
//\\
sameSign(-4, -3, 0); // -> false
//\\
sameSign(-4, 3, -0); // -> false
//\\
sameSign(4, -3, -0); // -> false
//\\
sameSign(4, 3, -0); // -> false
//\\
sameSign(4, 3, 0); // -> true
//\\
sameSign(NaN, 3, 0); // -> false
//\\
sameSign(4, NaN, 0); // -> false
//\\
sameSign(4, 3, NaN); // -> false
//\\
sameSign(NaN, NaN, NaN); // -> false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment