32#define randomize_exp(buf, len) \
35 for (i = 0; i < len; i++) { \
36 buf[i] = (uint8_t)rnd(); \
40#define randomize_i24(buf, len) \
43 for (i = 0; i < len; i++) { \
44 int32_t v = (int32_t)rnd(); \
45 int32_t u = (v & 0xFFFFFF); \
46 buf[i] = (v < 0) ? -u : u; \
50#define randomize_float(buf, len) \
53 for (i = 0; i < len; i++) { \
54 float f = (float)rnd() / (UINT_MAX >> 5) - 16.0f; \
62#define EXP_SIZE (MAX_CTXT * MAX_COEFS)
72 if (
check_func(
c->ac3_exponent_min,
"ac3_exponent_min_reuse%d", n)) {
88 report(
"ac3_exponent_min");
100 for (n = 512; n <=
MAX_EXPS; n += 256) {
101 if (
check_func(
c->extract_exponents,
"ac3_extract_exponents_n%d", n)) {
107 if (memcmp(v1, v2, n) != 0)
114 report(
"ac3_extract_exponents");
125 if (
check_func(
c->float_to_fixed24,
"float_to_fixed24")) {
139 report(
"float_to_fixed24");
155 "ac3_sum_square_butterfly_int32")) {
159 if (memcmp(v1, v2,
sizeof(
int64_t[4])) != 0)
165 report(
"ac3_sum_square_butterfly_int32");
174 declare_func(
void,
float[4],
const float *,
const float *,
int);
180 "ac3_sum_square_butterfly_float")) {
190 report(
"ac3_sum_square_butterfly_float");
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
#define float_near_ulp_array
av_cold void ff_ac3dsp_init(AC3DSPContext *c)
Memory handling functions.
#define LOCAL_ALIGNED_32(t, v,...)
#define LOCAL_ALIGNED_16(t, v,...)
static void check_ac3_sum_square_butterfly_float(AC3DSPContext *c)
static void check_ac3_extract_exponents(AC3DSPContext *c)
static void check_ac3_exponent_min(AC3DSPContext *c)
void checkasm_check_ac3dsp(void)
#define randomize_exp(buf, len)
#define randomize_i24(buf, len)
static void check_float_to_fixed24(AC3DSPContext *c)
#define randomize_float(buf, len)
static void check_ac3_sum_square_butterfly_int32(AC3DSPContext *c)