numerics 0.1.0
Loading...
Searching...
No Matches
policy.hpp
Go to the documentation of this file.
1/// @file kernel/policy.hpp
2/// @brief Compile-time dispatch policy tags for the kernel module.
3#pragma once
4
5#include "core/policy.hpp" // has_omp
6
7namespace num::kernel {
8
9/// @brief Sequential execution policy tag.
10struct seq_t {};
11
12/// @brief Parallel execution policy tag.
13struct par_t {};
14
15inline constexpr seq_t kseq{};
16inline constexpr par_t kpar{};
17
18#if defined(NUMERICS_HAS_OMP)
19using default_policy = par_t;
20#else
22#endif
23
24inline constexpr default_policy kdefault{};
25
26} // namespace num::kernel
Backend enum and default backend selection.
constexpr default_policy kdefault
Definition policy.hpp:24
constexpr par_t kpar
Definition policy.hpp:16
constexpr seq_t kseq
Definition policy.hpp:15
seq_t default_policy
Definition policy.hpp:21
Parallel execution policy tag.
Definition policy.hpp:13
Sequential execution policy tag.
Definition policy.hpp:10