Chameleon

Chameleon Svn Source Tree

Root/tags/2.3/i386/modules/klibc/__modsi3.c

Source at commit 2862 created 7 years 1 month ago.
By ifabio, Tag 2.3 release, bump svn to 2.4
1/*
2 * libgcc/__modsi3.c
3 */
4
5#include <stdint.h>
6#include <stddef.h>
7
8extern uint32_t __udivmodsi4(uint32_t num, uint32_t den, uint32_t * rem);
9
10int32_t __modsi3(int32_t num, int32_t den)
11{
12int minus = 0;
13int32_t v;
14
15if (num < 0) {
16num = -num;
17minus = 1;
18}
19if (den < 0) {
20den = -den;
21minus ^= 1;
22}
23
24(void)__udivmodsi4(num, den, (uint32_t *) & v);
25if (minus)
26v = -v;
27
28return v;
29}
30

Archive Download this file

Revision: 2862