Skip to content

Commit 64309b8

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 fa46668 commit 64309b8

File tree

2 files changed

+420
-224
lines changed

2 files changed

+420
-224
lines changed

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

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

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

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

@@ -65,9 +67,11 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_FLOAT32[ STDLIB_NDARRAY_NDTYPES ]
6567
[ STDLIB_NDARRAY_INT64 ] = 0,
6668
[ STDLIB_NDARRAY_UINT64 ] = 0,
6769

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

74+
[ STDLIB_NDARRAY_COMPLEX32 ] = 1,
7175
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
7276
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
7377

@@ -89,9 +93,11 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_UINT64[ STDLIB_NDARRAY_NDTYPES ] =
8993
[ STDLIB_NDARRAY_INT64 ] = 0,
9094
[ STDLIB_NDARRAY_UINT64 ] = 1,
9195

96+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
9297
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
9398
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
9499

100+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
95101
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
96102
[ STDLIB_NDARRAY_COMPLEX128 ] = 0,
97103

@@ -113,9 +119,11 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_INT64[ STDLIB_NDARRAY_NDTYPES ] =
113119
[ STDLIB_NDARRAY_INT64 ] = 1,
114120
[ STDLIB_NDARRAY_UINT64 ] = 0,
115121

122+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
116123
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
117124
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
118125

126+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
119127
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
120128
[ STDLIB_NDARRAY_COMPLEX128 ] = 0,
121129

@@ -137,9 +145,11 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_UINT32[ STDLIB_NDARRAY_NDTYPES ] =
137145
[ STDLIB_NDARRAY_INT64 ] = 1,
138146
[ STDLIB_NDARRAY_UINT64 ] = 1,
139147

148+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
140149
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
141150
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
142151

152+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
143153
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
144154
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
145155

@@ -161,9 +171,11 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_INT32[ STDLIB_NDARRAY_NDTYPES ] =
161171
[ STDLIB_NDARRAY_INT64 ] = 1,
162172
[ STDLIB_NDARRAY_UINT64 ] = 0,
163173

174+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
164175
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
165176
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
166177

178+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
167179
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
168180
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
169181

@@ -185,9 +197,11 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_UINT16[ STDLIB_NDARRAY_NDTYPES ] =
185197
[ STDLIB_NDARRAY_INT64 ] = 1,
186198
[ STDLIB_NDARRAY_UINT64 ] = 1,
187199

200+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
188201
[ STDLIB_NDARRAY_FLOAT32 ] = 1,
189202
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
190203

204+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
191205
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
192206
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
193207

@@ -209,9 +223,11 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_INT16[ STDLIB_NDARRAY_NDTYPES ] =
209223
[ STDLIB_NDARRAY_INT64 ] = 1,
210224
[ STDLIB_NDARRAY_UINT64 ] = 0,
211225

226+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
212227
[ STDLIB_NDARRAY_FLOAT32 ] = 1,
213228
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
214229

230+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
215231
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
216232
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
217233

@@ -233,9 +249,11 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_UINT8[ STDLIB_NDARRAY_NDTYPES ] =
233249
[ STDLIB_NDARRAY_INT64 ] = 1,
234250
[ STDLIB_NDARRAY_UINT64 ] = 1,
235251

252+
[ STDLIB_NDARRAY_FLOAT16 ] = 1,
236253
[ STDLIB_NDARRAY_FLOAT32 ] = 1,
237254
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
238255

256+
[ STDLIB_NDARRAY_COMPLEX32 ] = 1,
239257
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
240258
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
241259

@@ -257,9 +275,11 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_UINT8C[ STDLIB_NDARRAY_NDTYPES ] =
257275
[ STDLIB_NDARRAY_INT64 ] = 1,
258276
[ STDLIB_NDARRAY_UINT64 ] = 1,
259277

278+
[ STDLIB_NDARRAY_FLOAT16 ] = 1,
260279
[ STDLIB_NDARRAY_FLOAT32 ] = 1,
261280
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
262281

282+
[ STDLIB_NDARRAY_COMPLEX32 ] = 1,
263283
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
264284
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
265285

@@ -281,9 +301,11 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_INT8[ STDLIB_NDARRAY_NDTYPES ] = {
281301
[ STDLIB_NDARRAY_INT64 ] = 1,
282302
[ STDLIB_NDARRAY_UINT64 ] = 0,
283303

304+
[ STDLIB_NDARRAY_FLOAT16 ] = 1,
284305
[ STDLIB_NDARRAY_FLOAT32 ] = 1,
285306
[ STDLIB_NDARRAY_FLOAT64 ] = 1,
286307

308+
[ STDLIB_NDARRAY_COMPLEX32 ] = 1,
287309
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
288310
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
289311

@@ -305,9 +327,11 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_COMPLEX128[ STDLIB_NDARRAY_NDTYPES
305327
[ STDLIB_NDARRAY_INT64 ] = 0,
306328
[ STDLIB_NDARRAY_UINT64 ] = 0,
307329

330+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
308331
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
309332
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
310333

334+
[ STDLIB_NDARRAY_COMPLEX32 ] = 1,
311335
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
312336
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
313337

@@ -329,9 +353,37 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_COMPLEX64[ STDLIB_NDARRAY_NDTYPES
329353
[ STDLIB_NDARRAY_INT64 ] = 0,
330354
[ STDLIB_NDARRAY_UINT64 ] = 0,
331355

356+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
332357
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
333358
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
334359

360+
[ STDLIB_NDARRAY_COMPLEX32 ] = 1,
361+
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
362+
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
363+
364+
[ STDLIB_NDARRAY_BOOL ] = 0,
365+
366+
[ STDLIB_NDARRAY_BINARY ] = 0,
367+
[ STDLIB_NDARRAY_GENERIC ] = 0
368+
};
369+
370+
const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_COMPLEX32[ STDLIB_NDARRAY_NDTYPES ] = {
371+
372+
[ STDLIB_NDARRAY_INT8 ] = 0,
373+
[ STDLIB_NDARRAY_UINT8 ] = 0,
374+
[ STDLIB_NDARRAY_UINT8C ] = 0,
375+
[ STDLIB_NDARRAY_INT16 ] = 0,
376+
[ STDLIB_NDARRAY_UINT16 ] = 0,
377+
[ STDLIB_NDARRAY_INT32 ] = 0,
378+
[ STDLIB_NDARRAY_UINT32 ] = 0,
379+
[ STDLIB_NDARRAY_INT64 ] = 0,
380+
[ STDLIB_NDARRAY_UINT64 ] = 0,
381+
382+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
383+
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
384+
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
385+
386+
[ STDLIB_NDARRAY_COMPLEX32 ] = 1,
335387
[ STDLIB_NDARRAY_COMPLEX64 ] = 1,
336388
[ STDLIB_NDARRAY_COMPLEX128 ] = 1,
337389

@@ -353,9 +405,11 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_BOOL[ STDLIB_NDARRAY_NDTYPES ] = {
353405
[ STDLIB_NDARRAY_INT64 ] = 0,
354406
[ STDLIB_NDARRAY_UINT64 ] = 0,
355407

408+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
356409
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
357410
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
358411

412+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
359413
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
360414
[ STDLIB_NDARRAY_COMPLEX128 ] = 0,
361415

@@ -377,9 +431,11 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_BINARY[ STDLIB_NDARRAY_NDTYPES ] =
377431
[ STDLIB_NDARRAY_INT64 ] = 0,
378432
[ STDLIB_NDARRAY_UINT64 ] = 0,
379433

434+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
380435
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
381436
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
382437

438+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
383439
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
384440
[ STDLIB_NDARRAY_COMPLEX128 ] = 0,
385441

@@ -401,9 +457,11 @@ const int8_t STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_GENERIC[ STDLIB_NDARRAY_NDTYPES ]
401457
[ STDLIB_NDARRAY_INT64 ] = 0,
402458
[ STDLIB_NDARRAY_UINT64 ] = 0,
403459

460+
[ STDLIB_NDARRAY_FLOAT16 ] = 0,
404461
[ STDLIB_NDARRAY_FLOAT32 ] = 0,
405462
[ STDLIB_NDARRAY_FLOAT64 ] = 0,
406463

464+
[ STDLIB_NDARRAY_COMPLEX32 ] = 0,
407465
[ STDLIB_NDARRAY_COMPLEX64 ] = 0,
408466
[ STDLIB_NDARRAY_COMPLEX128 ] = 0,
409467

@@ -426,9 +484,11 @@ const int8_t *STDLIB_NDARRAY_MOSTLY_SAFE_CASTS[ STDLIB_NDARRAY_NDTYPES ] = {
426484
[ STDLIB_NDARRAY_INT64 ] = STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_INT64,
427485
[ STDLIB_NDARRAY_UINT64 ] = STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_UINT64,
428486

487+
[ STDLIB_NDARRAY_FLOAT16 ] = STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_FLOAT16,
429488
[ STDLIB_NDARRAY_FLOAT32 ] = STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_FLOAT32,
430489
[ STDLIB_NDARRAY_FLOAT64 ] = STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_FLOAT64,
431490

491+
[ STDLIB_NDARRAY_COMPLEX32 ] = STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_COMPLEX32,
432492
[ STDLIB_NDARRAY_COMPLEX64 ] = STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_COMPLEX64,
433493
[ STDLIB_NDARRAY_COMPLEX128 ] = STDLIB_NDARRAY_MOSTLY_SAFE_CASTS_COMPLEX128,
434494

0 commit comments

Comments
 (0)