File tree Expand file tree Collapse file tree 5 files changed +30
-2
lines changed Expand file tree Collapse file tree 5 files changed +30
-2
lines changed Original file line number Diff line number Diff line change @@ -340,6 +340,9 @@ static const mp_rom_map_elem_t ulab_numpy_globals_table[] = {
340
340
#if ULAB_NUMPY_HAS_SIN
341
341
{ MP_ROM_QSTR (MP_QSTR_sin ), MP_ROM_PTR (& vector_sin_obj ) },
342
342
#endif
343
+ #if ULAB_NUMPY_HAS_SINC
344
+ { MP_ROM_QSTR (MP_QSTR_sinc ), MP_ROM_PTR (& vector_sinc_obj ) },
345
+ #endif
343
346
#if ULAB_NUMPY_HAS_SINH
344
347
{ MP_ROM_QSTR (MP_QSTR_sinh ), MP_ROM_PTR (& vector_sinh_obj ) },
345
348
#endif
Original file line number Diff line number Diff line change @@ -570,6 +570,27 @@ MATH_FUN_1(sin, sin);
570
570
MP_DEFINE_CONST_FUN_OBJ_1 (vector_sin_obj , vector_sin );
571
571
#endif
572
572
573
+ #if ULAB_NUMPY_HAS_SINC
574
+ //| def sinc(a: _ArrayLike) -> ulab.numpy.ndarray:
575
+ //| """Computes the normalized sinc function"""
576
+ //| ...
577
+ //|
578
+
579
+ static mp_float_t ulab_sinc1 (mp_float_t x ) {
580
+ if (fpclassify (x ) == FP_ZERO ) {
581
+ return MICROPY_FLOAT_CONST (1. );
582
+ }
583
+ x *= MP_PI ;
584
+ return MICROPY_FLOAT_C_FUN (sin )(x ) / x ;
585
+ }
586
+
587
+ static mp_obj_t vector_sinc (mp_obj_t x_obj ) {
588
+ return vector_generic_vector (x_obj , ulab_sinc1 );
589
+ }
590
+
591
+ MP_DEFINE_CONST_FUN_OBJ_1 (vector_sinc_obj , vector_sinc );
592
+ #endif
593
+
573
594
#if ULAB_NUMPY_HAS_SINH
574
595
//| def sinh(a: _ArrayLike) -> ulab.numpy.ndarray:
575
596
//| """Computes the hyperbolic sine"""
Original file line number Diff line number Diff line change @@ -39,6 +39,7 @@ MP_DECLARE_CONST_FUN_OBJ_1(vector_log10_obj);
39
39
MP_DECLARE_CONST_FUN_OBJ_1 (vector_log2_obj );
40
40
MP_DECLARE_CONST_FUN_OBJ_1 (vector_radians_obj );
41
41
MP_DECLARE_CONST_FUN_OBJ_1 (vector_sin_obj );
42
+ MP_DECLARE_CONST_FUN_OBJ_1 (vector_sinc_obj );
42
43
MP_DECLARE_CONST_FUN_OBJ_1 (vector_sinh_obj );
43
44
#if ULAB_SUPPORTS_COMPLEX
44
45
MP_DECLARE_CONST_FUN_OBJ_KW (vector_sqrt_obj );
Original file line number Diff line number Diff line change 616
616
#define ULAB_NUMPY_HAS_SIN (1)
617
617
#endif
618
618
619
+ #ifndef ULAB_NUMPY_HAS_SINC
620
+ #define ULAB_NUMPY_HAS_SINC (1)
621
+ #endif
622
+
619
623
#ifndef ULAB_NUMPY_HAS_SINH
620
624
#define ULAB_NUMPY_HAS_SINH (1)
621
625
#endif
Original file line number Diff line number Diff line change @@ -15,5 +15,4 @@ myst-parser
15
15
16
16
# For stubs and annotations
17
17
adafruit-circuitpython-typing
18
-
19
-
18
+ build
You can’t perform that action at this time.
0 commit comments