Vector Optimized Library of Kernels 3.2.0
Architecture-tuned implementations of math kernels
Loading...
Searching...
No Matches
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
16static 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
26static 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
36static 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
46static 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
56static 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#ifdef LV_HAVE_RVV
66static inline void volk_32f_s32f_clamppuppet_32f_rvv(float* out,
67 const float* in,
68 const float min,
69 unsigned int num_points)
70{
71 volk_32f_s32f_x2_clamp_32f_rvv(out, in, min, -min, num_points);
72}
73#endif
74
75#endif /* INCLUDED_volk_32f_s32f_clamppuppet_32f_H */
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
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