]> pd.if.org Git - pdclib.old/blobdiff - functions/stdlib/lldiv.c
flushbuffer: make EOL conversion code more robust against I/O errors
[pdclib.old] / functions / stdlib / lldiv.c
index 349ff2b0a8b78fa5173100e1a43db79e169c4b7e..423d119ffb2feb859f022d32c39f7b5a08382c96 100644 (file)
@@ -1,7 +1,5 @@
 /* $Id$ */
 
-/* Release $Name$ */
-
 /* lldiv( long long int, long long int )
 
    This file is part of the Public Domain C Library (PDCLib).
@@ -17,7 +15,7 @@ lldiv_t lldiv( long long int numer, long long int denom )
     lldiv_t rc;
     rc.quot = numer / denom;
     rc.rem  = numer % denom;
-    /* TODO */
+    /* TODO: pre-C99 compilers might require modulus corrections */
     return rc;
 }
 
@@ -26,11 +24,17 @@ lldiv_t lldiv( long long int numer, long long int denom )
 #ifdef TEST
 #include <_PDCLIB_test.h>
 
-int main()
+int main( void )
 {
-    int NO_TESTDRIVER = 0;
-    BEGIN_TESTS;
-    TESTCASE( NO_TESTDRIVER );
+    lldiv_t result;
+    result = lldiv( 5ll, 2ll );
+    TESTCASE( result.quot == 2 && result.rem == 1 );
+    result = lldiv( -5ll, 2ll );
+    TESTCASE( result.quot == -2 && result.rem == -1 );
+    result = lldiv( 5ll, -2ll );
+    TESTCASE( result.quot == -2 && result.rem == 1 );
+    TESTCASE( sizeof( result.quot ) == sizeof( long long ) );
+    TESTCASE( sizeof( result.rem )  == sizeof( long long ) );
     return TEST_RESULTS;
 }