MPD: pcm/Neon.hxx File Reference

MPD 0.20.15

Data Structures | Macros
Neon.hxx File Reference
`#include "Traits.hxx"`
`#include <arm_neon.h>`
Include dependency graph for Neon.hxx:

Go to the source code of this file.

## Data Structures
struct | NeonFloatTo16
| Convert floating point samples to 16 bit signed integer using ARM NEON. More...

## Macros
#define | neon_x4_u(func, result, vector)
| Call a NEON intrinsic for each element in the vector. More...
#define | neon_x4_b(func, result, vector, ...)
| Call a NEON intrinsic for each element in the vector. More...

## Macro Definition Documentation

## ◆ neon_x4_b

#define neon_x4_b | ( |  | func,
|  |  | result,
|  |  | vector,
|  |  | ...
| ) |  |

Value:
do { \
result.val[0] = func(vector.val[0], __VA_ARGS__); \
result.val[1] = func(vector.val[1], __VA_ARGS__); \
result.val[2] = func(vector.val[2], __VA_ARGS__); \
result.val[3] = func(vector.val[3], __VA_ARGS__); \
} while (0)

Call a NEON intrinsic for each element in the vector.

Parameters

  func | the NEON intrinsic
  result | the vector variable that gets assigned the result
  vector | the input vector

Definition at line 48 of file Neon.hxx.

## ◆ neon_x4_u

#define neon_x4_u | ( |  | func,
|  |  | result,
|  |  | vector
| ) |  |

Value:
do { \
result.val[0] = func(vector.val[0]); \
result.val[1] = func(vector.val[1]); \
result.val[2] = func(vector.val[2]); \
result.val[3] = func(vector.val[3]); \
} while (0)

Call a NEON intrinsic for each element in the vector.

Parameters

  func | the NEON intrinsic
  result | the vector variable that gets assigned the result
  vector | the input vector

Definition at line 34 of file Neon.hxx.