Machinekit

Machinekit

rtapi_div_u64

NAME

rtapi_div_u64 — unsigned division of a 64-bit number by a 32-bit number

SYNTAX

u64 rtapi_div_u64_rem ( u64 dividend, u32 divisor, u32 *remainder)

u64 rtapi_div_u64 ( u64 dividend, u32 divisor__)

s64 rtapi_div_s64 ( s64 dividend, s32 divisor__)

s64 rtapi_div_s64_rem ( s64 dividend, s32 divisor, s32 *remainder)

ARGUMENTS

dividend
The value to be divided

divisor
The value to divide by

remainder
Pointer to the location to store the remainder.
This may not be a NULL pointer.
If the remainder is not desired, call rtapi_div_u64 or rtapi_div_s64.

DESCRIPTION

Perform integer division (and optionally compute the remainder) with a 64-bit dividend and 32-bit divisor.

RETURN VALUE

The result of integer division of dividend / divisor. In versions with the remainder argument, the remainder is stored in the pointed-to location.

AUTHOR

Jeff Epler

LICENCE

GPL2 or higher

NOTES

If the result of the division does not fit in the return type, the result is undefined.

This function exists because in kernel space the use of the division operator on a 64-bit type can lead to an undefined symbol such as __umoddi3 when the module is loaded.

REALTIME CONSIDERATIONS

May be called from init/cleanup code and from within realtime tasks. Available in userspace components.