@web-font-path: "roboto-debian.css";
v2.2.0 (RP2040)
Loading...
Searching...
No Matches
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.
static divmod_result_t | hw_divider_divmod_u32 (uint32_t a, uint32_t b)
| Do an unsigned HW divide and wait for result.
static void | hw_divider_divmod_s32_start (int32_t a, int32_t b)
| Start a signed asynchronous divide.
static void | hw_divider_divmod_u32_start (uint32_t a, uint32_t b)
| Start an unsigned asynchronous divide.
static void | hw_divider_wait_ready (void)
| Wait for a divide to complete.
static divmod_result_t | hw_divider_result_nowait (void)
| Return result of HW divide, nowait.
static divmod_result_t | hw_divider_result_wait (void)
| Return result of last asynchronous HW divide.
static uint32_t | to_quotient_u32 (divmod_result_t r)
| Efficient extraction of unsigned quotient from 32p32 fixed point.
static int32_t | to_quotient_s32 (divmod_result_t r)
| Efficient extraction of signed quotient from 32p32 fixed point.
static uint32_t | to_remainder_u32 (divmod_result_t r)
| Efficient extraction of unsigned remainder from 32p32 fixed point.
static int32_t | to_remainder_s32 (divmod_result_t r)
| Efficient extraction of signed remainder from 32p32 fixed point.
static uint32_t | hw_divider_u32_quotient_wait (void)
| Return result of last asynchronous HW divide, unsigned quotient only.
static int32_t | hw_divider_s32_quotient_wait (void)
| Return result of last asynchronous HW divide, signed quotient only.
static uint32_t | hw_divider_u32_remainder_wait (void)
| Return result of last asynchronous HW divide, unsigned remainder only.
static int32_t | hw_divider_s32_remainder_wait (void)
| Return result of last asynchronous HW divide, signed remainder only.
static uint32_t | hw_divider_u32_quotient (uint32_t a, uint32_t b)
| Do an unsigned HW divide, wait for result, return quotient.
static uint32_t | hw_divider_u32_remainder (uint32_t a, uint32_t b)
| Do an unsigned HW divide, wait for result, return remainder.
static int32_t | hw_divider_quotient_s32 (int32_t a, int32_t b)
| Do a signed HW divide, wait for result, return quotient.
static int32_t | hw_divider_remainder_s32 (int32_t a, int32_t b)
| Do a signed HW divide, wait for result, return remainder.
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.
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.
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.
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.
static void | hw_divider_save_state (hw_divider_state_t *dest)
| Save the calling cores hardware divider state.
static void | hw_divider_restore_state (hw_divider_state_t *src)
| Load a saved hardware divider state into the current core's hardware divider.

## Variables

divmod_result_t | hw_divider_results [NUM_CORES]