Vector Optimized Library of Kernels  3.0.0
Architecture-tuned implementations of math kernels
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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>
16 #include <volk/volk_16u_byteswap.h>
17 
18 #ifdef LV_HAVE_GENERIC
19 static 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
30 static 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
41 static 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
52 static 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
63 static 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
74 static 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
85 static 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 #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