СИНТАКСИС
__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, під час завантаження модуля.
МІРКУВАННЯ В РЕАЛЬНОМУ ЧАСІ
Може викликатися з коду ініціалізації/очищення та з завдань реального часу. Доступно в компонентах, що не працюють у реальному часі.