Files
csapp2025/datalab/src/decl.c
2025-03-06 19:56:12 +08:00

138 lines
2.1 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#define TMin LONG_MIN
#define TMax LONG_MAX
#include "btest.h"
#include "bits.h"
test_rec test_set[] = {
{"bitAnd", (funct_t) bitAnd, (funct_t) test_bitAnd, 2, "| ~", 8, 1,
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
{"bitXor", (funct_t) bitXor, (funct_t) test_bitXor, 2, "& ~", 14, 2,
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
{"evenBits", (funct_t) evenBits, (funct_t) test_evenBits, 0,
"! ~ & ^ | + << >>", 8, 2,
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
{"getByte", (funct_t) getByte, (funct_t) test_getByte, 2,
"! ~ & ^ | + << >>", 6, 2,
{{TMin, TMax},{0,3},{TMin,TMax}}},
{"bitMask", (funct_t) bitMask, (funct_t) test_bitMask, 2,
"! ~ & ^ | + << >>", 16, 3,
{{0, 31},{0,31},{TMin,TMax}}},
{"reverseBytes", (funct_t) reverseBytes, (funct_t) test_reverseBytes, 1,
"! ~ & ^ | + << >>", 25, 3,
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
{"leastBitPos", (funct_t) leastBitPos, (funct_t) test_leastBitPos, 1, "! ~ & ^ | + << >>", 6, 4,
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
{"logicalNeg", (funct_t) logicalNeg, (funct_t) test_logicalNeg, 1,
"~ & ^ | + << >>", 12, 4,
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
{"minusOne", (funct_t) minusOne, (funct_t) test_minusOne, 0,
"! ~ & ^ | + << >>", 2, 1,
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
{"tmax", (funct_t) tmax, (funct_t) test_tmax, 0, "! ~ & ^ | + << >>", 4, 1,
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
{"negate", (funct_t) negate, (funct_t) test_negate, 1,
"! ~ & ^ | + << >>", 5, 2,
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
{"isPositive", (funct_t) isPositive, (funct_t) test_isPositive, 1,
"! ~ & ^ | + << >>", 8, 3,
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
{"isLess", (funct_t) isLess, (funct_t) test_isLess, 2,
"! ~ & ^ | + << >>", 24, 3,
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
{"sm2tc", (funct_t) sm2tc, (funct_t) test_sm2tc, 1, "! ~ & ^ | + << >>", 15, 4,
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
{"", NULL, NULL, 0, "", 0, 0,
{{0, 0},{0,0},{0,0}}}
};