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