libdspl-2.0/examples/src/array_test.c

71 wiersze
1.8 KiB
C
Czysty Zwykły widok Historia

2019-06-09 20:58:50 +00:00
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "dspl.h"
2021-10-11 10:13:02 +00:00
2019-06-09 20:58:50 +00:00
int main()
{
Examples style changed Changes to be committed: modified: examples/src/array_test.c modified: examples/src/bessel_i0.c modified: examples/src/bilinear_test.c modified: examples/src/butter_ap_test.c modified: examples/src/butter_ap_zp_test.c modified: examples/src/cheby1_ap_test.c modified: examples/src/cheby1_ap_zp_test.c modified: examples/src/cheby2_ap_test.c modified: examples/src/cheby2_ap_zp_test.c modified: examples/src/cheby_poly1_test.c modified: examples/src/cheby_poly2_test.c modified: examples/src/complex_test.c modified: examples/src/conv_fft_cmplx_test.c modified: examples/src/conv_fft_test.c modified: examples/src/conv_test.c modified: examples/src/dft_cmplx_test.c modified: examples/src/dft_test.c modified: examples/src/dspl_info_test.c modified: examples/src/ellip_ap_test.c modified: examples/src/ellip_ap_zp_test.c modified: examples/src/ellip_landen_test.c modified: examples/src/fft_cmplx_test.c modified: examples/src/fft_test.c modified: examples/src/filter_iir_test.c modified: examples/src/fir_linphase_test.c modified: examples/src/gnuplot_script_test.c modified: examples/src/idft_cmplx_test.c modified: examples/src/ifft_cmplx_test.c modified: examples/src/iir_bstop.c modified: examples/src/iir_lpf.c modified: examples/src/iir_test.c modified: examples/src/matrix_eig.c modified: examples/src/matrix_mul.c modified: examples/src/matrix_print.c modified: examples/src/matrix_transpose.c modified: examples/src/polyroots_test.c modified: examples/src/randb_test.c modified: examples/src/randi_test.c modified: examples/src/randn_test.c modified: examples/src/randu_accuracy_test.c modified: examples/src/randu_test.c modified: examples/src/sinc_test.c modified: examples/src/sine_int_test.c modified: examples/src/writetxt_3d_test.c
2020-07-18 06:34:52 +00:00
void* handle; /* DSPL handle */
handle = dspl_load(); /* Load DSPL function */
double a[5] = {0.0, 1.0, 2.0, 3.0, 4.0};
double b[5] = {5.0, 6.0, 7.0, 8.0, 9.0};
double c[10], d[5], r;
int err, k, n;
err = vector_dot(a, b, 5, &r);
printf("\n\ndot product result: %d a^T * b = %f ", err, r);
/* Concatenate arrays a and b. Result keeps to the array c */
err = concat((void*)a, 5*sizeof(double),
(void*)b, 5*sizeof(double), (void*)c);
printf("\n\nconcatenation result: %d\n\narray c = ", err);
for(k = 0; k < 10; k++)
printf("%6.1f", c[k]);
/* Decimate array c 2 times. Result keeps to the array d */
err = decimate(c, 10, 2, d, &n);
printf("\n\ndecimation result: %d\n\narray d = ", err);
for (k = 0; k < n; k++)
printf("%6.1f", d[k]);
/* find max abs value */
double am[5] = {0.0, 2.0, -5.0, 4.0, 2.0};
double m;
int ind;
err = find_max_abs(am, 5, &m, &ind);
printf("\n\nmax absolute value: %8.1f (index %d)", m, ind);
/* Flip in place */
printf("\n\nFlipip function test:\n\n");
double x[5] = {0.0, 1.0, 2.0, 3.0, 4.0};
int i;
for(i = 0; i < 5; i++)
printf("%6.1f ", x[i]);
flipip(x, 5);
printf("\n");
for(i = 0; i < 5; i++)
printf("%6.1f ", x[i]);
printf("\n\nflipip_cmplx function test:\n\n");
complex_t y[5] = {{0.0, 0.0}, {1.0, 1.0},
{2.0, 2.0}, {3.0, 3.0}, {4.0, 4.0}};
for(i = 0; i < 5; i++)
printf("%6.1f%+.1fj ", RE(y[i]), IM(y[i]));
flipip_cmplx(y, 5);
printf("\n");
for(i = 0; i < 5; i++)
printf("%6.1f%+.1fj ", RE(y[i]), IM(y[i]));
/* free dspl handle */
dspl_free(handle);
return err;
2019-06-09 20:58:50 +00:00
}