ONE - On-device Neural Engine
Loading...
Searching...
No Matches
Knob.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2019 Samsung Electronics Co., Ltd. All Rights Reserved
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef __KNOB_H__
18#define __KNOB_H__
19
20namespace exo
21{
22
23enum class Dialect
24{
25 TFLITE,
26 CIRCLE
27};
28
29enum class Knob
30{
31#define KNOB_BOOL(NAME, TFL_DEFAULT, CIRCLE_DEFAULT, DESC) NAME,
32#include "Knob.lst"
33#undef KNOB_BOOL
34};
35
36template <Knob K> struct KnobTrait;
37
38#define KNOB_BOOL(NAME, TFL_DEFAULT, CIRCLE_DEFAULT, DESC) \
39 template <> struct KnobTrait<Knob::NAME> \
40 { \
41 using ValueType = bool; \
42 };
43#include "Knob.lst"
44#undef KNOB_BOOL
45
46template <Knob K> typename KnobTrait<K>::ValueType get(void);
47void set(Dialect);
48
49} // namespace exo
50
51#endif // __KNOB_H__
Knob
Definition Knob.h:30
Dialect
Definition Knob.h:24
void set(Dialect d)
Definition Knob.cpp:100
KnobTrait< K >::ValueType get(void)