v2.0.0
Macros | Typedefs | Functions | Variables
divider.h File Reference
`#include "pico.h"`
Include dependency graph for divider.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros
#define | PICO_EMULATE_DIVIDER 1

## Typedefs
typedef uint64_t | divmod_result_t
typedef uint64_t | hw_divider_state_t

## Functions
static int | __sign_of (int32_t v)
static divmod_result_t | hw_divider_divmod_s32 (int32_t a, int32_t b)
| Do a signed HW divide and wait for result. More...
static divmod_result_t | hw_divider_divmod_u32 (uint32_t a, uint32_t b)
| Do an unsigned HW divide and wait for result. More...
static void | hw_divider_divmod_s32_start (int32_t a, int32_t b)
| Start a signed asynchronous divide. More...
static void | hw_divider_divmod_u32_start (uint32_t a, uint32_t b)
| Start an unsigned asynchronous divide. More...
static void | hw_divider_wait_ready (void)
| Wait for a divide to complete. More...
static divmod_result_t | hw_divider_result_nowait (void)
| Return result of HW divide, nowait. More...
static divmod_result_t | hw_divider_result_wait (void)
| Return result of last asynchronous HW divide. More...
static uint32_t | to_quotient_u32 (divmod_result_t r)
| Efficient extraction of unsigned quotient from 32p32 fixed point. More...
static int32_t | to_quotient_s32 (divmod_result_t r)
| Efficient extraction of signed quotient from 32p32 fixed point. More...
static uint32_t | to_remainder_u32 (divmod_result_t r)
| Efficient extraction of unsigned remainder from 32p32 fixed point. More...
static int32_t | to_remainder_s32 (divmod_result_t r)
| Efficient extraction of signed remainder from 32p32 fixed point. More...
static uint32_t | hw_divider_u32_quotient_wait (void)
| Return result of last asynchronous HW divide, unsigned quotient only. More...
static int32_t | hw_divider_s32_quotient_wait (void)
| Return result of last asynchronous HW divide, signed quotient only. More...
static uint32_t | hw_divider_u32_remainder_wait (void)
| Return result of last asynchronous HW divide, unsigned remainder only. More...
static int32_t | hw_divider_s32_remainder_wait (void)
| Return result of last asynchronous HW divide, signed remainder only. More...
static uint32_t | hw_divider_u32_quotient (uint32_t a, uint32_t b)
| Do an unsigned HW divide, wait for result, return quotient. More...
static uint32_t | hw_divider_u32_remainder (uint32_t a, uint32_t b)
| Do an unsigned HW divide, wait for result, return remainder. More...
static int32_t | hw_divider_quotient_s32 (int32_t a, int32_t b)
| Do a signed HW divide, wait for result, return quotient. More...
static int32_t | hw_divider_remainder_s32 (int32_t a, int32_t b)
| Do a signed HW divide, wait for result, return remainder. More...
static void | hw_divider_pause (void)
| Pause for exact amount of time needed for a asynchronous divide to complete.
static uint32_t | hw_divider_u32_quotient_inlined (uint32_t a, uint32_t b)
| Do a hardware unsigned HW divide, wait for result, return quotient. More...
static uint32_t | hw_divider_u32_remainder_inlined (uint32_t a, uint32_t b)
| Do a hardware unsigned HW divide, wait for result, return remainder. More...
static int32_t | hw_divider_s32_quotient_inlined (int32_t a, int32_t b)
| Do a hardware signed HW divide, wait for result, return quotient. More...
static int32_t | hw_divider_s32_remainder_inlined (int32_t a, int32_t b)
| Do a hardware signed HW divide, wait for result, return remainder. More...
static void | hw_divider_save_state (hw_divider_state_t *dest)
| Save the calling cores hardware divider state. More...
static void | hw_divider_restore_state (hw_divider_state_t *src)
| Load a saved hardware divider state into the current core's hardware divider. More...

## Variables
divmod_result_t | hw_divider_results [NUM_CORES]