LinuxCNC Documentation

СИНТАКСИС

__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);

АРГУМЕНТИ

dividend

Значення, яке потрібно поділити.

divisor

Значення, на яке потрібно поділити.

залишок

Вказівник на місце для зберігання залишку. Це може бути не NULL-вказівник. Якщо залишок непотрібний, викличте rtapi_div_u64 або rtapi_div_s64.

ОПИС

Виконайте цілочисельне ділення (і за бажанням обчисліть остачу) з 64-бітним діленим та 32-бітним дільником.

ПОВЕРНЕНЕ ЗНАЧЕННЯ

Результат цілочисельного ділення dividend / divisor. У версіях з аргументом remainder залишок зберігається у вказаному місці.

НОТАТКИ

Якщо результат ділення не вписується в тип, що повертається, результат є невизначеним.

Ця функція існує тому, що в просторі ядра використання оператора ділення для 64-бітного типу може призвести до невизначеного символу, такого як __umoddi3, під час завантаження модуля.

МІРКУВАННЯ В РЕАЛЬНОМУ ЧАСІ

Може викликатися з коду ініціалізації/очищення та з завдань реального часу. Доступно в компонентах, що не працюють у реальному часі.