Magellan Linux

Annotation of /trunk/mkinitrd-magellan/klibc/usr/klibc/libgcc/__modsi3.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 532 - (hide annotations) (download)
Sat Sep 1 22:45:15 2007 UTC (16 years, 9 months ago) by niro
File MIME type: text/plain
File size: 398 byte(s)
-import if magellan mkinitrd; it is a fork of redhats mkinitrd-5.0.8 with all magellan patches and features; deprecates magellan-src/mkinitrd

1 niro 532 /*
2     * libgcc/__modsi3.c
3     */
4    
5     #include <stdint.h>
6     #include <stddef.h>
7    
8     extern uint32_t __udivmodsi4(uint32_t num, uint32_t den, uint32_t * rem);
9    
10     int32_t __modsi3(int32_t num, int32_t den)
11     {
12     int minus = 0;
13     int32_t v;
14    
15     if (num < 0) {
16     num = -num;
17     minus = 1;
18     }
19     if (den < 0) {
20     den = -den;
21     minus ^= 1;
22     }
23    
24     (void)__udivmodsi4(num, den, (uint32_t *) & v);
25     if (minus)
26     v = -v;
27    
28     return v;
29     }