/* $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.
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;
}
#ifdef TEST
#include <_PDCLIB_test.h>
-int main()
+#ifndef _PDCLIB_CONFIG_H
+#include <_PDCLIB_config.h>
+#endif
+
+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 ) == _PDCLIB_LONG_BYTES );
+ TESTCASE( sizeof( result.rem ) == _PDCLIB_LONG_BYTES );
return TEST_RESULTS;
}