]> pd.if.org Git - pdclib/blobdiff - functions/stdlib/ldiv.c
Removed SVN keyword tags.
[pdclib] / functions / stdlib / ldiv.c
index 92a56b94c88f767c84fe27b10f486c8504d2558b..b3e761f856b72a01c5a9bc99fdcf928a8f723c04 100644 (file)
@@ -1,8 +1,4 @@
-/* $Id$ */
-
-/* Release $Name$ */
-
-/* ldiv( int, int )
+/* ldiv( long int, long int )
 
    This file is part of the Public Domain C Library (PDCLib).
    Permission is granted to use, modify, and / or redistribute at will.
@@ -17,7 +13,7 @@ ldiv_t ldiv( long int numer, long int denom )
     ldiv_t rc;
     rc.quot = numer / denom;
     rc.rem  = numer % denom;
-    /* TODO: pre-C99 compilers might require modulus correction */
+    /* TODO: pre-C99 compilers might require modulus corrections */
     return rc;
 }
 
@@ -26,11 +22,17 @@ ldiv_t ldiv( long int numer, long int denom )
 #ifdef TEST
 #include <_PDCLIB_test.h>
 
-int main()
+int main( void )
 {
-    int NO_TESTDRIVER = 0;
-    BEGIN_TESTS;
-    TESTCASE( NO_TESTDRIVER );
+    ldiv_t result;
+    result = ldiv( 5, 2 );
+    TESTCASE( result.quot == 2 && result.rem == 1 );
+    result = ldiv( -5, 2 );
+    TESTCASE( result.quot == -2 && result.rem == -1 );
+    result = ldiv( 5, -2 );
+    TESTCASE( result.quot == -2 && result.rem == 1 );
+    TESTCASE( sizeof( result.quot ) == sizeof( long ) );
+    TESTCASE( sizeof( result.rem )  == sizeof( long ) );
     return TEST_RESULTS;
 }