@@ -41,9 +41,11 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_FLOAT64[ STDLIB_NDARRAY_NDTYPES ] =
41
41
[ STDLIB_NDARRAY_INT64 ] = -1 ,
42
42
[ STDLIB_NDARRAY_UINT64 ] = -1 ,
43
43
44
+ [ STDLIB_NDARRAY_FLOAT16 ] = STDLIB_NDARRAY_FLOAT64 ,
44
45
[ STDLIB_NDARRAY_FLOAT32 ] = STDLIB_NDARRAY_FLOAT64 ,
45
46
[ STDLIB_NDARRAY_FLOAT64 ] = STDLIB_NDARRAY_FLOAT64 ,
46
47
48
+ [ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_COMPLEX128 ;
47
49
[ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_COMPLEX128 ,
48
50
[ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_COMPLEX128 ,
49
51
@@ -65,9 +67,37 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_FLOAT32[ STDLIB_NDARRAY_NDTYPES ] =
65
67
[ STDLIB_NDARRAY_INT64 ] = -1 ,
66
68
[ STDLIB_NDARRAY_UINT64 ] = -1 ,
67
69
70
+ [ STDLIB_NDARRAY_FLOAT16 ] = STDLIB_NDARRAY_FLOAT32 ,
68
71
[ STDLIB_NDARRAY_FLOAT32 ] = STDLIB_NDARRAY_FLOAT32 ,
69
72
[ STDLIB_NDARRAY_FLOAT64 ] = STDLIB_NDARRAY_FLOAT64 ,
70
73
74
+ [ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_COMPLEX64 ;
75
+ [ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_COMPLEX64 ,
76
+ [ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_COMPLEX128 ,
77
+
78
+ [ STDLIB_NDARRAY_BOOL ] = -1 ,
79
+
80
+ [ STDLIB_NDARRAY_BINARY ] = -1 ,
81
+ [ STDLIB_NDARRAY_GENERIC ] = -1
82
+ };
83
+
84
+ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_FLOAT16 [ STDLIB_NDARRAY_NDTYPES ] = {
85
+
86
+ [ STDLIB_NDARRAY_INT8 ] = STDLIB_NDARRAY_FLOAT16 ,
87
+ [ STDLIB_NDARRAY_UINT8 ] = STDLIB_NDARRAY_FLOAT16 ,
88
+ [ STDLIB_NDARRAY_UINT8C ] = STDLIB_NDARRAY_FLOAT16 ,
89
+ [ STDLIB_NDARRAY_INT16 ] = STDLIB_NDARRAY_FLOAT32 ,
90
+ [ STDLIB_NDARRAY_UINT16 ] = STDLIB_NDARRAY_FLOAT32 ,
91
+ [ STDLIB_NDARRAY_INT32 ] = STDLIB_NDARRAY_FLOAT64 ,
92
+ [ STDLIB_NDARRAY_UINT32 ] = STDLIB_NDARRAY_FLOAT64 ,
93
+ [ STDLIB_NDARRAY_INT64 ] = -1 ,
94
+ [ STDLIB_NDARRAY_UINT64 ] = -1 ,
95
+
96
+ [ STDLIB_NDARRAY_FLOAT16 ] = STDLIB_NDARRAY_FLOAT16 ,
97
+ [ STDLIB_NDARRAY_FLOAT32 ] = STDLIB_NDARRAY_FLOAT32 ,
98
+ [ STDLIB_NDARRAY_FLOAT64 ] = STDLIB_NDARRAY_FLOAT64 ,
99
+
100
+ [ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_COMPLEX32 ;
71
101
[ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_COMPLEX64 ,
72
102
[ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_COMPLEX128 ,
73
103
@@ -89,9 +119,11 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_UINT64[ STDLIB_NDARRAY_NDTYPES ] = {
89
119
[ STDLIB_NDARRAY_INT64 ] = -1 ,
90
120
[ STDLIB_NDARRAY_UINT64 ] = STDLIB_NDARRAY_UINT64 ,
91
121
122
+ [ STDLIB_NDARRAY_FLOAT16 ] = -1 ,
92
123
[ STDLIB_NDARRAY_FLOAT32 ] = -1 ,
93
124
[ STDLIB_NDARRAY_FLOAT64 ] = -1 ,
94
125
126
+ [ STDLIB_NDARRAY_COMPLEX32 ] = -1 ;
95
127
[ STDLIB_NDARRAY_COMPLEX64 ] = -1 ,
96
128
[ STDLIB_NDARRAY_COMPLEX128 ] = -1 ,
97
129
@@ -113,9 +145,11 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_INT64[ STDLIB_NDARRAY_NDTYPES ] = {
113
145
[ STDLIB_NDARRAY_INT64 ] = STDLIB_NDARRAY_INT64 ,
114
146
[ STDLIB_NDARRAY_UINT64 ] = -1 ,
115
147
148
+ [ STDLIB_NDARRAY_FLOAT16 ] = -1 ,
116
149
[ STDLIB_NDARRAY_FLOAT32 ] = -1 ,
117
150
[ STDLIB_NDARRAY_FLOAT64 ] = -1 ,
118
151
152
+ [ STDLIB_NDARRAY_COMPLEX32 ] = -1 ;
119
153
[ STDLIB_NDARRAY_COMPLEX64 ] = -1 ,
120
154
[ STDLIB_NDARRAY_COMPLEX128 ] = -1 ,
121
155
@@ -137,9 +171,11 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_UINT32[ STDLIB_NDARRAY_NDTYPES ] = {
137
171
[ STDLIB_NDARRAY_INT64 ] = STDLIB_NDARRAY_INT64 ,
138
172
[ STDLIB_NDARRAY_UINT64 ] = STDLIB_NDARRAY_UINT64 ,
139
173
174
+ [ STDLIB_NDARRAY_FLOAT16 ] = STDLIB_NDARRAY_FLOAT64 ,
140
175
[ STDLIB_NDARRAY_FLOAT32 ] = STDLIB_NDARRAY_FLOAT64 ,
141
176
[ STDLIB_NDARRAY_FLOAT64 ] = STDLIB_NDARRAY_FLOAT64 ,
142
177
178
+ [ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_COMPLEX128 ;
143
179
[ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_COMPLEX128 ,
144
180
[ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_COMPLEX128 ,
145
181
@@ -161,9 +197,11 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_INT32[ STDLIB_NDARRAY_NDTYPES ] = {
161
197
[ STDLIB_NDARRAY_INT64 ] = STDLIB_NDARRAY_INT64 ,
162
198
[ STDLIB_NDARRAY_UINT64 ] = -1 ,
163
199
200
+ [ STDLIB_NDARRAY_FLOAT16 ] = STDLIB_NDARRAY_FLOAT64 ,
164
201
[ STDLIB_NDARRAY_FLOAT32 ] = STDLIB_NDARRAY_FLOAT64 ,
165
202
[ STDLIB_NDARRAY_FLOAT64 ] = STDLIB_NDARRAY_FLOAT64 ,
166
203
204
+ [ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_COMPLEX128 ;
167
205
[ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_COMPLEX128 ,
168
206
[ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_COMPLEX128 ,
169
207
@@ -185,9 +223,11 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_UINT16[ STDLIB_NDARRAY_NDTYPES ] = {
185
223
[ STDLIB_NDARRAY_INT64 ] = STDLIB_NDARRAY_INT64 ,
186
224
[ STDLIB_NDARRAY_UINT64 ] = STDLIB_NDARRAY_UINT64 ,
187
225
226
+ [ STDLIB_NDARRAY_FLOAT16 ] = STDLIB_NDARRAY_FLOAT32 ,
188
227
[ STDLIB_NDARRAY_FLOAT32 ] = STDLIB_NDARRAY_FLOAT32 ,
189
228
[ STDLIB_NDARRAY_FLOAT64 ] = STDLIB_NDARRAY_FLOAT64 ,
190
229
230
+ [ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_COMPLEX64 ;
191
231
[ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_COMPLEX64 ,
192
232
[ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_COMPLEX128 ,
193
233
@@ -209,9 +249,11 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_INT16[ STDLIB_NDARRAY_NDTYPES ] = {
209
249
[ STDLIB_NDARRAY_INT64 ] = STDLIB_NDARRAY_INT64 ,
210
250
[ STDLIB_NDARRAY_UINT64 ] = -1 ,
211
251
252
+ [ STDLIB_NDARRAY_FLOAT16 ] = STDLIB_NDARRAY_FLOAT32 ,
212
253
[ STDLIB_NDARRAY_FLOAT32 ] = STDLIB_NDARRAY_FLOAT32 ,
213
254
[ STDLIB_NDARRAY_FLOAT64 ] = STDLIB_NDARRAY_FLOAT64 ,
214
255
256
+ [ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_COMPLEX64 ;
215
257
[ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_COMPLEX64 ,
216
258
[ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_COMPLEX128 ,
217
259
@@ -233,9 +275,11 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_UINT8[ STDLIB_NDARRAY_NDTYPES ] = {
233
275
[ STDLIB_NDARRAY_INT64 ] = STDLIB_NDARRAY_INT64 ,
234
276
[ STDLIB_NDARRAY_UINT64 ] = STDLIB_NDARRAY_UINT64 ,
235
277
278
+ [ STDLIB_NDARRAY_FLOAT16 ] = STDLIB_NDARRAY_FLOAT16 ,
236
279
[ STDLIB_NDARRAY_FLOAT32 ] = STDLIB_NDARRAY_FLOAT32 ,
237
280
[ STDLIB_NDARRAY_FLOAT64 ] = STDLIB_NDARRAY_FLOAT64 ,
238
281
282
+ [ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_COMPLEX32 ;
239
283
[ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_COMPLEX64 ,
240
284
[ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_COMPLEX128 ,
241
285
@@ -257,9 +301,11 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_UINT8C[ STDLIB_NDARRAY_NDTYPES ] = {
257
301
[ STDLIB_NDARRAY_INT64 ] = STDLIB_NDARRAY_INT64 ,
258
302
[ STDLIB_NDARRAY_UINT64 ] = STDLIB_NDARRAY_UINT64 ,
259
303
304
+ [ STDLIB_NDARRAY_FLOAT16 ] = STDLIB_NDARRAY_FLOAT16 ,
260
305
[ STDLIB_NDARRAY_FLOAT32 ] = STDLIB_NDARRAY_FLOAT32 ,
261
306
[ STDLIB_NDARRAY_FLOAT64 ] = STDLIB_NDARRAY_FLOAT64 ,
262
307
308
+ [ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_COMPLEX32 ;
263
309
[ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_COMPLEX64 ,
264
310
[ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_COMPLEX128 ,
265
311
@@ -281,9 +327,37 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_INT8[ STDLIB_NDARRAY_NDTYPES ] = {
281
327
[ STDLIB_NDARRAY_INT64 ] = STDLIB_NDARRAY_INT64 ,
282
328
[ STDLIB_NDARRAY_UINT64 ] = -1 ,
283
329
330
+ [ STDLIB_NDARRAY_FLOAT16 ] = STDLIB_NDARRAY_FLOAT16 ,
284
331
[ STDLIB_NDARRAY_FLOAT32 ] = STDLIB_NDARRAY_FLOAT32 ,
285
332
[ STDLIB_NDARRAY_FLOAT64 ] = STDLIB_NDARRAY_FLOAT64 ,
286
333
334
+ [ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_COMPLEX32 ;
335
+ [ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_COMPLEX64 ,
336
+ [ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_COMPLEX128 ,
337
+
338
+ [ STDLIB_NDARRAY_BOOL ] = -1 ,
339
+
340
+ [ STDLIB_NDARRAY_BINARY ] = -1 ,
341
+ [ STDLIB_NDARRAY_GENERIC ] = -1
342
+ };
343
+
344
+ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_COMPLEX32 [ STDLIB_NDARRAY_NDTYPES ] = {
345
+
346
+ [ STDLIB_NDARRAY_INT8 ] = -1 ,
347
+ [ STDLIB_NDARRAY_UINT8 ] = -1 ,
348
+ [ STDLIB_NDARRAY_UINT8C ] = -1 ,
349
+ [ STDLIB_NDARRAY_INT16 ] = -1 ,
350
+ [ STDLIB_NDARRAY_UINT16 ] = -1 ,
351
+ [ STDLIB_NDARRAY_INT32 ] = -1 ,
352
+ [ STDLIB_NDARRAY_UINT32 ] = -1 ,
353
+ [ STDLIB_NDARRAY_INT64 ] = -1 ,
354
+ [ STDLIB_NDARRAY_UINT64 ] = -1 ,
355
+
356
+ [ STDLIB_NDARRAY_FLOAT16 ] = -1 ,
357
+ [ STDLIB_NDARRAY_FLOAT32 ] = -1 ,
358
+ [ STDLIB_NDARRAY_FLOAT64 ] = -1 ,
359
+
360
+ [ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_COMPLEX32 ;
287
361
[ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_COMPLEX64 ,
288
362
[ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_COMPLEX128 ,
289
363
@@ -305,9 +379,11 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_COMPLEX64[ STDLIB_NDARRAY_NDTYPES ]
305
379
[ STDLIB_NDARRAY_INT64 ] = -1 ,
306
380
[ STDLIB_NDARRAY_UINT64 ] = -1 ,
307
381
382
+ [ STDLIB_NDARRAY_FLOAT16 ] = -1 ,
308
383
[ STDLIB_NDARRAY_FLOAT32 ] = -1 ,
309
384
[ STDLIB_NDARRAY_FLOAT64 ] = -1 ,
310
385
386
+ [ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_COMPLEX64 ;
311
387
[ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_COMPLEX64 ,
312
388
[ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_COMPLEX128 ,
313
389
@@ -329,9 +405,11 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_COMPLEX128[ STDLIB_NDARRAY_NDTYPES ]
329
405
[ STDLIB_NDARRAY_INT64 ] = -1 ,
330
406
[ STDLIB_NDARRAY_UINT64 ] = -1 ,
331
407
408
+ [ STDLIB_NDARRAY_FLOAT16 ] = -1 ,
332
409
[ STDLIB_NDARRAY_FLOAT32 ] = -1 ,
333
410
[ STDLIB_NDARRAY_FLOAT64 ] = -1 ,
334
411
412
+ [ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_COMPLEX128 ;
335
413
[ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_COMPLEX128 ,
336
414
[ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_COMPLEX128 ,
337
415
@@ -353,9 +431,11 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_BOOL[ STDLIB_NDARRAY_NDTYPES ] = {
353
431
[ STDLIB_NDARRAY_INT64 ] = -1 ,
354
432
[ STDLIB_NDARRAY_UINT64 ] = -1 ,
355
433
434
+ [ STDLIB_NDARRAY_FLOAT16 ] = -1 ,
356
435
[ STDLIB_NDARRAY_FLOAT32 ] = -1 ,
357
436
[ STDLIB_NDARRAY_FLOAT64 ] = -1 ,
358
437
438
+ [ STDLIB_NDARRAY_COMPLEX32 ] = -1 ;
359
439
[ STDLIB_NDARRAY_COMPLEX64 ] = -1 ,
360
440
[ STDLIB_NDARRAY_COMPLEX128 ] = -1 ,
361
441
@@ -377,9 +457,11 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_BINARY[ STDLIB_NDARRAY_NDTYPES ] = {
377
457
[ STDLIB_NDARRAY_INT64 ] = -1 ,
378
458
[ STDLIB_NDARRAY_UINT64 ] = -1 ,
379
459
460
+ [ STDLIB_NDARRAY_FLOAT16 ] = -1 ,
380
461
[ STDLIB_NDARRAY_FLOAT32 ] = -1 ,
381
462
[ STDLIB_NDARRAY_FLOAT64 ] = -1 ,
382
463
464
+ [ STDLIB_NDARRAY_COMPLEX32 ] = -1 ;
383
465
[ STDLIB_NDARRAY_COMPLEX64 ] = -1 ,
384
466
[ STDLIB_NDARRAY_COMPLEX128 ] = -1 ,
385
467
@@ -401,9 +483,11 @@ const int8_t STDLIB_NDARRAY_PROMOTION_RULES_GENERIC[ STDLIB_NDARRAY_NDTYPES ] =
401
483
[ STDLIB_NDARRAY_INT64 ] = -1 ,
402
484
[ STDLIB_NDARRAY_UINT64 ] = -1 ,
403
485
486
+ [ STDLIB_NDARRAY_FLOAT16 ] = -1 ,
404
487
[ STDLIB_NDARRAY_FLOAT32 ] = -1 ,
405
488
[ STDLIB_NDARRAY_FLOAT64 ] = -1 ,
406
489
490
+ [ STDLIB_NDARRAY_COMPLEX32 ] = -1 ;
407
491
[ STDLIB_NDARRAY_COMPLEX64 ] = -1 ,
408
492
[ STDLIB_NDARRAY_COMPLEX128 ] = -1 ,
409
493
@@ -426,9 +510,11 @@ const int8_t *STDLIB_NDARRAY_PROMOTION_RULES[ STDLIB_NDARRAY_NDTYPES ] = {
426
510
[ STDLIB_NDARRAY_INT64 ] = STDLIB_NDARRAY_PROMOTION_RULES_INT64 ,
427
511
[ STDLIB_NDARRAY_UINT64 ] = STDLIB_NDARRAY_PROMOTION_RULES_UINT64 ,
428
512
513
+ [ STDLIB_NDARRAY_FLOAT16 ] = STDLIB_NDARRAY_PROMOTION_RULES_FLOAT16 ,
429
514
[ STDLIB_NDARRAY_FLOAT32 ] = STDLIB_NDARRAY_PROMOTION_RULES_FLOAT32 ,
430
515
[ STDLIB_NDARRAY_FLOAT64 ] = STDLIB_NDARRAY_PROMOTION_RULES_FLOAT64 ,
431
516
517
+ [ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_PROMOTION_RULES_COMPLEX32 ;
432
518
[ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_PROMOTION_RULES_COMPLEX64 ,
433
519
[ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_PROMOTION_RULES_COMPLEX128 ,
434
520
0 commit comments