Vector Optimized Library of Kernels  3.1.2
Architecture-tuned implementations of math kernels
volk_32f_s32f_clamppuppet_32f.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2023 Magnus Lundmark <magnuslundmark@gmail.com>
4  *
5  * This file is part of VOLK
6  *
7  * SPDX-License-Identifier: LGPL-3.0-or-later
8  */
9 
10 #ifndef INCLUDED_volk_32f_s32f_clamppuppet_32f_H
11 #define INCLUDED_volk_32f_s32f_clamppuppet_32f_H
12 
14 
15 #ifdef LV_HAVE_GENERIC
16 static inline void volk_32f_s32f_clamppuppet_32f_generic(float* out,
17  const float* in,
18  const float min,
19  unsigned int num_points)
20 {
21  volk_32f_s32f_x2_clamp_32f_generic(out, in, min, -min, num_points);
22 }
23 #endif
24 
25 #ifdef LV_HAVE_AVX2
26 static inline void volk_32f_s32f_clamppuppet_32f_a_avx2(float* out,
27  const float* in,
28  const float min,
29  unsigned int num_points)
30 {
31  volk_32f_s32f_x2_clamp_32f_a_avx2(out, in, min, -min, num_points);
32 }
33 #endif
34 
35 #ifdef LV_HAVE_SSE4_1
36 static inline void volk_32f_s32f_clamppuppet_32f_a_sse4_1(float* out,
37  const float* in,
38  const float min,
39  unsigned int num_points)
40 {
41  volk_32f_s32f_x2_clamp_32f_a_sse4_1(out, in, min, -min, num_points);
42 }
43 #endif
44 
45 #ifdef LV_HAVE_AVX2
46 static inline void volk_32f_s32f_clamppuppet_32f_u_avx2(float* out,
47  const float* in,
48  const float min,
49  unsigned int num_points)
50 {
51  volk_32f_s32f_x2_clamp_32f_u_avx2(out, in, min, -min, num_points);
52 }
53 #endif
54 
55 #ifdef LV_HAVE_SSE4_1
56 static inline void volk_32f_s32f_clamppuppet_32f_u_sse4_1(float* out,
57  const float* in,
58  const float min,
59  unsigned int num_points)
60 {
61  volk_32f_s32f_x2_clamp_32f_u_sse4_1(out, in, min, -min, num_points);
62 }
63 #endif
64 
65 #endif /* INCLUDED_volk_32f_s32f_clamppuppet_32f_H */
static void volk_32f_s32f_x2_clamp_32f_generic(float *out, const float *in, const float min, const float max, unsigned int num_points)
Definition: volk_32f_s32f_x2_clamp_32f.h:48
static void volk_32f_s32f_clamppuppet_32f_generic(float *out, const float *in, const float min, unsigned int num_points)
Definition: volk_32f_s32f_clamppuppet_32f.h:16