]> pd.if.org Git - pdclib/commitdiff
Added test drivers.
authorsolar <unknown>
Thu, 15 Dec 2005 12:29:11 +0000 (12:29 +0000)
committersolar <unknown>
Thu, 15 Dec 2005 12:29:11 +0000 (12:29 +0000)
functions/stdlib/div.c
functions/stdlib/ldiv.c
functions/stdlib/lldiv.c

index 45961af433631690f16e4da79aacc3b805be111d..bf82beda56bf295b9246f16b6af1fc2520886ab3 100644 (file)
@@ -26,11 +26,22 @@ div_t div( int numer, int denom )
 #ifdef TEST
 #include <_PDCLIB_test.h>
 
+#ifndef _PDCLIB_CONFIG_H
+#include <_PDCLIB_config.h>
+#endif
+
 int main()
 {
-    int NO_TESTDRIVER = 0;
+    div_t idiv;
     BEGIN_TESTS;
-    TESTCASE( NO_TESTDRIVER );
+    idiv = div( 5, 2 );
+    TESTCASE( idiv.quot == 2 && idiv.rem == 1 );
+    idiv = div( -5, 2 );
+    TESTCASE( idiv.quot == -2 && idiv.rem == -1 );
+    idiv = div( 5, -2 );
+    TESTCASE( idiv.quot == -2 && idiv.rem == 1 );
+    TESTCASE( sizeof( idiv.quot ) == _PDCLIB_INT_BYTES );
+    TESTCASE( sizeof( idiv.rem )  == _PDCLIB_INT_BYTES );
     return TEST_RESULTS;
 }
 
index 92a56b94c88f767c84fe27b10f486c8504d2558b..11940de59fc05f0eda949bd2c14d9329bde32596 100644 (file)
@@ -2,7 +2,7 @@
 
 /* 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 +17,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 +26,22 @@ ldiv_t ldiv( long int numer, long int denom )
 #ifdef TEST
 #include <_PDCLIB_test.h>
 
+#ifndef _PDCLIB_CONFIG_H
+#include <_PDCLIB_config.h>
+#endif
+
 int main()
 {
-    int NO_TESTDRIVER = 0;
+    ldiv_t div;
     BEGIN_TESTS;
-    TESTCASE( NO_TESTDRIVER );
+    div = ldiv( 5, 2 );
+    TESTCASE( div.quot == 2 && div.rem == 1 );
+    div = ldiv( -5, 2 );
+    TESTCASE( div.quot == -2 && div.rem == -1 );
+    div = ldiv( 5, -2 );
+    TESTCASE( div.quot == -2 && div.rem == 1 );
+    TESTCASE( sizeof( div.quot ) == _PDCLIB_LONG_BYTES );
+    TESTCASE( sizeof( div.rem )  == _PDCLIB_LONG_BYTES );
     return TEST_RESULTS;
 }
 
index 349ff2b0a8b78fa5173100e1a43db79e169c4b7e..358b2881e287c46c77153d25fa0547d27c058c61 100644 (file)
@@ -17,7 +17,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 +26,22 @@ lldiv_t lldiv( long long int numer, long long int denom )
 #ifdef TEST
 #include <_PDCLIB_test.h>
 
+#ifndef _PDCLIB_CONFIG_H
+#include <_PDCLIB_config.h>
+#endif
+
 int main()
 {
-    int NO_TESTDRIVER = 0;
+    lldiv_t div;
     BEGIN_TESTS;
-    TESTCASE( NO_TESTDRIVER );
+    div = lldiv( 5, 2 );
+    TESTCASE( div.quot == 2 && div.rem == 1 );
+    div = lldiv( -5, 2 );
+    TESTCASE( div.quot == -2 && div.rem == -1 );
+    div = lldiv( 5, -2 );
+    TESTCASE( div.quot == -2 && div.rem == 1 );
+    TESTCASE( sizeof( div.quot ) == _PDCLIB_LLONG_BYTES );
+    TESTCASE( sizeof( div.rem )  == _PDCLIB_LLONG_BYTES );
     return TEST_RESULTS;
 }