diff options
Diffstat (limited to 'labs/datalab/datalab-handout/btest.h')
| -rw-r--r-- | labs/datalab/datalab-handout/btest.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/labs/datalab/datalab-handout/btest.h b/labs/datalab/datalab-handout/btest.h new file mode 100644 index 0000000..a011bc1 --- /dev/null +++ b/labs/datalab/datalab-handout/btest.h @@ -0,0 +1,32 @@ +/* + * CS:APP Data Lab + */ + +/* Declare different function types */ +typedef int (*funct_t) (void); +typedef int (*funct1_t)(int); +typedef int (*funct2_t)(int, int); +typedef int (*funct3_t)(int, int, int); + +/* Combine all the information about a function and its tests as structure */ +typedef struct { + char *name; /* String name */ + funct_t solution_funct; /* Function */ + funct_t test_funct; /* Test function */ + int args; /* Number of function arguments */ + char *ops; /* List of legal operators. Special case: "$" for floating point */ + int op_limit; /* Max number of ops allowed in solution */ + int rating; /* Problem rating (1 -- 4) */ + int arg_ranges[3][2]; /* Argument ranges. Always defined for 3 args, even if */ + /* the function takes fewer. Special case: First arg */ + /* must be set to {1,1} for f.p. puzzles */ +} test_rec, *test_ptr; + +extern test_rec test_set[]; + + + + + + + |
