X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fstdlib%2Fldiv.c;h=b3e761f856b72a01c5a9bc99fdcf928a8f723c04;hb=b1fc26afebd4d557ff89a44bc21767a8704c3809;hp=92a56b94c88f767c84fe27b10f486c8504d2558b;hpb=3645cf5a3d3d1344b7863b5202a2d107c0f1964b;p=pdclib diff --git a/functions/stdlib/ldiv.c b/functions/stdlib/ldiv.c index 92a56b9..b3e761f 100644 --- a/functions/stdlib/ldiv.c +++ b/functions/stdlib/ldiv.c @@ -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; }