1425bb815Sopenharmony_ci/* Copyright JS Foundation and other contributors, http://js.foundation
2425bb815Sopenharmony_ci *
3425bb815Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4425bb815Sopenharmony_ci * you may not use this file except in compliance with the License.
5425bb815Sopenharmony_ci * You may obtain a copy of the License at
6425bb815Sopenharmony_ci *
7425bb815Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8425bb815Sopenharmony_ci *
9425bb815Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10425bb815Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS
11425bb815Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12425bb815Sopenharmony_ci * See the License for the specific language governing permissions and
13425bb815Sopenharmony_ci * limitations under the License.
14425bb815Sopenharmony_ci */
15425bb815Sopenharmony_ci
16425bb815Sopenharmony_ci/*
17425bb815Sopenharmony_ci * Math built-in description
18425bb815Sopenharmony_ci */
19425bb815Sopenharmony_ci
20425bb815Sopenharmony_ci#include "ecma-builtin-helpers-macro-defines.inc.h"
21425bb815Sopenharmony_ci
22425bb815Sopenharmony_ci#if ENABLED (JERRY_BUILTIN_MATH)
23425bb815Sopenharmony_ci
24425bb815Sopenharmony_ci/* Number properties:
25425bb815Sopenharmony_ci *  (property name, number value, writable, enumerable, configurable) */
26425bb815Sopenharmony_ci
27425bb815Sopenharmony_ci/* ECMA-262 v5, 15.8.1.1 */
28425bb815Sopenharmony_ciNUMBER_VALUE (LIT_MAGIC_STRING_E_U,
29425bb815Sopenharmony_ci              ECMA_BUILTIN_NUMBER_E,
30425bb815Sopenharmony_ci              ECMA_PROPERTY_FIXED)
31425bb815Sopenharmony_ci
32425bb815Sopenharmony_ci/* ECMA-262 v5, 15.8.1.2 */
33425bb815Sopenharmony_ciNUMBER_VALUE (LIT_MAGIC_STRING_LN10_U,
34425bb815Sopenharmony_ci              ECMA_BUILTIN_NUMBER_LN10,
35425bb815Sopenharmony_ci              ECMA_PROPERTY_FIXED)
36425bb815Sopenharmony_ci
37425bb815Sopenharmony_ci/* ECMA-262 v5, 15.8.1.3 */
38425bb815Sopenharmony_ciNUMBER_VALUE (LIT_MAGIC_STRING_LN2_U,
39425bb815Sopenharmony_ci              ECMA_BUILTIN_NUMBER_LN2,
40425bb815Sopenharmony_ci              ECMA_PROPERTY_FIXED)
41425bb815Sopenharmony_ci
42425bb815Sopenharmony_ci/* ECMA-262 v5, 15.8.1.4 */
43425bb815Sopenharmony_ciNUMBER_VALUE (LIT_MAGIC_STRING_LOG2E_U,
44425bb815Sopenharmony_ci              ECMA_BUILTIN_NUMBER_LOG2E,
45425bb815Sopenharmony_ci              ECMA_PROPERTY_FIXED)
46425bb815Sopenharmony_ci
47425bb815Sopenharmony_ci/* ECMA-262 v5, 15.8.1.5 */
48425bb815Sopenharmony_ciNUMBER_VALUE (LIT_MAGIC_STRING_LOG10E_U,
49425bb815Sopenharmony_ci              ECMA_BUILTIN_NUMBER_LOG10E,
50425bb815Sopenharmony_ci              ECMA_PROPERTY_FIXED)
51425bb815Sopenharmony_ci
52425bb815Sopenharmony_ci/* ECMA-262 v5, 15.8.1.6 */
53425bb815Sopenharmony_ciNUMBER_VALUE (LIT_MAGIC_STRING_PI_U,
54425bb815Sopenharmony_ci              ECMA_BUILTIN_NUMBER_PI,
55425bb815Sopenharmony_ci              ECMA_PROPERTY_FIXED)
56425bb815Sopenharmony_ci
57425bb815Sopenharmony_ci/* ECMA-262 v5, 15.8.1.7 */
58425bb815Sopenharmony_ciNUMBER_VALUE (LIT_MAGIC_STRING_SQRT1_2_U,
59425bb815Sopenharmony_ci              ECMA_BUILTIN_NUMBER_SQRT_1_2,
60425bb815Sopenharmony_ci              ECMA_PROPERTY_FIXED)
61425bb815Sopenharmony_ci
62425bb815Sopenharmony_ci/* ECMA-262 v5, 15.8.1.8 */
63425bb815Sopenharmony_ciNUMBER_VALUE (LIT_MAGIC_STRING_SQRT2_U,
64425bb815Sopenharmony_ci              ECMA_BUILTIN_NUMBER_SQRT2,
65425bb815Sopenharmony_ci              ECMA_PROPERTY_FIXED)
66425bb815Sopenharmony_ci
67425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015)
68425bb815Sopenharmony_ci/* ECMA-262 v6, 20.2.1.9 */
69425bb815Sopenharmony_ciSTRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG,
70425bb815Sopenharmony_ci              LIT_MAGIC_STRING_MATH_UL,
71425bb815Sopenharmony_ci              ECMA_PROPERTY_FLAG_CONFIGURABLE)
72425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015) */
73425bb815Sopenharmony_ci
74425bb815Sopenharmony_ci/* Routine properties:
75425bb815Sopenharmony_ci *  (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
76425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_ABS, ECMA_MATH_OBJECT_ABS, 1, 1)
77425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_ACOS, ECMA_MATH_OBJECT_ACOS, 1, 1)
78425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_ASIN, ECMA_MATH_OBJECT_ASIN, 1, 1)
79425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_ATAN, ECMA_MATH_OBJECT_ATAN, 1, 1)
80425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_ATAN2, ECMA_MATH_OBJECT_ATAN2, 2, 2)
81425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_CEIL, ECMA_MATH_OBJECT_CEIL, 1, 1)
82425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_COS, ECMA_MATH_OBJECT_COS, 1, 1)
83425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_EXP, ECMA_MATH_OBJECT_EXP, 1, 1)
84425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_FLOOR, ECMA_MATH_OBJECT_FLOOR, 1, 1)
85425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_LOG, ECMA_MATH_OBJECT_LOG, 1, 1)
86425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_MAX, ECMA_MATH_OBJECT_MAX, NON_FIXED, 2)
87425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_MIN, ECMA_MATH_OBJECT_MIN, NON_FIXED, 2)
88425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_POW, ECMA_MATH_OBJECT_POW, 2, 2)
89425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_RANDOM, ECMA_MATH_OBJECT_RANDOM, 0, 0)
90425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_ROUND, ECMA_MATH_OBJECT_ROUND, 1, 1)
91425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_SIN, ECMA_MATH_OBJECT_SIN, 1, 1)
92425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_SQRT, ECMA_MATH_OBJECT_SQRT, 1, 1)
93425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_TAN, ECMA_MATH_OBJECT_TAN, 1, 1)
94425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015)
95425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_ACOSH, ECMA_MATH_OBJECT_ACOSH, 1, 1)
96425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_ASINH, ECMA_MATH_OBJECT_ASINH, 1, 1)
97425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_ATANH, ECMA_MATH_OBJECT_ATANH, 1, 1)
98425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_CBRT, ECMA_MATH_OBJECT_CBRT, 1, 1)
99425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_CLZ32, ECMA_MATH_OBJECT_CLZ32, 1, 1)
100425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_COSH, ECMA_MATH_OBJECT_COSH, 1, 1)
101425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_EXPM1, ECMA_MATH_OBJECT_EXPM1, 1, 1)
102425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_FROUND, ECMA_MATH_OBJECT_FROUND, 1, 1)
103425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_HYPOT, ECMA_MATH_OBJECT_HYPOT, NON_FIXED, 2)
104425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_IMUL, ECMA_MATH_OBJECT_IMUL, 2, 2)
105425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_LOG1P, ECMA_MATH_OBJECT_LOG1P, 1, 1)
106425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_LOG10, ECMA_MATH_OBJECT_LOG10, 1, 1)
107425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_LOG2, ECMA_MATH_OBJECT_LOG2, 1, 1)
108425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_SIGN, ECMA_MATH_OBJECT_SIGN, 1, 1)
109425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_SINH, ECMA_MATH_OBJECT_SINH, 1, 1)
110425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_TANH, ECMA_MATH_OBJECT_TANH, 1, 1)
111425bb815Sopenharmony_ciROUTINE (LIT_MAGIC_STRING_TRUNC, ECMA_MATH_OBJECT_TRUNC, 1, 1)
112425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015) */
113425bb815Sopenharmony_ci
114425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_BUILTIN_MATH) */
115425bb815Sopenharmony_ci
116425bb815Sopenharmony_ci#include "ecma-builtin-helpers-macro-undefs.inc.h"
117