/* $Id$ */
-/* Release $Name$ */
-
/* lldiv( long long int, long long int )
This file is part of the Public Domain C Library (PDCLib).
lldiv_t rc;
rc.quot = numer / denom;
rc.rem = numer % denom;
- /* TODO */
+ /* 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 );
+ 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 ) == _PDCLIB_LLONG_BYTES );
+ TESTCASE( sizeof( result.rem ) == _PDCLIB_LLONG_BYTES );
return TEST_RESULTS;
}