tests for issue #169
This commit is contained in:
86
test/val/div-char-char.c
Normal file
86
test/val/div-char-char.c
Normal file
@@ -0,0 +1,86 @@
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include "div-common.h"
|
||||
|
||||
int res = 0;
|
||||
|
||||
/* we check A_8 and B_8 signed */
|
||||
#define TEST(_n,_a,_b,_r) TEST_AB_8(_n,_a,_b,_r)
|
||||
|
||||
#define DO_TEST_A(_n) res += test##_n##a()
|
||||
#define DO_TEST_B(_n) res += test##_n##b()
|
||||
|
||||
/* arbitrary values */
|
||||
TEST(1, 1, 8, 0)
|
||||
TEST(2, -1, 8, 0)
|
||||
TEST(3, 1, -8, 0)
|
||||
TEST(4, -1, -8, 0)
|
||||
TEST(5, 8, 1, 8)
|
||||
TEST(6, -8, 1, -8)
|
||||
TEST(7, 8, -1, -8)
|
||||
TEST(8, -8, -1, 8)
|
||||
|
||||
TEST(11, 32, 64, 0)
|
||||
TEST(12, -32, 64, 0)
|
||||
TEST(13, 32, -64, 0)
|
||||
TEST(14, -32, -64, 0)
|
||||
TEST(15, 64, 32, 2)
|
||||
TEST(16, -64, 32, -2)
|
||||
TEST(17, 64, -32, -2)
|
||||
TEST(18, -64, -32, 2)
|
||||
|
||||
/* +128 can't be tested for 8-bit signed char */
|
||||
TEST(101, 127, -128, 0)
|
||||
TEST(102, -127, -128, 0)
|
||||
TEST(103, -128, -128, 1)
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* check if the result is correct */
|
||||
DO_TEST_A(1);
|
||||
DO_TEST_A(2);
|
||||
DO_TEST_A(3);
|
||||
DO_TEST_A(4);
|
||||
DO_TEST_A(5);
|
||||
DO_TEST_A(6);
|
||||
DO_TEST_A(7);
|
||||
DO_TEST_A(8);
|
||||
|
||||
DO_TEST_A(11);
|
||||
DO_TEST_A(12);
|
||||
DO_TEST_A(13);
|
||||
DO_TEST_A(14);
|
||||
DO_TEST_A(15);
|
||||
DO_TEST_A(16);
|
||||
DO_TEST_A(17);
|
||||
DO_TEST_A(18);
|
||||
|
||||
DO_TEST_A(101);
|
||||
DO_TEST_A(102);
|
||||
DO_TEST_A(103);
|
||||
|
||||
/* check if the results are equal */
|
||||
DO_TEST_B(1);
|
||||
DO_TEST_B(2);
|
||||
DO_TEST_B(3);
|
||||
DO_TEST_B(4);
|
||||
DO_TEST_B(5);
|
||||
DO_TEST_B(6);
|
||||
DO_TEST_B(7);
|
||||
DO_TEST_B(8);
|
||||
|
||||
DO_TEST_B(11);
|
||||
DO_TEST_B(12);
|
||||
DO_TEST_B(13);
|
||||
DO_TEST_B(14);
|
||||
DO_TEST_B(15);
|
||||
DO_TEST_B(16);
|
||||
DO_TEST_B(17);
|
||||
DO_TEST_B(18);
|
||||
|
||||
DO_TEST_B(101);
|
||||
DO_TEST_B(102);
|
||||
DO_TEST_B(103);
|
||||
|
||||
return res;
|
||||
}
|
||||
Reference in New Issue
Block a user