Go to the documentation of this file.
42 for (
i = 0;
i <
LEN;
i++) {
45 fprintf(stderr,
"%d: %- .12f - %- .12f = % .12g\n",
46 i, cdst[
i], odst[
i], cdst[
i] - odst[
i]);
65 for (
i = 0;
i <
LEN;
i++) {
68 fprintf(stderr,
"%d: %- .12f - %- .12f = % .12g\n",
69 i, cdst[
i], odst[
i], cdst[
i] - odst[
i]);
77 #define ARBITRARY_FMUL_ADD_CONST 0.005
89 for (
i = 0;
i <
LEN;
i++) {
91 fprintf(stderr,
"%d: %- .12f - %- .12f = % .12g\n",
92 i, cdst[
i], odst[
i], cdst[
i] - odst[
i]);
110 for (
i = 0;
i <
LEN;
i++) {
113 fprintf(stderr,
"%d: %- .12f - %- .12f = % .12g\n",
114 i, cdst[
i], odst[
i], cdst[
i] - odst[
i]);
122 #define ARBITRARY_FMUL_WINDOW_CONST 0.008
130 const float *
win,
int len);
134 for (
i = 0;
i <
LEN;
i++) {
136 fprintf(stderr,
"%d: %- .12f - %- .12f = % .12g\n",
137 i, cdst[
i], odst[
i], cdst[
i] - odst[
i]);
145 #define ARBITRARY_FMAC_SCALAR_CONST 0.005
159 for (
i = 0;
i <
LEN;
i++) {
161 fprintf(stderr,
"%d: %- .12f - %- .12f = % .12g\n",
162 i, cdst[
i], odst[
i], cdst[
i] - odst[
i]);
181 for (
i = 0;
i <
LEN;
i++) {
184 fprintf(stderr,
"%d: %- .12f - %- .12f = % .12g\n",
i,
185 cdst[
i], odst[
i], cdst[
i] - odst[
i]);
193 #define ARBITRARY_DMAC_SCALAR_CONST 0.005
206 for (
i = 0;
i <
LEN;
i++) {
208 fprintf(stderr,
"%d: %- .12f - %- .12f = % .12g\n",
209 i, cdst[
i], odst[
i], cdst[
i] - odst[
i]);
236 for (
i = 0;
i <
LEN;
i++) {
239 fprintf(stderr,
"%d: %- .12f - %- .12f = % .12g\n",
240 i, cdst[
i], odst[
i], cdst[
i] - odst[
i]);
241 fprintf(stderr,
"%d: %- .12f - %- .12f = % .12g\n",
242 i, cdst1[
i], odst1[
i], cdst1[
i] - odst1[
i]);
252 #define ARBITRARY_SCALARPRODUCT_CONST 0.2
262 fprintf(stderr,
"%- .12f - %- .12f = % .12g\n",
263 cprod, oprod, cprod - oprod);
278 fprintf(stderr,
"%- .12f - %- .12f = % .12g\n",
279 cprod, oprod, cprod - oprod);
299 fprintf(stderr,
"floatdsp: Out of memory error\n");
337 report(
"butterflies_float");
340 report(
"scalarproduct_float");
343 report(
"scalarproduct_double");
void(* butterflies_float)(float *restrict v1, float *restrict v2, int len)
Calculate the sum and difference of two vectors of floats.
void(* vector_fmul_reverse)(float *dst, const float *src0, const float *src1, int len)
Calculate the entry wise product of two vectors of floats, and store the result in a vector of floats...
static void test_scalarproduct_double(const double *src0, const double *src1)
static void test_vector_dmac_scalar(const double *src0, const double *src1, const double *src2)
void(* vector_dmul)(double *dst, const double *src0, const double *src1, int len)
Calculate the entry wise product of two vectors of doubles and store the result in a vector of double...
static float win(SuperEqualizerContext *s, float n, int N)
#define ARBITRARY_FMUL_ADD_CONST
void checkasm_check_float_dsp(void)
float(* scalarproduct_float)(const float *v1, const float *v2, int len)
Calculate the scalar product of two vectors of floats.
static void test_butterflies_float(const float *src0, const float *src1)
static void test_vector_fmul_scalar(const float *src0, const float *src1)
#define LOCAL_ALIGNED_16(t, v,...)
#define float_near_abs_eps
static __device__ float fabs(float a)
#define LOCAL_ALIGNED_32(t, v,...)
static void test_vector_fmul(const float *src0, const float *src1)
void(* vector_fmul_scalar)(float *dst, const float *src, float mul, int len)
Multiply a vector of floats by a scalar float.
#define ARBITRARY_FMAC_SCALAR_CONST
double(* scalarproduct_double)(const double *v1, const double *v2, size_t len)
Calculate the scalar product of two vectors of doubles.
#define randomize_stddev_dbl(buf, size, stddev)
void(* vector_fmul)(float *dst, const float *src0, const float *src1, int len)
Calculate the entry wise product of two vectors of floats and store the result in a vector of floats.
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
#define ARBITRARY_FMUL_WINDOW_CONST
static void test_vector_dmul_scalar(const double *src0, const double *src1)
#define i(width, name, range_min, range_max)
static void test_vector_fmul_add(const float *src0, const float *src1, const float *src2)
#define ARBITRARY_SCALARPRODUCT_CONST
void(* vector_fmac_scalar)(float *dst, const float *src, float mul, int len)
Multiply a vector of floats by a scalar float and add to destination vector.
#define declare_func_float
void(* vector_fmul_add)(float *dst, const float *src0, const float *src1, const float *src2, int len)
Calculate the entry wise product of two vectors of floats, add a third vector of floats and store the...
#define double_near_abs_eps
#define ARBITRARY_DMAC_SCALAR_CONST
static void test_vector_fmul_window(const float *src0, const float *src1, const float *win)
void(* vector_dmul_scalar)(double *dst, const double *src, double mul, int len)
Multiply a vector of double by a scalar double.
static void test_scalarproduct_float(const float *src0, const float *src1)
void(* vector_fmul_window)(float *dst, const float *src0, const float *src1, const float *win, int len)
Overlap/add with window function.
av_cold AVFloatDSPContext * avpriv_float_dsp_alloc(int bit_exact)
Allocate a float DSP context.
void(* vector_dmac_scalar)(double *dst, const double *src, double mul, int len)
Multiply a vector of doubles by a scalar double and add to destination vector.
static void test_vector_dmul(const double *src0, const double *src1)
static void test_vector_fmac_scalar(const float *src0, const float *src1, const float *src2)
#define randomize_stddev(buf, size, stddev)