]> bbs.cooldavid.org Git - net-next-2.6.git/blob - arch/parisc/lib/libgcc/__moddi3.c
ed64bbafc98971422c045dd20276c9fed0c4d35c
[net-next-2.6.git] / arch / parisc / lib / libgcc / __moddi3.c
1 #include "libgcc.h"
2
3 s64 __moddi3(s64 num, s64 den)
4 {
5         int minus = 0;
6         s64 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         (void)__udivmoddi4(num, den, (u64 *) & v);
18         if (minus)
19                 v = -v;
20
21         return v;
22 }
23 EXPORT_SYMBOL(__moddi3);