How jfalcou/eve works
EVE is a header-only C++ SIMD library: callers use its value types and callable operations to process scalar or vector data, with architecture-specific implementations selected for supported SIMD targets. Its broader product includes SIMD-friendly range algorithms, memory utilities, and numerical/combinatorial modules. The graph reflects the documented capabilities and paths in the supplied tree; sampled implementation excerpts are limited, so some subsystem wiring is intentionally not shown.
Main entry points: core.hpp Core operations · average.hpp Arithmetic callables · implementation.hpp Callable dispatch · simd SIMD backends
Components 20
Public API
- EVE headers
include/eve/eve.hpp - SIMD concepts
include/eve/concept/simd.hpp - Lane conditions
include/eve/conditional.hpp - Core operations
include/eve/module/core.hpp - Arithmetic callables
include/eve/module/core/regular/average.hpp - Constants
include/eve/module/core/constant - SIMD memory
include/eve/memory.hpp
SIMD Runtime
- Wide values
include/eve/arch/wide.hpp - Logical values
include/eve/logical.hpp - Callable dispatch
include/eve/detail/implementation.hpp - Architecture traits
include/eve/arch.hpp - SIMD backends
include/eve/detail/function/simd - Lane shuffles
include/eve/detail/shuffle_v2
Range Algorithms
- Range algorithms
include/eve/module/algo/algo - Range views
include/eve/module/algo/views - SoA container
include/eve/module/algo/algo/container/soa_vector.hpp
Math Modules
- Bessel functions
include/eve/module/bessel.hpp - Combinatorial functions
include/eve/module/combinatorial.hpp
Other components
- C++ caller
- Computed values
Connections 23
- C++ caller → EVE headers: includes
- EVE headers → Core operations: exposes
- C++ caller → Range algorithms: invokes
- C++ caller → Bessel functions: invokes
- C++ caller → Combinatorial functions: invokes
- C++ caller → SIMD memory: uses
- Core operations → Arithmetic callables: exposes
- Core operations → Constants: exposes
- C++ caller → Wide values: constructs
- Wide values → SIMD concepts: satisfies
- C++ caller → Lane conditions: masks lanes
- Arithmetic callables → Callable dispatch: dispatches
- Callable dispatch → Architecture traits: selects target
- Callable dispatch → SIMD backends: dispatches to
- SIMD backends → Computed values: computes
- Arithmetic callables → Computed values: computes
- C++ caller → Range views: composes
- C++ caller → SoA container: uses
- C++ caller → Computed values: receives
- Range algorithms → Computed values: produces
- Bessel functions → Computed values: computes
- Combinatorial functions → Computed values: computes
- Lane shuffles → SIMD backends: supports