95 lines
4.1 KiB
C
95 lines
4.1 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <limits.h>
|
|
|
|
#define TMin INT_MIN
|
|
#define TMax INT_MAX
|
|
|
|
#include "btest.h"
|
|
#include "bits.h"
|
|
|
|
test_rec test_set[] = {
|
|
/* Copyright (C) 1991-2022 Free Software Foundation, Inc.
|
|
This file is part of the GNU C Library.
|
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2.1 of the License, or (at your option) any later version.
|
|
|
|
The GNU C Library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
License along with the GNU C Library; if not, see
|
|
<https://www.gnu.org/licenses/>. */
|
|
/* This header is separate from features.h so that the compiler can
|
|
include it implicitly at the start of every compilation. It must
|
|
not itself include <features.h> or any other header that includes
|
|
<features.h> because the implicit include comes before any feature
|
|
test macros that may be defined in a source file before it first
|
|
explicitly includes a system header. GCC knows the name of this
|
|
header in order to preinclude it. */
|
|
/* glibc's intent is to support the IEC 559 math functionality, real
|
|
and complex. If the GCC (4.9 and later) predefined macros
|
|
specifying compiler intent are available, use them to determine
|
|
whether the overall intent is to support these features; otherwise,
|
|
presume an older compiler has intent to support these features and
|
|
define these macros by default. */
|
|
/* wchar_t uses Unicode 10.0.0. Version 10.0 of the Unicode Standard is
|
|
synchronized with ISO/IEC 10646:2017, fifth edition, plus
|
|
the following additions from Amendment 1 to the fifth edition:
|
|
- 56 emoji characters
|
|
- 285 hentaigana
|
|
- 3 additional Zanabazar Square characters */
|
|
//1
|
|
{"bitAnd", (funct_t) bitAnd, (funct_t) test_bitAnd, 2, "| ~", 8, 1,
|
|
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
|
|
{"tmin", (funct_t) tmin, (funct_t) test_tmin, 0, "! ~ & ^ | + << >>", 4, 1,
|
|
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
|
|
{"isZero", (funct_t) isZero, (funct_t) test_isZero, 1, "! ~ & ^ | + << >>", 2, 1,
|
|
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
|
|
{"isTmin", (funct_t) isTmin, (funct_t) test_isTmin, 1, "! ~ & ^ | +", 10, 1,
|
|
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
|
|
//2
|
|
{"allOddBits", (funct_t) allOddBits, (funct_t) test_allOddBits, 1,
|
|
"! ~ & ^ | + << >>", 12, 2,
|
|
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
|
|
{"negate", (funct_t) negate, (funct_t) test_negate, 1,
|
|
"! ~ & ^ | + << >>", 5, 2,
|
|
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
|
|
{"isNotEqual", (funct_t) isNotEqual, (funct_t) test_isNotEqual, 2,
|
|
"! ~ & ^ | + << >>", 6, 2,
|
|
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
|
|
//3
|
|
{"isAsciiDigit", (funct_t) isAsciiDigit, (funct_t) test_isAsciiDigit, 1,
|
|
"! ~ & ^ | + << >>", 15, 3,
|
|
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
|
|
{"conditional", (funct_t) conditional, (funct_t) test_conditional, 3, "! ~ & ^ | << >>", 16, 3,
|
|
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
|
|
{"bitMask", (funct_t) bitMask, (funct_t) test_bitMask, 2,
|
|
"! ~ & ^ | + << >>", 16, 3,
|
|
{{0, 31},{0,31},{TMin,TMax}}},
|
|
//4
|
|
{"logicalNeg", (funct_t) logicalNeg, (funct_t) test_logicalNeg, 1,
|
|
"~ & ^ | + << >>", 12, 4,
|
|
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
|
|
{"bitParity", (funct_t) bitParity, (funct_t) test_bitParity, 1, "! ~ & ^ | + << >>", 20, 4,
|
|
{{TMin, TMax},{TMin,TMax},{TMin,TMax}}},
|
|
{"absVal", (funct_t) absVal, (funct_t) test_absVal, 1, "! ~ & ^ | + << >>", 10, 4,
|
|
{{-TMax, TMax},{TMin,TMax},{TMin,TMax}}},
|
|
//float
|
|
{"floatScale2", (funct_t) floatScale2, (funct_t) test_floatScale2, 1,
|
|
"$", 30, 4,
|
|
{{1, 1},{1,1},{1,1}}},
|
|
{"floatFloat2Int", (funct_t) floatFloat2Int, (funct_t) test_floatFloat2Int, 1,
|
|
"$", 30, 4,
|
|
{{1, 1},{1,1},{1,1}}},
|
|
{"floatPower2", (funct_t) floatPower2, (funct_t) test_floatPower2, 1,
|
|
"$", 30, 4,
|
|
{{1, 1},{1,1},{1,1}}},
|
|
{"", NULL, NULL, 0, "", 0, 0,
|
|
{{0, 0},{0,0},{0,0}}}
|
|
};
|