blob: 402e1beb2d544ba7d46d3dd3deb344c8d6bc9816 [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
function write(v) { WScript.Echo(v + ""); }
function foo() {}
write(undefined !== undefined);
write(undefined !== null);
write(undefined !== true);
write(undefined !== false);
write(undefined !== Boolean(true));
write(undefined !== Boolean(false));
write(undefined !== new Boolean(true));
write(undefined !== new Boolean(false));
write(undefined !== NaN);
write(undefined !== +0);
write(undefined !== -0);
write(undefined !== 0);
write(undefined !== 0.0);
write(undefined !== -0.0);
write(undefined !== +0.0);
write(undefined !== 1);
write(undefined !== 10);
write(undefined !== 10.0);
write(undefined !== 10.1);
write(undefined !== -1);
write(undefined !== -10);
write(undefined !== -10.0);
write(undefined !== -10.1);
write(undefined !== Number.MAX_VALUE);
write(undefined !== Number.MIN_VALUE);
write(undefined !== Number.NaN);
write(undefined !== Number.POSITIVE_INFINITY);
write(undefined !== Number.NEGATIVE_INFINITY);
write(undefined !== new Number(NaN));
write(undefined !== new Number(+0));
write(undefined !== new Number(-0));
write(undefined !== new Number(0));
write(undefined !== new Number(0.0));
write(undefined !== new Number(-0.0));
write(undefined !== new Number(+0.0));
write(undefined !== new Number(1));
write(undefined !== new Number(10));
write(undefined !== new Number(10.0));
write(undefined !== new Number(10.1));
write(undefined !== new Number(-1));
write(undefined !== new Number(-10));
write(undefined !== new Number(-10.0));
write(undefined !== new Number(-10.1));
write(undefined !== new Number(Number.MAX_VALUE));
write(undefined !== new Number(Number.MIN_VALUE));
write(undefined !== new Number(Number.NaN));
write(undefined !== new Number(Number.POSITIVE_INFINITY));
write(undefined !== new Number(Number.NEGATIVE_INFINITY));
write(undefined !== '');
write(undefined !== 0xa);
write(undefined !== 04);
write(undefined !== 'hello');
write(undefined !== 'hel' + 'lo');
write(undefined !== String(''));
write(undefined !== String('hello'));
write(undefined !== String('h' + 'ello'));
write(undefined !== new String(''));
write(undefined !== new String('hello'));
write(undefined !== new String('he' + 'llo'));
write(undefined !== new Object());
write(undefined !== new Object());
write(undefined !== [1, 2, 3]);
write(undefined !== [1 ,2 , 3]);
write(undefined !== new Array(3));
write(undefined !== Array(3));
write(undefined !== new Array(1 ,2 ,3));
write(undefined !== Array(1));
write(undefined !== foo);
write(null !== undefined);
write(null !== null);
write(null !== true);
write(null !== false);
write(null !== Boolean(true));
write(null !== Boolean(false));
write(null !== new Boolean(true));
write(null !== new Boolean(false));
write(null !== NaN);
write(null !== +0);
write(null !== -0);
write(null !== 0);
write(null !== 0.0);
write(null !== -0.0);
write(null !== +0.0);
write(null !== 1);
write(null !== 10);
write(null !== 10.0);
write(null !== 10.1);
write(null !== -1);
write(null !== -10);
write(null !== -10.0);
write(null !== -10.1);
write(null !== Number.MAX_VALUE);
write(null !== Number.MIN_VALUE);
write(null !== Number.NaN);
write(null !== Number.POSITIVE_INFINITY);
write(null !== Number.NEGATIVE_INFINITY);
write(null !== new Number(NaN));
write(null !== new Number(+0));
write(null !== new Number(-0));
write(null !== new Number(0));
write(null !== new Number(0.0));
write(null !== new Number(-0.0));
write(null !== new Number(+0.0));
write(null !== new Number(1));
write(null !== new Number(10));
write(null !== new Number(10.0));
write(null !== new Number(10.1));
write(null !== new Number(-1));
write(null !== new Number(-10));
write(null !== new Number(-10.0));
write(null !== new Number(-10.1));
write(null !== new Number(Number.MAX_VALUE));
write(null !== new Number(Number.MIN_VALUE));
write(null !== new Number(Number.NaN));
write(null !== new Number(Number.POSITIVE_INFINITY));
write(null !== new Number(Number.NEGATIVE_INFINITY));
write(null !== '');
write(null !== 0xa);
write(null !== 04);
write(null !== 'hello');
write(null !== 'hel' + 'lo');
write(null !== String(''));
write(null !== String('hello'));
write(null !== String('h' + 'ello'));
write(null !== new String(''));
write(null !== new String('hello'));
write(null !== new String('he' + 'llo'));
write(null !== new Object());
write(null !== new Object());
write(null !== [1, 2, 3]);
write(null !== [1 ,2 , 3]);
write(null !== new Array(3));
write(null !== Array(3));
write(null !== new Array(1 ,2 ,3));
write(null !== Array(1));
write(null !== foo);
write(true !== undefined);
write(true !== null);
write(true !== true);
write(true !== false);
write(true !== Boolean(true));
write(true !== Boolean(false));
write(true !== new Boolean(true));
write(true !== new Boolean(false));
write(true !== NaN);
write(true !== +0);
write(true !== -0);
write(true !== 0);
write(true !== 0.0);
write(true !== -0.0);
write(true !== +0.0);
write(true !== 1);
write(true !== 10);
write(true !== 10.0);
write(true !== 10.1);
write(true !== -1);
write(true !== -10);
write(true !== -10.0);
write(true !== -10.1);
write(true !== Number.MAX_VALUE);
write(true !== Number.MIN_VALUE);
write(true !== Number.NaN);
write(true !== Number.POSITIVE_INFINITY);
write(true !== Number.NEGATIVE_INFINITY);
write(true !== new Number(NaN));
write(true !== new Number(+0));
write(true !== new Number(-0));
write(true !== new Number(0));
write(true !== new Number(0.0));
write(true !== new Number(-0.0));
write(true !== new Number(+0.0));
write(true !== new Number(1));
write(true !== new Number(10));
write(true !== new Number(10.0));
write(true !== new Number(10.1));
write(true !== new Number(-1));
write(true !== new Number(-10));
write(true !== new Number(-10.0));
write(true !== new Number(-10.1));
write(true !== new Number(Number.MAX_VALUE));
write(true !== new Number(Number.MIN_VALUE));
write(true !== new Number(Number.NaN));
write(true !== new Number(Number.POSITIVE_INFINITY));
write(true !== new Number(Number.NEGATIVE_INFINITY));
write(true !== '');
write(true !== 0xa);
write(true !== 04);
write(true !== 'hello');
write(true !== 'hel' + 'lo');
write(true !== String(''));
write(true !== String('hello'));
write(true !== String('h' + 'ello'));
write(true !== new String(''));
write(true !== new String('hello'));
write(true !== new String('he' + 'llo'));
write(true !== new Object());
write(true !== new Object());
write(true !== [1, 2, 3]);
write(true !== [1 ,2 , 3]);
write(true !== new Array(3));
write(true !== Array(3));
write(true !== new Array(1 ,2 ,3));
write(true !== Array(1));
write(true !== foo);
write(false !== undefined);
write(false !== null);
write(false !== true);
write(false !== false);
write(false !== Boolean(true));
write(false !== Boolean(false));
write(false !== new Boolean(true));
write(false !== new Boolean(false));
write(false !== NaN);
write(false !== +0);
write(false !== -0);
write(false !== 0);
write(false !== 0.0);
write(false !== -0.0);
write(false !== +0.0);
write(false !== 1);
write(false !== 10);
write(false !== 10.0);
write(false !== 10.1);
write(false !== -1);
write(false !== -10);
write(false !== -10.0);
write(false !== -10.1);
write(false !== Number.MAX_VALUE);
write(false !== Number.MIN_VALUE);
write(false !== Number.NaN);
write(false !== Number.POSITIVE_INFINITY);
write(false !== Number.NEGATIVE_INFINITY);
write(false !== new Number(NaN));
write(false !== new Number(+0));
write(false !== new Number(-0));
write(false !== new Number(0));
write(false !== new Number(0.0));
write(false !== new Number(-0.0));
write(false !== new Number(+0.0));
write(false !== new Number(1));
write(false !== new Number(10));
write(false !== new Number(10.0));
write(false !== new Number(10.1));
write(false !== new Number(-1));
write(false !== new Number(-10));
write(false !== new Number(-10.0));
write(false !== new Number(-10.1));
write(false !== new Number(Number.MAX_VALUE));
write(false !== new Number(Number.MIN_VALUE));
write(false !== new Number(Number.NaN));
write(false !== new Number(Number.POSITIVE_INFINITY));
write(false !== new Number(Number.NEGATIVE_INFINITY));
write(false !== '');
write(false !== 0xa);
write(false !== 04);
write(false !== 'hello');
write(false !== 'hel' + 'lo');
write(false !== String(''));
write(false !== String('hello'));
write(false !== String('h' + 'ello'));
write(false !== new String(''));
write(false !== new String('hello'));
write(false !== new String('he' + 'llo'));
write(false !== new Object());
write(false !== new Object());
write(false !== [1, 2, 3]);
write(false !== [1 ,2 , 3]);
write(false !== new Array(3));
write(false !== Array(3));
write(false !== new Array(1 ,2 ,3));
write(false !== Array(1));
write(false !== foo);
write(Boolean(true) !== undefined);
write(Boolean(true) !== null);
write(Boolean(true) !== true);
write(Boolean(true) !== false);
write(Boolean(true) !== Boolean(true));
write(Boolean(true) !== Boolean(false));
write(Boolean(true) !== new Boolean(true));
write(Boolean(true) !== new Boolean(false));
write(Boolean(true) !== NaN);
write(Boolean(true) !== +0);
write(Boolean(true) !== -0);
write(Boolean(true) !== 0);
write(Boolean(true) !== 0.0);
write(Boolean(true) !== -0.0);
write(Boolean(true) !== +0.0);
write(Boolean(true) !== 1);
write(Boolean(true) !== 10);
write(Boolean(true) !== 10.0);
write(Boolean(true) !== 10.1);
write(Boolean(true) !== -1);
write(Boolean(true) !== -10);
write(Boolean(true) !== -10.0);
write(Boolean(true) !== -10.1);
write(Boolean(true) !== Number.MAX_VALUE);
write(Boolean(true) !== Number.MIN_VALUE);
write(Boolean(true) !== Number.NaN);
write(Boolean(true) !== Number.POSITIVE_INFINITY);
write(Boolean(true) !== Number.NEGATIVE_INFINITY);
write(Boolean(true) !== new Number(NaN));
write(Boolean(true) !== new Number(+0));
write(Boolean(true) !== new Number(-0));
write(Boolean(true) !== new Number(0));
write(Boolean(true) !== new Number(0.0));
write(Boolean(true) !== new Number(-0.0));
write(Boolean(true) !== new Number(+0.0));
write(Boolean(true) !== new Number(1));
write(Boolean(true) !== new Number(10));
write(Boolean(true) !== new Number(10.0));
write(Boolean(true) !== new Number(10.1));
write(Boolean(true) !== new Number(-1));
write(Boolean(true) !== new Number(-10));
write(Boolean(true) !== new Number(-10.0));
write(Boolean(true) !== new Number(-10.1));
write(Boolean(true) !== new Number(Number.MAX_VALUE));
write(Boolean(true) !== new Number(Number.MIN_VALUE));
write(Boolean(true) !== new Number(Number.NaN));
write(Boolean(true) !== new Number(Number.POSITIVE_INFINITY));
write(Boolean(true) !== new Number(Number.NEGATIVE_INFINITY));
write(Boolean(true) !== '');
write(Boolean(true) !== 0xa);
write(Boolean(true) !== 04);
write(Boolean(true) !== 'hello');
write(Boolean(true) !== 'hel' + 'lo');
write(Boolean(true) !== String(''));
write(Boolean(true) !== String('hello'));
write(Boolean(true) !== String('h' + 'ello'));
write(Boolean(true) !== new String(''));
write(Boolean(true) !== new String('hello'));
write(Boolean(true) !== new String('he' + 'llo'));
write(Boolean(true) !== new Object());
write(Boolean(true) !== new Object());
write(Boolean(true) !== [1, 2, 3]);
write(Boolean(true) !== [1 ,2 , 3]);
write(Boolean(true) !== new Array(3));
write(Boolean(true) !== Array(3));
write(Boolean(true) !== new Array(1 ,2 ,3));
write(Boolean(true) !== Array(1));
write(Boolean(true) !== foo);
write(Boolean(false) !== undefined);
write(Boolean(false) !== null);
write(Boolean(false) !== true);
write(Boolean(false) !== false);
write(Boolean(false) !== Boolean(true));
write(Boolean(false) !== Boolean(false));
write(Boolean(false) !== new Boolean(true));
write(Boolean(false) !== new Boolean(false));
write(Boolean(false) !== NaN);
write(Boolean(false) !== +0);
write(Boolean(false) !== -0);
write(Boolean(false) !== 0);
write(Boolean(false) !== 0.0);
write(Boolean(false) !== -0.0);
write(Boolean(false) !== +0.0);
write(Boolean(false) !== 1);
write(Boolean(false) !== 10);
write(Boolean(false) !== 10.0);
write(Boolean(false) !== 10.1);
write(Boolean(false) !== -1);
write(Boolean(false) !== -10);
write(Boolean(false) !== -10.0);
write(Boolean(false) !== -10.1);
write(Boolean(false) !== Number.MAX_VALUE);
write(Boolean(false) !== Number.MIN_VALUE);
write(Boolean(false) !== Number.NaN);
write(Boolean(false) !== Number.POSITIVE_INFINITY);
write(Boolean(false) !== Number.NEGATIVE_INFINITY);
write(Boolean(false) !== new Number(NaN));
write(Boolean(false) !== new Number(+0));
write(Boolean(false) !== new Number(-0));
write(Boolean(false) !== new Number(0));
write(Boolean(false) !== new Number(0.0));
write(Boolean(false) !== new Number(-0.0));
write(Boolean(false) !== new Number(+0.0));
write(Boolean(false) !== new Number(1));
write(Boolean(false) !== new Number(10));
write(Boolean(false) !== new Number(10.0));
write(Boolean(false) !== new Number(10.1));
write(Boolean(false) !== new Number(-1));
write(Boolean(false) !== new Number(-10));
write(Boolean(false) !== new Number(-10.0));
write(Boolean(false) !== new Number(-10.1));
write(Boolean(false) !== new Number(Number.MAX_VALUE));
write(Boolean(false) !== new Number(Number.MIN_VALUE));
write(Boolean(false) !== new Number(Number.NaN));
write(Boolean(false) !== new Number(Number.POSITIVE_INFINITY));
write(Boolean(false) !== new Number(Number.NEGATIVE_INFINITY));
write(Boolean(false) !== '');
write(Boolean(false) !== 0xa);
write(Boolean(false) !== 04);
write(Boolean(false) !== 'hello');
write(Boolean(false) !== 'hel' + 'lo');
write(Boolean(false) !== String(''));
write(Boolean(false) !== String('hello'));
write(Boolean(false) !== String('h' + 'ello'));
write(Boolean(false) !== new String(''));
write(Boolean(false) !== new String('hello'));
write(Boolean(false) !== new String('he' + 'llo'));
write(Boolean(false) !== new Object());
write(Boolean(false) !== new Object());
write(Boolean(false) !== [1, 2, 3]);
write(Boolean(false) !== [1 ,2 , 3]);
write(Boolean(false) !== new Array(3));
write(Boolean(false) !== Array(3));
write(Boolean(false) !== new Array(1 ,2 ,3));
write(Boolean(false) !== Array(1));
write(Boolean(false) !== foo);
write(new Boolean(true) !== undefined);
write(new Boolean(true) !== null);
write(new Boolean(true) !== true);
write(new Boolean(true) !== false);
write(new Boolean(true) !== Boolean(true));
write(new Boolean(true) !== Boolean(false));
write(new Boolean(true) !== new Boolean(true));
write(new Boolean(true) !== new Boolean(false));
write(new Boolean(true) !== NaN);
write(new Boolean(true) !== +0);
write(new Boolean(true) !== -0);
write(new Boolean(true) !== 0);
write(new Boolean(true) !== 0.0);
write(new Boolean(true) !== -0.0);
write(new Boolean(true) !== +0.0);
write(new Boolean(true) !== 1);
write(new Boolean(true) !== 10);
write(new Boolean(true) !== 10.0);
write(new Boolean(true) !== 10.1);
write(new Boolean(true) !== -1);
write(new Boolean(true) !== -10);
write(new Boolean(true) !== -10.0);
write(new Boolean(true) !== -10.1);
write(new Boolean(true) !== Number.MAX_VALUE);
write(new Boolean(true) !== Number.MIN_VALUE);
write(new Boolean(true) !== Number.NaN);
write(new Boolean(true) !== Number.POSITIVE_INFINITY);
write(new Boolean(true) !== Number.NEGATIVE_INFINITY);
write(new Boolean(true) !== new Number(NaN));
write(new Boolean(true) !== new Number(+0));
write(new Boolean(true) !== new Number(-0));
write(new Boolean(true) !== new Number(0));
write(new Boolean(true) !== new Number(0.0));
write(new Boolean(true) !== new Number(-0.0));
write(new Boolean(true) !== new Number(+0.0));
write(new Boolean(true) !== new Number(1));
write(new Boolean(true) !== new Number(10));
write(new Boolean(true) !== new Number(10.0));
write(new Boolean(true) !== new Number(10.1));
write(new Boolean(true) !== new Number(-1));
write(new Boolean(true) !== new Number(-10));
write(new Boolean(true) !== new Number(-10.0));
write(new Boolean(true) !== new Number(-10.1));
write(new Boolean(true) !== new Number(Number.MAX_VALUE));
write(new Boolean(true) !== new Number(Number.MIN_VALUE));
write(new Boolean(true) !== new Number(Number.NaN));
write(new Boolean(true) !== new Number(Number.POSITIVE_INFINITY));
write(new Boolean(true) !== new Number(Number.NEGATIVE_INFINITY));
write(new Boolean(true) !== '');
write(new Boolean(true) !== 0xa);
write(new Boolean(true) !== 04);
write(new Boolean(true) !== 'hello');
write(new Boolean(true) !== 'hel' + 'lo');
write(new Boolean(true) !== String(''));
write(new Boolean(true) !== String('hello'));
write(new Boolean(true) !== String('h' + 'ello'));
write(new Boolean(true) !== new String(''));
write(new Boolean(true) !== new String('hello'));
write(new Boolean(true) !== new String('he' + 'llo'));
write(new Boolean(true) !== new Object());
write(new Boolean(true) !== new Object());
write(new Boolean(true) !== [1, 2, 3]);
write(new Boolean(true) !== [1 ,2 , 3]);
write(new Boolean(true) !== new Array(3));
write(new Boolean(true) !== Array(3));
write(new Boolean(true) !== new Array(1 ,2 ,3));
write(new Boolean(true) !== Array(1));
write(new Boolean(true) !== foo);
write(new Boolean(false) !== undefined);
write(new Boolean(false) !== null);
write(new Boolean(false) !== true);
write(new Boolean(false) !== false);
write(new Boolean(false) !== Boolean(true));
write(new Boolean(false) !== Boolean(false));
write(new Boolean(false) !== new Boolean(true));
write(new Boolean(false) !== new Boolean(false));
write(new Boolean(false) !== NaN);
write(new Boolean(false) !== +0);
write(new Boolean(false) !== -0);
write(new Boolean(false) !== 0);
write(new Boolean(false) !== 0.0);
write(new Boolean(false) !== -0.0);
write(new Boolean(false) !== +0.0);
write(new Boolean(false) !== 1);
write(new Boolean(false) !== 10);
write(new Boolean(false) !== 10.0);
write(new Boolean(false) !== 10.1);
write(new Boolean(false) !== -1);
write(new Boolean(false) !== -10);
write(new Boolean(false) !== -10.0);
write(new Boolean(false) !== -10.1);
write(new Boolean(false) !== Number.MAX_VALUE);
write(new Boolean(false) !== Number.MIN_VALUE);
write(new Boolean(false) !== Number.NaN);
write(new Boolean(false) !== Number.POSITIVE_INFINITY);
write(new Boolean(false) !== Number.NEGATIVE_INFINITY);
write(new Boolean(false) !== new Number(NaN));
write(new Boolean(false) !== new Number(+0));
write(new Boolean(false) !== new Number(-0));
write(new Boolean(false) !== new Number(0));
write(new Boolean(false) !== new Number(0.0));
write(new Boolean(false) !== new Number(-0.0));
write(new Boolean(false) !== new Number(+0.0));
write(new Boolean(false) !== new Number(1));
write(new Boolean(false) !== new Number(10));
write(new Boolean(false) !== new Number(10.0));
write(new Boolean(false) !== new Number(10.1));
write(new Boolean(false) !== new Number(-1));
write(new Boolean(false) !== new Number(-10));
write(new Boolean(false) !== new Number(-10.0));
write(new Boolean(false) !== new Number(-10.1));
write(new Boolean(false) !== new Number(Number.MAX_VALUE));
write(new Boolean(false) !== new Number(Number.MIN_VALUE));
write(new Boolean(false) !== new Number(Number.NaN));
write(new Boolean(false) !== new Number(Number.POSITIVE_INFINITY));
write(new Boolean(false) !== new Number(Number.NEGATIVE_INFINITY));
write(new Boolean(false) !== '');
write(new Boolean(false) !== 0xa);
write(new Boolean(false) !== 04);
write(new Boolean(false) !== 'hello');
write(new Boolean(false) !== 'hel' + 'lo');
write(new Boolean(false) !== String(''));
write(new Boolean(false) !== String('hello'));
write(new Boolean(false) !== String('h' + 'ello'));
write(new Boolean(false) !== new String(''));
write(new Boolean(false) !== new String('hello'));
write(new Boolean(false) !== new String('he' + 'llo'));
write(new Boolean(false) !== new Object());
write(new Boolean(false) !== new Object());
write(new Boolean(false) !== [1, 2, 3]);
write(new Boolean(false) !== [1 ,2 , 3]);
write(new Boolean(false) !== new Array(3));
write(new Boolean(false) !== Array(3));
write(new Boolean(false) !== new Array(1 ,2 ,3));
write(new Boolean(false) !== Array(1));
write(new Boolean(false) !== foo);
write(NaN !== undefined);
write(NaN !== null);
write(NaN !== true);
write(NaN !== false);
write(NaN !== Boolean(true));
write(NaN !== Boolean(false));
write(NaN !== new Boolean(true));
write(NaN !== new Boolean(false));
write(NaN !== NaN);
write(NaN !== +0);
write(NaN !== -0);
write(NaN !== 0);
write(NaN !== 0.0);
write(NaN !== -0.0);
write(NaN !== +0.0);
write(NaN !== 1);
write(NaN !== 10);
write(NaN !== 10.0);
write(NaN !== 10.1);
write(NaN !== -1);
write(NaN !== -10);
write(NaN !== -10.0);
write(NaN !== -10.1);
write(NaN !== Number.MAX_VALUE);
write(NaN !== Number.MIN_VALUE);
write(NaN !== Number.NaN);
write(NaN !== Number.POSITIVE_INFINITY);
write(NaN !== Number.NEGATIVE_INFINITY);
write(NaN !== new Number(NaN));
write(NaN !== new Number(+0));
write(NaN !== new Number(-0));
write(NaN !== new Number(0));
write(NaN !== new Number(0.0));
write(NaN !== new Number(-0.0));
write(NaN !== new Number(+0.0));
write(NaN !== new Number(1));
write(NaN !== new Number(10));
write(NaN !== new Number(10.0));
write(NaN !== new Number(10.1));
write(NaN !== new Number(-1));
write(NaN !== new Number(-10));
write(NaN !== new Number(-10.0));
write(NaN !== new Number(-10.1));
write(NaN !== new Number(Number.MAX_VALUE));
write(NaN !== new Number(Number.MIN_VALUE));
write(NaN !== new Number(Number.NaN));
write(NaN !== new Number(Number.POSITIVE_INFINITY));
write(NaN !== new Number(Number.NEGATIVE_INFINITY));
write(NaN !== '');
write(NaN !== 0xa);
write(NaN !== 04);
write(NaN !== 'hello');
write(NaN !== 'hel' + 'lo');
write(NaN !== String(''));
write(NaN !== String('hello'));
write(NaN !== String('h' + 'ello'));
write(NaN !== new String(''));
write(NaN !== new String('hello'));
write(NaN !== new String('he' + 'llo'));
write(NaN !== new Object());
write(NaN !== new Object());
write(NaN !== [1, 2, 3]);
write(NaN !== [1 ,2 , 3]);
write(NaN !== new Array(3));
write(NaN !== Array(3));
write(NaN !== new Array(1 ,2 ,3));
write(NaN !== Array(1));
write(NaN !== foo);
write(+0 !== undefined);
write(+0 !== null);
write(+0 !== true);
write(+0 !== false);
write(+0 !== Boolean(true));
write(+0 !== Boolean(false));
write(+0 !== new Boolean(true));
write(+0 !== new Boolean(false));
write(+0 !== NaN);
write(+0 !== +0);
write(+0 !== -0);
write(+0 !== 0);
write(+0 !== 0.0);
write(+0 !== -0.0);
write(+0 !== +0.0);
write(+0 !== 1);
write(+0 !== 10);
write(+0 !== 10.0);
write(+0 !== 10.1);
write(+0 !== -1);
write(+0 !== -10);
write(+0 !== -10.0);
write(+0 !== -10.1);
write(+0 !== Number.MAX_VALUE);
write(+0 !== Number.MIN_VALUE);
write(+0 !== Number.NaN);
write(+0 !== Number.POSITIVE_INFINITY);
write(+0 !== Number.NEGATIVE_INFINITY);
write(+0 !== new Number(NaN));
write(+0 !== new Number(+0));
write(+0 !== new Number(-0));
write(+0 !== new Number(0));
write(+0 !== new Number(0.0));
write(+0 !== new Number(-0.0));
write(+0 !== new Number(+0.0));
write(+0 !== new Number(1));
write(+0 !== new Number(10));
write(+0 !== new Number(10.0));
write(+0 !== new Number(10.1));
write(+0 !== new Number(-1));
write(+0 !== new Number(-10));
write(+0 !== new Number(-10.0));
write(+0 !== new Number(-10.1));
write(+0 !== new Number(Number.MAX_VALUE));
write(+0 !== new Number(Number.MIN_VALUE));
write(+0 !== new Number(Number.NaN));
write(+0 !== new Number(Number.POSITIVE_INFINITY));
write(+0 !== new Number(Number.NEGATIVE_INFINITY));
write(+0 !== '');
write(+0 !== 0xa);
write(+0 !== 04);
write(+0 !== 'hello');
write(+0 !== 'hel' + 'lo');
write(+0 !== String(''));
write(+0 !== String('hello'));
write(+0 !== String('h' + 'ello'));
write(+0 !== new String(''));
write(+0 !== new String('hello'));
write(+0 !== new String('he' + 'llo'));
write(+0 !== new Object());
write(+0 !== new Object());
write(+0 !== [1, 2, 3]);
write(+0 !== [1 ,2 , 3]);
write(+0 !== new Array(3));
write(+0 !== Array(3));
write(+0 !== new Array(1 ,2 ,3));
write(+0 !== Array(1));
write(+0 !== foo);
write(-0 !== undefined);
write(-0 !== null);
write(-0 !== true);
write(-0 !== false);
write(-0 !== Boolean(true));
write(-0 !== Boolean(false));
write(-0 !== new Boolean(true));
write(-0 !== new Boolean(false));
write(-0 !== NaN);
write(-0 !== +0);
write(-0 !== -0);
write(-0 !== 0);
write(-0 !== 0.0);
write(-0 !== -0.0);
write(-0 !== +0.0);
write(-0 !== 1);
write(-0 !== 10);
write(-0 !== 10.0);
write(-0 !== 10.1);
write(-0 !== -1);
write(-0 !== -10);
write(-0 !== -10.0);
write(-0 !== -10.1);
write(-0 !== Number.MAX_VALUE);
write(-0 !== Number.MIN_VALUE);
write(-0 !== Number.NaN);
write(-0 !== Number.POSITIVE_INFINITY);
write(-0 !== Number.NEGATIVE_INFINITY);
write(-0 !== new Number(NaN));
write(-0 !== new Number(+0));
write(-0 !== new Number(-0));
write(-0 !== new Number(0));
write(-0 !== new Number(0.0));
write(-0 !== new Number(-0.0));
write(-0 !== new Number(+0.0));
write(-0 !== new Number(1));
write(-0 !== new Number(10));
write(-0 !== new Number(10.0));
write(-0 !== new Number(10.1));
write(-0 !== new Number(-1));
write(-0 !== new Number(-10));
write(-0 !== new Number(-10.0));
write(-0 !== new Number(-10.1));
write(-0 !== new Number(Number.MAX_VALUE));
write(-0 !== new Number(Number.MIN_VALUE));
write(-0 !== new Number(Number.NaN));
write(-0 !== new Number(Number.POSITIVE_INFINITY));
write(-0 !== new Number(Number.NEGATIVE_INFINITY));
write(-0 !== '');
write(-0 !== 0xa);
write(-0 !== 04);
write(-0 !== 'hello');
write(-0 !== 'hel' + 'lo');
write(-0 !== String(''));
write(-0 !== String('hello'));
write(-0 !== String('h' + 'ello'));
write(-0 !== new String(''));
write(-0 !== new String('hello'));
write(-0 !== new String('he' + 'llo'));
write(-0 !== new Object());
write(-0 !== new Object());
write(-0 !== [1, 2, 3]);
write(-0 !== [1 ,2 , 3]);
write(-0 !== new Array(3));
write(-0 !== Array(3));
write(-0 !== new Array(1 ,2 ,3));
write(-0 !== Array(1));
write(-0 !== foo);
write(0 !== undefined);
write(0 !== null);
write(0 !== true);
write(0 !== false);
write(0 !== Boolean(true));
write(0 !== Boolean(false));
write(0 !== new Boolean(true));
write(0 !== new Boolean(false));
write(0 !== NaN);
write(0 !== +0);
write(0 !== -0);
write(0 !== 0);
write(0 !== 0.0);
write(0 !== -0.0);
write(0 !== +0.0);
write(0 !== 1);
write(0 !== 10);
write(0 !== 10.0);
write(0 !== 10.1);
write(0 !== -1);
write(0 !== -10);
write(0 !== -10.0);
write(0 !== -10.1);
write(0 !== Number.MAX_VALUE);
write(0 !== Number.MIN_VALUE);
write(0 !== Number.NaN);
write(0 !== Number.POSITIVE_INFINITY);
write(0 !== Number.NEGATIVE_INFINITY);
write(0 !== new Number(NaN));
write(0 !== new Number(+0));
write(0 !== new Number(-0));
write(0 !== new Number(0));
write(0 !== new Number(0.0));
write(0 !== new Number(-0.0));
write(0 !== new Number(+0.0));
write(0 !== new Number(1));
write(0 !== new Number(10));
write(0 !== new Number(10.0));
write(0 !== new Number(10.1));
write(0 !== new Number(-1));
write(0 !== new Number(-10));
write(0 !== new Number(-10.0));
write(0 !== new Number(-10.1));
write(0 !== new Number(Number.MAX_VALUE));
write(0 !== new Number(Number.MIN_VALUE));
write(0 !== new Number(Number.NaN));
write(0 !== new Number(Number.POSITIVE_INFINITY));
write(0 !== new Number(Number.NEGATIVE_INFINITY));
write(0 !== '');
write(0 !== 0xa);
write(0 !== 04);
write(0 !== 'hello');
write(0 !== 'hel' + 'lo');
write(0 !== String(''));
write(0 !== String('hello'));
write(0 !== String('h' + 'ello'));
write(0 !== new String(''));
write(0 !== new String('hello'));
write(0 !== new String('he' + 'llo'));
write(0 !== new Object());
write(0 !== new Object());
write(0 !== [1, 2, 3]);
write(0 !== [1 ,2 , 3]);
write(0 !== new Array(3));
write(0 !== Array(3));
write(0 !== new Array(1 ,2 ,3));
write(0 !== Array(1));
write(0 !== foo);
write(0.0 !== undefined);
write(0.0 !== null);
write(0.0 !== true);
write(0.0 !== false);
write(0.0 !== Boolean(true));
write(0.0 !== Boolean(false));
write(0.0 !== new Boolean(true));
write(0.0 !== new Boolean(false));
write(0.0 !== NaN);
write(0.0 !== +0);
write(0.0 !== -0);
write(0.0 !== 0);
write(0.0 !== 0.0);
write(0.0 !== -0.0);
write(0.0 !== +0.0);
write(0.0 !== 1);
write(0.0 !== 10);
write(0.0 !== 10.0);
write(0.0 !== 10.1);
write(0.0 !== -1);
write(0.0 !== -10);
write(0.0 !== -10.0);
write(0.0 !== -10.1);
write(0.0 !== Number.MAX_VALUE);
write(0.0 !== Number.MIN_VALUE);
write(0.0 !== Number.NaN);
write(0.0 !== Number.POSITIVE_INFINITY);
write(0.0 !== Number.NEGATIVE_INFINITY);
write(0.0 !== new Number(NaN));
write(0.0 !== new Number(+0));
write(0.0 !== new Number(-0));
write(0.0 !== new Number(0));
write(0.0 !== new Number(0.0));
write(0.0 !== new Number(-0.0));
write(0.0 !== new Number(+0.0));
write(0.0 !== new Number(1));
write(0.0 !== new Number(10));
write(0.0 !== new Number(10.0));
write(0.0 !== new Number(10.1));
write(0.0 !== new Number(-1));
write(0.0 !== new Number(-10));
write(0.0 !== new Number(-10.0));
write(0.0 !== new Number(-10.1));
write(0.0 !== new Number(Number.MAX_VALUE));
write(0.0 !== new Number(Number.MIN_VALUE));
write(0.0 !== new Number(Number.NaN));
write(0.0 !== new Number(Number.POSITIVE_INFINITY));
write(0.0 !== new Number(Number.NEGATIVE_INFINITY));
write(0.0 !== '');
write(0.0 !== 0xa);
write(0.0 !== 04);
write(0.0 !== 'hello');
write(0.0 !== 'hel' + 'lo');
write(0.0 !== String(''));
write(0.0 !== String('hello'));
write(0.0 !== String('h' + 'ello'));
write(0.0 !== new String(''));
write(0.0 !== new String('hello'));
write(0.0 !== new String('he' + 'llo'));
write(0.0 !== new Object());
write(0.0 !== new Object());
write(0.0 !== [1, 2, 3]);
write(0.0 !== [1 ,2 , 3]);
write(0.0 !== new Array(3));
write(0.0 !== Array(3));
write(0.0 !== new Array(1 ,2 ,3));
write(0.0 !== Array(1));
write(0.0 !== foo);
write(-0.0 !== undefined);
write(-0.0 !== null);
write(-0.0 !== true);
write(-0.0 !== false);
write(-0.0 !== Boolean(true));
write(-0.0 !== Boolean(false));
write(-0.0 !== new Boolean(true));
write(-0.0 !== new Boolean(false));
write(-0.0 !== NaN);
write(-0.0 !== +0);
write(-0.0 !== -0);
write(-0.0 !== 0);
write(-0.0 !== 0.0);
write(-0.0 !== -0.0);
write(-0.0 !== +0.0);
write(-0.0 !== 1);
write(-0.0 !== 10);
write(-0.0 !== 10.0);
write(-0.0 !== 10.1);
write(-0.0 !== -1);
write(-0.0 !== -10);
write(-0.0 !== -10.0);
write(-0.0 !== -10.1);
write(-0.0 !== Number.MAX_VALUE);
write(-0.0 !== Number.MIN_VALUE);
write(-0.0 !== Number.NaN);
write(-0.0 !== Number.POSITIVE_INFINITY);
write(-0.0 !== Number.NEGATIVE_INFINITY);
write(-0.0 !== new Number(NaN));
write(-0.0 !== new Number(+0));
write(-0.0 !== new Number(-0));
write(-0.0 !== new Number(0));
write(-0.0 !== new Number(0.0));
write(-0.0 !== new Number(-0.0));
write(-0.0 !== new Number(+0.0));
write(-0.0 !== new Number(1));
write(-0.0 !== new Number(10));
write(-0.0 !== new Number(10.0));
write(-0.0 !== new Number(10.1));
write(-0.0 !== new Number(-1));
write(-0.0 !== new Number(-10));
write(-0.0 !== new Number(-10.0));
write(-0.0 !== new Number(-10.1));
write(-0.0 !== new Number(Number.MAX_VALUE));
write(-0.0 !== new Number(Number.MIN_VALUE));
write(-0.0 !== new Number(Number.NaN));
write(-0.0 !== new Number(Number.POSITIVE_INFINITY));
write(-0.0 !== new Number(Number.NEGATIVE_INFINITY));
write(-0.0 !== '');
write(-0.0 !== 0xa);
write(-0.0 !== 04);
write(-0.0 !== 'hello');
write(-0.0 !== 'hel' + 'lo');
write(-0.0 !== String(''));
write(-0.0 !== String('hello'));
write(-0.0 !== String('h' + 'ello'));
write(-0.0 !== new String(''));
write(-0.0 !== new String('hello'));
write(-0.0 !== new String('he' + 'llo'));
write(-0.0 !== new Object());
write(-0.0 !== new Object());
write(-0.0 !== [1, 2, 3]);
write(-0.0 !== [1 ,2 , 3]);
write(-0.0 !== new Array(3));
write(-0.0 !== Array(3));
write(-0.0 !== new Array(1 ,2 ,3));
write(-0.0 !== Array(1));
write(-0.0 !== foo);
write(+0.0 !== undefined);
write(+0.0 !== null);
write(+0.0 !== true);
write(+0.0 !== false);
write(+0.0 !== Boolean(true));
write(+0.0 !== Boolean(false));
write(+0.0 !== new Boolean(true));
write(+0.0 !== new Boolean(false));
write(+0.0 !== NaN);
write(+0.0 !== +0);
write(+0.0 !== -0);
write(+0.0 !== 0);
write(+0.0 !== 0.0);
write(+0.0 !== -0.0);
write(+0.0 !== +0.0);
write(+0.0 !== 1);
write(+0.0 !== 10);
write(+0.0 !== 10.0);
write(+0.0 !== 10.1);
write(+0.0 !== -1);
write(+0.0 !== -10);
write(+0.0 !== -10.0);
write(+0.0 !== -10.1);
write(+0.0 !== Number.MAX_VALUE);
write(+0.0 !== Number.MIN_VALUE);
write(+0.0 !== Number.NaN);
write(+0.0 !== Number.POSITIVE_INFINITY);
write(+0.0 !== Number.NEGATIVE_INFINITY);
write(+0.0 !== new Number(NaN));
write(+0.0 !== new Number(+0));
write(+0.0 !== new Number(-0));
write(+0.0 !== new Number(0));
write(+0.0 !== new Number(0.0));
write(+0.0 !== new Number(-0.0));
write(+0.0 !== new Number(+0.0));
write(+0.0 !== new Number(1));
write(+0.0 !== new Number(10));
write(+0.0 !== new Number(10.0));
write(+0.0 !== new Number(10.1));
write(+0.0 !== new Number(-1));
write(+0.0 !== new Number(-10));
write(+0.0 !== new Number(-10.0));
write(+0.0 !== new Number(-10.1));
write(+0.0 !== new Number(Number.MAX_VALUE));
write(+0.0 !== new Number(Number.MIN_VALUE));
write(+0.0 !== new Number(Number.NaN));
write(+0.0 !== new Number(Number.POSITIVE_INFINITY));
write(+0.0 !== new Number(Number.NEGATIVE_INFINITY));