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_cilet number = {
173af6ab5fSopenharmony_ci    2e3 : 'scientific notation',
183af6ab5fSopenharmony_ci    1000 : 'decimal',
193af6ab5fSopenharmony_ci    NaN : NaN,
203af6ab5fSopenharmony_ci    0.0 : '0',
213af6ab5fSopenharmony_ci    Infinity : 'Infinity',
223af6ab5fSopenharmony_ci    1e-6 : 0.000001,
233af6ab5fSopenharmony_ci    0.000002 : 0.000002,
243af6ab5fSopenharmony_ci    1e-7 : 1e-7,
253af6ab5fSopenharmony_ci    0.0000002 : 2e-7,
263af6ab5fSopenharmony_ci    0.1 : 0.1,
273af6ab5fSopenharmony_ci    1.1 : 1.1,
283af6ab5fSopenharmony_ci    1234567890123456 : 1234567890123456,
293af6ab5fSopenharmony_ci    12345678901234567 : 12345678901234568,
303af6ab5fSopenharmony_ci    123456789012345678 : 123456789012345680,
313af6ab5fSopenharmony_ci    1e20 : 100000000000000000000,
323af6ab5fSopenharmony_ci    200000000000000000000 : 100000000000000000000,
333af6ab5fSopenharmony_ci    1e21 : 1e+21,
343af6ab5fSopenharmony_ci    2000000000000000000000 : 2e+21,
353af6ab5fSopenharmony_ci}
363af6ab5fSopenharmony_ci
373af6ab5fSopenharmony_ciprint(number[2e3]); // call key 2e3
383af6ab5fSopenharmony_ciprint(number[2000]); // call key 2e3
393af6ab5fSopenharmony_ciprint(number[1000]);
403af6ab5fSopenharmony_ci// Special testcases
413af6ab5fSopenharmony_ciprint(number[NaN]);
423af6ab5fSopenharmony_ciprint(number[0]); // equal to 0.0
433af6ab5fSopenharmony_ciprint(number[Infinity]);
443af6ab5fSopenharmony_ci// Boundary value of size : 1e-6
453af6ab5fSopenharmony_ciprint(number[1e-6]);
463af6ab5fSopenharmony_ciprint(number[0.000001]);
473af6ab5fSopenharmony_ciprint(number[0.000002]);
483af6ab5fSopenharmony_ciprint(number[1e-7]);
493af6ab5fSopenharmony_ciprint(number[0.0000001]);
503af6ab5fSopenharmony_ciprint(number[0.0000002]);
513af6ab5fSopenharmony_ci// Boundary value of size : 1e0
523af6ab5fSopenharmony_ciprint(number[0.1]);
533af6ab5fSopenharmony_ciprint(number[1.1]);
543af6ab5fSopenharmony_ci// Boundary value of size : 1e21
553af6ab5fSopenharmony_ciprint(number[1e20]);
563af6ab5fSopenharmony_ciprint(number[100000000000000000000]);
573af6ab5fSopenharmony_ciprint(number[200000000000000000000]);
583af6ab5fSopenharmony_ciprint(number[1e21]);
593af6ab5fSopenharmony_ciprint(number[1000000000000000000000]);
603af6ab5fSopenharmony_ciprint(number[2000000000000000000000]);
613af6ab5fSopenharmony_ci// Precision digit : 17
623af6ab5fSopenharmony_ciprint(number[1234567890123456]);
633af6ab5fSopenharmony_ciprint(number[12345678901234567]);
643af6ab5fSopenharmony_ciprint(number[12345678901234568]); // equal to 12345678901234567
653af6ab5fSopenharmony_ciprint(number[123456789012345678]);
663af6ab5fSopenharmony_ciprint(number[123456789012345680]); // equal to 123456789012345678
67