Skip to content

Commit d979fb3

Browse files
committed
feat: add support for float16, complex32, int64, and uint64 dtypes
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent 6ccfa0f commit d979fb3

File tree

2 files changed

+222
-0
lines changed

2 files changed

+222
-0
lines changed

lib/node_modules/@stdlib/ndarray/safe-casts/include/stdlib/ndarray/safe_casts.h

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,11 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_FLOAT64[ STDLIB_NDARRAY_NDTYPES ] = {
4141
[ STDLIB_NDARRAY_INT64 ] = 0,
4242
[ STDLIB_NDARRAY_UINT64 ] = 0,
4343

44+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
4445
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
4546
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
4647

48+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
4749
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
4850
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
4951

@@ -65,9 +67,37 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_FLOAT32[ STDLIB_NDARRAY_NDTYPES ] = {
6567
[ STDLIB_NDARRAY_INT64 ] = 0,
6668
[ STDLIB_NDARRAY_UINT64 ] = 0,
6769

70+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
6871
[ STDLIB_NDARRAY_FLOAT32 ] = 1,
6972
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
7073

74+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
75+
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
76+
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
77+
78+
[ STDLIB_NDARRAY_BOOL ] = 0,
79+
80+
[ STDLIB_NDARRAY_BINARY ] = 0,
81+
[ STDLIB_NDARRAY_GENERIC ] = 0
82+
};
83+
84+
const int8_t STDLIB_NDARRAY_SAFE_CASTS_FLOAT16[ STDLIB_NDARRAY_NDTYPES ] = {
85+
86+
[ STDLIB_NDARRAY_INT8 ] = 0,
87+
[ STDLIB_NDARRAY_UINT8 ] = 0,
88+
[ STDLIB_NDARRAY_UINT8C ] = 0,
89+
[ STDLIB_NDARRAY_INT16 ] = 0,
90+
[ STDLIB_NDARRAY_UINT16 ] = 0,
91+
[ STDLIB_NDARRAY_INT32 ] = 0,
92+
[ STDLIB_NDARRAY_UINT32 ] = 0,
93+
[ STDLIB_NDARRAY_INT64 ] = 0,
94+
[ STDLIB_NDARRAY_UINT64 ] = 0,
95+
96+
[ STDLIB_NDARRAY_FLOAT16 ] = 1,
97+
[ STDLIB_NDARRAY_FLOAT32 ] = 1,
98+
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
99+
100+
[ STDLIB_NDARRAY_COMPLEX32 ] = 1,
71101
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
72102
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
73103

@@ -89,9 +119,11 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_UINT64[ STDLIB_NDARRAY_NDTYPES ] = {
89119
[ STDLIB_NDARRAY_INT64 ] = 0,
90120
[ STDLIB_NDARRAY_UINT64 ] = 1,
91121

122+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
92123
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
93124
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
94125

126+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
95127
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
96128
[ STDLIB_NDARRAY_COMPLEX128 ] = 0,
97129

@@ -113,9 +145,11 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_INT64[ STDLIB_NDARRAY_NDTYPES ] = {
113145
[ STDLIB_NDARRAY_INT64 ] = 1,
114146
[ STDLIB_NDARRAY_UINT64 ] = 0,
115147

148+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
116149
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
117150
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
118151

152+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
119153
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
120154
[ STDLIB_NDARRAY_COMPLEX128 ] = 0,
121155

@@ -137,9 +171,11 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_UINT32[ STDLIB_NDARRAY_NDTYPES ] = {
137171
[ STDLIB_NDARRAY_INT64 ] = 1,
138172
[ STDLIB_NDARRAY_UINT64 ] = 1,
139173

174+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
140175
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
141176
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
142177

178+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
143179
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
144180
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
145181

@@ -161,9 +197,11 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_INT32[ STDLIB_NDARRAY_NDTYPES ] = {
161197
[ STDLIB_NDARRAY_INT64 ] = 1,
162198
[ STDLIB_NDARRAY_UINT64 ] = 0,
163199

200+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
164201
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
165202
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
166203

204+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
167205
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
168206
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
169207

@@ -185,9 +223,11 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_UINT16[ STDLIB_NDARRAY_NDTYPES ] = {
185223
[ STDLIB_NDARRAY_INT64 ] = 1,
186224
[ STDLIB_NDARRAY_UINT64 ] = 1,
187225

226+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
188227
[ STDLIB_NDARRAY_FLOAT32 ] = 1,
189228
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
190229

230+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
191231
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
192232
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
193233

@@ -209,9 +249,11 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_INT16[ STDLIB_NDARRAY_NDTYPES ] = {
209249
[ STDLIB_NDARRAY_INT64 ] = 1,
210250
[ STDLIB_NDARRAY_UINT64 ] = 0,
211251

252+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
212253
[ STDLIB_NDARRAY_FLOAT32 ] = 1,
213254
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
214255

256+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
215257
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
216258
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
217259

@@ -233,9 +275,11 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_UINT8[ STDLIB_NDARRAY_NDTYPES ] = {
233275
[ STDLIB_NDARRAY_INT64 ] = 1,
234276
[ STDLIB_NDARRAY_UINT64 ] = 1,
235277

278+
[ STDLIB_NDARRAY_FLOAT16 ] = 1,
236279
[ STDLIB_NDARRAY_FLOAT32 ] = 1,
237280
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
238281

282+
[ STDLIB_NDARRAY_COMPLEX32 ] = 1,
239283
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
240284
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
241285

@@ -257,9 +301,11 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_UINT8C[ STDLIB_NDARRAY_NDTYPES ] = {
257301
[ STDLIB_NDARRAY_INT64 ] = 1,
258302
[ STDLIB_NDARRAY_UINT64 ] = 1,
259303

304+
[ STDLIB_NDARRAY_FLOAT16 ] = 1,
260305
[ STDLIB_NDARRAY_FLOAT32 ] = 1,
261306
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
262307

308+
[ STDLIB_NDARRAY_COMPLEX32 ] = 1,
263309
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
264310
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
265311

@@ -281,9 +327,11 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_INT8[ STDLIB_NDARRAY_NDTYPES ] = {
281327
[ STDLIB_NDARRAY_INT64 ] = 1,
282328
[ STDLIB_NDARRAY_UINT64 ] = 0,
283329

330+
[ STDLIB_NDARRAY_FLOAT16 ] = 1,
284331
[ STDLIB_NDARRAY_FLOAT32 ] = 1,
285332
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
286333

334+
[ STDLIB_NDARRAY_COMPLEX32 ] = 1,
287335
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
288336
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
289337

@@ -305,9 +353,11 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_COMPLEX128[ STDLIB_NDARRAY_NDTYPES ] = {
305353
[ STDLIB_NDARRAY_INT64 ] = 0,
306354
[ STDLIB_NDARRAY_UINT64 ] = 0,
307355

356+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
308357
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
309358
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
310359

360+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
311361
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
312362
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
313363

@@ -329,9 +379,37 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_COMPLEX64[ STDLIB_NDARRAY_NDTYPES ] = {
329379
[ STDLIB_NDARRAY_INT64 ] = 0,
330380
[ STDLIB_NDARRAY_UINT64 ] = 0,
331381

382+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
383+
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
384+
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
385+
386+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
387+
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
388+
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
389+
390+
[ STDLIB_NDARRAY_BOOL ] = 0,
391+
392+
[ STDLIB_NDARRAY_BINARY ] = 0,
393+
[ STDLIB_NDARRAY_GENERIC ] = 0
394+
};
395+
396+
const int8_t STDLIB_NDARRAY_SAFE_CASTS_COMPLEX32[ STDLIB_NDARRAY_NDTYPES ] = {
397+
398+
[ STDLIB_NDARRAY_INT8 ] = 0,
399+
[ STDLIB_NDARRAY_UINT8 ] = 0,
400+
[ STDLIB_NDARRAY_UINT8C ] = 0,
401+
[ STDLIB_NDARRAY_INT16 ] = 0,
402+
[ STDLIB_NDARRAY_UINT16 ] = 0,
403+
[ STDLIB_NDARRAY_INT32 ] = 0,
404+
[ STDLIB_NDARRAY_UINT32 ] = 0,
405+
[ STDLIB_NDARRAY_INT64 ] = 0,
406+
[ STDLIB_NDARRAY_UINT64 ] = 0,
407+
408+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
332409
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
333410
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
334411

412+
[ STDLIB_NDARRAY_COMPLEX32 ] = 1,
335413
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
336414
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
337415

@@ -353,9 +431,11 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_BOOL[ STDLIB_NDARRAY_NDTYPES ] = {
353431
[ STDLIB_NDARRAY_INT64 ] = 0,
354432
[ STDLIB_NDARRAY_UINT64 ] = 0,
355433

434+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
356435
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
357436
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
358437

438+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
359439
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
360440
[ STDLIB_NDARRAY_COMPLEX128 ] = 0,
361441

@@ -377,9 +457,11 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_BINARY[ STDLIB_NDARRAY_NDTYPES ] = {
377457
[ STDLIB_NDARRAY_INT64 ] = 0,
378458
[ STDLIB_NDARRAY_UINT64 ] = 0,
379459

460+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
380461
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
381462
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
382463

464+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
383465
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
384466
[ STDLIB_NDARRAY_COMPLEX128 ] = 0,
385467

@@ -401,9 +483,11 @@ const int8_t STDLIB_NDARRAY_SAFE_CASTS_GENERIC[ STDLIB_NDARRAY_NDTYPES ] = {
401483
[ STDLIB_NDARRAY_INT64 ] = 0,
402484
[ STDLIB_NDARRAY_UINT64 ] = 0,
403485

486+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
404487
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
405488
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
406489

490+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
407491
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
408492
[ STDLIB_NDARRAY_COMPLEX128 ] = 0,
409493

@@ -426,9 +510,11 @@ const int8_t *STDLIB_NDARRAY_SAFE_CASTS[ STDLIB_NDARRAY_NDTYPES ] = {
426510
[ STDLIB_NDARRAY_INT64 ] = STDLIB_NDARRAY_SAFE_CASTS_INT64,
427511
[ STDLIB_NDARRAY_UINT64 ] = STDLIB_NDARRAY_SAFE_CASTS_UINT64,
428512

513+
[ STDLIB_NDARRAY_FLOAT16 ] = STDLIB_NDARRAY_SAFE_CASTS_FLOAT16,
429514
[ STDLIB_NDARRAY_FLOAT32 ] = STDLIB_NDARRAY_SAFE_CASTS_FLOAT32,
430515
[ STDLIB_NDARRAY_FLOAT64 ] = STDLIB_NDARRAY_SAFE_CASTS_FLOAT64,
431516

517+
[ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_SAFE_CASTS_COMPLEX32,
432518
[ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_SAFE_CASTS_COMPLEX64,
433519
[ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_SAFE_CASTS_COMPLEX128,
434520

0 commit comments

Comments
 (0)