Vital
|
Defines SIMD-based vectorized integer and floating-point types (poly_int and poly_float) along with associated operations for use in polyphonic synthesis. More...
#include <cstdint>
#include <climits>
#include <cstdlib>
Go to the source code of this file.
Classes | |
struct | vital::poly_int |
Represents a vector of integer values using SIMD instructions. More... | |
union | vital::poly_int::scalar_simd_union |
Helper union for copying between a scalar array and a SIMD type. More... | |
union | vital::poly_int::simd_scalar_union |
Helper union for copying between a SIMD type and a scalar array. More... | |
struct | vital::poly_float |
Represents a vector of floating-point values using SIMD instructions. More... | |
union | vital::poly_float::simd_scalar_union |
Helper union for copying between a SIMD type and a scalar array. More... | |
union | vital::poly_float::scalar_simd_union |
Helper union for copying between a scalar array and a SIMD type. More... | |
Namespaces | |
namespace | vital |
Contains classes and functions used within the Vital synthesizer framework. | |
Macros | |
#define | force_inline inline __attribute__((always_inline)) |
#define | vector_call |
Typedefs | |
typedef poly_int | vital::poly_mask |
Alias for clarity; used as a mask type in poly_float . | |
Defines SIMD-based vectorized integer and floating-point types (poly_int and poly_float) along with associated operations for use in polyphonic synthesis.
This header provides structures and functions for performing vectorized arithmetic, logical, and comparison operations on integers and floating-point numbers. It uses SIMD intrinsics (SSE2, AVX2, or NEON) depending on the platform. These types and functions are primarily used to accelerate computations across multiple "voices" or polyphonic units simultaneously in the Vital synthesizer.
#define force_inline inline __attribute__((always_inline)) |
#define vector_call |