/* WARNING: This file was generated by dkct. Changes you make here will be lost if dkct is run again! You should modify the original source and run dkct on it. Original source: test-dk4maai.ctr */ /** @file test-dk4maai.c The test-dk4maai module. */ #line 1 "test-dk4maai.ctr" #include "dk4conf.h" #include #include "dk4error.h" #include "dk4maai.h" #line 9 "test-dk4maai.ctr" static void show_error(dk4_er_t *erp) { if (DK4_E_NONE != erp->ec) { switch(erp->ec) { case DK4_E_MATH_OVERFLOW: { printf(" overflow"); } break; case DK4_E_MATH_DIVZERO: { printf(" divzero"); } break; default: { printf(" %d", erp->ec); } break; } } } int main(void) { char buffer[128]; /* Input line buffer */ dk4_er_t er; /* Error report */ int i1; /* First operand */ int i2; /* Second operand */ int exc; /* Exit code */ int cc; /* Flag: Can continue */ int c1; /* First operand as char */ int c2; /* Second operand as char */ int c3; /* Result as char */ #line 45 "test-dk4maai.ctr" #line 46 "test-dk4maai.ctr" exc = 0; cc = 1; while((1 == cc) && (fgets(buffer, sizeof(buffer), stdin))) { if (sscanf(buffer, "%d %d", &i1, &i2) == 2) { c1 = i1; c2 = i2; printf("%d %d\n", (int)c1, (int)c2); dk4error_init(&er); c3 = dk4ma_int_add(c1, c2, &er); printf("\t+ %d", (int)c3); show_error(&er); printf("\n"); dk4error_init(&er); c3 = dk4ma_int_sub(c1, c2, &er); printf("\t- %d", (int)c3); show_error(&er); printf("\n"); dk4error_init(&er); c3 = dk4ma_int_mul(c1, c2, &er); printf("\t* %d", (int)c3); show_error(&er); printf("\n"); dk4error_init(&er); c3 = dk4ma_int_div(c1, c2, &er); printf("\t/ %d", (int)c3); show_error(&er); printf("\n"); } else { exc = 1; fprintf(stderr, "test-dk4maac:ERROR: Invalid input line!\n"); fflush(stderr); cc = 0; } } #line 84 "test-dk4maai.ctr" #line 85 "test-dk4maai.ctr" return exc; }