Container System 0.1.0
High-performance C++20 type-safe container framework with SIMD-accelerated serialization
Loading...
Searching...
No Matches
simd_policies.h File Reference

Compile-time SIMD policy selection for vectorized operations. More...

#include <algorithm>
#include <cstddef>
#include <cstdint>
#include <cstring>
#include <limits>
#include <numeric>
#include <optional>
#include <span>
#include <string_view>
#include <concepts>
Include dependency graph for simd_policies.h:

Go to the source code of this file.

Classes

struct  kcenon::container::simd::scalar_simd_policy
 Scalar (non-SIMD) implementation of operations. More...
 
class  kcenon::container::simd::simd_ops< Policy >
 SIMD operations wrapper with compile-time policy selection. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::container
 
namespace  kcenon::container::simd
 

Concepts

concept  kcenon::container::simd::SimdPolicy
 Concept for SIMD policy classes.
 

Typedefs

using kcenon::container::simd::default_simd_policy = scalar_simd_policy
 Default SIMD policy selected at compile time based on platform.
 

Detailed Description

Compile-time SIMD policy selection for vectorized operations.

This header provides policy classes for SIMD operations that are selected at compile time based on the target platform. This eliminates runtime branching overhead and enables full compiler optimization.

Usage:

// Default usage - automatically uses best policy for platform
simd_ops<> ops;
float result = ops.sum_floats(data, count);
// Explicit policy (for testing or special cases)
simd_ops<scalar_simd_policy> scalar_ops;
See also
Issue #338 for design rationale

Definition in file simd_policies.h.