1 /* This is a generated file, edit the .stub.php file instead.
2 * Stub hash: f3101bbd25da90d97801d53ea673789d1ce4f6a1 */
3
4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_bcadd, 0, 2, IS_STRING, 0)
5 ZEND_ARG_TYPE_INFO(0, num1, IS_STRING, 0)
6 ZEND_ARG_TYPE_INFO(0, num2, IS_STRING, 0)
7 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, scale, IS_LONG, 1, "null")
8 ZEND_END_ARG_INFO()
9
10 #define arginfo_bcsub arginfo_bcadd
11
12 #define arginfo_bcmul arginfo_bcadd
13
14 #define arginfo_bcdiv arginfo_bcadd
15
16 #define arginfo_bcmod arginfo_bcadd
17
18 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_bcpowmod, 0, 3, IS_STRING, 0)
19 ZEND_ARG_TYPE_INFO(0, num, IS_STRING, 0)
20 ZEND_ARG_TYPE_INFO(0, exponent, IS_STRING, 0)
21 ZEND_ARG_TYPE_INFO(0, modulus, IS_STRING, 0)
22 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, scale, IS_LONG, 1, "null")
23 ZEND_END_ARG_INFO()
24
25 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_bcpow, 0, 2, IS_STRING, 0)
26 ZEND_ARG_TYPE_INFO(0, num, IS_STRING, 0)
27 ZEND_ARG_TYPE_INFO(0, exponent, IS_STRING, 0)
28 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, scale, IS_LONG, 1, "null")
29 ZEND_END_ARG_INFO()
30
31 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_bcsqrt, 0, 1, IS_STRING, 0)
32 ZEND_ARG_TYPE_INFO(0, num, IS_STRING, 0)
33 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, scale, IS_LONG, 1, "null")
34 ZEND_END_ARG_INFO()
35
36 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_bccomp, 0, 2, IS_LONG, 0)
37 ZEND_ARG_TYPE_INFO(0, num1, IS_STRING, 0)
38 ZEND_ARG_TYPE_INFO(0, num2, IS_STRING, 0)
39 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, scale, IS_LONG, 1, "null")
40 ZEND_END_ARG_INFO()
41
42 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_bcscale, 0, 0, IS_LONG, 0)
43 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, scale, IS_LONG, 1, "null")
44 ZEND_END_ARG_INFO()
45
46 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_bcfloor, 0, 1, IS_STRING, 0)
47 ZEND_ARG_TYPE_INFO(0, num, IS_STRING, 0)
48 ZEND_END_ARG_INFO()
49
50 #define arginfo_bcceil arginfo_bcfloor
51
52 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_bcround, 0, 1, IS_STRING, 0)
53 ZEND_ARG_TYPE_INFO(0, num, IS_STRING, 0)
54 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, precision, IS_LONG, 0, "0")
55 ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, mode, RoundingMode, 0, "RoundingMode::HalfAwayFromZero")
56 ZEND_END_ARG_INFO()
57
58 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_BcMath_Number___construct, 0, 0, 1)
59 ZEND_ARG_TYPE_MASK(0, num, MAY_BE_STRING|MAY_BE_LONG, NULL)
60 ZEND_END_ARG_INFO()
61
62 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_BcMath_Number_add, 0, 1, BcMath\\\116umber, 0)
63 ZEND_ARG_OBJ_TYPE_MASK(0, num, BcMath\\\116umber, MAY_BE_STRING|MAY_BE_LONG, NULL)
64 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, scale, IS_LONG, 1, "null")
65 ZEND_END_ARG_INFO()
66
67 #define arginfo_class_BcMath_Number_sub arginfo_class_BcMath_Number_add
68
69 #define arginfo_class_BcMath_Number_mul arginfo_class_BcMath_Number_add
70
71 #define arginfo_class_BcMath_Number_div arginfo_class_BcMath_Number_add
72
73 #define arginfo_class_BcMath_Number_mod arginfo_class_BcMath_Number_add
74
75 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_BcMath_Number_powmod, 0, 2, BcMath\\\116umber, 0)
76 ZEND_ARG_OBJ_TYPE_MASK(0, exponent, BcMath\\\116umber, MAY_BE_STRING|MAY_BE_LONG, NULL)
77 ZEND_ARG_OBJ_TYPE_MASK(0, modulus, BcMath\\\116umber, MAY_BE_STRING|MAY_BE_LONG, NULL)
78 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, scale, IS_LONG, 1, "null")
79 ZEND_END_ARG_INFO()
80
81 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_BcMath_Number_pow, 0, 1, BcMath\\\116umber, 0)
82 ZEND_ARG_OBJ_TYPE_MASK(0, exponent, BcMath\\\116umber, MAY_BE_STRING|MAY_BE_LONG, NULL)
83 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, scale, IS_LONG, 1, "null")
84 ZEND_END_ARG_INFO()
85
86 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_BcMath_Number_sqrt, 0, 0, BcMath\\\116umber, 0)
87 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, scale, IS_LONG, 1, "null")
88 ZEND_END_ARG_INFO()
89
90 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_BcMath_Number_floor, 0, 0, BcMath\\\116umber, 0)
91 ZEND_END_ARG_INFO()
92
93 #define arginfo_class_BcMath_Number_ceil arginfo_class_BcMath_Number_floor
94
95 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_BcMath_Number_round, 0, 0, BcMath\\\116umber, 0)
96 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, precision, IS_LONG, 0, "0")
97 ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, mode, RoundingMode, 0, "RoundingMode::HalfAwayFromZero")
98 ZEND_END_ARG_INFO()
99
100 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_BcMath_Number_compare, 0, 1, IS_LONG, 0)
101 ZEND_ARG_OBJ_TYPE_MASK(0, num, BcMath\\\116umber, MAY_BE_STRING|MAY_BE_LONG, NULL)
102 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, scale, IS_LONG, 1, "null")
103 ZEND_END_ARG_INFO()
104
105 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_BcMath_Number___toString, 0, 0, IS_STRING, 0)
106 ZEND_END_ARG_INFO()
107
108 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_BcMath_Number___serialize, 0, 0, IS_ARRAY, 0)
109 ZEND_END_ARG_INFO()
110
111 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_BcMath_Number___unserialize, 0, 1, IS_VOID, 0)
112 ZEND_ARG_TYPE_INFO(0, data, IS_ARRAY, 0)
113 ZEND_END_ARG_INFO()
114
115 ZEND_FUNCTION(bcadd);
116 ZEND_FUNCTION(bcsub);
117 ZEND_FUNCTION(bcmul);
118 ZEND_FUNCTION(bcdiv);
119 ZEND_FUNCTION(bcmod);
120 ZEND_FUNCTION(bcpowmod);
121 ZEND_FUNCTION(bcpow);
122 ZEND_FUNCTION(bcsqrt);
123 ZEND_FUNCTION(bccomp);
124 ZEND_FUNCTION(bcscale);
125 ZEND_FUNCTION(bcfloor);
126 ZEND_FUNCTION(bcceil);
127 ZEND_FUNCTION(bcround);
128 ZEND_METHOD(BcMath_Number, __construct);
129 ZEND_METHOD(BcMath_Number, add);
130 ZEND_METHOD(BcMath_Number, sub);
131 ZEND_METHOD(BcMath_Number, mul);
132 ZEND_METHOD(BcMath_Number, div);
133 ZEND_METHOD(BcMath_Number, mod);
134 ZEND_METHOD(BcMath_Number, powmod);
135 ZEND_METHOD(BcMath_Number, pow);
136 ZEND_METHOD(BcMath_Number, sqrt);
137 ZEND_METHOD(BcMath_Number, floor);
138 ZEND_METHOD(BcMath_Number, ceil);
139 ZEND_METHOD(BcMath_Number, round);
140 ZEND_METHOD(BcMath_Number, compare);
141 ZEND_METHOD(BcMath_Number, __toString);
142 ZEND_METHOD(BcMath_Number, __serialize);
143 ZEND_METHOD(BcMath_Number, __unserialize);
144
145 static const zend_function_entry ext_functions[] = {
146 ZEND_FE(bcadd, arginfo_bcadd)
147 ZEND_FE(bcsub, arginfo_bcsub)
148 ZEND_FE(bcmul, arginfo_bcmul)
149 ZEND_FE(bcdiv, arginfo_bcdiv)
150 ZEND_FE(bcmod, arginfo_bcmod)
151 ZEND_FE(bcpowmod, arginfo_bcpowmod)
152 ZEND_FE(bcpow, arginfo_bcpow)
153 ZEND_FE(bcsqrt, arginfo_bcsqrt)
154 ZEND_FE(bccomp, arginfo_bccomp)
155 ZEND_FE(bcscale, arginfo_bcscale)
156 ZEND_FE(bcfloor, arginfo_bcfloor)
157 ZEND_FE(bcceil, arginfo_bcceil)
158 ZEND_FE(bcround, arginfo_bcround)
159 ZEND_FE_END
160 };
161
162 static const zend_function_entry class_BcMath_Number_methods[] = {
163 ZEND_ME(BcMath_Number, __construct, arginfo_class_BcMath_Number___construct, ZEND_ACC_PUBLIC)
164 ZEND_ME(BcMath_Number, add, arginfo_class_BcMath_Number_add, ZEND_ACC_PUBLIC)
165 ZEND_ME(BcMath_Number, sub, arginfo_class_BcMath_Number_sub, ZEND_ACC_PUBLIC)
166 ZEND_ME(BcMath_Number, mul, arginfo_class_BcMath_Number_mul, ZEND_ACC_PUBLIC)
167 ZEND_ME(BcMath_Number, div, arginfo_class_BcMath_Number_div, ZEND_ACC_PUBLIC)
168 ZEND_ME(BcMath_Number, mod, arginfo_class_BcMath_Number_mod, ZEND_ACC_PUBLIC)
169 ZEND_ME(BcMath_Number, powmod, arginfo_class_BcMath_Number_powmod, ZEND_ACC_PUBLIC)
170 ZEND_ME(BcMath_Number, pow, arginfo_class_BcMath_Number_pow, ZEND_ACC_PUBLIC)
171 ZEND_ME(BcMath_Number, sqrt, arginfo_class_BcMath_Number_sqrt, ZEND_ACC_PUBLIC)
172 ZEND_ME(BcMath_Number, floor, arginfo_class_BcMath_Number_floor, ZEND_ACC_PUBLIC)
173 ZEND_ME(BcMath_Number, ceil, arginfo_class_BcMath_Number_ceil, ZEND_ACC_PUBLIC)
174 ZEND_ME(BcMath_Number, round, arginfo_class_BcMath_Number_round, ZEND_ACC_PUBLIC)
175 ZEND_ME(BcMath_Number, compare, arginfo_class_BcMath_Number_compare, ZEND_ACC_PUBLIC)
176 ZEND_ME(BcMath_Number, __toString, arginfo_class_BcMath_Number___toString, ZEND_ACC_PUBLIC)
177 ZEND_ME(BcMath_Number, __serialize, arginfo_class_BcMath_Number___serialize, ZEND_ACC_PUBLIC)
178 ZEND_ME(BcMath_Number, __unserialize, arginfo_class_BcMath_Number___unserialize, ZEND_ACC_PUBLIC)
179 ZEND_FE_END
180 };
181
register_class_BcMath_Number(zend_class_entry * class_entry_Stringable)182 static zend_class_entry *register_class_BcMath_Number(zend_class_entry *class_entry_Stringable)
183 {
184 zend_class_entry ce, *class_entry;
185
186 INIT_NS_CLASS_ENTRY(ce, "BcMath", "Number", class_BcMath_Number_methods);
187 class_entry = zend_register_internal_class_with_flags(&ce, NULL, ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_READONLY_CLASS);
188 zend_class_implements(class_entry, 1, class_entry_Stringable);
189
190 zval property_value_default_value;
191 ZVAL_UNDEF(&property_value_default_value);
192 zend_string *property_value_name = zend_string_init("value", sizeof("value") - 1, 1);
193 zend_declare_typed_property(class_entry, property_value_name, &property_value_default_value, ZEND_ACC_PUBLIC|ZEND_ACC_READONLY|ZEND_ACC_VIRTUAL, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
194 zend_string_release(property_value_name);
195
196 zval property_scale_default_value;
197 ZVAL_UNDEF(&property_scale_default_value);
198 zend_string *property_scale_name = zend_string_init("scale", sizeof("scale") - 1, 1);
199 zend_declare_typed_property(class_entry, property_scale_name, &property_scale_default_value, ZEND_ACC_PUBLIC|ZEND_ACC_READONLY|ZEND_ACC_VIRTUAL, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
200 zend_string_release(property_scale_name);
201
202 return class_entry;
203 }
204