@@ -33,11 +33,176 @@ HPyAPI_STORAGE HPy _HPy_IMPL_NAME(Float_FromDouble)(HPyContext ctx, double v)
33
33
return _py2h (PyFloat_FromDouble (v ));
34
34
}
35
35
36
- HPyAPI_STORAGE HPy _HPy_IMPL_NAME ( Number_Add )(HPyContext ctx , HPy h1 , HPy h2 )
36
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX ( Add )(HPyContext ctx , HPy h1 , HPy h2 )
37
37
{
38
38
return _py2h (PyNumber_Add (_h2py (h1 ), _h2py (h2 )));
39
39
}
40
40
41
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Subtract )(HPyContext ctx , HPy h1 , HPy h2 )
42
+ {
43
+ return _py2h (PyNumber_Subtract (_h2py (h1 ), _h2py (h2 )));
44
+ }
45
+
46
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Multiply )(HPyContext ctx , HPy h1 , HPy h2 )
47
+ {
48
+ return _py2h (PyNumber_Multiply (_h2py (h1 ), _h2py (h2 )));
49
+ }
50
+
51
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (MatrixMultiply )(HPyContext ctx , HPy h1 , HPy h2 )
52
+ {
53
+ return _py2h (PyNumber_MatrixMultiply (_h2py (h1 ), _h2py (h2 )));
54
+ }
55
+
56
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (FloorDivide )(HPyContext ctx , HPy h1 , HPy h2 )
57
+ {
58
+ return _py2h (PyNumber_FloorDivide (_h2py (h1 ), _h2py (h2 )));
59
+ }
60
+
61
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (TrueDivide )(HPyContext ctx , HPy h1 , HPy h2 )
62
+ {
63
+ return _py2h (PyNumber_TrueDivide (_h2py (h1 ), _h2py (h2 )));
64
+ }
65
+
66
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Remainder )(HPyContext ctx , HPy h1 , HPy h2 )
67
+ {
68
+ return _py2h (PyNumber_Remainder (_h2py (h1 ), _h2py (h2 )));
69
+ }
70
+
71
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Divmod )(HPyContext ctx , HPy h1 , HPy h2 )
72
+ {
73
+ return _py2h (PyNumber_Divmod (_h2py (h1 ), _h2py (h2 )));
74
+ }
75
+
76
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Power )(HPyContext ctx , HPy h1 , HPy h2 , HPy h3 )
77
+ {
78
+ return _py2h (PyNumber_Power (_h2py (h1 ), _h2py (h2 ), _h2py (h3 )));
79
+ }
80
+
81
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Negative )(HPyContext ctx , HPy h1 )
82
+ {
83
+ return _py2h (PyNumber_Negative (_h2py (h1 )));
84
+ }
85
+
86
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Positive )(HPyContext ctx , HPy h1 )
87
+ {
88
+ return _py2h (PyNumber_Positive (_h2py (h1 )));
89
+ }
90
+
91
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Absolute )(HPyContext ctx , HPy h1 )
92
+ {
93
+ return _py2h (PyNumber_Absolute (_h2py (h1 )));
94
+ }
95
+
96
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Invert )(HPyContext ctx , HPy h1 )
97
+ {
98
+ return _py2h (PyNumber_Invert (_h2py (h1 )));
99
+ }
100
+
101
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Lshift )(HPyContext ctx , HPy h1 , HPy h2 )
102
+ {
103
+ return _py2h (PyNumber_Lshift (_h2py (h1 ), _h2py (h2 )));
104
+ }
105
+
106
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Rshift )(HPyContext ctx , HPy h1 , HPy h2 )
107
+ {
108
+ return _py2h (PyNumber_Rshift (_h2py (h1 ), _h2py (h2 )));
109
+ }
110
+
111
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (And )(HPyContext ctx , HPy h1 , HPy h2 )
112
+ {
113
+ return _py2h (PyNumber_And (_h2py (h1 ), _h2py (h2 )));
114
+ }
115
+
116
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Xor )(HPyContext ctx , HPy h1 , HPy h2 )
117
+ {
118
+ return _py2h (PyNumber_Xor (_h2py (h1 ), _h2py (h2 )));
119
+ }
120
+
121
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Or )(HPyContext ctx , HPy h1 , HPy h2 )
122
+ {
123
+ return _py2h (PyNumber_Or (_h2py (h1 ), _h2py (h2 )));
124
+ }
125
+
126
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Index )(HPyContext ctx , HPy h1 )
127
+ {
128
+ return _py2h (PyNumber_Index (_h2py (h1 )));
129
+ }
130
+
131
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Long )(HPyContext ctx , HPy h1 )
132
+ {
133
+ return _py2h (PyNumber_Long (_h2py (h1 )));
134
+ }
135
+
136
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (Float )(HPyContext ctx , HPy h1 )
137
+ {
138
+ return _py2h (PyNumber_Float (_h2py (h1 )));
139
+ }
140
+
141
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (InPlaceAdd )(HPyContext ctx , HPy h1 , HPy h2 )
142
+ {
143
+ return _py2h (PyNumber_InPlaceAdd (_h2py (h1 ), _h2py (h2 )));
144
+ }
145
+
146
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (InPlaceSubtract )(HPyContext ctx , HPy h1 , HPy h2 )
147
+ {
148
+ return _py2h (PyNumber_InPlaceSubtract (_h2py (h1 ), _h2py (h2 )));
149
+ }
150
+
151
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (InPlaceMultiply )(HPyContext ctx , HPy h1 , HPy h2 )
152
+ {
153
+ return _py2h (PyNumber_InPlaceMultiply (_h2py (h1 ), _h2py (h2 )));
154
+ }
155
+
156
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (InPlaceMatrixMultiply )(HPyContext ctx , HPy h1 , HPy h2 )
157
+ {
158
+ return _py2h (PyNumber_InPlaceMatrixMultiply (_h2py (h1 ), _h2py (h2 )));
159
+ }
160
+
161
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (InPlaceFloorDivide )(HPyContext ctx , HPy h1 , HPy h2 )
162
+ {
163
+ return _py2h (PyNumber_InPlaceFloorDivide (_h2py (h1 ), _h2py (h2 )));
164
+ }
165
+
166
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (InPlaceTrueDivide )(HPyContext ctx , HPy h1 , HPy h2 )
167
+ {
168
+ return _py2h (PyNumber_InPlaceTrueDivide (_h2py (h1 ), _h2py (h2 )));
169
+ }
170
+
171
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (InPlaceRemainder )(HPyContext ctx , HPy h1 , HPy h2 )
172
+ {
173
+ return _py2h (PyNumber_InPlaceRemainder (_h2py (h1 ), _h2py (h2 )));
174
+ }
175
+
176
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (InPlacePower )(HPyContext ctx , HPy h1 , HPy h2 , HPy h3 )
177
+ {
178
+ return _py2h (PyNumber_InPlacePower (_h2py (h1 ), _h2py (h2 ), _h2py (h3 )));
179
+ }
180
+
181
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (InPlaceLshift )(HPyContext ctx , HPy h1 , HPy h2 )
182
+ {
183
+ return _py2h (PyNumber_InPlaceLshift (_h2py (h1 ), _h2py (h2 )));
184
+ }
185
+
186
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (InPlaceRshift )(HPyContext ctx , HPy h1 , HPy h2 )
187
+ {
188
+ return _py2h (PyNumber_InPlaceRshift (_h2py (h1 ), _h2py (h2 )));
189
+ }
190
+
191
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (InPlaceAnd )(HPyContext ctx , HPy h1 , HPy h2 )
192
+ {
193
+ return _py2h (PyNumber_InPlaceAnd (_h2py (h1 ), _h2py (h2 )));
194
+ }
195
+
196
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (InPlaceXor )(HPyContext ctx , HPy h1 , HPy h2 )
197
+ {
198
+ return _py2h (PyNumber_InPlaceXor (_h2py (h1 ), _h2py (h2 )));
199
+ }
200
+
201
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (InPlaceOr )(HPyContext ctx , HPy h1 , HPy h2 )
202
+ {
203
+ return _py2h (PyNumber_InPlaceOr (_h2py (h1 ), _h2py (h2 )));
204
+ }
205
+
41
206
HPyAPI_STORAGE void _HPy_IMPL_NAME (Err_SetString )(HPyContext ctx , HPy h_type , const char * message )
42
207
{
43
208
return PyErr_SetString (_h2py (h_type ), message );
@@ -48,6 +213,46 @@ HPyAPI_STORAGE int _HPy_IMPL_NAME(Object_IsTrue)(HPyContext ctx, HPy h)
48
213
return PyObject_IsTrue (_h2py (h ));
49
214
}
50
215
216
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (GetAttr )(HPyContext ctx , HPy obj , HPy name )
217
+ {
218
+ return _py2h (PyObject_GetAttr (_h2py (obj ), _h2py (name )));
219
+ }
220
+
221
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (GetAttr_s )(HPyContext ctx , HPy obj , const char * name )
222
+ {
223
+ return _py2h (PyObject_GetAttrString (_h2py (obj ), name ));
224
+ }
225
+
226
+ HPyAPI_STORAGE int _HPy_IMPL_NAME_NOPREFIX (HasAttr )(HPyContext ctx , HPy obj , HPy name )
227
+ {
228
+ return PyObject_HasAttr (_h2py (obj ), _h2py (name ));
229
+ }
230
+
231
+ HPyAPI_STORAGE int _HPy_IMPL_NAME_NOPREFIX (HasAttr_s )(HPyContext ctx , HPy obj , const char * name )
232
+ {
233
+ return PyObject_HasAttrString (_h2py (obj ), name );
234
+ }
235
+
236
+ HPyAPI_STORAGE int _HPy_IMPL_NAME_NOPREFIX (SetAttr )(HPyContext ctx , HPy obj , HPy name , HPy value )
237
+ {
238
+ return PyObject_SetAttr (_h2py (obj ), _h2py (name ), _h2py (value ));
239
+ }
240
+
241
+ HPyAPI_STORAGE int _HPy_IMPL_NAME_NOPREFIX (SetAttr_s )(HPyContext ctx , HPy obj , const char * name , HPy value )
242
+ {
243
+ return PyObject_SetAttrString (_h2py (obj ), name , _h2py (value ));
244
+ }
245
+
246
+ HPyAPI_STORAGE HPy _HPy_IMPL_NAME_NOPREFIX (GetItem )(HPyContext ctx , HPy obj , HPy key )
247
+ {
248
+ return _py2h (PyObject_GetItem (_h2py (obj ), _h2py (key )));
249
+ }
250
+
251
+ HPyAPI_STORAGE int _HPy_IMPL_NAME_NOPREFIX (SetItem )(HPyContext ctx , HPy obj , HPy key , HPy value )
252
+ {
253
+ return PyObject_SetItem (_h2py (obj ), _h2py (key ), _h2py (value ));
254
+ }
255
+
51
256
HPyAPI_STORAGE int _HPy_IMPL_NAME (Bytes_Check )(HPyContext ctx , HPy h )
52
257
{
53
258
return PyBytes_Check (_h2py (h ));
0 commit comments