14514f5e3Sopenharmony_ci/* 24514f5e3Sopenharmony_ci * Copyright (c) 2023 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:BigInt 184514f5e3Sopenharmony_ci * @tc.desc:test BigInt 194514f5e3Sopenharmony_ci * @tc.type: FUNC 204514f5e3Sopenharmony_ci * @tc.require: issueI7DG0J 214514f5e3Sopenharmony_ci */ 224514f5e3Sopenharmony_ci 234514f5e3Sopenharmony_civar number = Number(0x01000000000000080000000000000000000000n) 244514f5e3Sopenharmony_ciprint(number) 254514f5e3Sopenharmony_ci 264514f5e3Sopenharmony_citry { 274514f5e3Sopenharmony_ci BigInt.asUintN(2147483649, -1873965464n); 284514f5e3Sopenharmony_ci} catch (e) { 294514f5e3Sopenharmony_ci print("test successful"); 304514f5e3Sopenharmony_ci} 314514f5e3Sopenharmony_ci 324514f5e3Sopenharmony_ciconst n1 = Number(0x1fffeffafbfcfen); 334514f5e3Sopenharmony_ciprint(n1); 344514f5e3Sopenharmony_ci 354514f5e3Sopenharmony_citry { 364514f5e3Sopenharmony_ci print((9007199254740991n + 9007199254740991n) ** 0n); 374514f5e3Sopenharmony_ci print(0n ** (9007199254740991n + 9007199254740991n)); 384514f5e3Sopenharmony_ci print((9007199254740991n + 9007199254740991n) ** 9007199254740991n); 394514f5e3Sopenharmony_ci} catch (err) { 404514f5e3Sopenharmony_ci print(err.name); 414514f5e3Sopenharmony_ci} 424514f5e3Sopenharmony_ci 434514f5e3Sopenharmony_citry { 444514f5e3Sopenharmony_ci print(0x4141414141414141n << 0n); 454514f5e3Sopenharmony_ci print(0n << 0x4141414141414141n); 464514f5e3Sopenharmony_ci print(0x4141414141414141n << 0x4141414141414141n); 474514f5e3Sopenharmony_ci} catch (err) { 484514f5e3Sopenharmony_ci print(err.name); 494514f5e3Sopenharmony_ci} 504514f5e3Sopenharmony_ci 514514f5e3Sopenharmony_citry { 524514f5e3Sopenharmony_ci const atom = this.Atomics; 534514f5e3Sopenharmony_ci atom.and(new BigInt64Array(3807), atom, atom); 544514f5e3Sopenharmony_ci} catch (err) { 554514f5e3Sopenharmony_ci print(err.name) 564514f5e3Sopenharmony_ci} 574514f5e3Sopenharmony_ci 584514f5e3Sopenharmony_ciconst v33 = String.fromCharCode(48).padStart(48, String.fromCharCode(48)); 594514f5e3Sopenharmony_ciconst v35 = [-1073741824, 2, -9007199254740992]; 604514f5e3Sopenharmony_ciconst v42 = Symbol.toPrimitive; 614514f5e3Sopenharmony_ciSymbol.for(v42.description); 624514f5e3Sopenharmony_cifunction f36(a37, a38) { 634514f5e3Sopenharmony_ci try { 644514f5e3Sopenharmony_ci a37.lastIndexOf(0); 654514f5e3Sopenharmony_ci } catch (err) { 664514f5e3Sopenharmony_ci print(err); 674514f5e3Sopenharmony_ci } 684514f5e3Sopenharmony_ci return v33; 694514f5e3Sopenharmony_ci} 704514f5e3Sopenharmony_civ35[v42] = f36; 714514f5e3Sopenharmony_cilet v49 = -12n; 724514f5e3Sopenharmony_civ49--; 734514f5e3Sopenharmony_ciconst v52 = (v49 >> v49).constructor; 744514f5e3Sopenharmony_ciconst t48 = v52.__defineSetter__; 754514f5e3Sopenharmony_ciprint(v52(v35)); 764514f5e3Sopenharmony_ci 774514f5e3Sopenharmony_cilet map = new Map(); 784514f5e3Sopenharmony_cilet a = BigInt(9007199254740991); 794514f5e3Sopenharmony_cilet b = BigInt(0x1fffffffffffff); 804514f5e3Sopenharmony_cilet c = BigInt(0b11111111111111111111111111111111111111111111111111111); 814514f5e3Sopenharmony_cilet d = BigInt(9007199254740991); 824514f5e3Sopenharmony_cimap.set(a, '1'); 834514f5e3Sopenharmony_cimap.set(b, '2'); 844514f5e3Sopenharmony_cimap.set(c, '3'); 854514f5e3Sopenharmony_cimap.set(d, '4'); 864514f5e3Sopenharmony_cimap.forEach((val,key)=>{ 874514f5e3Sopenharmony_ci print("map val:" + val, "key :" + key); 884514f5e3Sopenharmony_ci}) 894514f5e3Sopenharmony_ci 904514f5e3Sopenharmony_civar HashMap = ArkPrivate.Load(ArkPrivate.HashMap); 914514f5e3Sopenharmony_cilet hmap = new HashMap(); 924514f5e3Sopenharmony_cihmap.set(a, '1'); 934514f5e3Sopenharmony_cihmap.set(b, '2'); 944514f5e3Sopenharmony_cihmap.set(c, '3'); 954514f5e3Sopenharmony_cihmap.set(d, '4'); 964514f5e3Sopenharmony_cihmap.forEach((val,key)=>{ 974514f5e3Sopenharmony_ci print("hmap val:" + val, "key :" + key); 984514f5e3Sopenharmony_ci}) 994514f5e3Sopenharmony_ci 1004514f5e3Sopenharmony_ciconst v83 = new BigUint64Array(1096); 1014514f5e3Sopenharmony_citry { 1024514f5e3Sopenharmony_ci v83["toLocaleString"]("toLocaleString", "toLocaleString"); 1034514f5e3Sopenharmony_ci} catch (error) { 1044514f5e3Sopenharmony_ci print(error); 1054514f5e3Sopenharmony_ci} 1064514f5e3Sopenharmony_ci 1074514f5e3Sopenharmony_ciprint(BigInt.asUintN(2**32, 42n)); 1084514f5e3Sopenharmony_ciprint(BigInt.asIntN(2**32, 42n)); 1094514f5e3Sopenharmony_ciprint((1n)<<(61n)>>(61n)); 110