1 /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ 2 #include <precomp.h> 3 4 #if (_MSC_VER >= 1920) 5 #pragma function(ldiv) 6 #endif 7 8 /* 9 * @implemented 10 */ 11 ldiv_t 12 ldiv(long num, long denom) 13 { 14 ldiv_t r; 15 16 if (num > 0 && denom < 0) 17 { 18 num = -num; 19 denom = -denom; 20 } 21 r.quot = num / denom; 22 r.rem = num % denom; 23 if (num < 0 && denom > 0) 24 { 25 if (r.rem > 0) 26 { 27 r.quot++; 28 r.rem -= denom; 29 } 30 } 31 return r; 32 } 33