13af6ab5fSopenharmony_ci/* 23af6ab5fSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 33af6ab5fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 43af6ab5fSopenharmony_ci * you may not use this file except in compliance with the License. 53af6ab5fSopenharmony_ci * You may obtain a copy of the License at 63af6ab5fSopenharmony_ci * 73af6ab5fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 83af6ab5fSopenharmony_ci * 93af6ab5fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 103af6ab5fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 113af6ab5fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 123af6ab5fSopenharmony_ci * See the License for the specific language governing permissions and 133af6ab5fSopenharmony_ci * limitations under the License. 143af6ab5fSopenharmony_ci */ 153af6ab5fSopenharmony_ci 163af6ab5fSopenharmony_civar obj = { 173af6ab5fSopenharmony_ci 2e3: function () { 183af6ab5fSopenharmony_ci "show source"; 193af6ab5fSopenharmony_ci return "Successfully called key 2e3"; 203af6ab5fSopenharmony_ci }, 213af6ab5fSopenharmony_ci 1000: function () { 223af6ab5fSopenharmony_ci "show source"; 233af6ab5fSopenharmony_ci return "Successfully called key 1000"; 243af6ab5fSopenharmony_ci }, 253af6ab5fSopenharmony_ci NaN: function () { 263af6ab5fSopenharmony_ci "show source"; 273af6ab5fSopenharmony_ci return "Successfully called key NaN"; 283af6ab5fSopenharmony_ci }, 293af6ab5fSopenharmony_ci 0.0: function () { 303af6ab5fSopenharmony_ci "show source"; 313af6ab5fSopenharmony_ci return "Successfully called key 0.0"; 323af6ab5fSopenharmony_ci }, 333af6ab5fSopenharmony_ci Infinity: function () { 343af6ab5fSopenharmony_ci "show source"; 353af6ab5fSopenharmony_ci return "Successfully called key Infinity"; 363af6ab5fSopenharmony_ci }, 373af6ab5fSopenharmony_ci 1e-6: function () { 383af6ab5fSopenharmony_ci "show source"; 393af6ab5fSopenharmony_ci return "Successfully called key 1e-6"; 403af6ab5fSopenharmony_ci }, 413af6ab5fSopenharmony_ci 0.000002: function () { 423af6ab5fSopenharmony_ci "show source"; 433af6ab5fSopenharmony_ci return "Successfully called key 0.000002"; 443af6ab5fSopenharmony_ci }, 453af6ab5fSopenharmony_ci 1e-7: function () { 463af6ab5fSopenharmony_ci "show source"; 473af6ab5fSopenharmony_ci return "Successfully called key 1e-7"; 483af6ab5fSopenharmony_ci }, 493af6ab5fSopenharmony_ci 0.0000002: function () { 503af6ab5fSopenharmony_ci "show source"; 513af6ab5fSopenharmony_ci return "Successfully called key 0.0000002"; 523af6ab5fSopenharmony_ci }, 533af6ab5fSopenharmony_ci 0.1: function () { 543af6ab5fSopenharmony_ci "show source"; 553af6ab5fSopenharmony_ci return "Successfully called key 0.1"; 563af6ab5fSopenharmony_ci }, 573af6ab5fSopenharmony_ci 1.1: function () { 583af6ab5fSopenharmony_ci "show source"; 593af6ab5fSopenharmony_ci return "Successfully called key 1.1"; 603af6ab5fSopenharmony_ci }, 613af6ab5fSopenharmony_ci 1e20: function () { 623af6ab5fSopenharmony_ci "show source"; 633af6ab5fSopenharmony_ci return "Successfully called key 1e20"; 643af6ab5fSopenharmony_ci }, 653af6ab5fSopenharmony_ci 200000000000000000000: function () { 663af6ab5fSopenharmony_ci "show source"; 673af6ab5fSopenharmony_ci return "Successfully called key 200000000000000000000"; 683af6ab5fSopenharmony_ci }, 693af6ab5fSopenharmony_ci 1e21: function () { 703af6ab5fSopenharmony_ci "show source"; 713af6ab5fSopenharmony_ci return "Successfully called key 1e21"; 723af6ab5fSopenharmony_ci }, 733af6ab5fSopenharmony_ci 2000000000000000000000: function () { 743af6ab5fSopenharmony_ci "show source"; 753af6ab5fSopenharmony_ci return "Successfully called key 2000000000000000000000"; 763af6ab5fSopenharmony_ci }, 773af6ab5fSopenharmony_ci 1234567890123456: function () { 783af6ab5fSopenharmony_ci "show source"; 793af6ab5fSopenharmony_ci return "Successfully called key 1234567890123456"; 803af6ab5fSopenharmony_ci }, 813af6ab5fSopenharmony_ci 12345678901234567: function () { 823af6ab5fSopenharmony_ci "show source"; 833af6ab5fSopenharmony_ci return "Successfully called key 12345678901234567"; 843af6ab5fSopenharmony_ci }, 853af6ab5fSopenharmony_ci 12345678901234567: function () { 863af6ab5fSopenharmony_ci "show source"; 873af6ab5fSopenharmony_ci return "Successfully called key 12345678901234567"; 883af6ab5fSopenharmony_ci }, 893af6ab5fSopenharmony_ci 123456789012345678: function () { 903af6ab5fSopenharmony_ci "show source"; 913af6ab5fSopenharmony_ci return "Successfully called key 123456789012345678"; 923af6ab5fSopenharmony_ci }, 933af6ab5fSopenharmony_ci 123456789012345678: function () { 943af6ab5fSopenharmony_ci "show source"; 953af6ab5fSopenharmony_ci return "Successfully called key 123456789012345678"; 963af6ab5fSopenharmony_ci }, 973af6ab5fSopenharmony_ci}; 983af6ab5fSopenharmony_ci 993af6ab5fSopenharmony_ciprint(obj[2e3]()); // call key 2e3 1003af6ab5fSopenharmony_ciprint(obj[2000]()); // call key 2e3 1013af6ab5fSopenharmony_ciprint(obj[1000]()); 1023af6ab5fSopenharmony_ci// Special testcases 1033af6ab5fSopenharmony_ciprint(obj[NaN]()); 1043af6ab5fSopenharmony_ciprint(obj[0]()); // 0.0 == 0 1053af6ab5fSopenharmony_ciprint(obj[Infinity]()); 1063af6ab5fSopenharmony_ci// Boundary value of size : 1e-6 1073af6ab5fSopenharmony_ciprint(obj[1e-6]()); 1083af6ab5fSopenharmony_ciprint(obj[0.000001]()); 1093af6ab5fSopenharmony_ciprint(obj[0.000002]()); 1103af6ab5fSopenharmony_ciprint(obj[1e-7]()); 1113af6ab5fSopenharmony_ciprint(obj[0.0000001]()); 1123af6ab5fSopenharmony_ciprint(obj[0.0000002]()); 1133af6ab5fSopenharmony_ci// Boundary value of size : 1e0 1143af6ab5fSopenharmony_ciprint(obj[0.1]()); 1153af6ab5fSopenharmony_ciprint(obj[1.1]()); 1163af6ab5fSopenharmony_ci// Boundary value of size : 1e21 1173af6ab5fSopenharmony_ciprint(obj[1e20]()); 1183af6ab5fSopenharmony_ciprint(obj[100000000000000000000]()); 1193af6ab5fSopenharmony_ciprint(obj[200000000000000000000]()); 1203af6ab5fSopenharmony_ciprint(obj[1e21]()); 1213af6ab5fSopenharmony_ciprint(obj[1000000000000000000000]()); 1223af6ab5fSopenharmony_ciprint(obj[2000000000000000000000]()); 1233af6ab5fSopenharmony_ci// Precision digit : 17 1243af6ab5fSopenharmony_ciprint(obj[1234567890123456]()); 1253af6ab5fSopenharmony_ciprint(obj[12345678901234567]()); 1263af6ab5fSopenharmony_ciprint(obj[12345678901234568]()); // equal to 12345678901234567 1273af6ab5fSopenharmony_ciprint(obj[123456789012345678]()); 1283af6ab5fSopenharmony_ciprint(obj[123456789012345680]()); // equal to 123456789012345678 129