iPXE
__divmoddi4.c
Go to the documentation of this file.
1#include "libgcc.h"
2
4{
5 int minus = 0;
6 int64_t v;
7
8 if ( num < 0 ) {
9 num = -num;
10 minus = 1;
11 }
12 if ( den < 0 ) {
13 den = -den;
14 minus ^= 1;
15 }
16
17 v = __udivmoddi4(num, den, (uint64_t *)rem_p);
18 if ( minus ) {
19 v = -v;
20 if ( rem_p )
21 *rem_p = -(*rem_p);
22 }
23
24 return v;
25}
__libgcc int64_t __divmoddi4(int64_t num, int64_t den, int64_t *rem_p)
Definition __divmoddi4.c:3
__libgcc uint64_t __udivmoddi4(uint64_t num, uint64_t den, uint64_t *rem_p)
Definition __udivmoddi4.c:3
#define __libgcc
Declare a function with libgcc implicit linkage.
Definition compiler.h:37
unsigned long long uint64_t
Definition stdint.h:13
signed long long int64_t
Definition stdint.h:18
uint32_t num
Definition multiboot.h:0