14514f5e3Sopenharmony_ci/*
24514f5e3Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
34514f5e3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
44514f5e3Sopenharmony_ci * you may not use this file except in compliance with the License.
54514f5e3Sopenharmony_ci * You may obtain a copy of the License at
64514f5e3Sopenharmony_ci *
74514f5e3Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
84514f5e3Sopenharmony_ci *
94514f5e3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
104514f5e3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
114514f5e3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
124514f5e3Sopenharmony_ci * See the License for the specific language governing permissions and
134514f5e3Sopenharmony_ci * limitations under the License.
144514f5e3Sopenharmony_ci */
154514f5e3Sopenharmony_ci
164514f5e3Sopenharmony_ci/*
174514f5e3Sopenharmony_ci * @tc.name:builtins
184514f5e3Sopenharmony_ci * @tc.desc:test builtins
194514f5e3Sopenharmony_ci * @tc.type: FUNC
204514f5e3Sopenharmony_ci * @tc.require: issueI5NO8G
214514f5e3Sopenharmony_ci */
224514f5e3Sopenharmony_cilet result = Number.parseInt("16947500000");
234514f5e3Sopenharmony_ciprint("builtins number start");
244514f5e3Sopenharmony_ciprint("parseInt result = " + result);
254514f5e3Sopenharmony_ciprint(1 / 0.75 * 0.6);
264514f5e3Sopenharmony_ciprint(1 / (-1 * 0));
274514f5e3Sopenharmony_ci
284514f5e3Sopenharmony_ciprint("builtins number parsefloat");
294514f5e3Sopenharmony_ciprint(Number.parseFloat())
304514f5e3Sopenharmony_ciprint(Number.parseFloat(123))
314514f5e3Sopenharmony_ciprint(Number.parseFloat(new Number(-0.12)))
324514f5e3Sopenharmony_ciprint(Number.parseFloat("10.123"))
334514f5e3Sopenharmony_ciprint(Number.parseFloat("-0"))
344514f5e3Sopenharmony_ciprint(Number.parseFloat("0"))
354514f5e3Sopenharmony_ciprint(Number.parseFloat("-1000, 0"))
364514f5e3Sopenharmony_ciprint(Number.parseFloat("-1000"))
374514f5e3Sopenharmony_ciprint(Number.parseFloat("-0.12"))
384514f5e3Sopenharmony_ciprint(Number.parseFloat("  01 ", "1"))
394514f5e3Sopenharmony_ciprint(Number.parseFloat("123456e10"))
404514f5e3Sopenharmony_ciprint(Number.parseFloat("123456e10"))
414514f5e3Sopenharmony_ciprint(Number.parseFloat("1.0"))
424514f5e3Sopenharmony_ciprint(Number.parseFloat("1e0"))
434514f5e3Sopenharmony_ciprint(Number.parseFloat("10.0e-0"))
444514f5e3Sopenharmony_ciprint(Number.parseFloat("10.0e0"))
454514f5e3Sopenharmony_ciprint(Number.parseFloat("100.0E1"))
464514f5e3Sopenharmony_ci
474514f5e3Sopenharmony_ciprint("builtins global parsefloat");
484514f5e3Sopenharmony_ciprint(parseFloat())
494514f5e3Sopenharmony_ciprint(parseFloat(123))
504514f5e3Sopenharmony_ciprint(parseFloat(new Number(-0.12)))
514514f5e3Sopenharmony_ciprint(parseFloat("10.123"))
524514f5e3Sopenharmony_ciprint(parseFloat("-0"))
534514f5e3Sopenharmony_ciprint(parseFloat("0"))
544514f5e3Sopenharmony_ciprint(parseFloat("-1000, 0"))
554514f5e3Sopenharmony_ciprint(parseFloat("-1000"))
564514f5e3Sopenharmony_ciprint(parseFloat("-0.12"))
574514f5e3Sopenharmony_ciprint(parseFloat("  01 ", "1"))
584514f5e3Sopenharmony_ciprint(parseFloat("123456e10"))
594514f5e3Sopenharmony_ciprint(parseFloat("123456e10"))
604514f5e3Sopenharmony_ci
614514f5e3Sopenharmony_ciprint("builtins number parseint");
624514f5e3Sopenharmony_ciprint(Number.parseInt())
634514f5e3Sopenharmony_ciprint(Number.parseInt(undefined))
644514f5e3Sopenharmony_ciprint(Number.parseInt(null))
654514f5e3Sopenharmony_ciprint(Number.parseInt(123))
664514f5e3Sopenharmony_ciprint(Number.parseInt(new Number(-2)))
674514f5e3Sopenharmony_ciprint(Number.parseInt("10.123"))
684514f5e3Sopenharmony_ciprint(Number.parseInt("-0"))
694514f5e3Sopenharmony_ciprint(Number.parseInt("0"))
704514f5e3Sopenharmony_ciprint(Number.parseInt("-1000, 0"))
714514f5e3Sopenharmony_ciprint(Number.parseInt("-1000"))
724514f5e3Sopenharmony_ciprint(Number.parseInt("  01 ", "1"))
734514f5e3Sopenharmony_ciprint(Number.parseInt("123456e10"))
744514f5e3Sopenharmony_ciprint(Number.parseInt("1.0"))
754514f5e3Sopenharmony_ciprint(Number.parseInt("1e0"))
764514f5e3Sopenharmony_ciprint(Number.parseInt("10.0e-0"))
774514f5e3Sopenharmony_ciprint(Number.parseInt("10.0e0"))
784514f5e3Sopenharmony_ciprint(Number.parseInt("100.0E1"))
794514f5e3Sopenharmony_ciprint(Number.parseInt("100", 2))
804514f5e3Sopenharmony_ciprint(Number.parseInt("100", 4))
814514f5e3Sopenharmony_ciprint(Number.parseInt("100", 8))
824514f5e3Sopenharmony_ciprint(Number.parseInt("100", 10))
834514f5e3Sopenharmony_ciprint(Number.parseInt("100", 16))
844514f5e3Sopenharmony_ci
854514f5e3Sopenharmony_ciprint("builtins global parseint");
864514f5e3Sopenharmony_ciprint(parseInt())
874514f5e3Sopenharmony_ciprint(parseInt(undefined))
884514f5e3Sopenharmony_ciprint(parseInt(null))
894514f5e3Sopenharmony_ciprint(parseInt(123))
904514f5e3Sopenharmony_ciprint(parseInt(new Number(-2)))
914514f5e3Sopenharmony_ciprint(parseInt("10.123"))
924514f5e3Sopenharmony_ciprint(parseInt("-0"))
934514f5e3Sopenharmony_ciprint(parseInt("0"))
944514f5e3Sopenharmony_ciprint(parseInt("-1000, 0"))
954514f5e3Sopenharmony_ciprint(parseInt("-1000"))
964514f5e3Sopenharmony_ciprint(parseInt("  01 ", "1"))
974514f5e3Sopenharmony_ciprint(parseInt("123456e10"))
984514f5e3Sopenharmony_ciprint(parseInt("1.0"))
994514f5e3Sopenharmony_ciprint(parseInt("1e0"))
1004514f5e3Sopenharmony_ciprint(parseInt("10.0e-0"))
1014514f5e3Sopenharmony_ciprint(parseInt("10.0e0"))
1024514f5e3Sopenharmony_ciprint(parseInt("100.0E1"))
1034514f5e3Sopenharmony_ciprint(parseInt("100", 2))
1044514f5e3Sopenharmony_ciprint(parseInt("100", 4))
1054514f5e3Sopenharmony_ciprint(parseInt("100", 8))
1064514f5e3Sopenharmony_ciprint(parseInt("100", 10))
1074514f5e3Sopenharmony_ciprint(parseInt("100", 16))
1084514f5e3Sopenharmony_ci
1094514f5e3Sopenharmony_ciprint("builtins number isnan");
1104514f5e3Sopenharmony_ciprint(Number.isNaN());
1114514f5e3Sopenharmony_ciprint(Number.isNaN(undefined));
1124514f5e3Sopenharmony_ciprint(Number.isNaN(null));
1134514f5e3Sopenharmony_ciprint(Number.isNaN(NaN));
1144514f5e3Sopenharmony_ciprint(Number.isNaN(0));
1154514f5e3Sopenharmony_ciprint(Number.isNaN(1));
1164514f5e3Sopenharmony_ciprint(Number.isNaN(-123));
1174514f5e3Sopenharmony_ciprint(Number.isNaN(1.23));
1184514f5e3Sopenharmony_ciprint(Number.isNaN(-1.23e10));
1194514f5e3Sopenharmony_ciprint(Number.isNaN(NaN, 1));
1204514f5e3Sopenharmony_ciprint(Number.isNaN(NaN + 1));
1214514f5e3Sopenharmony_ciprint(Number.isNaN(0/0));
1224514f5e3Sopenharmony_ciprint(Number.isNaN(Infinity));
1234514f5e3Sopenharmony_ci
1244514f5e3Sopenharmony_ciprint("builtins global isnan");
1254514f5e3Sopenharmony_ciprint(isNaN());
1264514f5e3Sopenharmony_ciprint(isNaN(undefined));
1274514f5e3Sopenharmony_ciprint(isNaN(null));
1284514f5e3Sopenharmony_ciprint(isNaN(NaN));
1294514f5e3Sopenharmony_ciprint(isNaN(0));
1304514f5e3Sopenharmony_ciprint(isNaN(1));
1314514f5e3Sopenharmony_ciprint(isNaN(-123));
1324514f5e3Sopenharmony_ciprint(isNaN(1.23));
1334514f5e3Sopenharmony_ciprint(isNaN(-1.23e10));
1344514f5e3Sopenharmony_ciprint(isNaN(NaN, 1));
1354514f5e3Sopenharmony_ciprint(isNaN(NaN + 1));
1364514f5e3Sopenharmony_ciprint(isNaN(0/0));
1374514f5e3Sopenharmony_ciprint(isNaN(Infinity));
1384514f5e3Sopenharmony_ci
1394514f5e3Sopenharmony_ciprint("builtins number isfinite");
1404514f5e3Sopenharmony_ciprint(Number.isFinite());
1414514f5e3Sopenharmony_ciprint(Number.isFinite(undefined));
1424514f5e3Sopenharmony_ciprint(Number.isFinite(null));
1434514f5e3Sopenharmony_ciprint(Number.isFinite(NaN));
1444514f5e3Sopenharmony_ciprint(Number.isFinite(Infinity));
1454514f5e3Sopenharmony_ciprint(Number.isFinite(-Infinity));
1464514f5e3Sopenharmony_ciprint(Number.isFinite(0.0));
1474514f5e3Sopenharmony_ciprint(Number.isFinite(-0.0));
1484514f5e3Sopenharmony_ciprint(Number.isFinite(123));
1494514f5e3Sopenharmony_ciprint(Number.isFinite(1.23));
1504514f5e3Sopenharmony_ci
1514514f5e3Sopenharmony_ciprint("builtins global isfinite");
1524514f5e3Sopenharmony_ciprint(isFinite());
1534514f5e3Sopenharmony_ciprint(isFinite(undefined));
1544514f5e3Sopenharmony_ciprint(isFinite(null));
1554514f5e3Sopenharmony_ciprint(isFinite(NaN));
1564514f5e3Sopenharmony_ciprint(isFinite(Infinity));
1574514f5e3Sopenharmony_ciprint(isFinite(-Infinity));
1584514f5e3Sopenharmony_ciprint(isFinite(0.0));
1594514f5e3Sopenharmony_ciprint(isFinite(-0.0));
1604514f5e3Sopenharmony_ciprint(isFinite(123));
1614514f5e3Sopenharmony_ciprint(isFinite(1.23));
1624514f5e3Sopenharmony_ci
1634514f5e3Sopenharmony_ciprint("builtins number isinteger");
1644514f5e3Sopenharmony_ciprint(Number.isInteger());
1654514f5e3Sopenharmony_ciprint(Number.isInteger(undefined));
1664514f5e3Sopenharmony_ciprint(Number.isInteger(null));
1674514f5e3Sopenharmony_ciprint(Number.isInteger(NaN));
1684514f5e3Sopenharmony_ciprint(Number.isInteger(Infinity));
1694514f5e3Sopenharmony_ciprint(Number.isInteger(0));
1704514f5e3Sopenharmony_ciprint(Number.isInteger(-0));
1714514f5e3Sopenharmony_ciprint(Number.isInteger(-0.0));
1724514f5e3Sopenharmony_ciprint(Number.isInteger(123));
1734514f5e3Sopenharmony_ciprint(Number.isInteger(-123));
1744514f5e3Sopenharmony_ciprint(Number.isInteger(1.23));
1754514f5e3Sopenharmony_ciprint(Number.isInteger(-1.23));
1764514f5e3Sopenharmony_ciprint(Number.isInteger("2"));
1774514f5e3Sopenharmony_ciprint(Number.isInteger(9007199254740991));
1784514f5e3Sopenharmony_ciprint(Number.isInteger(9007199254740991.0));
1794514f5e3Sopenharmony_ciprint(Number.isInteger(9007199254740991.1));
1804514f5e3Sopenharmony_ciprint(Number.isInteger(9007199254740991.5));
1814514f5e3Sopenharmony_ciprint(Number.isInteger(9007199254740992.0));
1824514f5e3Sopenharmony_ciprint(Number.isInteger(-9007199254740991));
1834514f5e3Sopenharmony_ciprint(Number.isInteger(-9007199254740991.0));
1844514f5e3Sopenharmony_ciprint(Number.isInteger(-9007199254740991.1));
1854514f5e3Sopenharmony_ciprint(Number.isInteger(-9007199254740991.5));
1864514f5e3Sopenharmony_ciprint(Number.isInteger(-9007199254740992.0));
1874514f5e3Sopenharmony_ciprint(Number.isInteger(1.0e22));
1884514f5e3Sopenharmony_ciprint(Number.isInteger(-1.0e22));
1894514f5e3Sopenharmony_ci
1904514f5e3Sopenharmony_ciprint("builtins number issafeinteger");
1914514f5e3Sopenharmony_ciprint(Number.isSafeInteger());
1924514f5e3Sopenharmony_ciprint(Number.isSafeInteger(undefined));
1934514f5e3Sopenharmony_ciprint(Number.isSafeInteger(null));
1944514f5e3Sopenharmony_ciprint(Number.isSafeInteger(NaN));
1954514f5e3Sopenharmony_ciprint(Number.isSafeInteger(Infinity));
1964514f5e3Sopenharmony_ciprint(Number.isSafeInteger(0));
1974514f5e3Sopenharmony_ciprint(Number.isSafeInteger(-0));
1984514f5e3Sopenharmony_ciprint(Number.isSafeInteger(-0.0));
1994514f5e3Sopenharmony_ciprint(Number.isSafeInteger(123));
2004514f5e3Sopenharmony_ciprint(Number.isSafeInteger(-123));
2014514f5e3Sopenharmony_ciprint(Number.isSafeInteger(1.23));
2024514f5e3Sopenharmony_ciprint(Number.isSafeInteger(-1.23));
2034514f5e3Sopenharmony_ciprint(Number.isSafeInteger("2"));
2044514f5e3Sopenharmony_ciprint(Number.isSafeInteger(9007199254740991));
2054514f5e3Sopenharmony_ciprint(Number.isSafeInteger(9007199254740991.0));
2064514f5e3Sopenharmony_ciprint(Number.isSafeInteger(9007199254740991.1));
2074514f5e3Sopenharmony_ciprint(Number.isSafeInteger(9007199254740991.5));
2084514f5e3Sopenharmony_ciprint(Number.isSafeInteger(9007199254740992.0));
2094514f5e3Sopenharmony_ciprint(Number.isSafeInteger(-9007199254740991));
2104514f5e3Sopenharmony_ciprint(Number.isSafeInteger(-9007199254740991.0));
2114514f5e3Sopenharmony_ciprint(Number.isSafeInteger(-9007199254740991.1));
2124514f5e3Sopenharmony_ciprint(Number.isSafeInteger(-9007199254740991.5));
2134514f5e3Sopenharmony_ciprint(Number.isSafeInteger(-9007199254740992.0));
2144514f5e3Sopenharmony_ciprint(Number.isSafeInteger(1.0e22));
2154514f5e3Sopenharmony_ciprint(Number.isSafeInteger(-1.0e22));
2164514f5e3Sopenharmony_ci
2174514f5e3Sopenharmony_ciprint("builtins number tostring");
2184514f5e3Sopenharmony_ciprint((10 ** 21.5).toString())
2194514f5e3Sopenharmony_ciprint((10 ** 21.5).toString())
2204514f5e3Sopenharmony_cilet n1 = new Number(0)
2214514f5e3Sopenharmony_ciprint(n1.toString())
2224514f5e3Sopenharmony_ciprint(n1.toString())
2234514f5e3Sopenharmony_cin1 = new Number(-0)
2244514f5e3Sopenharmony_ciprint(n1.toString())
2254514f5e3Sopenharmony_ciprint(n1.toString())
2264514f5e3Sopenharmony_cin1 = new Number(-1)
2274514f5e3Sopenharmony_ciprint(n1.toString())
2284514f5e3Sopenharmony_ciprint(n1.toString())
2294514f5e3Sopenharmony_cin1 = new Number(-1000000000)
2304514f5e3Sopenharmony_ciprint(n1.toString())
2314514f5e3Sopenharmony_ciprint(n1.toString())
2324514f5e3Sopenharmony_cin1 = new Number(-1000000000.1233444)
2334514f5e3Sopenharmony_ciprint(n1.toString())
2344514f5e3Sopenharmony_ciprint(n1.toString())
2354514f5e3Sopenharmony_cilet n2 = new Number(10000.1234)
2364514f5e3Sopenharmony_ciprint(n2.toString())
2374514f5e3Sopenharmony_ciprint(n2.toString())
2384514f5e3Sopenharmony_cin2 = new Number(1000)
2394514f5e3Sopenharmony_ciprint(n2.toString())
2404514f5e3Sopenharmony_ciprint(n2.toString())
2414514f5e3Sopenharmony_cin2 = new Number(10000123456)
2424514f5e3Sopenharmony_ciprint(n2.toString())
2434514f5e3Sopenharmony_ciprint(n2.toString())
2444514f5e3Sopenharmony_cin2 = new Number(0.000000000010000123456)
2454514f5e3Sopenharmony_ciprint(n2.toString())
2464514f5e3Sopenharmony_ciprint(n2.toString())
2474514f5e3Sopenharmony_cin2 = new Number(0.000000000010000123456e10)
2484514f5e3Sopenharmony_ciprint(n2.toString())
2494514f5e3Sopenharmony_ciprint(n2.toString())
2504514f5e3Sopenharmony_cin2 = new Number(123456e10)
2514514f5e3Sopenharmony_ciprint(n2.toString())
2524514f5e3Sopenharmony_ciprint(n2.toString())
2534514f5e3Sopenharmony_ci
2544514f5e3Sopenharmony_ci// math.atanh
2554514f5e3Sopenharmony_citry {
2564514f5e3Sopenharmony_ci    const bigIntTest = -2147483647n;
2574514f5e3Sopenharmony_ci    const test = Math.atanh(bigIntTest);
2584514f5e3Sopenharmony_ci} catch(e) {
2594514f5e3Sopenharmony_ci    print(e);
2604514f5e3Sopenharmony_ci};
2614514f5e3Sopenharmony_ci
2624514f5e3Sopenharmony_civar s = (2.2250738585072e-308).toString(36)
2634514f5e3Sopenharmony_ciprint(s)
2644514f5e3Sopenharmony_ci
2654514f5e3Sopenharmony_ciprint(Number.parseInt("4294967294"))
2664514f5e3Sopenharmony_ciprint(Number.parseInt("2147483648"))
2674514f5e3Sopenharmony_ci
2684514f5e3Sopenharmony_ciprint(Number.parseFloat("10000000000000000000000.0"));
2694514f5e3Sopenharmony_ci
2704514f5e3Sopenharmony_ci
2714514f5e3Sopenharmony_ciprint("builtins number end");