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_civar values = [
174514f5e3Sopenharmony_ci    127,         // 2 ** 7 - 1
184514f5e3Sopenharmony_ci    128,         // 2 ** 7
194514f5e3Sopenharmony_ci    32767,       // 2 ** 15 - 1
204514f5e3Sopenharmony_ci    32768,       // 2 ** 15
214514f5e3Sopenharmony_ci    2147483647,  // 2 ** 31 - 1
224514f5e3Sopenharmony_ci    2147483648,  // 2 ** 31
234514f5e3Sopenharmony_ci    255,         // 2 ** 8 - 1
244514f5e3Sopenharmony_ci    256,         // 2 ** 8
254514f5e3Sopenharmony_ci    65535,       // 2 ** 16 - 1
264514f5e3Sopenharmony_ci    65536,       // 2 ** 16
274514f5e3Sopenharmony_ci    4294967295,  // 2 ** 32 - 1
284514f5e3Sopenharmony_ci    4294967296,  // 2 ** 32
294514f5e3Sopenharmony_ci    9007199254740991, // 2 ** 53 - 1
304514f5e3Sopenharmony_ci    9007199254740992, // 2 ** 53
314514f5e3Sopenharmony_ci    1.1,
324514f5e3Sopenharmony_ci    0.1,
334514f5e3Sopenharmony_ci    0.5,
344514f5e3Sopenharmony_ci    0.50000001,
354514f5e3Sopenharmony_ci    0.6,
364514f5e3Sopenharmony_ci    0.7,
374514f5e3Sopenharmony_ci    undefined,
384514f5e3Sopenharmony_ci    -1,
394514f5e3Sopenharmony_ci    -0,
404514f5e3Sopenharmony_ci    -0.1,
414514f5e3Sopenharmony_ci    -1.1,
424514f5e3Sopenharmony_ci    NaN,
434514f5e3Sopenharmony_ci    -127,        // - ( 2 ** 7 - 1 )
444514f5e3Sopenharmony_ci    -128,        // - ( 2 ** 7 )
454514f5e3Sopenharmony_ci    -32767,      // - ( 2 ** 15 - 1 )
464514f5e3Sopenharmony_ci    -32768,      // - ( 2 ** 15 )
474514f5e3Sopenharmony_ci    -2147483647, // - ( 2 ** 31 - 1 )
484514f5e3Sopenharmony_ci    -2147483648, // - ( 2 ** 31 )
494514f5e3Sopenharmony_ci    -255,        // - ( 2 ** 8 - 1 )
504514f5e3Sopenharmony_ci    -256,        // - ( 2 ** 8 )
514514f5e3Sopenharmony_ci    -65535,      // - ( 2 ** 16 - 1 )
524514f5e3Sopenharmony_ci    -65536,      // - ( 2 ** 16 )
534514f5e3Sopenharmony_ci    -4294967295, // - ( 2 ** 32 - 1 )
544514f5e3Sopenharmony_ci    -4294967296, // - ( 2 ** 32 )
554514f5e3Sopenharmony_ci    Infinity,
564514f5e3Sopenharmony_ci    -Infinity,
574514f5e3Sopenharmony_ci    0
584514f5e3Sopenharmony_ci];
594514f5e3Sopenharmony_ci
604514f5e3Sopenharmony_ciprint('---------------- builtins number for')
614514f5e3Sopenharmony_cifor (let value of values) {
624514f5e3Sopenharmony_ci    print(value, Number.isInteger(value), Number.isSafeInteger(value));
634514f5e3Sopenharmony_ci}
644514f5e3Sopenharmony_ci
654514f5e3Sopenharmony_ciprint('---------------- builtins number forEach')
664514f5e3Sopenharmony_civalues.forEach(function (value, i) {
674514f5e3Sopenharmony_ci    print(value, Number.isInteger(value), Number.isSafeInteger(value));
684514f5e3Sopenharmony_ci});