190075Sobrienlong udivmodsi4 (); 290075Sobrien 390075Sobrienlong 490075Sobrien__divsi3 (long a, long b) 590075Sobrien{ 690075Sobrien int neg = 0; 790075Sobrien long res; 890075Sobrien 990075Sobrien if (a < 0) 1090075Sobrien { 1190075Sobrien a = -a; 1290075Sobrien neg = !neg; 1390075Sobrien } 1490075Sobrien 1590075Sobrien if (b < 0) 1690075Sobrien { 1790075Sobrien b = -b; 1890075Sobrien neg = !neg; 1990075Sobrien } 2090075Sobrien 2190075Sobrien res = udivmodsi4 (a, b, 0); 2290075Sobrien 2390075Sobrien if (neg) 2490075Sobrien res = -res; 2590075Sobrien 2690075Sobrien return res; 2790075Sobrien} 2890075Sobrien 2990075Sobrienlong 3090075Sobrien__modsi3 (long a, long b) 3190075Sobrien{ 3290075Sobrien int neg = 0; 3390075Sobrien long res; 3490075Sobrien 3590075Sobrien if (a < 0) 3690075Sobrien { 3790075Sobrien a = -a; 3890075Sobrien neg = 1; 3990075Sobrien } 4090075Sobrien 4190075Sobrien if (b < 0) 4290075Sobrien b = -b; 4390075Sobrien 4490075Sobrien res = udivmodsi4 (a, b, 1); 4590075Sobrien 4690075Sobrien if (neg) 4790075Sobrien res = -res; 4890075Sobrien 4990075Sobrien return res; 5090075Sobrien} 51