Vector Optimized Library of Kernels 3.2.0
Architecture-tuned implementations of math kernels
Loading...
Searching...
No Matches
volk_16u_byteswappuppet_16u.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2014, 2015, 2020 Free Software Foundation, Inc.
4 *
5 * This file is part of VOLK
6 *
7 * SPDX-License-Identifier: LGPL-3.0-or-later
8 */
9
10#ifndef INCLUDED_volk_16u_byteswappuppet_16u_H
11#define INCLUDED_volk_16u_byteswappuppet_16u_H
12
13
14#include <stdint.h>
15#include <string.h>
17
18#ifdef LV_HAVE_GENERIC
19static inline void volk_16u_byteswappuppet_16u_generic(uint16_t* output,
20 uint16_t* intsToSwap,
21 unsigned int num_points)
22{
23
24 volk_16u_byteswap_generic((uint16_t*)intsToSwap, num_points);
25 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint16_t));
26}
27#endif
28
29#ifdef LV_HAVE_NEON
30static inline void volk_16u_byteswappuppet_16u_neon(uint16_t* output,
31 uint16_t* intsToSwap,
32 unsigned int num_points)
33{
34
35 volk_16u_byteswap_neon((uint16_t*)intsToSwap, num_points);
36 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint16_t));
37}
38#endif
39
40#ifdef LV_HAVE_NEON
41static inline void volk_16u_byteswappuppet_16u_neon_table(uint16_t* output,
42 uint16_t* intsToSwap,
43 unsigned int num_points)
44{
45
46 volk_16u_byteswap_neon_table((uint16_t*)intsToSwap, num_points);
47 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint16_t));
48}
49#endif
50
51#ifdef LV_HAVE_SSE2
52static inline void volk_16u_byteswappuppet_16u_u_sse2(uint16_t* output,
53 uint16_t* intsToSwap,
54 unsigned int num_points)
55{
56
57 volk_16u_byteswap_u_sse2((uint16_t*)intsToSwap, num_points);
58 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint16_t));
59}
60#endif
61
62#ifdef LV_HAVE_SSE2
63static inline void volk_16u_byteswappuppet_16u_a_sse2(uint16_t* output,
64 uint16_t* intsToSwap,
65 unsigned int num_points)
66{
67
68 volk_16u_byteswap_a_sse2((uint16_t*)intsToSwap, num_points);
69 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint16_t));
70}
71#endif
72
73#ifdef LV_HAVE_AVX2
74static inline void volk_16u_byteswappuppet_16u_u_avx2(uint16_t* output,
75 uint16_t* intsToSwap,
76 unsigned int num_points)
77{
78
79 volk_16u_byteswap_u_avx2((uint16_t*)intsToSwap, num_points);
80 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint16_t));
81}
82#endif
83
84#ifdef LV_HAVE_AVX2
85static inline void volk_16u_byteswappuppet_16u_a_avx2(uint16_t* output,
86 uint16_t* intsToSwap,
87 unsigned int num_points)
88{
89
90 volk_16u_byteswap_a_avx2((uint16_t*)intsToSwap, num_points);
91 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint16_t));
92}
93#endif
94
95#ifdef LV_HAVE_ORC
96static inline void volk_16u_byteswappuppet_16u_u_orc(uint16_t* output,
97 uint16_t* intsToSwap,
98 unsigned int num_points)
99{
100 volk_16u_byteswap_u_orc((uint16_t*)intsToSwap, num_points);
101 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint16_t));
102}
103#endif /* LV_HAVE_ORC */
104
105#ifdef LV_HAVE_RVV
106static inline void volk_16u_byteswappuppet_16u_rvv(uint16_t* output,
107 uint16_t* intsToSwap,
108 unsigned int num_points)
109{
110
111 volk_16u_byteswap_rvv((uint16_t*)intsToSwap, num_points);
112 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint16_t));
113}
114#endif
115
116#ifdef LV_HAVE_RVA23
117static inline void volk_16u_byteswappuppet_16u_rva23(uint16_t* output,
118 uint16_t* intsToSwap,
119 unsigned int num_points)
120{
121
122 volk_16u_byteswap_rva23((uint16_t*)intsToSwap, num_points);
123 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint16_t));
124}
125#endif
126
127#endif
static void volk_16u_byteswap_u_sse2(uint16_t *intsToSwap, unsigned int num_points)
Definition volk_16u_byteswap.h:141
static void volk_16u_byteswap_neon(uint16_t *intsToSwap, unsigned int num_points)
Definition volk_16u_byteswap.h:210
static void volk_16u_byteswap_a_sse2(uint16_t *intsToSwap, unsigned int num_points)
Definition volk_16u_byteswap.h:183
static void volk_16u_byteswap_generic(uint16_t *intsToSwap, unsigned int num_points)
Definition volk_16u_byteswap.h:48
static void volk_16u_byteswap_neon_table(uint16_t *intsToSwap, unsigned int num_points)
Definition volk_16u_byteswap.h:232
static void volk_16u_byteswappuppet_16u_neon_table(uint16_t *output, uint16_t *intsToSwap, unsigned int num_points)
Definition volk_16u_byteswappuppet_16u.h:41
static void volk_16u_byteswappuppet_16u_neon(uint16_t *output, uint16_t *intsToSwap, unsigned int num_points)
Definition volk_16u_byteswappuppet_16u.h:30
static void volk_16u_byteswappuppet_16u_a_sse2(uint16_t *output, uint16_t *intsToSwap, unsigned int num_points)
Definition volk_16u_byteswappuppet_16u.h:63
static void volk_16u_byteswappuppet_16u_generic(uint16_t *output, uint16_t *intsToSwap, unsigned int num_points)
Definition volk_16u_byteswappuppet_16u.h:19
static void volk_16u_byteswappuppet_16u_u_sse2(uint16_t *output, uint16_t *intsToSwap, unsigned int num_points)
Definition volk_16u_byteswappuppet_16u.h:52