[vlc-devel] [PATCH 12/16] Add matrix transpose ops tests
Serg Chernyavskiy
glenvt18 at gmail.com
Thu Jul 30 14:13:50 CEST 2015
Please review.
2015-06-26 14:20 GMT+03:00 glenvt18 <glenvt18 at gmail.com>:
> ---
> test/testbsops.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 73 insertions(+)
>
> diff --git a/test/testbsops.c b/test/testbsops.c
> index 6654c89..f914758 100644
> --- a/test/testbsops.c
> +++ b/test/testbsops.c
> @@ -22,6 +22,7 @@
>
> #include <dvbcsa/dvbcsa.h>
> #include "dvbcsa_bs.h"
> +#include "dvbcsa_bs_transpose.h"
>
> void _testeq(const int i, uint8_t a, uint8_t b, const char *sa, const char *sb, const char *file, const int line, const char *func)
> {
> @@ -350,6 +351,78 @@ main (void)
>
> #endif
>
> + /* test 2x2 matrix transpose */
> +
> + {
> + dvbcsa_bs_word_t a, b, c, d;
> +
> +#if BS_BATCH_SIZE > 32
> + a = BS_VAL64(3132333435363738);
> + b = BS_VAL64(494a4b4c4d4e4f40);
> +#ifdef DVBCSA_ENDIAN_LITTLE
> + c = BS_VAL64(4d4e4f4035363738);
> + d = BS_VAL64(494a4b4c31323334);
> +#else
> + c = BS_VAL64(31323334494a4b4c);
> + d = BS_VAL64(353637384d4e4f40);
> +#endif
> + BS_SWAP32(a, b);
> + vec_testeq(a, c);
> + vec_testeq(b, d);
> +#endif
> +
> + a = BS_VAL32(12345678);
> + b = BS_VAL32(9abcdef0);
> +#ifdef DVBCSA_ENDIAN_LITTLE
> + c = BS_VAL32(def05678);
> + d = BS_VAL32(9abc1234);
> +#else
> + c = BS_VAL32(12349abc);
> + d = BS_VAL32(5678def0);
> +#endif
> + BS_SWAP16(a, b);
> + vec_testeq(a, c);
> + vec_testeq(b, d);
> +
> + a = BS_VAL32(12345678);
> + b = BS_VAL32(9abcdef0);
> +#ifdef DVBCSA_ENDIAN_LITTLE
> + c = BS_VAL32(bc34f078);
> + d = BS_VAL32(9a12de56);
> +#else
> + c = BS_VAL32(129a56de);
> + d = BS_VAL32(34bc78f0);
> +#endif
> + BS_SWAP8(a, b);
> + vec_testeq(a, c);
> + vec_testeq(b, d);
> +
> + a = BS_VAL32(12345678);
> + b = BS_VAL32(9abcdef0);
> + c = BS_VAL32(a2c4e608);
> + d = BS_VAL32(91b3d5f7);
> + BS_SWAP4(a, b);
> + vec_testeq(a, c);
> + vec_testeq(b, d);
> +
> + a = BS_VAL32(ff00ff00);
> + b = BS_VAL32(00ff00ff);
> + c = BS_VAL32(33cc33cc);
> + d = BS_VAL32(33cc33cc);
> + BS_SWAP2(a, b);
> + vec_testeq(a, c);
> + vec_testeq(b, d);
> +
> + a = BS_VAL32(ff00ff00);
> + b = BS_VAL32(00ff00ff);
> + c = BS_VAL32(55aa55aa);
> + d = BS_VAL32(55aa55aa);
> + BS_SWAP1(a, b);
> + vec_testeq(a, c);
> + vec_testeq(b, d);
> +
> + }
> +
> puts("Ok");
> return 0;
> }
> --
> 1.9.1
>
More information about the vlc-devel
mailing list