Wayverb
unit_constructor.h
1 #pragma once
2 
3 #include "core/cl/scene_structs.h"
4 
5 namespace wayverb {
6 namespace core {
7 
8 template <typename T>
10 
11 template <>
12 struct unit_constructor<float> final {
13  static constexpr float value{1.0f};
14 };
15 
16 template <>
17 struct unit_constructor<cl_float1> final {
18  static constexpr cl_float1 value{{1.0f}};
19 };
20 
21 template <>
22 struct unit_constructor<cl_float2> final {
23  static constexpr cl_float2 value{{1.0f, 1.0f}};
24 };
25 
26 template <>
27 struct unit_constructor<cl_float4> final {
28  static constexpr cl_float4 value{{1.0f, 1.0f, 1.0f, 1.0f}};
29 };
30 
31 template <>
32 struct unit_constructor<cl_float8> final {
33  static constexpr cl_float8 value{
34  {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f}};
35 };
36 
37 template <typename T>
38 constexpr auto unit_constructor_v = unit_constructor<T>::value;
39 
40 } // namespace core
41 } // namespace wayverb
Definition: unit_constructor.h:9
Definition: traits.cpp:2
Definition: capsule_base.h:9