xref: /csrg-svn/lib/libc/quad/divdi3.c (revision 53435)
1 /*-
2  * Copyright (c) 1992 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  */
7 
8 #if defined(LIBC_SCCS) && !defined(lint)
9 static char sccsid[] = "@(#)divdi3.c	5.1 (Berkeley) 05/12/92";
10 #endif /* LIBC_SCCS and not lint */
11 
12 #include "longlong.h"
13 
14 long long
15 __divdi3 (u, v)
16      long long u, v;
17 {
18   if (u < 0)
19     if (v < 0)
20       return (unsigned long long) -u / (unsigned long long) -v;
21     else
22       return - ((unsigned long long) -u / (unsigned long long) v);
23   else
24     if (v < 0)
25       return - ((unsigned long long) u / (unsigned long long) -v);
26     else
27       return (unsigned long long) u / (unsigned long long) v;
28 }
29