1/* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16declare function print(arg:any):string; 17 18let undf: any = undefined; 19let intNum: number = 5; 20let doubleNum: number = 1.1; 21let falseValue: boolean = false; 22let trueValue: boolean = true; 23let nullValue: any = null; 24 25// int op undefined 26print("=====int op undefined=====") 27print(intNum + undf); 28print(intNum - undf); 29print(intNum * undf); 30print(intNum / undf); 31print(intNum % undf); 32print(intNum < undf); 33print(intNum <= undf); 34print(intNum > undf); 35print(intNum >= undf); 36print(intNum == undf); 37print(intNum === undf); 38print(intNum != undf); 39print(intNum !== undf); 40print(intNum << undf); 41print(intNum >> undf); 42print(intNum >>> undf); 43print(intNum | undf); 44print(intNum ^ undf); 45 46// double op undefined 47print("=====double op undefined=====") 48print(doubleNum + undf); 49print(doubleNum - undf); 50print(doubleNum * undf); 51print(doubleNum / undf); 52print(doubleNum % undf); 53print(doubleNum < undf); 54print(doubleNum <= undf); 55print(doubleNum > undf); 56print(doubleNum >= undf); 57print(doubleNum == undf); 58print(doubleNum === undf); 59print(doubleNum != undf); 60print(doubleNum !== undf); 61print(doubleNum << undf); 62print(doubleNum >> undf); 63print(doubleNum >>> undf); 64print(doubleNum | undf); 65print(doubleNum ^ undf); 66 67// false op undefined 68print("=====false op undefined=====") 69print(falseValue + undf); 70print(falseValue - undf); 71print(falseValue * undf); 72print(falseValue / undf); 73print(falseValue % undf); 74print(falseValue < undf); 75print(falseValue <= undf); 76print(falseValue > undf); 77print(falseValue >= undf); 78print(falseValue == undf); 79print(falseValue === undf); 80print(falseValue != undf); 81print(falseValue !== undf); 82print(falseValue << undf); 83print(falseValue >> undf); 84print(falseValue >>> undf); 85print(falseValue | undf); 86print(falseValue ^ undf); 87 88// true op undefined 89print("=====true op undefined=====") 90print(trueValue + undf); 91print(trueValue - undf); 92print(trueValue * undf); 93print(trueValue / undf); 94print(trueValue % undf); 95print(trueValue < undf); 96print(trueValue <= undf); 97print(trueValue > undf); 98print(trueValue >= undf); 99print(trueValue == undf); 100print(trueValue === undf); 101print(trueValue != undf); 102print(trueValue !== undf); 103print(trueValue << undf); 104print(trueValue >> undf); 105print(trueValue >>> undf); 106print(trueValue | undf); 107print(trueValue ^ undf); 108 109// null op undefined 110print("=====null op undefined=====") 111print(nullValue + undf); 112print(nullValue - undf); 113print(nullValue * undf); 114print(nullValue / undf); 115print(nullValue % undf); 116print(nullValue < undf); 117print(nullValue <= undf); 118print(nullValue > undf); 119print(nullValue >= undf); 120print(nullValue == undf); 121print(nullValue === undf); 122print(nullValue != undf); 123print(nullValue !== undf); 124print(nullValue << undf); 125print(nullValue >> undf); 126print(nullValue >>> undf); 127print(nullValue | undf); 128print(nullValue ^ undf); 129 130// int op null 131print("=====int op null=====") 132print(intNum + nullValue); 133print(intNum - nullValue); 134print(intNum * nullValue); 135print(intNum / nullValue); 136print(intNum % nullValue); 137print(intNum < nullValue); 138print(intNum <= nullValue); 139print(intNum > nullValue); 140print(intNum >= nullValue); 141print(intNum == nullValue); 142print(intNum === nullValue); 143print(intNum != nullValue); 144print(intNum !== nullValue); 145print(intNum << nullValue); 146print(intNum >> nullValue); 147print(intNum >>> nullValue); 148print(intNum | nullValue); 149print(intNum ^ nullValue); 150 151// double op null 152print("=====double op null=====") 153print(doubleNum + nullValue); 154print(doubleNum - nullValue); 155print(doubleNum * nullValue); 156print(doubleNum / nullValue); 157print(doubleNum % nullValue); 158print(doubleNum < nullValue); 159print(doubleNum <= nullValue); 160print(doubleNum > nullValue); 161print(doubleNum >= nullValue); 162print(doubleNum == nullValue); 163print(doubleNum === nullValue); 164print(doubleNum != nullValue); 165print(doubleNum !== nullValue); 166print(doubleNum << nullValue); 167print(doubleNum >> nullValue); 168print(doubleNum >>> nullValue); 169print(doubleNum | nullValue); 170print(doubleNum ^ nullValue); 171 172// false op null 173print("=====false op null=====") 174print(falseValue + nullValue); 175print(falseValue - nullValue); 176print(falseValue * nullValue); 177print(falseValue / nullValue); 178print(falseValue % nullValue); 179print(falseValue < nullValue); 180print(falseValue <= nullValue); 181print(falseValue > nullValue); 182print(falseValue >= nullValue); 183print(falseValue == nullValue); 184print(falseValue === nullValue); 185print(falseValue != nullValue); 186print(falseValue !== nullValue); 187print(falseValue << nullValue); 188print(falseValue >> nullValue); 189print(falseValue >>> nullValue); 190print(falseValue | nullValue); 191print(falseValue ^ nullValue); 192 193// true op null 194print("=====true op null=====") 195print(trueValue + nullValue); 196print(trueValue - nullValue); 197print(trueValue * nullValue); 198print(trueValue / nullValue); 199print(trueValue % nullValue); 200print(trueValue < nullValue); 201print(trueValue <= nullValue); 202print(trueValue > nullValue); 203print(trueValue >= nullValue); 204print(trueValue == nullValue); 205print(trueValue === nullValue); 206print(trueValue != nullValue); 207print(trueValue !== nullValue); 208print(trueValue << nullValue); 209print(trueValue >> nullValue); 210print(trueValue >>> nullValue); 211print(trueValue | nullValue); 212print(trueValue ^ nullValue); 213 214// int op false 215print("=====int op false=====") 216print(intNum + falseValue); 217print(intNum - falseValue); 218print(intNum * falseValue); 219print(intNum / falseValue); 220print(intNum % falseValue); 221print(intNum < falseValue); 222print(intNum <= falseValue); 223print(intNum > falseValue); 224print(intNum >= falseValue); 225print(intNum == falseValue); 226print(intNum === falseValue); 227print(intNum != falseValue); 228print(intNum !== falseValue); 229print(intNum << falseValue); 230print(intNum >> falseValue); 231print(intNum >>> falseValue); 232print(intNum | falseValue); 233print(intNum ^ falseValue); 234 235// double op false 236print("=====double op false=====") 237print(doubleNum + falseValue); 238print(doubleNum - falseValue); 239print(doubleNum * falseValue); 240print(doubleNum / falseValue); 241print(doubleNum % falseValue); 242print(doubleNum < falseValue); 243print(doubleNum <= falseValue); 244print(doubleNum > falseValue); 245print(doubleNum >= falseValue); 246print(doubleNum == falseValue); 247print(doubleNum === falseValue); 248print(doubleNum != falseValue); 249print(doubleNum !== falseValue); 250print(doubleNum << falseValue); 251print(doubleNum >> falseValue); 252print(doubleNum >>> falseValue); 253print(doubleNum | falseValue); 254print(doubleNum ^ falseValue); 255 256// true op false 257print("=====true op false=====") 258print(trueValue + falseValue); 259print(trueValue - falseValue); 260print(trueValue * falseValue); 261print(trueValue / falseValue); 262print(trueValue % falseValue); 263print(trueValue < falseValue); 264print(trueValue <= falseValue); 265print(trueValue > falseValue); 266print(trueValue >= falseValue); 267print(trueValue == falseValue); 268print(trueValue === falseValue); 269print(trueValue != falseValue); 270print(trueValue !== falseValue); 271print(trueValue << falseValue); 272print(trueValue >> falseValue); 273print(trueValue >>> falseValue); 274print(trueValue | falseValue); 275print(trueValue ^ falseValue); 276 277// int op true 278print("=====int op true=====") 279print(intNum + trueValue); 280print(intNum - trueValue); 281print(intNum * trueValue); 282print(intNum / trueValue); 283print(intNum % trueValue); 284print(intNum < trueValue); 285print(intNum <= trueValue); 286print(intNum > trueValue); 287print(intNum >= trueValue); 288print(intNum == trueValue); 289print(intNum === trueValue); 290print(intNum != trueValue); 291print(intNum !== trueValue); 292print(intNum << trueValue); 293print(intNum >> trueValue); 294print(intNum >>> trueValue); 295print(intNum | trueValue); 296print(intNum ^ trueValue); 297 298// double op true 299print("=====double op true=====") 300print(doubleNum + trueValue); 301print(doubleNum - trueValue); 302print(doubleNum * trueValue); 303print(doubleNum / trueValue); 304print(doubleNum % trueValue); 305print(doubleNum < trueValue); 306print(doubleNum <= trueValue); 307print(doubleNum > trueValue); 308print(doubleNum >= trueValue); 309print(doubleNum == trueValue); 310print(doubleNum === trueValue); 311print(doubleNum != trueValue); 312print(doubleNum !== trueValue); 313print(doubleNum << trueValue); 314print(doubleNum >> trueValue); 315print(doubleNum >>> trueValue); 316print(doubleNum | trueValue); 317print(doubleNum ^ trueValue); 318 319// true op false 320print("=====true op false=====") 321print(trueValue + falseValue); 322print(trueValue - falseValue); 323print(trueValue * falseValue); 324print(trueValue / falseValue); 325print(trueValue % falseValue); 326print(trueValue < falseValue); 327print(trueValue <= falseValue); 328print(trueValue > falseValue); 329print(trueValue >= falseValue); 330print(trueValue == falseValue); 331print(trueValue === falseValue); 332print(trueValue != falseValue); 333print(trueValue !== falseValue); 334print(trueValue << falseValue); 335print(trueValue >> falseValue); 336print(trueValue >>> falseValue); 337print(trueValue | falseValue); 338print(trueValue ^ falseValue); 339 340// undefined op undefined 341print("=====undefined op undefined=====") 342print(undf + undf); 343print(undf - undf); 344print(undf * undf); 345print(undf / undf); 346print(undf % undf); 347print(undf < undf); 348print(undf <= undf); 349print(undf > undf); 350print(undf >= undf); 351print(undf == undf); 352print(undf === undf); 353print(undf != undf); 354print(undf !== undf); 355print(undf << undf); 356print(undf >> undf); 357print(undf >>> undf); 358print(undf | undf); 359print(undf ^ undf); 360 361// null op null 362print("=====null op null=====") 363print(nullValue + nullValue); 364print(nullValue - nullValue); 365print(nullValue * nullValue); 366print(nullValue / nullValue); 367print(nullValue % nullValue); 368print(nullValue < nullValue); 369print(nullValue <= nullValue); 370print(nullValue > nullValue); 371print(nullValue >= nullValue); 372print(nullValue == nullValue); 373print(nullValue === nullValue); 374print(nullValue != nullValue); 375print(nullValue !== nullValue); 376print(nullValue << nullValue); 377print(nullValue >> nullValue); 378print(nullValue >>> nullValue); 379print(nullValue | nullValue); 380print(nullValue ^ nullValue); 381 382// true op true 383print("=====true op true=====") 384print(trueValue + trueValue); 385print(trueValue - trueValue); 386print(trueValue * trueValue); 387print(trueValue / trueValue); 388print(trueValue % trueValue); 389print(trueValue < trueValue); 390print(trueValue <= trueValue); 391print(trueValue > trueValue); 392print(trueValue >= trueValue); 393print(trueValue == trueValue); 394print(trueValue === trueValue); 395print(trueValue != trueValue); 396print(trueValue !== trueValue); 397print(trueValue << trueValue); 398print(trueValue >> trueValue); 399print(trueValue >>> trueValue); 400print(trueValue | trueValue); 401print(trueValue ^ trueValue); 402 403// false op false 404print("=====false op false=====") 405print(falseValue + falseValue); 406print(falseValue - falseValue); 407print(falseValue * falseValue); 408print(falseValue / falseValue); 409print(falseValue % falseValue); 410print(falseValue < falseValue); 411print(falseValue <= falseValue); 412print(falseValue > falseValue); 413print(falseValue >= falseValue); 414print(falseValue == falseValue); 415print(falseValue === falseValue); 416print(falseValue != falseValue); 417print(falseValue !== falseValue); 418print(falseValue << falseValue); 419print(falseValue >> falseValue); 420print(falseValue >>> falseValue); 421print(falseValue | falseValue); 422print(falseValue ^ falseValue);