← All compilation units

Flyology_SIMD.Features

Description

Compiled backend reporting, safe CPU availability, and coarse selection.

Architecture_Name

function Architecture_Name return String

Return the architecture selected when the library was built.

Return value

The selected GPR architecture name.

Available

function Available (Backend : Backend_Kind) return Boolean

Report whether a compiled backend can execute on this system.

Parameters
Backend

The backend to inspect.

Return value

True when the backend is compiled and safe to execute.

Backend_Kind

type Backend_Kind is (Scalar, NEON, SSE2, AVX2);

A selectable complete-buffer implementation.

Enumeration literals
Scalar

Portable scalar implementation.

NEON

AArch64 Advanced SIMD implementation.

SSE2

x86-64 baseline implementation.

AVX2

Optional x86-64 AVX2 buffer implementation.

Backend_Unavailable

Backend_Unavailable : exception;

A requested backend is not compiled or cannot execute safely.

Best_Available

function Best_Available return Backend_Kind

Select the highest-priority safe backend in the current build.

Return value

NEON, AVX2, SSE2, or Scalar according to the current system.

Compiled

function Compiled (Backend : Backend_Kind) return Boolean

Report whether the current build contains a backend.

Parameters
Backend

The backend to inspect.

Return value

True when the build contains the backend.

Name

function Name (Backend : Backend_Kind) return String

Return the stable lower-case backend name.

Parameters
Backend

The backend to name.

Return value

The backend name.

Require

procedure Require (Backend : Backend_Kind)

Reject a backend that cannot execute safely.

Parameters
Backend

The required backend.

Raised exceptions
Backend_Unavailable

The backend is not available.