/hal_rpi_pico-latest/src/common/pico_util/ |
D | queue.c | 11 void queue_init_with_spinlock(queue_t *q, uint element_size, uint element_count, uint spinlock_num)… in queue_init_with_spinlock() argument 12 lock_init(&q->core, spinlock_num); in queue_init_with_spinlock() 13 q->data = (uint8_t *)calloc(element_count + 1, element_size); in queue_init_with_spinlock() 14 q->element_count = (uint16_t)element_count; in queue_init_with_spinlock() 15 q->element_size = (uint16_t)element_size; in queue_init_with_spinlock() 16 q->wptr = 0; in queue_init_with_spinlock() 17 q->rptr = 0; in queue_init_with_spinlock() 20 void queue_free(queue_t *q) { in queue_free() argument 21 free(q->data); in queue_free() 24 static inline void *element_ptr(queue_t *q, uint index) { in element_ptr() argument [all …]
|
/hal_rpi_pico-latest/src/common/pico_util/include/pico/util/ |
D | queue.h | 52 void queue_init_with_spinlock(queue_t *q, uint element_size, uint element_count, uint spinlock_num); 61 static inline void queue_init(queue_t *q, uint element_size, uint element_count) { in queue_init() argument 62 queue_init_with_spinlock(q, element_size, element_count, next_striped_spin_lock_num()); in queue_init() 72 void queue_free(queue_t *q); 83 static inline uint queue_get_level_unsafe(queue_t *q) { in queue_get_level_unsafe() argument 84 int32_t rc = (int32_t)q->wptr - (int32_t)q->rptr; in queue_get_level_unsafe() 86 rc += q->element_count + 1; in queue_get_level_unsafe() 97 static inline uint queue_get_level(queue_t *q) { in queue_get_level() argument 98 uint32_t save = spin_lock_blocking(q->core.spin_lock); in queue_get_level() 99 uint level = queue_get_level_unsafe(q); in queue_get_level() [all …]
|
/hal_rpi_pico-latest/src/rp2_common/pico_divider/ |
D | divider_hardware.S | 479 lsrs r6,#16 @ q=((ui32)(y>>48)*r)>>16; 483 muls r3,r6 @ x0l*q 485 lsls r3,#17 @ r3:r7 is (x0l*q)<<17 487 sbcs r1,r7 @ y-=(x0l*q)<<17 490 muls r3,r6 @ q*x0h 492 subs r1,r3 @ y-=(x0h*q)<<17 496 lsrs r6,#16 @ q=((ui32)(y>>35)*r)>>16; 500 muls r3,r6 @ x0l*q 502 lsls r3,#4 @ r3:r7 is (x0l*q)<<4 504 sbcs r1,r7 @ y-=(x0l*q)<<4 [all …]
|
/hal_rpi_pico-latest/test/pico_divider_test/ |
D | pico_divider_test.c | 16 void test_mulib_divu64u64(ui64*y,ui64*x,ui64*q,ui64*r) { in test_mulib_divu64u64() argument 17 *q = divmod_u64u64_rem(*y, *x, r); in test_mulib_divu64u64() 19 void test_mulib_divs64s64( i64*y, i64*x, i64*q, i64*r) { in test_mulib_divs64s64() argument 20 *q = divmod_s64s64_rem(*y, *x, r); in test_mulib_divs64s64() 105 ui64 q,r; in test_divu64u64() local 106 test_mulib_divu64u64(&y,&x,&q,&r); in test_divu64u64() 110 if(q==y/x&&r==y%x) ; in test_divu64u64() 115 o16hex(q); osp(); in test_divu64u64() 125 i64 q,r; in test_divs64s64() local 129 test_mulib_divs64s64(&y,&x,&q,&r); in test_divs64s64() [all …]
|
/hal_rpi_pico-latest/src/rp2_common/pico_float/ |
D | float_math.c | 498 int quo=0,q,r=0,s; in frem_0() local 504 q=(mx>>9)*r; // Q30 in frem_0() 505 q=((q>>(29-s))+1)>>1; // Q(s), rounded in frem_0() 506 mx=(mx<<s)-my*q; in frem_0() 507 quo=(quo<<s)+q; in frem_0() 542 int sx,sy,ex,ey,q; in WRAPPER_FUNC() local 558 q=1; in WRAPPER_FUNC() 562 q=-1; in WRAPPER_FUNC() 567 mx=frem_0(mx,my,ex-ey,&q); in WRAPPER_FUNC() 568 if(mx+mx>my || (mx+mx==my&&(q&1)) ) { // |x|>|y|/2, or equality and an odd quotient? in WRAPPER_FUNC() [all …]
|
/hal_rpi_pico-latest/src/rp2_common/pico_double/ |
D | double_math.c | 544 int quo=0,q,r=0,s; in drem_0() local 550 q=(mx>>38)*r; // Q30 in drem_0() 551 q=((q>>(29-s))+1)>>1; // Q(s), rounded in drem_0() 552 mx=(mx<<s)-my*q; in drem_0() 553 quo=(quo<<s)+q; in drem_0() 586 int sx,sy,ex,ey,q; in WRAPPER_FUNC() local 602 q=1; in WRAPPER_FUNC() 606 q=-1; in WRAPPER_FUNC() 611 mx=drem_0(mx,my,ex-ey,&q); in WRAPPER_FUNC() 612 if(mx+mx>my || (mx+mx==my&&(q&1)) ) { // |x|>|y|/2, or equality and an odd quotient? in WRAPPER_FUNC() [all …]
|
D | double_sci_m33.S | 648 lsrs r6,r8,#19 @ q Q0 651 mla r8,r6,r5,r8 @ r7:r8 q*r Q64
|