Vital
Loading...
Searching...
No Matches
poly_values.h File Reference

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.
 

Detailed Description

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.

Macro Definition Documentation

◆ force_inline

#define force_inline   inline __attribute__((always_inline))

◆ vector_call

#define vector_call